gstreamer/sys
Víctor Manuel Jáquez Leal 79d11c2022 va: VA-API H.264 decoder and infrastructure
New plugin with an element for H.264 decoding with VA-API. This novel
approach, different from gstreamer-vaapi, uses gstcodecs library for
state handling.

The code is expected to looks cleaner because it uses VA-API without
further layers or wrappers.

* It uses the first supported DRM device as default VA display (other
  displays will be supported through user's GstContext)
* Requires libva >= 1.6
* No multiview/stereo profiles neither interlaced streams because
  gstcodecs doesn't handle them yet
* It is incompatible with gstreamer-vaapi
* Even if memory:VAMemory is exposed, it is not handled yet by any
  other element
* Caps templates are generated dynamically querying VAAPI, but YV12
  and I420 are added for system memory caps because they seem to be
  supported for all the drivers when downloading frames onto main
  memory, as they are used by xvimagesink and others, avoiding color
  conversion.
* Surfaces aren't bounded to context, so they can grow beyond the DBP
  size, allowing smooth reverse playback.
* There isn't yet error handling and recovery.
* 10-bit H.264 streams aren't supported by libva.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1379>
2020-06-28 11:47:35 +02:00
..
androidmedia amc/videodec: only retrieve the stride/slice-height for raw output 2020-05-21 12:40:21 +00:00
applemedia avfvideosrc: wait for permissions request dialog callback 2020-06-24 18:56:53 +00:00
bluez Remove autotools build system 2019-10-14 13:54:27 +01:00
d3d11 d3d11h265dec: Fix possible invalid memory access 2020-06-25 13:58:57 +00:00
d3dvideosink d3dvideosink: Use secondary rank 2020-06-03 17:57:40 +09:00
decklink plugins: uddate gst_type_mark_as_plugin_api() calls 2020-06-06 00:40:42 +02:00
directsound bad: use of g_value_dup_string 2019-12-30 14:13:03 +00:00
dshowdecwrapper documentation: fixed a heap o' typos 2019-11-05 09:11:25 -05:00
dshowsrcwrapper bad: use of g_value_dup_string 2019-12-30 14:13:03 +00:00
dshowvideosink documentation: fixed a heap o' typos 2019-11-05 09:11:25 -05:00
dvb plugins: uddate gst_type_mark_as_plugin_api() calls 2020-06-06 00:40:42 +02:00
fbdev Remove autotools build system 2019-10-14 13:54:27 +01:00
ipcpipeline ipcpipeline: Minimal fixes that allow building with MSVC 2020-01-14 09:23:02 +05:30
kms kmssink: Add support for P010 and P016 formats 2020-04-22 22:39:04 +00:00
magicleap mlaudiosink: Fix crash when stopping pipeline 2019-12-06 15:29:29 +00:00
mediafoundation mediafoundation: Add VP9 encoder element 2020-06-22 07:58:03 +00:00
msdk msdkdec: hold a reference for the surfaces locked by msdk 2020-06-15 02:46:53 +00:00
nvcodec nvh265sldec: Fix possible invalid memory access 2020-06-25 13:58:57 +00:00
opensles opensles: Remove hard-coded buffer-/latency-time values 2020-05-16 19:23:06 +00:00
shm Don't pass default GLib marshallers for signals 2019-11-06 14:27:46 +00:00
tinyalsa Remove autotools build system 2019-10-14 13:54:27 +01:00
uvch264 plugins: uddate gst_type_mark_as_plugin_api() calls 2020-06-06 00:40:42 +02:00
v4l2codecs v4l2slh264dec: Fix reading mode and start code type 2020-06-09 10:52:44 -04:00
va va: VA-API H.264 decoder and infrastructure 2020-06-28 11:47:35 +02:00
wasapi wasapi: Fix possible deadlock while downwards state change 2020-06-11 11:40:26 +00:00
wasapi2 wasapi2: Fallback to IAudioClient interface if IAudioClient3 API is unavailable 2020-06-11 12:40:44 +00:00
winks documentation: fixed a heap o' typos 2019-11-05 09:11:25 -05:00
winscreencap dxgiscreencapsrc: Load HLSL compiler library using g_module_open 2020-06-22 14:36:16 +00:00
meson.build va: VA-API H.264 decoder and infrastructure 2020-06-28 11:47:35 +02:00