static int rv20_decode_picture_header(MpegEncContext *s)

{

    int seq, mb_pos, i;



    i= get_bits(&s->gb, 2);

    switch(i){

    case 0: s->pict_type= I_TYPE; break;

    case 1: s->pict_type= I_TYPE; break; //hmm ...

    case 2: s->pict_type= P_TYPE; break;

    case 3: s->pict_type= B_TYPE; break;

    default: 

        av_log(s->avctx, AV_LOG_ERROR, "unknown frame type\n");

        return -1;

    }

    

    if (get_bits(&s->gb, 1)){

        av_log(s->avctx, AV_LOG_ERROR, "unknown bit set\n");

        return -1;

    }



    s->qscale = get_bits(&s->gb, 5);

    if(s->qscale==0){

        av_log(s->avctx, AV_LOG_ERROR, "error, qscale:0\n");

        return -1;

    }



    if(s->avctx->sub_id == 0x20200002)

        seq= get_bits(&s->gb, 16);

    else

        seq= get_bits(&s->gb, 8);



    for(i=0; i<6; i++){

        if(s->mb_width*s->mb_height < ff_mba_max[i]) break;

    }

    mb_pos= get_bits(&s->gb, ff_mba_length[i]);

    s->mb_x= mb_pos % s->mb_width;

    s->mb_y= mb_pos / s->mb_width;

    s->no_rounding= get_bits1(&s->gb);

    

    s->f_code = 1;

    s->unrestricted_mv = 1;

    s->h263_aic= s->pict_type == I_TYPE;

//    s->alt_inter_vlc=1;

//    s->obmc=1;

//    s->umvplus=1;

//    s->modified_quant=1;

    

    if(s->avctx->debug & FF_DEBUG_PICT_INFO){

            av_log(s->avctx, AV_LOG_INFO, "num:%5d x:%2d y:%2d type:%d qscale:%2d rnd:%d\n", 

                   seq, s->mb_x, s->mb_y, s->pict_type, s->qscale, s->no_rounding);

    }



    if (s->pict_type == B_TYPE){

        av_log(s->avctx, AV_LOG_ERROR, "b frame not supported\n");

        return -1;

    }



    return s->mb_width*s->mb_height - mb_pos;

}

static int rv20_decode_picture_header(MpegEncContext *s)

{

    int seq, mb_pos, i;



    i= get_bits(&s->gb, 2);

    switch(i){

    case 0: s->pict_type= I_TYPE; break;

    case 1: s->pict_type= I_TYPE; break; 

    case 2: s->pict_type= P_TYPE; break;

    case 3: s->pict_type= B_TYPE; break;

    default: 

        av_log(s->avctx, AV_LOG_ERROR, "unknown frame type\n");

        return -1;

    }

    

    if (get_bits(&s->gb, 1)){

        av_log(s->avctx, AV_LOG_ERROR, "unknown bit set\n");

        return -1;

    }



    s->qscale = get_bits(&s->gb, 5);

    if(s->qscale==0){

        av_log(s->avctx, AV_LOG_ERROR, "error, qscale:0\n");

        return -1;

    }



    if(s->avctx->sub_id == 0x20200002)

        seq= get_bits(&s->gb, 16);

    else

        seq= get_bits(&s->gb, 8);



    for(i=0; i<6; i++){

        if(s->mb_width*s->mb_height < ff_mba_max[i]) break;

    }

    mb_pos= get_bits(&s->gb, ff_mba_length[i]);

    s->mb_x= mb_pos % s->mb_width;

    s->mb_y= mb_pos / s->mb_width;

    s->no_rounding= get_bits1(&s->gb);

    

    s->f_code = 1;

    s->unrestricted_mv = 1;

    s->h263_aic= s->pict_type == I_TYPE;









    

    if(s->avctx->debug & FF_DEBUG_PICT_INFO){

            av_log(s->avctx, AV_LOG_INFO, "num:%5d x:%2d y:%2d type:%d qscale:%2d rnd:%d\n", 

                   seq, s->mb_x, s->mb_y, s->pict_type, s->qscale, s->no_rounding);

    }



    if (s->pict_type == B_TYPE){

        av_log(s->avctx, AV_LOG_ERROR, "b frame not supported\n");

        return -1;

    }



    return s->mb_width*s->mb_height - mb_pos;

}

static int FUNC_0(MpegEncContext *VAR_0)

