get rid of mb_type_len

Originally committed as revision 9865 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
Michael Niedermayer 2007-08-01 22:39:03 +00:00
parent 653f738780
commit 2f446d3860
1 changed files with 6 additions and 8 deletions

View File

@ -562,21 +562,19 @@ static av_always_inline void mpeg1_encode_mb_internal(MpegEncContext *s,
} }
s->f_count++; s->f_count++;
} else{ } else{
static const int mb_type_len[4]={0,4,3,2}; //bak,for,bi
if(s->mv_type == MV_TYPE_16X16){ if(s->mv_type == MV_TYPE_16X16){
if (cbp){ // With coded bloc pattern if (cbp){ // With coded bloc pattern
if (s->dquant) { if (s->dquant) {
if(s->mv_dir == MV_DIR_FORWARD) if(s->mv_dir == MV_DIR_FORWARD)
put_mb_modes(s, 6, 3, 1, 0); put_mb_modes(s, 6, 3, 1, 0);
else else
put_mb_modes(s, mb_type_len[s->mv_dir]+3, 2, 1, 0); put_mb_modes(s, 8-s->mv_dir, 2, 1, 0);
put_qscale(s); put_qscale(s);
} else { } else {
put_mb_modes(s, mb_type_len[s->mv_dir], 3, 1, 0); put_mb_modes(s, 5-s->mv_dir, 3, 1, 0);
} }
}else{ // No coded bloc pattern }else{ // No coded bloc pattern
put_bits(&s->pb, mb_type_len[s->mv_dir], 2); put_bits(&s->pb, 5-s->mv_dir, 2);
if (!s->frame_pred_frame_dct) if (!s->frame_pred_frame_dct)
put_bits(&s->pb, 2, 2); /* motion_type: frame */ put_bits(&s->pb, 2, 2); /* motion_type: frame */
s->qscale -= s->dquant; s->qscale -= s->dquant;
@ -604,13 +602,13 @@ static av_always_inline void mpeg1_encode_mb_internal(MpegEncContext *s,
if(s->mv_dir == MV_DIR_FORWARD) if(s->mv_dir == MV_DIR_FORWARD)
put_mb_modes(s, 6, 3, 1, 1); put_mb_modes(s, 6, 3, 1, 1);
else else
put_mb_modes(s, mb_type_len[s->mv_dir]+3, 2, 1, 1); put_mb_modes(s, 8-s->mv_dir, 2, 1, 1);
put_qscale(s); put_qscale(s);
} else { } else {
put_mb_modes(s, mb_type_len[s->mv_dir], 3, 1, 1); put_mb_modes(s, 5-s->mv_dir, 3, 1, 1);
} }
}else{ // No coded bloc pattern }else{ // No coded bloc pattern
put_bits(&s->pb, mb_type_len[s->mv_dir], 2); put_bits(&s->pb, 5-s->mv_dir, 2);
put_bits(&s->pb, 2, 1); /* motion_type: field */ put_bits(&s->pb, 2, 1); /* motion_type: field */
s->qscale -= s->dquant; s->qscale -= s->dquant;
} }