summaryrefslogtreecommitdiff
path: root/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0002-mpegvideoparse-Need-detect-picture-coding-type-when-.patch
diff options
context:
space:
mode:
Diffstat (limited to 'recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0002-mpegvideoparse-Need-detect-picture-coding-type-when-.patch')
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0002-mpegvideoparse-Need-detect-picture-coding-type-when-.patch47
1 files changed, 47 insertions, 0 deletions
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0002-mpegvideoparse-Need-detect-picture-coding-type-when-.patch b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0002-mpegvideoparse-Need-detect-picture-coding-type-when-.patch
new file mode 100644
index 0000000..2babed7
--- /dev/null
+++ b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0002-mpegvideoparse-Need-detect-picture-coding-type-when-.patch
@@ -0,0 +1,47 @@
+From b50e0af12b3c045e7587c86829e1a42ba421c3bc Mon Sep 17 00:00:00 2001
+From: Song Bing <b06498@freescale.com>
+Date: Wed, 20 May 2015 15:15:08 +0800
+Subject: [PATCH 02/26] mpegvideoparse: Need detect picture coding type when
+ drain
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Need detect picture coding type when drain
+
+Upstream-Status: Submitted [https://bugzilla.gnome.org/show_bug.cgi?id=749617]
+
+---
+ gst/videoparsers/gstmpegvideoparse.c | 16 ++++++++++++++++
+ 1 file changed, 16 insertions(+)
+
+diff --git a/gst/videoparsers/gstmpegvideoparse.c b/gst/videoparsers/gstmpegvideoparse.c
+index 6896339..769e0fd 100644
+--- a/gst/videoparsers/gstmpegvideoparse.c
++++ b/gst/videoparsers/gstmpegvideoparse.c
+@@ -715,6 +715,22 @@ need_more:
+ if (GST_BASE_PARSE_DRAINING (parse)) {
+ GST_LOG_OBJECT (mpvparse, "draining, accepting all data");
+ off = size;
++ /* decide picture codding type */
++ if (mpvparse->pic_offset >= 0 && mpvparse->pic_offset < off) {
++ GstMpegVideoPacket header;
++
++ header.data = map.data;
++ header.type = GST_MPEG_VIDEO_PACKET_PICTURE;
++ header.offset = mpvparse->pic_offset;
++ header.size = map.size - mpvparse->pic_offset;
++ if (gst_mpeg_video_packet_parse_picture_header (&header, &mpvparse->pichdr))
++ GST_LOG_OBJECT (mpvparse, "picture_coding_type %d (%s), ending"
++ "frame of size %d", mpvparse->pichdr.pic_type,
++ picture_type_name (mpvparse->pichdr.pic_type), off - 4);
++ else
++ GST_LOG_OBJECT (mpvparse, "Couldn't parse picture at offset %d",
++ mpvparse->pic_offset);
++ }
+ ret = TRUE;
+ } else {
+ GST_LOG_OBJECT (mpvparse, "need more data");
+--
+1.9.1
+