[PATCH v4 0/2] Enumerate all pixels formats
Hans Verkuil
hverkuil-cisco at xs4all.nl
Fri Jul 19 05:57:56 PDT 2024
On 17/07/2024 15:14, Benjamin Gaignard wrote:
> The goal of this series is to let userland applications enumerate
> all the supported pixels formats of a stateless decoder without
> setting all the possible codec-dependent control.
> That offer a simplest solution for applications to discover
> supported pixels formats and possibly let them doing smarter
> choice between stateless decoders.
>
> An example of how it can be used in GStreamer to discover the
> supported pixels formats for stateless decoder is available here:
> https://gitlab.freedesktop.org/benjamin.gaignard1/gstreamer/-/commits/v4l2codecs_enum_all_supported_formats?ref_type=heads
So effectively specifying this flag makes ENUM_FMT also return
formats that do not match the bit depth.
So the AV1 (for example) compressed video uses e.g. 8 bit depth, but instead of just
listing only 8 bit uncompressed pixelformats, you want to list them for any
bit depth.
But what is the point of that if the decoder can't decode 8 bit compressed to,
say, 10 bit uncompressed video?
I actually thought that this flag would just list all formats, independent
of the output format (e.g. AV1, H264, etc.), but that does not appear to be
the case? I.e., if capture pixelformat X is only available with AV1, will that still
be listed if the output pixel is set to H264?
I think you need to describe a real use-case here, and I am not convinced about
the name of the flag either.
>
> changes in version 4:
> - Explicitly document that the new flags are targeting mem2mem devices.
>
> changes in version 3:
> - Add a flag to inform userspace application that driver
> as take care of the flag.
>
> changes in version 2:
> - Clarify documentation.
> - Only keep V4L2_FMT_FLAG_ALL_FORMATS flag in ioctl.
>
> Benjamin
>
> Benjamin Gaignard (2):
> media: videodev2: Add flags to unconditionnaly enumerate pixels
> formats
I.e.: it is not unconditionally, it still depends on the chosen codec.
Regards,
Hans
> media: verisilicon: Use V4L2_FMT_FLAG_ENUM_ALL_FORMATS flag
>
> .../media/v4l/dev-stateless-decoder.rst | 6 ++++++
> .../userspace-api/media/v4l/vidioc-enum-fmt.rst | 11 +++++++++++
> .../media/videodev2.h.rst.exceptions | 2 ++
> drivers/media/platform/verisilicon/hantro_v4l2.c | 16 +++++++++++++---
> drivers/media/v4l2-core/v4l2-ioctl.c | 3 +++
> include/uapi/linux/videodev2.h | 2 ++
> 6 files changed, 37 insertions(+), 3 deletions(-)
>
More information about the Linux-rockchip
mailing list