[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