# HG changeset patch # User michael # Date 1259434632 0 # Node ID 96b9deb2adb1b02dd979b2d327ccc7e78d7d49b4 # Parent 62533f2e6f5abcccdbd31ab2025f7312f58fd446 Inline mpeg_decode_extension, will simplify future changes. diff -r 62533f2e6f5a -r 96b9deb2adb1 mpeg12.c --- a/mpeg12.c Sat Nov 28 14:17:28 2009 +0000 +++ b/mpeg12.c Sat Nov 28 18:57:12 2009 +0000 @@ -1579,35 +1579,6 @@ 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 @@ 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,