Commit graph

15 commits

Author SHA1 Message Date
Víctor Manuel Jáquez Leal
d20ae26673 patches/videoparsers: h265parser: more API fences
Add more API fences according with its version and refresh the patch.

Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>

https://bugzilla.gnome.org/show_bug.cgi?id=754845
2015-09-15 19:52:24 +02:00
Víctor Manuel Jáquez Leal
5524af5c0a patches/videoparsers: h265parser: rename patch keeping number
Refresh the patch and rename it in order to keep the patch number.

Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>

https://bugzilla.gnome.org/show_bug.cgi?id=754845
2015-09-15 19:52:24 +02:00
Víctor Manuel Jáquez Leal
0ec0dab21c patches/videoparsers: h264parser: fix description and refresh
Fix a typo in the patch description and refresh it in order to avoid the
creation of .orig files and break the distcheck target.

Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>

https://bugzilla.gnome.org/show_bug.cgi?id=754845
2015-09-15 19:52:24 +02:00
Sreerenj Balachandran
33962322ae patches/videoparsers: 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>
2015-07-22 09:45:26 +03:00
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
Sreerenj Balachandran
8c7bc7dff8 plugins: Add h265 videoparser element "vaapiparse_h265"
This is a mirror of h265parse element in upstream gst-plugins-bad.
There could be additional patches but all should go to upstream.
This is for making development faster.

Note: vaapiparse_h265 will get build only for GStreamer version >= 1.4
2015-04-17 17:09:30 +03:00
Sreerenj Balachandran
ad2941c44b h264parse: drop patches merged upstream.
0003-h264parse-add-initial-support-for-MVC-NAL-units.patch
2015-01-21 18:31:22 +02:00
Gwenole Beauchesne
65f897df6a build: fix for GStreamer 1.0.x. 2014-07-03 18:03:52 +02:00
Gwenole Beauchesne
e6cdacee65 h264parse: drop patches merged upstream.
0003-h264parse-fix-and-optimize-NAL-collection-function.patch
0005-h264parse-introduce-new-state-tracking-variables.patch
0006-h264parse-improve-conditions-for-skipping-NAL-units.patch
0007-h264parse-fix-collection-of-access-units-to-preserve.patch
2014-07-01 17:20:44 +02:00
Gwenole Beauchesne
92c7d9e6a5 h264parse: fix collection of access units to preserve config headers.
Always use a GstAdapter when collecting access units (alignment="au")
in either byte-stream or avcC format. This is required to properly
preserve config headers like SPS and PPS when invalid or broken NAL
units are subsequently parsed.

More precisely, this fixes scenario like:
<SPS> <PPS> <invalid-NAL> <slice>

where we used to reset the output frame buffer when an invalid or
broken NAL is parsed, i.e. SPS and PPS NAL units were lost, thus
preventing the next slice unit to be decoded, should this also
represent any valid data.

https://bugzilla.gnome.org/show_bug.cgi?id=732203
2014-06-26 14:49:53 +02:00
Gwenole Beauchesne
2905209d9b h264parse: improve conditions for skipping NAL units.
Carefully track cases when skipping broken or invalid NAL units is
necessary. In particular, always allow NAL units to be processed
and let that gst_h264_parse_process_nal() function decide on whether
the current NAL needs to be dropped or not.

This fixes parsing of streams with SEI NAL buffering_period() message
inserted between SPS and PPS, or SPS-Ext NAL following a traditional
SPS NAL unit, among other cases too.

Practical examples from the H.264 AVC conformance suite include
alphaconformanceG, CVSE2_Sony_B, CVSE3_Sony_H, CVSEFDFT3_Sony_E
when parsing in stream-format=byte-stream,alignment=au mode.

https://bugzilla.gnome.org/show_bug.cgi?id=732203
2014-06-26 14:48:08 +02:00
Gwenole Beauchesne
6d6caf17c9 h264parse: introduce new state tracking variables.
Improve parser state tracking by introducing new flags reflecting
it: "got-sps", "got-pps" and "got-slice". This is an addition for
robustness purposes.

Older have_sps and have_pps variables are kept because they have
a different meaning. i.e. they are used for deciding on when to
submit updated caps or not, and rather mean "have new SPS/PPS to
be submitted?"
2014-06-26 14:45:34 +02:00
Gwenole Beauchesne
c767be53d6 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
2014-06-26 14:39:30 +02:00
Gwenole Beauchesne
8b473972e0 h264parse: fix and optimize NAL collection function.
Use gst_h264_parser_identify_nalu_unchecked() to identify the next
NAL unit. We don't want to parse the full NAL unit, but only the
header bytes and possibly the first RBSP byte for identifying the
first_mb_in_slice syntax element.

Also fix check for failure when returning from that function. The
only success condition for that is GST_H264_PARSER_OK, so use it.

https://bugzilla.gnome.org/show_bug.cgi?id=732154
2014-06-26 14:38:32 +02:00
Gwenole Beauchesne
3af6b0b8a0 plugins: add built-in video parsers as "vaapiparse" element.
The built-in video parsers elements are built into a single DSO named
libgstvaapi_parse.so. The various video parsers could be accessed as
vaapiparse_CODEC.

For now, this only includes a modified version of h264parse so that to
support H.264 MVC encoded streams.
2014-06-13 17:17:07 +02:00