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