mbox series

[0/3] HDR10 static metadata

Message ID 20201109173153.23720-1-stanimir.varbanov@linaro.org (mailing list archive)
Headers show
Series HDR10 static metadata | expand

Message

Stanimir Varbanov Nov. 9, 2020, 5:31 p.m. UTC
Hello,

This patchset adds two HDR10 HEVC v4l2 controls for Content Light Level
and Mastering display colour volume plus implenmentation in Venus encoder
driver.

Comments are welcome!

regards,
Stan

Stanimir Varbanov (3):
  v4l: Add HDR10 HEVC static metadata controls
  docs: media: Document CLL and Mastering display
  venus: venc: Add support for CLL and Mastering display controls

 .../media/v4l/ext-ctrls-codec.rst             | 61 +++++++++++++++++++
 drivers/media/platform/qcom/venus/core.h      |  3 +
 drivers/media/platform/qcom/venus/hfi_cmds.c  |  8 +++
 .../media/platform/qcom/venus/hfi_helper.h    | 20 ++++++
 drivers/media/platform/qcom/venus/venc.c      | 29 +++++++++
 .../media/platform/qcom/venus/venc_ctrls.c    | 16 ++++-
 drivers/media/v4l2-core/v4l2-ctrls.c          | 61 +++++++++++++++++++
 include/media/hevc-ctrls.h                    | 41 +++++++++++++
 include/media/v4l2-ctrls.h                    |  2 +
 9 files changed, 240 insertions(+), 1 deletion(-)

Comments

Nicolas Dufresne Nov. 9, 2020, 7:53 p.m. UTC | #1
Le lundi 09 novembre 2020 à 19:31 +0200, Stanimir Varbanov a écrit :
> Hello,
> 
> This patchset adds two HDR10 HEVC v4l2 controls for Content Light Level
> and Mastering display colour volume plus implenmentation in Venus encoder
> driver.
> 
> Comments are welcome!

It is not a formal review, but I did walked through the new API and
everything looks fine to me. One question though, are you aware that
the H.264/AVC equivalent is identical ? What is you plan for that ?

> 
> regards,
> Stan
> 
> Stanimir Varbanov (3):
>   v4l: Add HDR10 HEVC static metadata controls
>   docs: media: Document CLL and Mastering display
>   venus: venc: Add support for CLL and Mastering display controls
> 
>  .../media/v4l/ext-ctrls-codec.rst             | 61 +++++++++++++++++++
>  drivers/media/platform/qcom/venus/core.h      |  3 +
>  drivers/media/platform/qcom/venus/hfi_cmds.c  |  8 +++
>  .../media/platform/qcom/venus/hfi_helper.h    | 20 ++++++
>  drivers/media/platform/qcom/venus/venc.c      | 29 +++++++++
>  .../media/platform/qcom/venus/venc_ctrls.c    | 16 ++++-
>  drivers/media/v4l2-core/v4l2-ctrls.c          | 61 +++++++++++++++++++
>  include/media/hevc-ctrls.h                    | 41 +++++++++++++
>  include/media/v4l2-ctrls.h                    |  2 +
>  9 files changed, 240 insertions(+), 1 deletion(-)
>
Stanimir Varbanov Nov. 9, 2020, 11:44 p.m. UTC | #2
On 11/9/20 9:53 PM, Nicolas Dufresne wrote:
> Le lundi 09 novembre 2020 à 19:31 +0200, Stanimir Varbanov a écrit :
>> Hello,
>>
>> This patchset adds two HDR10 HEVC v4l2 controls for Content Light Level
>> and Mastering display colour volume plus implenmentation in Venus encoder
>> driver.
>>
>> Comments are welcome!
> 
> It is not a formal review, but I did walked through the new API and
> everything looks fine to me. One question though, are you aware that
> the H.264/AVC equivalent is identical ? What is you plan for that ?

Thanks for the question, I haven't thought for avc, yet.

I guess we have few options:

1. introduce hdr10-ctrls.h, common control IDs
2. duplicate structures and control IDs in hevc/h264-ctrls.h
3. common structures and separate control IDs for avc and hevc
4. another option?

I'd prefer option 1. We could extend later option 1 with hdr10+.