{

    int VAR_1, VAR_2, VAR_3;



    VAR_3= get_bits(&VAR_0->gb, 2);

    switch(VAR_3){

    case 0: VAR_0->pict_type= I_TYPE; break;

    case 1: VAR_0->pict_type= I_TYPE; break; 

    case 2: VAR_0->pict_type= P_TYPE; break;

    case 3: VAR_0->pict_type= B_TYPE; break;

    default: 

        av_log(VAR_0->avctx, AV_LOG_ERROR, "unknown frame type\n");

        return -1;

    }

    

    if (get_bits(&VAR_0->gb, 1)){

        av_log(VAR_0->avctx, AV_LOG_ERROR, "unknown bit set\n");

        return -1;

    }



    VAR_0->qscale = get_bits(&VAR_0->gb, 5);

    if(VAR_0->qscale==0){

        av_log(VAR_0->avctx, AV_LOG_ERROR, "error, qscale:0\n");

        return -1;

    }



    if(VAR_0->avctx->sub_id == 0x20200002)

        VAR_1= get_bits(&VAR_0->gb, 16);

    else

        VAR_1= get_bits(&VAR_0->gb, 8);



    for(VAR_3=0; VAR_3<6; VAR_3++){

        if(VAR_0->mb_width*VAR_0->mb_height < ff_mba_max[VAR_3]) break;

    }

    VAR_2= get_bits(&VAR_0->gb, ff_mba_length[VAR_3]);

    VAR_0->mb_x= VAR_2 % VAR_0->mb_width;

    VAR_0->mb_y= VAR_2 / VAR_0->mb_width;

    VAR_0->no_rounding= get_bits1(&VAR_0->gb);

    

    VAR_0->f_code = 1;

    VAR_0->unrestricted_mv = 1;

    VAR_0->h263_aic= VAR_0->pict_type == I_TYPE;









    

    if(VAR_0->avctx->debug & FF_DEBUG_PICT_INFO){

            av_log(VAR_0->avctx, AV_LOG_INFO, "num:%5d x:%2d y:%2d type:%d qscale:%2d rnd:%d\n", 

                   VAR_1, VAR_0->mb_x, VAR_0->mb_y, VAR_0->pict_type, VAR_0->qscale, VAR_0->no_rounding);

    }



    if (VAR_0->pict_type == B_TYPE){

        av_log(VAR_0->avctx, AV_LOG_ERROR, "b frame not supported\n");

        return -1;

    }



    return VAR_0->mb_width*VAR_0->mb_height - VAR_2;

}

static int FUNC_0(MpegEncContext *VAR_0)
{ int VAR_1, VAR_2, VAR_3; VAR_3= get_bits(&VAR_0->gb, 2); switch(VAR_3){ case 0: VAR_0->pict_type= I_TYPE; break; case 1: VAR_0->pict_type= I_TYPE; break; case 2: VAR_0->pict_type= P_TYPE; break; case 3: VAR_0->pict_type= B_TYPE; break; default:
av_log(VAR_0->avctx, AV_LOG_ERROR, "unknown frame type\n"); return -1; } if (get_bits(&VAR_0->gb, 1)){ av_log(VAR_0->avctx, AV_LOG_ERROR, "unknown bit set\n"); return -1; } VAR_0->qscale = get_bits(&VAR_0->gb, 5); if(VAR_0->qscale==0){ av_log(VAR_0->avctx, AV_LOG_ERROR, "error, qscale:0\n"); return -1; } if(VAR_0->avctx->sub_id == 0x20200002)
VAR_1= get_bits(&VAR_0->gb, 16); else
VAR_1= get_bits(&VAR_0->gb, 8); for(VAR_3=0; VAR_3<6; VAR_3++){ if(VAR_0->mb_width*VAR_0->mb_height < ff_mba_max[VAR_3]) break; } VAR_2= get_bits(&VAR_0->gb, ff_mba_length[VAR_3]); VAR_0->mb_x= VAR_2 % VAR_0->mb_width; VAR_0->mb_y= VAR_2 / VAR_0->mb_width; VAR_0->no_rounding= get_bits1(&VAR_0->gb); VAR_0->f_code = 1; VAR_0->unrestricted_mv = 1; VAR_0->h263_aic= VAR_0->pict_type == I_TYPE; if(VAR_0->avctx->debug & FF_DEBUG_PICT_INFO){ av_log(VAR_0->avctx, AV_LOG_INFO, "num:%5d x:%2d y:%2d type:%d qscale:%2d rnd:%d\n",
VAR_1, VAR_0->mb_x, VAR_0->mb_y, VAR_0->pict_type, VAR_0->qscale, VAR_0->no_rounding); } if (VAR_0->pict_type == B_TYPE){ av_log(VAR_0->avctx, AV_LOG_ERROR, "b frame not supported\n"); return -1; } return VAR_0->mb_width*VAR_0->mb_height - VAR_2; }