From 52eaafcd6c8f27d50ffff0ca8d18310d9378654b Mon Sep 17 00:00:00 2001 From: Sreerenj Balachandran Date: Fri, 27 Nov 2015 14:24:55 +0200 Subject: [PATCH] patches/videoparsers: h264: Disable passthorugh mode enabling 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 --- ...rs-h264-Disable-passthorugh-mode-enabling.patch | 43 ++++++++++++++++++++++ ...> 0006-h265parse-include-gstvaapiparse.h.patch} | 0 ...7-h265parse-fix-build-with-GStreamer-1.5.patch} | 0 patches/videoparsers/series.frag | 5 ++- 4 files changed, 46 insertions(+), 2 deletions(-) create mode 100644 patches/videoparsers/0005-videoparsers-h264-Disable-passthorugh-mode-enabling.patch rename patches/videoparsers/{0005-h265parse-include-gstvaapiparse.h.patch => 0006-h265parse-include-gstvaapiparse.h.patch} (100%) rename patches/videoparsers/{0006-h265parse-fix-build-with-GStreamer-1.5.patch => 0007-h265parse-fix-build-with-GStreamer-1.5.patch} (100%) 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 index 0000000..4366e70 --- /dev/null +++ b/patches/videoparsers/0005-videoparsers-h264-Disable-passthorugh-mode-enabling.patch @@ -0,0 +1,43 @@ +From 90251ef253564e7e53c754205cb506e863a93a6c Mon Sep 17 00:00:00 2001 +From: Sreerenj Balachandran +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 + diff --git a/patches/videoparsers/0005-h265parse-include-gstvaapiparse.h.patch b/patches/videoparsers/0006-h265parse-include-gstvaapiparse.h.patch similarity index 100% rename from patches/videoparsers/0005-h265parse-include-gstvaapiparse.h.patch rename to patches/videoparsers/0006-h265parse-include-gstvaapiparse.h.patch diff --git a/patches/videoparsers/0006-h265parse-fix-build-with-GStreamer-1.5.patch b/patches/videoparsers/0007-h265parse-fix-build-with-GStreamer-1.5.patch similarity index 100% rename from patches/videoparsers/0006-h265parse-fix-build-with-GStreamer-1.5.patch rename to patches/videoparsers/0007-h265parse-fix-build-with-GStreamer-1.5.patch diff --git a/patches/videoparsers/series.frag b/patches/videoparsers/series.frag index d9f809c..ae09dbc 100644 --- a/patches/videoparsers/series.frag +++ b/patches/videoparsers/series.frag @@ -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) -- 2.7.4