Commit graph

45 commits

Author SHA1 Message Date
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
c7f41b770b codecparsers: Update to gst-vaapi-branch commit 43a0368
45f1c28: codecparser: h265: Fix nal unit size checking
f25987b: codecparser: h265: Calculate crop rectangle dimensions
639573a: codecparser: h265: Fix parsing multiple SEI messages in a single SEI Nal
4c8ec41: Add h265 videoparser plugin source files
2015-04-17 15:44:04 +03:00
Sreerenj Balachandran
33023d4d4d HEVC: Allow to build h265 codecparser internally
Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
2015-04-13 14:51:51 +03:00
Sreerenj Balachandran
c750fa937d codecparsers: Update to gst-vaapi-branch commit 9bc72b0
767bf22: codecparsers: h265: add helpers to convert quantization matrices
71c8e93: codecparser: h265: skip byte alignment bits while parsing slice header
3bf0355: codecparsre: h265: Fix the NumDeltaPocs calculation
10e2087: codecparser: h265: Fix the NumPocTotalCurr calculatio
2d753b8: codecparser: h265: Fix nal size calculation for EOS and EOB
2015-04-13 11:29:35 +03:00
Sreerenj Balachandran
f304d4168b codecparsers: update to gst-vaapi-branch commit 1f792e4
87f4a7e: bytereader: add gst_byte_reader_peek_sub_reader() and _get_sub_reader()
7d8ba7a: bytereader: use unchecked inline variant for get_remaining in more places
2528ea6: bytereader: add gst_byte_reader_masked_scan_uint32_peek
2b92a67: h264parse: reset the parser information when caps changes
05eee86: codecparsers: Indent file
e27a38b: codecparsers: Add READ_UE_MAX macro
2036471: Constify some static arrays everywhere
2015-04-03 23:30:24 +03:00
Sreerenj Balachandran
5deae3bcfb Remove the gstreamer-videoutils submodule 2015-04-03 17:03:38 +03:00
Sreerenj Balachandran
d5f9414975 codecparsers: update to gst-vaapi-branch commit d3b5c1b
8194cac: h264parse: parse SPS subset
64b7f52: h264parse: expose stereo-high profile
774360a: h264parse: add initial support for MVC NAL units
258478f: h264parser: fix stack smashing
2015-01-21 18:26:12 +02:00
Sreerenj Balachandran
6e395c60ac codecparsers: update to gst-vaapi-branch commit 191cb2f
347605a: h264parse: expose compatible profiles to downstream
d1ea97e: h264parse: Fix periodic SPS/PPS sending work after a seek
24a3126: Revert "h264parse: expose compatible profiles to downstream"
8661740: h264parse: expose compatible profiles to downstream
8b7ef3f: codecparsers: fix some compiler warnings
2015-01-15 00:00:16 +02:00
Gwenole Beauchesne
c4f42114b4 codecparsers: update to gst-vaapi-branch commit 3d05d9f.
1241840 h264: fix derivation of MaxPicNum variable
3bd718e h264: fix GstH264ParserResult documentation typo
b021609 h264parse: set the HEADER flag on buffers containing SPS or PPS
b08e4be h264parse: don't unnecesarily set src_caps
2014-11-14 09:54:02 +01:00
Gwenole Beauchesne
c472403bb4 codecparsers: update to gst-vaapi-branch commit f9d3bde.
2218b02 h264parse: expose parsed profile and level to downstream
3dbfab4 h264parse: return flushing if we get chained while being set to READY
d40fa8b h264: fix frame packing SEI parsing
32d40be h264: Use proper bit_reader api while parsing buffering_period SEI
b3e022e h264: initialize some fields of pic_timing structure
a70661d vc1: fix expected level in sequence-layer parsing unit test
6cee88d vc1: fix level values for simple/main profile
356c189 vc1: add unit test for sequence-layer parsing
ab9f641 vc1: take care of endianness when parsing sequence-layer
8dc8e35 mpeg4: fix vlc table used for sprite trajectory
2014-10-29 15:45:50 +01:00
Gwenole Beauchesne
4263effee5 codecparsers: update to gst-vaapi-branch commit 2d53b69.
c4ace00 h264parse: fix collection of access units to preserve config headers
0f9f7c9 h264parse: improve conditions for skipping NAL units
9ffb25c h264parse: introduce new state tracking variables
64955d3 h264parse: fix and optimize NAL collection function
13cd2a3 h264: clarifications and documentation fixes
53e7dd1 h264: fix identification of EOSEQ and EOS NALs
18f0de0 h264: fix memory leak in GstH264PPS
fdcb54c h264: fix typo in GstH264VUIParams description
fd4dae9 vp8: move up built-in range decoder private data
2014-07-01 17:15:47 +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
Gwenole Beauchesne
7fd8aa3ed0 codecparsers: update to gst-vaapi-branch commit d6325ac.
7d8d045 h264parse: use new gst_h264_video_calculate_framerate()
d2f965a h264parse: set field_pic_flag when parsing a slice header
24c15b8 Import h264parse
a9283e5 bytereader: Use concistant derefence method
a8252c6 bytereader: Use pointer instead of index access
b1bebfc Import GstBitReader and GstByteReader
2f58788 h264: recognize SVC NAL units
4335da5 h264: fix SPS copy code for MVC
cf9b6dc h264: fix quantization matrix conversion routine names
b11ce2a h264: add gst_h264_video_calculate_framerate()
126dc6f add C++ guards for MPEG-4 and VP8 parsers
2014-06-13 11:34:07 +02:00
Gwenole Beauchesne
7f5b9edb14 codecparsers: update to gst-vaapi-branch commit eaa3f7e.
h264: fix parsing of slice groups for map type = 2
2014-04-28 09:42:13 +02:00
Gwenole Beauchesne
72accf53b2 codecparsers: update to gst-vaapi branch commit f44edfc.
h264: fix derivation of default scaling lists
2014-04-26 22:35:49 +02:00
Zhong Cong
3a6f6f97ab decoder: h264: skip SPS extension and auxiliary slice NALs.
When NAL units of type 13 (SPS extension) or type 19 (auxiliary slice)
are present in a video, decoders shall perform the (optional) decoding
process specified for these NAL units or shall ignore them (7.4.1).

