summaryrefslogtreecommitdiff
path: root/patches/videoparsers/0003-h264parse-default-to-byte-stream-nalu-format-Annex-B.patch
blob: 486e98f82a465a0e400999f87317834ef9b74c1a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
From 56df8be6dff017d32218bb3111e6ae6ff1316dec 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/6] 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 f472a5e..f1ed269 100644
--- a/gst/vaapi/gsth264parse.c
+++ b/gst/vaapi/gsth264parse.c
@@ -405,7 +405,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),
@@ -2452,6 +2453,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.5.1