gstreamer/patches/videoparsers/0003-h264parse-default-to-byte-stream-nalu-format-Annex-B.patch
Sreerenj Balachandran c393b7e2ab patches/videoparsers: Rebase the patch on top of gst-vaapi-branch commit 20ee952
Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
2015-05-26 10:21:59 +03:00

44 lines
1.7 KiB
Diff

From 7650c8681ecf1304a59e7cc4c0bc9eba4f753ffa Mon Sep 17 00:00:00 2001
From: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
Date: Tue, 26 May 2015 09:33:57 +0300
Subject: [PATCH 3/3] h264parse: default to byte-stream/nalu format (Annex B).
Always default to stream-format=byte-stream,alignment=nalu if avcC
format was not detected. This is the natural stream format specified
in the standard (Annex.B): a series of NAL units prefixed with the
usual start code.
https://bugzilla.gnome.org/show_bug.cgi?id=732167
Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
---
gst/vaapi/gsth264parse.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/gst/vaapi/gsth264parse.c b/gst/vaapi/gsth264parse.c
index 76f7686..b28d449 100644
--- a/gst/vaapi/gsth264parse.c
+++ b/gst/vaapi/gsth264parse.c
@@ -388,7 +388,8 @@ gst_h264_parse_negotiate (GstH264Parse * h264parse, gint in_format,
if (!format)
format = GST_H264_PARSE_FORMAT_BYTE;
if (!align)
- align = GST_H264_PARSE_ALIGN_AU;
+ align = format == GST_H264_PARSE_FORMAT_BYTE ? GST_H264_PARSE_ALIGN_NAL :
+ GST_H264_PARSE_ALIGN_AU;
GST_DEBUG_OBJECT (h264parse, "selected format %s, alignment %s",
gst_h264_parse_get_string (h264parse, TRUE, format),
@@ -2260,6 +2261,8 @@ gst_h264_parse_set_caps (GstBaseParse * parse, GstCaps * caps)
/* bytestream caps sanity checks */
if (format == GST_H264_PARSE_FORMAT_BYTE) {
+ if (align == GST_H264_PARSE_ALIGN_NONE)
+ align = GST_H264_PARSE_ALIGN_NAL;
/* should have SPS/PSS in-band (and/or oob in streamheader field) */
if (codec_data_value != NULL)
goto bytestream_caps_with_codec_data;
--
2.1.4