Implement option 2 (skip) for now, as alpha composition is not
supported yet during the decoding process.

This fixes decoding of the primary coded video in alphaconformanceG.

https://bugzilla.gnome.org/show_bug.cgi?id=703928
https://bugzilla.gnome.org/show_bug.cgi?id=728869
https://bugzilla.gnome.org/show_bug.cgi?id=724518

[skip NAL units earlier, i.e. at parsing time]
Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2014-04-26 14:38:59 +02:00
Gwenole Beauchesne
fff4facb90 build: add missing files for GStreamer 0.10.
Add missing GstVideoEncoder implementation files to fix build with ancient
GStreamer 0.10 stack.

https://bugzilla.gnome.org/show_bug.cgi?id=723964
2014-04-21 17:53:06 +02:00
Gwenole Beauchesne
03f4071721 build: add missing files for VP8 bitstream parser.
Fix make dist for building the VP8 bitstream parser.
2014-04-21 17:53:06 +02:00
Gwenole Beauchesne
de6a980065 vp8: allow compilation without the built-in libvpx.
The built-in libvpx serves multiple purposes, among which the most
important ones could be: track the most up-to-date, and optimized,
range decoder; allow for future hybrid implementations (non-VLD);
and have a completely independent range decoder implementation.
2014-04-21 17:53:06 +02:00
Gwenole Beauchesne
1ceef7d5b9 vp8: fix compilation with built-in libvpx.
Apply correct patch from fd.o #722760 to fix several issues: update the
license terms to LGPLv2.1+, fix dependencies to built-in libvpx and fix
make dist.
2014-04-19 10:17:01 +02:00
Gwenole Beauchesne
b36eade7f3 vp8: use range decoder from libvpx.
Add libvpx submodule that tracks the upstream version 1.3.0. This is
needed to build a libgstcodecparsers_vpx.so library with all symbols
placed into the GSTREAMER namespace.
2014-04-18 20:37:25 +02:00
Zhao, Halley
029bae0b6a Add initial VP8 decoder.
https://bugzilla.gnome.org/show_bug.cgi?id=722761

