patches/videoparsers: h264parse: Disable 3D video support for GStremaer < 1.5
authorSreerenj Balachandran <sreerenj.balachandran@intel.com>
Wed, 22 Jul 2015 06:45:26 +0000 (09:45 +0300)
committerSreerenj Balachandran <sreerenj.balachandran@intel.com>
Wed, 22 Jul 2015 06:45:26 +0000 (09:45 +0300)
All API/ABI changes for S3D/MVC are added in 1.5, backporting
them to older verison is not recommended.

Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
patches/videoparsers/0004-h264parse-Disable-3D-video-support-for-GStremaer-1.5.patch [new file with mode: 0644]
patches/videoparsers/series.frag

diff --git a/patches/videoparsers/0004-h264parse-Disable-3D-video-support-for-GStremaer-1.5.patch b/patches/videoparsers/0004-h264parse-Disable-3D-video-support-for-GStremaer-1.5.patch
new file mode 100644 (file)
index 0000000..b61a8ca
--- /dev/null
@@ -0,0 +1,107 @@
+From a711206aeb002e5e523ed6f4a045c2b2b7fb128e Mon Sep 17 00:00:00 2001
+From: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
+Date: Tue, 21 Jul 2015 12:13:18 +0300
+Subject: [PATCH 4/4] h264parse: Disable 3D video support for GStremaer < 1.5
+
+All API/ABI changes for S3D/MVC are added in 1.5, backporting
+them to older verison is not recommended.
+
+Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
+---
+ gst/vaapi/gsth264parse.c | 11 ++++++++++-
+ gst/vaapi/gsth264parse.h |  2 ++
+ 2 files changed, 12 insertions(+), 1 deletion(-)
+
+diff --git a/gst/vaapi/gsth264parse.c b/gst/vaapi/gsth264parse.c
+index 98e9aa6..cd8cf2b 100644
+--- a/gst/vaapi/gsth264parse.c
++++ b/gst/vaapi/gsth264parse.c
+@@ -215,9 +215,11 @@ gst_h264_parse_reset_stream_info (GstH264Parse * h264parse)
+   h264parse->have_pps = FALSE;
+   h264parse->have_sps = FALSE;
++#if GST_CHECK_VERSION(1,5,0)
+   h264parse->multiview_mode = GST_VIDEO_MULTIVIEW_MODE_NONE;
+   h264parse->multiview_flags = GST_VIDEO_MULTIVIEW_FLAGS_NONE;
+   h264parse->first_in_bundle = TRUE;
++#endif
+   h264parse->align = GST_H264_PARSE_ALIGN_NONE;
+   h264parse->format = GST_H264_PARSE_FORMAT_NONE;
+@@ -562,6 +564,7 @@ gst_h264_parse_process_sei (GstH264Parse * h264parse, GstH264NalUnit * nalu)
+         /* Additional messages that are not innerly useful to the
+          * element but for debugging purposes */
+       case GST_H264_SEI_STEREO_VIDEO_INFO:{
++#if GST_CHECK_VERSION(1,5,0)
+         GstVideoMultiviewMode mview_mode = GST_VIDEO_MULTIVIEW_MODE_NONE;
+         GstVideoMultiviewFlags mview_flags = GST_VIDEO_MULTIVIEW_FLAGS_NONE;
+@@ -593,9 +596,11 @@ gst_h264_parse_process_sei (GstH264Parse * h264parse, GstH264NalUnit * nalu)
+           /* output caps need to be changed */
+           gst_h264_parse_update_src_caps (h264parse, NULL);
+         }
++#endif
+         break;
+       }
+       case GST_H264_SEI_FRAME_PACKING:{
++#if GST_CHECK_VERSION(1,5,0)
+         GstVideoMultiviewMode mview_mode = GST_VIDEO_MULTIVIEW_MODE_NONE;
+         GstVideoMultiviewFlags mview_flags = GST_VIDEO_MULTIVIEW_FLAGS_NONE;
+@@ -684,6 +689,7 @@ gst_h264_parse_process_sei (GstH264Parse * h264parse, GstH264NalUnit * nalu)
+           /* output caps need to be changed */
+           gst_h264_parse_update_src_caps (h264parse, NULL);
+         }
++#endif
+         break;
+       }
+     }
+@@ -1746,9 +1752,11 @@ gst_h264_parse_update_src_caps (GstH264Parse * h264parse, GstCaps * caps)
+       gint width, height;
+       GstClockTime latency;
++#if GST_CHECK_VERSION(1,5,0)
+       const gchar *caps_mview_mode = NULL;
+       GstVideoMultiviewMode mview_mode = h264parse->multiview_mode;
+       GstVideoMultiviewFlags mview_flags = h264parse->multiview_flags;
++#endif
+       fps_num = h264parse->fps_num;
+       fps_den = h264parse->fps_den;
+@@ -1780,6 +1788,7 @@ gst_h264_parse_update_src_caps (GstH264Parse * h264parse, GstCaps * caps)
+         }
+       }
++#if GST_CHECK_VERSION(1,5,0)
+       /* Pass through or set output stereo/multiview config */
+       if (s && gst_structure_has_field (s, "multiview-mode")) {
+         caps_mview_mode = gst_structure_get_string (s, "multiview-mode");
+@@ -1798,7 +1807,7 @@ gst_h264_parse_update_src_caps (GstH264Parse * h264parse, GstCaps * caps)
+             GST_TYPE_VIDEO_MULTIVIEW_FLAGSET, mview_flags,
+             GST_FLAG_SET_MASK_EXACT, NULL);
+       }
+-
++#endif
+       gst_caps_set_simple (caps, "width", G_TYPE_INT, width,
+           "height", G_TYPE_INT, height, NULL);
+diff --git a/gst/vaapi/gsth264parse.h b/gst/vaapi/gsth264parse.h
+index 58d818c..de9be02 100644
+--- a/gst/vaapi/gsth264parse.h
++++ b/gst/vaapi/gsth264parse.h
+@@ -123,10 +123,12 @@ struct _GstH264Parse
+   GstClockTime pending_key_unit_ts;
+   GstEvent *force_key_unit_event;
++#if GST_CHECK_VERSION(1,5,0)
+   /* Stereo / multiview info */
+   GstVideoMultiviewMode multiview_mode;
+   GstVideoMultiviewFlags multiview_flags;
+   gboolean first_in_bundle;
++#endif
+ };
+ struct _GstH264ParseClass
+-- 
+2.1.4
+
index 227df47..12469b6 100644 (file)
@@ -4,5 +4,6 @@ videoparsers_patches_base = \
        0001-plugins-compile-the-built-in-video-parsers-as-vaapip.patch \
        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-GStremaer-1.5.patch \
         0001-h265parse-include-gstvaapiparse.h.patch \
        $(NULL)