patches/videoparsers: h264: Disable passthorugh mode enabling
authorSreerenj Balachandran <sreerenj.balachandran@intel.com>
Fri, 27 Nov 2015 12:24:55 +0000 (14:24 +0200)
committerSreerenj Balachandran <sreerenj.balachandran@intel.com>
Fri, 27 Nov 2015 12:24:55 +0000 (14:24 +0200)
This is a quick fix for regression introduced by the upstream
commit e8908f5aeef952566f6bccde743c7735d3f8c6ef in h264 videoparser.

The patch is disabling the passthrough mode, otherwise it will
break multi-layer mvc stream parsing.

https://bugzilla.gnome.org/show_bug.cgi?id=758656

patches/videoparsers/0005-videoparsers-h264-Disable-passthorugh-mode-enabling.patch [new file with mode: 0644]
patches/videoparsers/0006-h265parse-include-gstvaapiparse.h.patch [moved from patches/videoparsers/0005-h265parse-include-gstvaapiparse.h.patch with 100% similarity]
patches/videoparsers/0007-h265parse-fix-build-with-GStreamer-1.5.patch [moved from patches/videoparsers/0006-h265parse-fix-build-with-GStreamer-1.5.patch with 100% similarity]
patches/videoparsers/series.frag

diff --git a/patches/videoparsers/0005-videoparsers-h264-Disable-passthorugh-mode-enabling.patch b/patches/videoparsers/0005-videoparsers-h264-Disable-passthorugh-mode-enabling.patch
new file mode 100644 (file)
index 0000000..4366e70
--- /dev/null
@@ -0,0 +1,43 @@
+From 90251ef253564e7e53c754205cb506e863a93a6c Mon Sep 17 00:00:00 2001
+From: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
+Date: Thu, 26 Nov 2015 19:13:43 +0200
+Subject: [PATCH] videoparsers: h264: Disable passthorugh mode enabling
+
+Enabling passthorugh mode for optimization is cauing multiple
+issues while parsing MVC streams. Specifically if streams have
+two separate layers (base-view and non-base-view).
+
+Proper fixes needed in many places:
+(handle prefix nal unit, handle non-base-view slice nal extension,
+fix the picture_start detection for multi-layer-mvc streams etc)
+
+https://bugzilla.gnome.org/show_bug.cgi?id=758656
+---
+ gst/vaapi/gsth264parse.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/gst/vaapi/gsth264parse.c b/gst/vaapi/gsth264parse.c
+index 915c2d7..445a791 100644
+--- a/gst/vaapi/gsth264parse.c
++++ b/gst/vaapi/gsth264parse.c
+@@ -2356,6 +2356,9 @@ gst_h264_parse_pre_push_frame (GstBaseParse * parse, GstBaseParseFrame * frame)
+     }
+   }
+
++  /* Fixme: setting passthrough mode for MVC streams causing multiple
++   * issues. Disabing passthourgh mode for now */
++#if 0
+   /* If SPS/PPS and a keyframe have been parsed, and we're not converting,
+    * we might switch to passthrough mode now on the basis that we've seen
+    * the SEI packets and know optional caps params (such as multiview).
+@@ -2367,6 +2370,7 @@ gst_h264_parse_pre_push_frame (GstBaseParse * parse, GstBaseParseFrame * frame)
+       gst_base_parse_set_passthrough (parse, TRUE);
+     }
+   }
++#endif
+
+   gst_h264_parse_reset_frame (h264parse);
+
+--
+2.5.0
+
index d9f809c..ae09dbc 100644 (file)
@@ -5,9 +5,10 @@ videoparsers_patches_base = \
        0002-h264parse-fix-build-with-older-GStreamer-1.x-stacks.patch  \
         0003-h264parse-default-to-byte-stream-nalu-format-Annex-B.patch \
         0004-h264parse-Disable-3D-video-support-for-GStreamer-1.5.patch \
+        0005-videoparsers-h264-Disable-passthorugh-mode-enabling.patch  \
        $(NULL)
 
 videoparsers_patches_1_4p = \
-        0005-h265parse-include-gstvaapiparse.h.patch           \
-        0006-h265parse-fix-build-with-GStreamer-1.5.patch      \
+        0006-h265parse-include-gstvaapiparse.h.patch           \
+        0007-h265parse-fix-build-with-GStreamer-1.5.patch      \
        $(NULL)