[FFmpeg-cvslog] r9865 - trunk/libavcodec/mpeg12enc.c
michael
subversion
Thu Aug 2 00:39:03 CEST 2007
Author: michael
Date: Thu Aug 2 00:39:03 2007
New Revision: 9865
Log:
get rid of mb_type_len
Modified:
trunk/libavcodec/mpeg12enc.c
Modified: trunk/libavcodec/mpeg12enc.c
==============================================================================
--- trunk/libavcodec/mpeg12enc.c (original)
+++ trunk/libavcodec/mpeg12enc.c Thu Aug 2 00:39:03 2007
@@ -562,21 +562,19 @@ static av_always_inline void mpeg1_encod
}
s->f_count++;
} else{
- static const int mb_type_len[4]={0,4,3,2}; //bak,for,bi
-
if(s->mv_type == MV_TYPE_16X16){
if (cbp){ // With coded bloc pattern
if (s->dquant) {
if(s->mv_dir == MV_DIR_FORWARD)
put_mb_modes(s, 6, 3, 1, 0);
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);
} 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
- 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)
put_bits(&s->pb, 2, 2); /* motion_type: frame */
s->qscale -= s->dquant;
@@ -604,13 +602,13 @@ static av_always_inline void mpeg1_encod
if(s->mv_dir == MV_DIR_FORWARD)
put_mb_modes(s, 6, 3, 1, 1);
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);
} 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
- 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 */
s->qscale -= s->dquant;
}
More information about the ffmpeg-cvslog
mailing list