Re: [RFC] METADATA design using V4l2 Request API

From: dikshita
Date: Fri Jun 05 2020 - 03:02:18 EST


Hi Hans, Nicolas,

On 2020-05-29 13:01, Hans Verkuil wrote:
On 29/05/2020 04:18, Nicolas Dufresne wrote:
Le jeudi 28 mai 2020 Ã 16:18 +0530, dikshita@xxxxxxxxxxxxxx a Ãcrit :
not allowed. So I need to know more about this.
Regards,
Hans

we need this for use cases like HDR10+ where metadata info is part of
the bitstream.

To handle such frame specific data, support for request api on capture
plane would be needed.

I have a bit of a mixed impression here. Considering how large the ioctl
interface overhead is, relying on HW parser to extract this medata woud be the
last thing I would consider.

Instead, I'm quite convince we can achieve greater and likely zero-copy
perfromance by locating this header in userspace. So everytime I see this kind
of API, were the HW is *needed* to parse a trivial bit of bistream, I ended
thinking that we simply craft this API to expose this because the HW can do it,
but no further logical thinking or higher level design seems to have been
applied.

I'm sorry for this open critic, but are we designing this because the HW
designer exposed that feature? This is so low complexity to extract in
userspace, with the bonus that we are not forced into expanding the
representation to another form immediatly, as maybe the display will be able to
handle that form directly (where converting to a C structure and then back to
some binary format to satisfy DRM property seems very sub-optimal).

Nicolas


Nicolas raises good questions: it would help if you can give more
detailed information
about the hardware. We had similar discussions with Xilinx about
HDR10+ (see this
thread: https://www.spinics.net/lists/linux-media/msg163297.html).

There is no clear answer at the moment on how to handle dynamic HDR metadata.
It will help if we have some more information how different SoCs handle this
in hardware.

Regards,

Hans

As per Widevine Level 1 requirement, it needs âHardware Protected Video Pathâ.
Hence, in case of secure bitstream decoding, we need decoder metadata delivered from HW.
CPU cannot parse secure bitstream and extract them.
Apart from this, there are other metadata like "histogram" which is not part of the bitstream
and generated by hardware

Thanks,
Dikshita