[complete overhaul, fixed support for resolution changes]
Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2014-04-18 20:03:44 +02:00
Gwenole Beauchesne
095ac1b378 codecparsers: update to gst-vaapi-branch commit a454f86.
b2eb5f6 vp8: rename dboolhuff symbols
b74a881 vp8: add GStreamer native utilities
2940ac6 add VP8 bitstream parser
2014-04-18 19:37:16 +02:00
Gwenole Beauchesne
1a5918b1d7 codecparsers: update to gst-vaapi-branch commit d459bc5.
d459bc5 h264: set framerate even for interlaced videos
c78b82c h264: add support for Recovery Point SEI message
7693bac h264: add support for Frame Packing Arrangement SEI message
31fafa7 h264: add support for Stereo Video Information SEI message
8b113a6 h264: parse seq_parameter_set_mvc_extension()
040f9b8 h264: parse MVC syntax elements
cc18ef3 h264: add nal_reader_skip_long() helper
7e76a48 h264: fix slice_header() parsing for MVC
caf46d8 h264: add gst_h264_parse_nalu_header() helper
f75074e h264: add gst_h264_parse_sps_data() helper
798c397 h264: clean-up gst_h264_parser_parse_sei_message()
4e36737 h264: fix skipping of unsupported SEI messages
5300766 h264: fix SEI buffering_period() parsing
2014-04-18 19:25:02 +02:00
Gwenole Beauchesne
100f56eedf codecparsers: update to gst-vaapi-branch commit 8fadf40.
8fadf40 h264: Fix multiple SEI messages in one SEI RBSP parsing.
644825f h265: remove trailling 0x00 bytes as the spec doesn't allow them
95f9f0f h264: remove trailling 0x00 bytes as the spec doesn't allow them
766007b h265: Initialize pointer correctly that is never assigned but freed in error cases
8ec5816 h265: Fix segfault when parsing HRD parameter
5b1730f h265: Fix segfault when parsing VPS
983b7f7 h265: prevent to overrun chroma_weight_l0_flag
7ba641d h265: Fix debug output
d9f9f9b h264: not all startcodes should have 3-byte 0 prefix
2014-04-18 19:25:02 +02:00
Gwenole Beauchesne
3d510745c1 codecparsers: update to gst-vaapi-branch commit e7d0e18.
e7d0e18 h264: complete set of NAL unit types
2013-12-10 15:22:40 +01:00
Gwenole Beauchesne
f870469b0a codecparsers: update to gst-vaapi-branch commit 177c73b.
a7e3255 add H.265 (HEVC) bitstream parser
177c73b h264: fix picture level scaling lists derivation (rule B)
14733f1 h264: fix parsing of VCL HRD parameters
59a0b47 h264: store quantization matrices in zig-zag order
ffb6e26 h264: add helpers to convert quantization matrices
c78a504 mpeg2: also initialize debug category in parse_sequence_header()
719d1b0 mpeg2: turn internal consistency check into a g_assert()
5241d8e all: remove some unused functions
18eb312 all: fix for GST_DISABLE_GST_DEBUG
963c04a all: make warnings more meaningful
2013-12-09 12:07:28 +01:00
Gwenole Beauchesne
d3f671a54d videoutils: update to master commit d4a15a5.
d4a15a5 video: fix compiler warning in header with C++11 / clang-3.1
86096cc videodecoder: minor cosmetic changes to align a bit more with master
b4b8b52 videodecoder: allow parse function to not use all data on adapter
2145495 videodecoder: warn if frame list gets long
36c3753 videodecoder: Also use the object lock to protect the output_state
518c93d videodecoder: fix seeking again
185fb63 video: Correct usage of the base class stream lock
170e944 videodecoder: Expose _negotiate function
2013-11-27 17:23:56 +01:00
Gwenole Beauchesne
008eac1b72 codecparsers: update to gst-vaapi-branch commit b33bd32.
b33bd32 jpeg: fix and optimize scan for next marker code
2013-09-24 16:22:59 +02:00
Gwenole Beauchesne
a1d91e038c codecparsers: update to gst-vaapi-branch commit 23c7dde.
23c7dde jpeg: fix calculation of segment size
2013-09-20 18:30:18 +02:00
Gwenole Beauchesne
746631c64c codecparsers: update to gst-vaapi-branch commit f90de0a.
f90de0a h264: fix calculation of the frame cropping rectangle
535515c h264: parse the cropping rectangle separately
2013-07-08 18:52:40 +02:00
Gwenole Beauchesne
b80a804b08 codecparsers: update to gst-vaapi-branch commit 0f68a71.
0f68a71 mpeg2: fix video packet header size checks
2013-07-05 19:04:32 +02:00
Gwenole Beauchesne
7da02c8c59 codecparsers: update to gst-vaapi-branch commit dddd182.
dddd182 mpeg2: add slice header parsing API
94e6228 mpeg2: add sequence scalable extension parsing API
531134f mpeg2: add new API that takes GstMpegVideoPacket arguments
4b135d3 h264: fix the return value type for the SEI palyload parsing methods
2013-07-05 17:51:26 +02:00
Gwenole Beauchesne
d6cff6e148 codecparsers: update to gst-vaapi-branch commit 843ce3e.
843ce3e jpeg: fix default Huffman tables generation.
8655187 mpeg2: fix the pixel-aspect-ratio calculation
21099dc mpeg2: actually store video bitrate values
dd02087 mpeg2: fix picture packet extension size check
25948e9 mpeg2: increase min size for picture coding ext
f1f5a40 ensure the debug category is properly initialized
2013-06-14 11:45:11 +02:00
Gwenole Beauchesne
ed6ad0be26 codecparsers: update to gst-vaapi-branch commit 500bc02.
500bc02 h264: add profile enums
2013-02-07 15:29:44 +01:00
Gwenole Beauchesne
46fdbcd150 codecparsers: update to gst-vaapi-branch commit 31b1c57.
8957fb7 mpeg2: add helpers to convert quantization matrices
07c4034 mpeg2: store quantization matrices in zigzag scan order
2013-02-06 15:21:27 +01:00
Gwenole Beauchesne
0ed1735d8b codecparsers: update to gst-vaapi-branch commit 21a098e.
21a098e vc1: fix bitplanes decoding (DIFF6 or NORM6) [residual]
f8c836a vc1: fix bitplanes decoding (DIFF6 or NORM6)
2013-01-24 18:30:53 +01:00
Gwenole Beauchesne
9f2b2a56d6 codecparsers: update to gst-vaapi-branch commit 3fba492.
3fba492 vc1: add API to parse slice headers
2013-01-23 17:02:32 +01:00
Gwenole Beauchesne
56c31ca1c9 codecparsers: update to gst-vaapi-branch commit 3d2c67c.
3d2c67c vc1: simplify GstVC1VopDquant structure
2013-01-23 10:24:04 +01:00
Gwenole Beauchesne
0d256a49da codecparsers: update to gst-vaapi-branch commit 5d33da8.
5d33da8 vc1: fix bitplanes decoding
562bdc4 vc1: fix VOPDQUANT parser for DQUANT == 2
0b13d2b vc1: fix calculation of ALTPQUANT
ba88e63 vc1: fix parser for DQPROFILE in VOPDQUANT
2013-01-22 18:20:50 +01:00
Gwenole Beauchesne
9485b17fd7 codecparsers: update to gst-vaapi-branch commit b47983a.
8840c2d h264: zero-initialize SPS VUI parameters
2013-01-17 15:47:17 +01:00
Gwenole Beauchesne
cc769f0c2d codecparsers: update to gst-vaapi-rebased commit b47983a.
b47983a h264: add inferred value for slice_beta_offset_div2
2013-01-06 19:20:12 +01:00
Gwenole Beauchesne
9e643a6147 Add videoutils submodule for GstVideoDecoder APIs. 2012-12-21 16:01:16 +01:00
Gwenole Beauchesne
d453297886 codecparsers: update to gst-vaapi-rebased commit 73d6aab.
73d6aab h264: fix rbsp_more_data() implementation
25d04cf h264: fix error code for invalid size parsed in SPS
84798e5 fix FSF address
2012-11-13 13:16:00 +01:00
Gwenole Beauchesne
c3b343f324 Add codecparsers submodule. 2012-10-11 14:19:15 +02:00