From 888e8144a0ec043ed9f0f2c1594d653d0be69371 Mon Sep 17 00:00:00 2001 From: Gwenole Beauchesne Date: Wed, 3 Aug 2011 17:31:55 +0200 Subject: [PATCH] codecparsers: mpeg: fix Picture_Coding_Extension parser. --- gst-libs/gst/codecparsers/gstmpegvideoparser.c | 6 ++++++ gst-libs/gst/codecparsers/gstmpegvideoparser.h | 3 ++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/gst-libs/gst/codecparsers/gstmpegvideoparser.c b/gst-libs/gst/codecparsers/gstmpegvideoparser.c index be34e5f99b..44df76ad5e 100644 --- a/gst-libs/gst/codecparsers/gstmpegvideoparser.c +++ b/gst-libs/gst/codecparsers/gstmpegvideoparser.c @@ -560,6 +560,12 @@ gst_mpeg_video_parse_picture_extension (GstMpegVideoPictureExt * ext, gst_bit_reader_init (&br, &data[offset], size); + if (gst_bit_reader_get_bits_uint8_unchecked (&br, 4) != + GST_MPEG_VIDEO_PACKET_EXT_PICTURE) { + GST_DEBUG ("Not parsing a picture extension"); + return FALSE; + } + /* f_code */ READ_UINT8 (&br, ext->f_code[0][0], 4); READ_UINT8 (&br, ext->f_code[0][1], 4); diff --git a/gst-libs/gst/codecparsers/gstmpegvideoparser.h b/gst-libs/gst/codecparsers/gstmpegvideoparser.h index 8d034affcd..fbcf93ebb7 100644 --- a/gst-libs/gst/codecparsers/gstmpegvideoparser.h +++ b/gst-libs/gst/codecparsers/gstmpegvideoparser.h @@ -69,7 +69,8 @@ typedef enum { GST_MPEG_VIDEO_PACKET_EXT_SEQUENCE = 0x01, GST_MPEG_VIDEO_PACKET_EXT_SEQUENCE_DISPLAY = 0x02, GST_MPEG_VIDEO_PACKET_EXT_QUANT_MATRIX = 0x03, - GST_MPEG_VIDEO_PACKET_EXT_GOP = 0x04 + GST_MPEG_VIDEO_PACKET_EXT_GOP = 0x04, + GST_MPEG_VIDEO_PACKET_EXT_PICTURE = 0x08 } GstMpegVideoPacketExtensionCode; /**