gstreamer/gst/vaapi
Víctor Manuel Jáquez Leal 634fefab5d vaapidecode: build allowed srcpad caps from va context
Instead of generating allowed srcpad caps with generic information,
now it takes the size an formats limits from the decoder's context.

This is possible since srcpad caps are generated after the internal
decoder is created.

The patch replaces gst_vaapi_decoder_get_surface_formats() with
gst_vaapi_decoder_get_suface_attributes().

From these attributes, formats are only used for VASurface memory
caps feature. For system memory caps feature, the old
gst_vaapi_plugin_get_allowed_srcpad_caps() is still used, since
i965 jpeg decoder cannot deliver mappable format for gstreamer.
And for the other caps features (dmabuf and texture upload) the
same static list are used.

This patch also adds DMABuf caps feature only if the context
supports that memory type. Nonetheless, we keep the pre-defined
formats since they are the subset of common derive formats formats
supported either by amd/gallium and both intel drivers, since,
when exporting the fd through vaAcquireBufferHandle()/
vaReleaseBufferHandle(), the formats of the derivable image cannot
be retriebable from the driver. Later we'll use the attribute
formats for the DMABuf feature too, when the code be ported to
vaExportSurfaceHandle().

Finally, the allowed srcpad caps are removed if the internal decoder
is destroyed, since context attribues will change.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/366>
2020-07-27 19:32:00 +02:00
..
gstcompat.h Remove old gst version guards 2016-01-25 12:09:40 +00:00
gstvaapi.c vaapisink: rank it as secondary 2020-07-08 10:48:40 +00:00
gstvaapi.h vaapidecodebin: Register element if no VPP support is available too 2017-10-20 12:59:10 +02:00
gstvaapidecode.c vaapidecode: build allowed srcpad caps from va context 2020-07-27 19:32:00 +02:00
gstvaapidecode.h vaapidecode: Remove NO_SURFACE error handling 2020-07-09 18:13:48 +02:00
gstvaapidecode_props.c vaapidecoder: h264: remove baseline as constrained property 2020-05-21 13:10:57 +02:00
gstvaapidecode_props.h vaapidecoder: h264: remove baseline as constrained property 2020-05-21 13:10:57 +02:00
gstvaapidecodebin.c vaapidecodebin: don't force NV12 since P010_10LE is now possible 2020-07-13 11:23:36 +02:00
gstvaapidecodebin.h vaapidecodebin: skips configuration once it's done 2017-04-21 11:48:16 +02:00
gstvaapidecodedoc.c docstrings: port ulinks to markdown links 2019-08-23 19:10:15 +02:00
gstvaapiencode.c docs: Mark parent classes as plugin API 2020-06-23 10:20:46 -04:00
gstvaapiencode.h plugin: encode: Add static caps for template documentation. 2020-07-23 20:30:45 +02:00
gstvaapiencode_h264.c plugin: encode: Add static caps for template documentation. 2020-07-23 20:30:45 +02:00
gstvaapiencode_h264.h plugins: encode: Modify sink template of h264 encode. 2020-05-16 19:58:15 +00:00
gstvaapiencode_h265.c plugin: encode: Add static caps for template documentation. 2020-07-23 20:30:45 +02:00
gstvaapiencode_h265.h plugins: encode: Modify sink template of h265 encode. 2020-05-16 19:58:15 +00:00
gstvaapiencode_jpeg.c plugin: encode: Add static caps for template documentation. 2020-07-23 20:30:45 +02:00
gstvaapiencode_jpeg.h plugins: encode: Modify sink template of jpeg encode. 2020-05-16 19:58:15 +00:00
gstvaapiencode_mpeg2.c plugin: encode: Add static caps for template documentation. 2020-07-23 20:30:45 +02:00
gstvaapiencode_mpeg2.h plugins: encode: Modify sink template of mpeg2 encode. 2020-05-16 19:58:15 +00:00
gstvaapiencode_vp8.c plugin: encode: Add static caps for template documentation. 2020-07-23 20:30:45 +02:00
gstvaapiencode_vp8.h plugins: encode: Modify sink template of vp8 encode. 2020-05-16 19:58:15 +00:00
gstvaapiencode_vp9.c plugin: encode: Add static caps for template documentation. 2020-07-23 20:30:45 +02:00
gstvaapiencode_vp9.h plugins: encode: Modify sink template of vp9 encode. 2020-05-16 19:58:15 +00:00
gstvaapioverlay.c vaapioverlay: ensure sinkpad has current buffer 2020-01-14 11:37:22 -08:00
gstvaapioverlay.h plugins: add vaapioverlay plugin 2020-01-06 19:56:10 +00:00
gstvaapipluginbase.c plugins: use VA allocator by default on raw caps 2020-07-08 11:17:38 +00:00
gstvaapipluginbase.h plugins: base: add GstVideoAggregator subclass support 2020-01-06 19:56:10 +00:00
gstvaapipluginutil.c plugin: util: add helper function build_template_coded_caps_by_codec() 2020-07-23 20:29:04 +02:00
gstvaapipluginutil.h plugin: util: add helper function build_template_coded_caps_by_codec() 2020-07-23 20:29:04 +02:00
gstvaapipostproc.c postproc: reconfigure after changing cropping values 2020-07-24 17:09:19 +02:00
gstvaapipostproc.h vaapipostproc: enable HDR10 tone mapping 2020-04-03 09:23:32 -07:00
gstvaapipostprocutil.c vaapipostproc: do not compensate for crop/direction if no VPP 2020-02-21 08:49:06 -08:00
gstvaapipostprocutil.h vaapipostproc: move gst_vaapipostproc_fixate_srccaps() 2016-05-09 16:56:10 +02:00
gstvaapisink.c doc: remove xml from comments 2019-05-29 23:08:22 +02:00
gstvaapisink.h vaapisink: add support for GST_TAG_IMAGE_ORIENTATION 2016-07-05 20:17:12 +02:00
gstvaapivideobuffer.c remove the video converter from vaapi buffer meta 2016-11-24 18:32:34 +01:00
gstvaapivideobuffer.h plugins: re-indent all GstVaapiVideo* related source code. 2014-08-22 15:54:32 +02:00
gstvaapivideobufferpool.c vaapivideobufferpool: fix meta overwrite 2020-05-18 18:35:16 +02:00
gstvaapivideobufferpool.h plugin: bufferpool: Delete ACQUIRE_FLAG_NO_ALLOC flag. 2020-04-04 13:47:51 +02:00
gstvaapivideocontext.c plugin: remove custom GstGL context handling 2018-04-26 19:37:54 +02:00
gstvaapivideocontext.h plugin: remove custom GstGL context handling 2018-04-26 19:37:54 +02:00
gstvaapivideomemory.c libs,plugin: break surface-bufferproxy circular reference 2020-04-04 14:22:04 +02:00
gstvaapivideomemory.h videobufferpool: don't reset surface when created internally 2020-02-21 15:52:43 +00:00
gstvaapivideometa.c vaapivideometa: remove compiler warning 2020-03-27 10:35:31 +01:00
gstvaapivideometa.h remove the video converter from vaapi buffer meta 2016-11-24 18:32:34 +01:00
gstvaapivideometa_texture.c vaapivideopool: Set pooled flag to added metas. 2020-05-17 12:42:54 +02:00
gstvaapivideometa_texture.h vaapivideopool: Set pooled flag to added metas. 2020-05-17 12:42:54 +02:00
meson.build Remove all FEI related 2020-01-15 07:30:15 +00:00