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