OSDN Git Service

Inline mpeg_decode_extension, will simplify future changes.
authorMichael Niedermayer <michaelni@gmx.at>
Sat, 28 Nov 2009 18:57:12 +0000 (18:57 +0000)
committerMichael Niedermayer <michaelni@gmx.at>
Sat, 28 Nov 2009 18:57:12 +0000 (18:57 +0000)
Originally committed as revision 20641 to svn://svn.ffmpeg.org/ffmpeg/trunk

libavcodec/mpeg12.c

index 99d5093..aa075da 100644 (file)
@@ -1579,35 +1579,6 @@ static void mpeg_decode_picture_coding_extension(Mpeg1Context *s1)
     dprintf(s->avctx, "progressive_frame=%d\n", s->progressive_frame);
 }
 
-static void mpeg_decode_extension(AVCodecContext *avctx,
-                                  const uint8_t *buf, int buf_size)
-{
-    Mpeg1Context *s1 = avctx->priv_data;
-    MpegEncContext *s = &s1->mpeg_enc_ctx;
-    int ext_type;
-
-    init_get_bits(&s->gb, buf, buf_size*8);
-
-    ext_type = get_bits(&s->gb, 4);
-    switch(ext_type) {
-    case 0x1:
-        mpeg_decode_sequence_extension(s1);
-        break;
-    case 0x2:
-        mpeg_decode_sequence_display_extension(s1);
-        break;
-    case 0x3:
-        mpeg_decode_quant_matrix_extension(s);
-        break;
-    case 0x7:
-        mpeg_decode_picture_display_extension(s1);
-        break;
-    case 0x8:
-        mpeg_decode_picture_coding_extension(s1);
-        break;
-    }
-}
-
 static void exchange_uv(MpegEncContext *s){
     DCTELEM (*tmp)[64];
 
@@ -2339,8 +2310,25 @@ static int decode_chunks(AVCodecContext *avctx,
                 s2->pict_type=0;
             break;
         case EXT_START_CODE:
-            mpeg_decode_extension(avctx,
-                                    buf_ptr, input_size);
+            init_get_bits(&s2->gb, buf_ptr, input_size*8);
+
+            switch(get_bits(&s2->gb, 4)) {
+            case 0x1:
+                mpeg_decode_sequence_extension(s);
+                break;
+            case 0x2:
+                mpeg_decode_sequence_display_extension(s);
+                break;
+            case 0x3:
+                mpeg_decode_quant_matrix_extension(s2);
+                break;
+            case 0x7:
+                mpeg_decode_picture_display_extension(s);
+                break;
+            case 0x8:
+                mpeg_decode_picture_coding_extension(s);
+                break;
+            }
             break;
         case USER_START_CODE:
             mpeg_decode_user_data(avctx,