static int rv30_decode_intra_types(RV34DecContext *r, GetBitContext *gb, int8_t *dst)

{

    int i, j, k;



    for(i = 0; i < 4; i++, dst += r->intra_types_stride - 4){

        for(j = 0; j < 4; j+= 2){

            int code = svq3_get_ue_golomb(gb) << 1;

            if(code >= 81*2){

                av_log(r->s.avctx, AV_LOG_ERROR, "Incorrect intra prediction code\n");

                return -1;

            }

            for(k = 0; k < 2; k++){

                int A = dst[-r->intra_types_stride] + 1;

                int B = dst[-1] + 1;

                *dst++ = rv30_itype_from_context[A * 90 + B * 9 + rv30_itype_code[code + k]];

                if(dst[-1] == 9){

                    av_log(r->s.avctx, AV_LOG_ERROR, "Incorrect intra prediction mode\n");

                    return -1;

                }

            }

        }

    }

    return 0;

}

static int rv30_decode_intra_types(RV34DecContext *r, GetBitContext *gb, int8_t *dst)

{

    int i, j, k;



    for(i = 0; i < 4; i++, dst += r->intra_types_stride - 4){

        for(j = 0; j < 4; j+= 2){

            int code = svq3_get_ue_golomb(gb) << 1;

            if(code >= 81*2){

                av_log(r->s.avctx, AV_LOG_ERROR, "Incorrect intra prediction code\n");

                return -1;

            }

            for(k = 0; k < 2; k++){

                int A = dst[-r->intra_types_stride] + 1;

                int B = dst[-1] + 1;

                *dst++ = rv30_itype_from_context[A * 90 + B * 9 + rv30_itype_code[code + k]];

                if(dst[-1] == 9){

                    av_log(r->s.avctx, AV_LOG_ERROR, "Incorrect intra prediction mode\n");

                    return -1;

                }

            }

        }

    }

    return 0;

}

static int FUNC_0(RV34DecContext *VAR_0, GetBitContext *VAR_1, int8_t *VAR_2)

{

    int VAR_3, VAR_4, VAR_5;



    for(VAR_3 = 0; VAR_3 < 4; VAR_3++, VAR_2 += VAR_0->intra_types_stride - 4){

        for(VAR_4 = 0; VAR_4 < 4; VAR_4+= 2){

            int VAR_6 = svq3_get_ue_golomb(VAR_1) << 1;

            if(VAR_6 >= 81*2){

                av_log(VAR_0->s.avctx, AV_LOG_ERROR, "Incorrect intra prediction VAR_6\n");

                return -1;

            }

            for(VAR_5 = 0; VAR_5 < 2; VAR_5++){

                int VAR_7 = VAR_2[-VAR_0->intra_types_stride] + 1;

                int VAR_8 = VAR_2[-1] + 1;

                *VAR_2++ = rv30_itype_from_context[VAR_7 * 90 + VAR_8 * 9 + rv30_itype_code[VAR_6 + VAR_5]];

                if(VAR_2[-1] == 9){

                    av_log(VAR_0->s.avctx, AV_LOG_ERROR, "Incorrect intra prediction mode\n");

                    return -1;

                }

            }

        }

    }

    return 0;

}

static int FUNC_0(RV34DecContext *VAR_0, GetBitContext *VAR_1, int8_t *VAR_2)
{ int VAR_3, VAR_4, VAR_5; for(VAR_3 = 0; VAR_3 < 4; VAR_3++, VAR_2 += VAR_0->intra_types_stride - 4){ for(VAR_4 = 0; VAR_4 < 4; VAR_4+= 2){ int VAR_6 = svq3_get_ue_golomb(VAR_1) << 1; if(VAR_6 >= 81*2){ av_log(VAR_0->s.avctx, AV_LOG_ERROR, "Incorrect intra prediction VAR_6\n"); return -1; } for(VAR_5 = 0; VAR_5 < 2; VAR_5++){ int VAR_7 = VAR_2[-VAR_0->intra_types_stride] + 1; int VAR_8 = VAR_2[-1] + 1; *VAR_2++ = rv30_itype_from_context[VAR_7 * 90 + VAR_8 * 9 + rv30_itype_code[VAR_6 + VAR_5]]; if(VAR_2[-1] == 9){ av_log(VAR_0->s.avctx, AV_LOG_ERROR, "Incorrect intra prediction mode\n"); return -1; } } } } return 0; }