static inline int decode_residual_inter(AVSContext *h)

{

    int block;



    /* get coded block pattern */

    int cbp = get_ue_golomb(&h->gb);

    if (cbp > 63) {

        av_log(h->avctx, AV_LOG_ERROR, "illegal inter cbp\n");

        return AVERROR_INVALIDDATA;

    }

    h->cbp = cbp_tab[cbp][1];



    /* get quantizer */

    if (h->cbp && !h->qp_fixed)

        h->qp = (h->qp + get_se_golomb(&h->gb)) & 63;

    for (block = 0; block < 4; block++)

        if (h->cbp & (1 << block))

            decode_residual_block(h, &h->gb, inter_dec, 0, h->qp,

                                  h->cy + h->luma_scan[block], h->l_stride);

    decode_residual_chroma(h);



    return 0;

}

static inline int decode_residual_inter(AVSContext *h)

{

    int block;



    

    int cbp = get_ue_golomb(&h->gb);

    if (cbp > 63) {

        av_log(h->avctx, AV_LOG_ERROR, "illegal inter cbp\n");

        return AVERROR_INVALIDDATA;

    }

    h->cbp = cbp_tab[cbp][1];



    

    if (h->cbp && !h->qp_fixed)

        h->qp = (h->qp + get_se_golomb(&h->gb)) & 63;

    for (block = 0; block < 4; block++)

        if (h->cbp & (1 << block))

            decode_residual_block(h, &h->gb, inter_dec, 0, h->qp,

                                  h->cy + h->luma_scan[block], h->l_stride);

    decode_residual_chroma(h);



    return 0;

}

static inline int FUNC_0(AVSContext *VAR_0)

{

    int VAR_1;



    

    int VAR_2 = get_ue_golomb(&VAR_0->gb);

    if (VAR_2 > 63) {

        av_log(VAR_0->avctx, AV_LOG_ERROR, "illegal inter VAR_2\n");

        return AVERROR_INVALIDDATA;

    }

    VAR_0->VAR_2 = cbp_tab[VAR_2][1];



    

    if (VAR_0->VAR_2 && !VAR_0->qp_fixed)

        VAR_0->qp = (VAR_0->qp + get_se_golomb(&VAR_0->gb)) & 63;

    for (VAR_1 = 0; VAR_1 < 4; VAR_1++)

        if (VAR_0->VAR_2 & (1 << VAR_1))

            decode_residual_block(VAR_0, &VAR_0->gb, inter_dec, 0, VAR_0->qp,

                                  VAR_0->cy + VAR_0->luma_scan[VAR_1], VAR_0->l_stride);

    decode_residual_chroma(VAR_0);



    return 0;

}

static inline int FUNC_0(AVSContext *VAR_0)
{ int VAR_1; int VAR_2 = get_ue_golomb(&VAR_0->gb); if (VAR_2 > 63) { av_log(VAR_0->avctx, AV_LOG_ERROR, "illegal inter VAR_2\n"); return AVERROR_INVALIDDATA; } VAR_0->VAR_2 = cbp_tab[VAR_2][1]; if (VAR_0->VAR_2 && !VAR_0->qp_fixed)
VAR_0->qp = (VAR_0->qp + get_se_golomb(&VAR_0->gb)) & 63; for (VAR_1 = 0; VAR_1 < 4; VAR_1++) if (VAR_0->VAR_2 & (1 << VAR_1))
decode_residual_block(VAR_0, &VAR_0->gb, inter_dec, 0, VAR_0->qp,
VAR_0->cy + VAR_0->luma_scan[VAR_1], VAR_0->l_stride); decode_residual_chroma(VAR_0); return 0; }