> 
>>
>> regards,
>> Stan
>>
>> Stanimir Varbanov (3):
>>   v4l: Add HDR10 HEVC static metadata controls
>>   docs: media: Document CLL and Mastering display
>>   venus: venc: Add support for CLL and Mastering display controls
>>
>>  .../media/v4l/ext-ctrls-codec.rst             | 61 +++++++++++++++++++
>>  drivers/media/platform/qcom/venus/core.h      |  3 +
>>  drivers/media/platform/qcom/venus/hfi_cmds.c  |  8 +++
>>  .../media/platform/qcom/venus/hfi_helper.h    | 20 ++++++
>>  drivers/media/platform/qcom/venus/venc.c      | 29 +++++++++
>>  .../media/platform/qcom/venus/venc_ctrls.c    | 16 ++++-
>>  drivers/media/v4l2-core/v4l2-ctrls.c          | 61 +++++++++++++++++++
>>  include/media/hevc-ctrls.h                    | 41 +++++++++++++
>>  include/media/v4l2-ctrls.h                    |  2 +
>>  9 files changed, 240 insertions(+), 1 deletion(-)
>>
>
Hans Verkuil Nov. 10, 2020, 9:38 a.m. UTC | #3
On 09/11/2020 20:53, Nicolas Dufresne wrote:
> Le lundi 09 novembre 2020 à 19:31 +0200, Stanimir Varbanov a écrit :
>> Hello,
>>
>> This patchset adds two HDR10 HEVC v4l2 controls for Content Light Level
>> and Mastering display colour volume plus implenmentation in Venus encoder
>> driver.
>>
>> Comments are welcome!
> 
> It is not a formal review, but I did walked through the new API and
> everything looks fine to me. One question though, are you aware that
> the H.264/AVC equivalent is identical ? What is you plan for that ?

Not only that, but these structures are lifted straight from the
CTA-861-G standard: see "6.9 Dynamic Range and Mastering InfoFrame"
and "6.9.1 Static Metadata Type 1".

So this is equally useful for HDMI receivers and transmitters.

Actually, include/linux/hdmi.h contains a struct for that, but it seems
to be missing a lot of fields. But we need a v4l2 control anyway and hdmi.h
isn't a good fit for that.

Regards,

	Hans

> 
>>
>> regards,
>> Stan
>>
>> Stanimir Varbanov (3):
>>   v4l: Add HDR10 HEVC static metadata controls
>>   docs: media: Document CLL and Mastering display
>>   venus: venc: Add support for CLL and Mastering display controls
>>
>>  .../media/v4l/ext-ctrls-codec.rst             | 61 +++++++++++++++++++
>>  drivers/media/platform/qcom/venus/core.h      |  3 +
>>  drivers/media/platform/qcom/venus/hfi_cmds.c  |  8 +++
>>  .../media/platform/qcom/venus/hfi_helper.h    | 20 ++++++
>>  drivers/media/platform/qcom/venus/venc.c      | 29 +++++++++
>>  .../media/platform/qcom/venus/venc_ctrls.c    | 16 ++++-
>>  drivers/media/v4l2-core/v4l2-ctrls.c          | 61 +++++++++++++++++++
>>  include/media/hevc-ctrls.h                    | 41 +++++++++++++
>>  include/media/v4l2-ctrls.h                    |  2 +
>>  9 files changed, 240 insertions(+), 1 deletion(-)
>>
>
Hans Verkuil Nov. 10, 2020, 9:41 a.m. UTC | #4
On 10/11/2020 10:38, Hans Verkuil wrote:
> On 09/11/2020 20:53, Nicolas Dufresne wrote:
>> Le lundi 09 novembre 2020 à 19:31 +0200, Stanimir Varbanov a écrit :
>>> Hello,
>>>
>>> This patchset adds two HDR10 HEVC v4l2 controls for Content Light Level
>>> and Mastering display colour volume plus implenmentation in Venus encoder
>>> driver.
>>>
>>> Comments are welcome!
>>
>> It is not a formal review, but I did walked through the new API and
>> everything looks fine to me. One question though, are you aware that
>> the H.264/AVC equivalent is identical ? What is you plan for that ?
> 
> Not only that, but these structures are lifted straight from the
> CTA-861-G standard: see "6.9 Dynamic Range and Mastering InfoFrame"
> and "6.9.1 Static Metadata Type 1".

Correction: the CTA-861-G lifted it from SMPTE ST-2086 in turn.

Regards,

	Hans

> 
> So this is equally useful for HDMI receivers and transmitters.
> 
> Actually, include/linux/hdmi.h contains a struct for that, but it seems
> to be missing a lot of fields. But we need a v4l2 control anyway and hdmi.h
> isn't a good fit for that.
> 
> Regards,
> 
> 	Hans
> 
>>
>>>
>>> regards,
>>> Stan
>>>
>>> Stanimir Varbanov (3):
>>>   v4l: Add HDR10 HEVC static metadata controls
>>>   docs: media: Document CLL and Mastering display
>>>   venus: venc: Add support for CLL and Mastering display controls
>>>
>>>  .../media/v4l/ext-ctrls-codec.rst             | 61 +++++++++++++++++++
>>>  drivers/media/platform/qcom/venus/core.h      |  3 +
>>>  drivers/media/platform/qcom/venus/hfi_cmds.c  |  8 +++
>>>  .../media/platform/qcom/venus/hfi_helper.h    | 20 ++++++
>>>  drivers/media/platform/qcom/venus/venc.c      | 29 +++++++++
>>>  .../media/platform/qcom/venus/venc_ctrls.c    | 16 ++++-
>>>  drivers/media/v4l2-core/v4l2-ctrls.c          | 61 +++++++++++++++++++
>>>  include/media/hevc-ctrls.h                    | 41 +++++++++++++
>>>  include/media/v4l2-ctrls.h                    |  2 +
>>>  9 files changed, 240 insertions(+), 1 deletion(-)
>>>
>>
>