gst-plugins-bad: codecparsers: mpeg: fix Picture_Coding_Extension parser.

Edward Hervey bilboed at kemper.freedesktop.org
Fri Sep 2 06:46:30 PDT 2011


Module: gst-plugins-bad
Branch: master
Commit: 888e8144a0ec043ed9f0f2c1594d653d0be69371
URL:    http://cgit.freedesktop.org/gstreamer/gst-plugins-bad/commit/?id=888e8144a0ec043ed9f0f2c1594d653d0be69371

Author: Gwenole Beauchesne <gwenole.beauchesne at intel.com>
Date:   Wed Aug  3 17:31:55 2011 +0200

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 deletions(-)

diff --git a/gst-libs/gst/codecparsers/gstmpegvideoparser.c b/gst-libs/gst/codecparsers/gstmpegvideoparser.c
index be34e5f..44df76a 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 8d034af..fbcf93e 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;
 
 /**



More information about the gstreamer-commits mailing list