gstreamer/sys/va
He Junyan 2505ab17e9 va: caps: Make the template raw video caps classified by features.
The current output of raw video caps is not good. When we have multi
profiles and each profile support different formats, the output of
gst-inspect may like:

 SRC template: 'src'
 Availability: Always
 Capabilities:
   video/x-raw(memory:VAMemory)
         width: [ 1, 16384 ]
         height: [ 1, 16384 ]
         format: NV12
   video/x-raw
         width: [ 1, 16384 ]
         height: [ 1, 16384 ]
         format: NV12
   video/x-raw(memory:VAMemory)
         width: [ 1, 16384 ]
         height: [ 1, 16384 ]
         format: P010_10LE
   video/x-raw
         width: [ 1, 16384 ]
         height: [ 1, 16384 ]
         format: P010_10LE
   video/x-raw(memory:VAMemory)
         width: [ 1, 16384 ]
         height: [ 1, 16384 ]
         format: P012_LE
   video/x-raw
         width: [ 1, 16384 ]
         height: [ 1, 16384 ]
         format: P012_LE

The gst_caps_simplify does not classify the caps by same features, but
just leave them interweaved. We need to handle them manually here, the
result should be:

  SRC template: 'src'
  Availability: Always
  Capabilities:
    video/x-raw
          width: [ 1, 16384 ]
          height: [ 1, 16384 ]
          format: { (string)P010_10LE, (string)P012_LE, (string)NV12 }
    video/x-raw(memory:VAMemory)
          width: [ 1, 16384 ]
          height: [ 1, 16384 ]
          format: { (string)P010_10LE, (string)P012_LE, (string)NV12 }

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2456>
2021-08-11 09:37:33 +00:00
..
gstvaallocator.c va: allocator: dma: Fail when mapping the non-linear buffer. 2021-07-02 08:15:49 +00:00
gstvaallocator.h libs: va: Move the VA common logic as a lib. 2021-05-18 12:15:30 +02:00
gstvaav1dec.c va: Refactor _format_changed() to _config_is_equal(). 2021-07-17 20:51:29 +02:00
gstvaav1dec.h VA: Add the vaav1dec element as the av1 decoder. 2021-02-23 13:53:43 +08:00
gstvabasedec.c va: basedec: Fix some artifact when do the crop copy. 2021-07-05 14:36:36 +00:00
gstvabasedec.h va: basedec: Copy the frames into other_pool if needed. 2021-06-28 15:16:39 +00:00
gstvabasetransform.c va: Add base transform class. 2021-08-10 17:31:58 +00:00
gstvabasetransform.h va: Add base transform class. 2021-08-10 17:31:58 +00:00
gstvacaps.c va: caps: Make the template raw video caps classified by features. 2021-08-11 09:37:33 +00:00
gstvacaps.h libs: va: Move the VA common logic as a lib. 2021-05-18 12:15:30 +02:00
gstvadecoder.c va: decoder: Group decoder methods. 2021-07-17 20:53:29 +02:00
gstvadecoder.h va: decoder: Group decoder methods. 2021-07-17 20:53:29 +02:00
gstvadevice.c libs: va: Move the VA common logic as a lib. 2021-05-18 12:15:30 +02:00
gstvadevice.h libs: va: Move the VA common logic as a lib. 2021-05-18 12:15:30 +02:00
gstvadisplay_priv.c libs: va: Move the VA common logic as a lib. 2021-05-18 12:15:30 +02:00
gstvadisplay_priv.h libs: va: Move the VA common logic as a lib. 2021-05-18 12:15:30 +02:00
gstvafilter.c va: filter: refactor convert_surface() to process() 2021-07-27 09:13:39 +00:00
gstvafilter.h va: filter: refactor convert_surface() to process() 2021-07-27 09:13:39 +00:00
gstvah264dec.c va: Refactor _format_changed() to _config_is_equal(). 2021-07-17 20:51:29 +02:00
gstvah264dec.h va: h264dec: check va allocator at decide allocation 2020-08-24 19:35:57 +00:00
gstvah265dec.c va: h265dec: Do not assign the frame->output_buffer until output_picture. 2021-07-23 07:17:06 +00:00
gstvah265dec.h va: Add HEVC decoding support 2020-11-04 17:53:23 +00:00
gstvampeg2dec.c va: Refactor _format_changed() to _config_is_equal(). 2021-07-17 20:51:29 +02:00
gstvampeg2dec.h va: Add mpeg2 VA decoder. 2020-12-28 13:14:06 +08:00
gstvapool.c va: pool: Add gst_va_pool_new_with_config(). 2021-08-10 17:31:58 +00:00
gstvapool.h va: pool: Add gst_va_pool_new_with_config(). 2021-08-10 17:31:58 +00:00
gstvaprofile.c VA: Add the vaav1dec element as the av1 decoder. 2021-02-23 13:53:43 +08:00
gstvaprofile.h va: VA-API H.264 decoder and infrastructure 2020-06-28 11:47:35 +02:00
gstvautils.c libs: va: display_wrapper: Use gpointer for VADisplay. 2021-05-18 12:15:36 +02:00
gstvautils.h libs: va: Move the VA common logic as a lib. 2021-05-18 12:15:30 +02:00
gstvavideoformat.c va: Fix a typo in video format mapping. 2021-06-16 14:12:59 +00:00
gstvavideoformat.h va: videoformats: Fix RGB32 mapping between VA and GStreamer. 2021-04-07 11:06:59 +00:00
gstvavp8dec.c va: vp8: fix the overflow in _fill_quant_matrix(). 2021-07-29 20:28:20 +00:00
gstvavp8dec.h va: Implement the VA vp8 decoder. 2020-09-25 17:07:30 +08:00
gstvavp9dec.c va: vp9dec: Minor cleanups. 2021-07-17 20:53:32 +02:00
gstvavp9dec.h va: Add VP9 decoder 2020-10-19 13:15:06 +02:00
gstvavpp.c vapostproc: Inherit from GstVaBaseTransform. 2021-08-10 17:31:58 +00:00
gstvavpp.h va: add vapostproc element 2020-09-23 18:19:22 +02:00
meson.build va: Add base transform class. 2021-08-10 17:31:58 +00:00
plugin.c VA: Add the vaav1dec element as the av1 decoder. 2021-02-23 13:53:43 +08:00