[RFC v2 0/8] Move HEVC stateless controls out of staging

Benjamin Gaignard posted 8 patches 4 years, 4 months ago
There is a newer version of this series
.../userspace-api/media/drivers/hantro.rst    |   5 -
.../media/v4l/ext-ctrls-codec.rst             |  58 ++--
.../media/v4l/vidioc-queryctrl.rst            |   8 +
.../media/test-drivers/vivid/vivid-ctrls.c    |  15 ++
drivers/media/v4l2-core/v4l2-ctrls-api.c      | 103 ++++++--
drivers/media/v4l2-core/v4l2-ctrls-core.c     | 182 ++++++++++---
drivers/media/v4l2-core/v4l2-ctrls-defs.c     |  32 +--
drivers/media/v4l2-core/v4l2-ctrls-priv.h     |   3 +-
drivers/media/v4l2-core/v4l2-ctrls-request.c  |  13 +-
drivers/staging/media/hantro/hantro_drv.c     |  27 +-
drivers/staging/media/hantro/hantro_hevc.c    |   8 +-
drivers/staging/media/sunxi/cedrus/cedrus.c   |  24 +-
.../staging/media/sunxi/cedrus/cedrus_dec.c   |  10 +-
.../staging/media/sunxi/cedrus/cedrus_h265.c  |  13 +-
include/linux/hantro-media.h                  |  17 ++
include/media/hevc-ctrls.h                    | 250 ------------------
include/media/v4l2-ctrls.h                    |  48 +++-
include/uapi/linux/v4l2-controls.h            | 224 ++++++++++++++++
include/uapi/linux/videodev2.h                |   8 +
19 files changed, 640 insertions(+), 408 deletions(-)
create mode 100644 include/linux/hantro-media.h
delete mode 100644 include/media/hevc-ctrls.h
[RFC v2 0/8] Move HEVC stateless controls out of staging
Posted by Benjamin Gaignard 4 years, 4 months ago
This series aims to make HEVC uapi stable and usable for hardware
decoder. HEVC uapi is used by 2 mainlined drivers (Cedrus and Hantro)
and 2 out of the tree drivers (rkvdec and RPI).

The 3 first patches are from Hans to implement v4l2 dynamic control
feature which is need by patch 7 for V4L2_CID_STATELESS_HEVC_ENTRY_POINT_OFFSET
definition.

Patch 4 move the existing uapi to stable, including definitions renaming 
and CID number change to fit with v4l2 naming.

Patches 5 and 7 add fields needed for rkvdec and RPI decoders.

Patches 6 is cleaning up the uapi of useless field.
Patches 8 change one field description and name to define offset by
bytes rather than by bits

Benjamin

Benjamin Gaignard (5):
  media: uapi: Move HEVC stateless controls out of staging
  media: uapi: Add fields needed for RKVDEC driver
  media: uapi: Remove bit_size field from v4l2_ctrl_hevc_slice_params
  media: uapi: Add V4L2_CID_STATELESS_HEVC_ENTRY_POINT_OFFSET control
  media: uapi: Change data_bit_offset definition

Hans Verkuil (3):
  videodev2.h: add V4L2_CTRL_FLAG_DYNAMIC_ARRAY
  v4l2-ctrls: add support for dynamically allocated arrays.
  vivid: add dynamic array test control

 .../userspace-api/media/drivers/hantro.rst    |   5 -
 .../media/v4l/ext-ctrls-codec.rst             |  58 ++--
 .../media/v4l/vidioc-queryctrl.rst            |   8 +
 .../media/test-drivers/vivid/vivid-ctrls.c    |  15 ++
 drivers/media/v4l2-core/v4l2-ctrls-api.c      | 103 ++++++--
 drivers/media/v4l2-core/v4l2-ctrls-core.c     | 182 ++++++++++---
 drivers/media/v4l2-core/v4l2-ctrls-defs.c     |  32 +--
 drivers/media/v4l2-core/v4l2-ctrls-priv.h     |   3 +-
 drivers/media/v4l2-core/v4l2-ctrls-request.c  |  13 +-
 drivers/staging/media/hantro/hantro_drv.c     |  27 +-
 drivers/staging/media/hantro/hantro_hevc.c    |   8 +-
 drivers/staging/media/sunxi/cedrus/cedrus.c   |  24 +-
 .../staging/media/sunxi/cedrus/cedrus_dec.c   |  10 +-
 .../staging/media/sunxi/cedrus/cedrus_h265.c  |  13 +-
 include/linux/hantro-media.h                  |  17 ++
 include/media/hevc-ctrls.h                    | 250 ------------------
 include/media/v4l2-ctrls.h                    |  48 +++-
 include/uapi/linux/v4l2-controls.h            | 224 ++++++++++++++++
 include/uapi/linux/videodev2.h                |   8 +
 19 files changed, 640 insertions(+), 408 deletions(-)
 create mode 100644 include/linux/hantro-media.h
 delete mode 100644 include/media/hevc-ctrls.h

-- 
2.32.0

Re: [RFC v2 0/8] Move HEVC stateless controls out of staging
Posted by Sebastian Fricke 4 years, 4 months ago
Hey Benjamin,

On 15.02.2022 12:00, Benjamin Gaignard wrote:
>This series aims to make HEVC uapi stable and usable for hardware
>decoder. HEVC uapi is used by 2 mainlined drivers (Cedrus and Hantro)
>and 2 out of the tree drivers (rkvdec and RPI).

Why is rkvdec out-of-tree? It is in the staging directory just like
hantro and cedrus? Am I missing something here?

Greetings,
Sebastian

>
>The 3 first patches are from Hans to implement v4l2 dynamic control
>feature which is need by patch 7 for V4L2_CID_STATELESS_HEVC_ENTRY_POINT_OFFSET
>definition.
>
>Patch 4 move the existing uapi to stable, including definitions renaming
>and CID number change to fit with v4l2 naming.
>
>Patches 5 and 7 add fields needed for rkvdec and RPI decoders.
>
>Patches 6 is cleaning up the uapi of useless field.
>Patches 8 change one field description and name to define offset by
>bytes rather than by bits
>
>Benjamin
>
>Benjamin Gaignard (5):
>  media: uapi: Move HEVC stateless controls out of staging
>  media: uapi: Add fields needed for RKVDEC driver
>  media: uapi: Remove bit_size field from v4l2_ctrl_hevc_slice_params
>  media: uapi: Add V4L2_CID_STATELESS_HEVC_ENTRY_POINT_OFFSET control
>  media: uapi: Change data_bit_offset definition
>
>Hans Verkuil (3):
>  videodev2.h: add V4L2_CTRL_FLAG_DYNAMIC_ARRAY
>  v4l2-ctrls: add support for dynamically allocated arrays.
>  vivid: add dynamic array test control
>
> .../userspace-api/media/drivers/hantro.rst    |   5 -
> .../media/v4l/ext-ctrls-codec.rst             |  58 ++--
> .../media/v4l/vidioc-queryctrl.rst            |   8 +
> .../media/test-drivers/vivid/vivid-ctrls.c    |  15 ++
> drivers/media/v4l2-core/v4l2-ctrls-api.c      | 103 ++++++--
> drivers/media/v4l2-core/v4l2-ctrls-core.c     | 182 ++++++++++---
> drivers/media/v4l2-core/v4l2-ctrls-defs.c     |  32 +--
> drivers/media/v4l2-core/v4l2-ctrls-priv.h     |   3 +-
> drivers/media/v4l2-core/v4l2-ctrls-request.c  |  13 +-
> drivers/staging/media/hantro/hantro_drv.c     |  27 +-
> drivers/staging/media/hantro/hantro_hevc.c    |   8 +-
> drivers/staging/media/sunxi/cedrus/cedrus.c   |  24 +-
> .../staging/media/sunxi/cedrus/cedrus_dec.c   |  10 +-
> .../staging/media/sunxi/cedrus/cedrus_h265.c  |  13 +-
> include/linux/hantro-media.h                  |  17 ++
> include/media/hevc-ctrls.h                    | 250 ------------------
> include/media/v4l2-ctrls.h                    |  48 +++-
> include/uapi/linux/v4l2-controls.h            | 224 ++++++++++++++++
> include/uapi/linux/videodev2.h                |   8 +
> 19 files changed, 640 insertions(+), 408 deletions(-)
> create mode 100644 include/linux/hantro-media.h
> delete mode 100644 include/media/hevc-ctrls.h
>
>-- 
>2.32.0
>
Re: [RFC v2 0/8] Move HEVC stateless controls out of staging
Posted by Benjamin Gaignard 4 years, 4 months ago
Le 15/02/2022 à 14:01, Sebastian Fricke a écrit :
> Hey Benjamin,
>
> On 15.02.2022 12:00, Benjamin Gaignard wrote:
>> This series aims to make HEVC uapi stable and usable for hardware
>> decoder. HEVC uapi is used by 2 mainlined drivers (Cedrus and Hantro)
>> and 2 out of the tree drivers (rkvdec and RPI).
>
> Why is rkvdec out-of-tree? It is in the staging directory just like
> hantro and cedrus? Am I missing something here?

I have made a shortcut here: HEVC part of rkvdec isn't in staging directory.
I hope that this series will enough to add it after.

Regards,
Benjamin

>
> Greetings,
> Sebastian
>
>>
>> The 3 first patches are from Hans to implement v4l2 dynamic control
>> feature which is need by patch 7 for 
>> V4L2_CID_STATELESS_HEVC_ENTRY_POINT_OFFSET
>> definition.
>>
>> Patch 4 move the existing uapi to stable, including definitions renaming
>> and CID number change to fit with v4l2 naming.
>>
>> Patches 5 and 7 add fields needed for rkvdec and RPI decoders.
>>
>> Patches 6 is cleaning up the uapi of useless field.
>> Patches 8 change one field description and name to define offset by
>> bytes rather than by bits
>>
>> Benjamin
>>
>> Benjamin Gaignard (5):
>>  media: uapi: Move HEVC stateless controls out of staging
>>  media: uapi: Add fields needed for RKVDEC driver
>>  media: uapi: Remove bit_size field from v4l2_ctrl_hevc_slice_params
>>  media: uapi: Add V4L2_CID_STATELESS_HEVC_ENTRY_POINT_OFFSET control
>>  media: uapi: Change data_bit_offset definition
>>
>> Hans Verkuil (3):
>>  videodev2.h: add V4L2_CTRL_FLAG_DYNAMIC_ARRAY
>>  v4l2-ctrls: add support for dynamically allocated arrays.
>>  vivid: add dynamic array test control
>>
>> .../userspace-api/media/drivers/hantro.rst    |   5 -
>> .../media/v4l/ext-ctrls-codec.rst             |  58 ++--
>> .../media/v4l/vidioc-queryctrl.rst            |   8 +
>> .../media/test-drivers/vivid/vivid-ctrls.c    |  15 ++
>> drivers/media/v4l2-core/v4l2-ctrls-api.c      | 103 ++++++--
>> drivers/media/v4l2-core/v4l2-ctrls-core.c     | 182 ++++++++++---
>> drivers/media/v4l2-core/v4l2-ctrls-defs.c     |  32 +--
>> drivers/media/v4l2-core/v4l2-ctrls-priv.h     |   3 +-
>> drivers/media/v4l2-core/v4l2-ctrls-request.c  |  13 +-
>> drivers/staging/media/hantro/hantro_drv.c     |  27 +-
>> drivers/staging/media/hantro/hantro_hevc.c    |   8 +-
>> drivers/staging/media/sunxi/cedrus/cedrus.c   |  24 +-
>> .../staging/media/sunxi/cedrus/cedrus_dec.c   |  10 +-
>> .../staging/media/sunxi/cedrus/cedrus_h265.c  |  13 +-
>> include/linux/hantro-media.h                  |  17 ++
>> include/media/hevc-ctrls.h                    | 250 ------------------
>> include/media/v4l2-ctrls.h                    |  48 +++-
>> include/uapi/linux/v4l2-controls.h            | 224 ++++++++++++++++
>> include/uapi/linux/videodev2.h                |   8 +
>> 19 files changed, 640 insertions(+), 408 deletions(-)
>> create mode 100644 include/linux/hantro-media.h
>> delete mode 100644 include/media/hevc-ctrls.h
>>
>> -- 
>> 2.32.0
>>
Re: [RFC v2 0/8] Move HEVC stateless controls out of staging
Posted by Hans Verkuil 4 years, 4 months ago
Hi Benjamin,

On 15/02/2022 12:00, Benjamin Gaignard wrote:
> This series aims to make HEVC uapi stable and usable for hardware
> decoder. HEVC uapi is used by 2 mainlined drivers (Cedrus and Hantro)
> and 2 out of the tree drivers (rkvdec and RPI).
> 
> The 3 first patches are from Hans to implement v4l2 dynamic control
> feature which is need by patch 7 for V4L2_CID_STATELESS_HEVC_ENTRY_POINT_OFFSET
> definition.
> 
> Patch 4 move the existing uapi to stable, including definitions renaming 
> and CID number change to fit with v4l2 naming.
> 
> Patches 5 and 7 add fields needed for rkvdec and RPI decoders.
> 
> Patches 6 is cleaning up the uapi of useless field.
> Patches 8 change one field description and name to define offset by
> bytes rather than by bits

I have some housekeeping questions:

I have several older HEVC-related patches from you, which of those are still
valid?

"[v4,0/9] Additional features for Hantro HEVC":
https://patchwork.linuxtv.org/project/linux-media/cover/20210625141143.577998-1-benjamin.gaignard@collabora.com/

"media: hevc: fix pictures lists type":
https://patchwork.linuxtv.org/project/linux-media/patch/20210823082949.237716-1-benjamin.gaignard@collabora.com/

"media: hantro: Trace hevc hw cycles performance register":
https://patchwork.linuxtv.org/project/linux-media/patch/20210823135606.633052-1-benjamin.gaignard@collabora.com/

"media: hantro: Add support of compressed reference buffers"
https://patchwork.linuxtv.org/project/linux-media/patch/20210823162916.824336-1-benjamin.gaignard@collabora.com/

Before moving the HEVC API out of staging I would prefer to have any remaining
issues fixed. So one series that adds any remaining fixes (i.e. from the older patches
mentioned above), and a second series on top that moves it out of staging.

That way I can mark the older patches as Superseded, and we have a
fresh series that we can discuss.

Regards,

	Hans

> 
> Benjamin
> 
> Benjamin Gaignard (5):
>   media: uapi: Move HEVC stateless controls out of staging
>   media: uapi: Add fields needed for RKVDEC driver
>   media: uapi: Remove bit_size field from v4l2_ctrl_hevc_slice_params
>   media: uapi: Add V4L2_CID_STATELESS_HEVC_ENTRY_POINT_OFFSET control
>   media: uapi: Change data_bit_offset definition
> 
> Hans Verkuil (3):
>   videodev2.h: add V4L2_CTRL_FLAG_DYNAMIC_ARRAY
>   v4l2-ctrls: add support for dynamically allocated arrays.
>   vivid: add dynamic array test control
> 
>  .../userspace-api/media/drivers/hantro.rst    |   5 -
>  .../media/v4l/ext-ctrls-codec.rst             |  58 ++--
>  .../media/v4l/vidioc-queryctrl.rst            |   8 +
>  .../media/test-drivers/vivid/vivid-ctrls.c    |  15 ++
>  drivers/media/v4l2-core/v4l2-ctrls-api.c      | 103 ++++++--
>  drivers/media/v4l2-core/v4l2-ctrls-core.c     | 182 ++++++++++---
>  drivers/media/v4l2-core/v4l2-ctrls-defs.c     |  32 +--
>  drivers/media/v4l2-core/v4l2-ctrls-priv.h     |   3 +-
>  drivers/media/v4l2-core/v4l2-ctrls-request.c  |  13 +-
>  drivers/staging/media/hantro/hantro_drv.c     |  27 +-
>  drivers/staging/media/hantro/hantro_hevc.c    |   8 +-
>  drivers/staging/media/sunxi/cedrus/cedrus.c   |  24 +-
>  .../staging/media/sunxi/cedrus/cedrus_dec.c   |  10 +-
>  .../staging/media/sunxi/cedrus/cedrus_h265.c  |  13 +-
>  include/linux/hantro-media.h                  |  17 ++
>  include/media/hevc-ctrls.h                    | 250 ------------------
>  include/media/v4l2-ctrls.h                    |  48 +++-
>  include/uapi/linux/v4l2-controls.h            | 224 ++++++++++++++++
>  include/uapi/linux/videodev2.h                |   8 +
>  19 files changed, 640 insertions(+), 408 deletions(-)
>  create mode 100644 include/linux/hantro-media.h
>  delete mode 100644 include/media/hevc-ctrls.h
> 

Re: [RFC v2 0/8] Move HEVC stateless controls out of staging
Posted by Benjamin Gaignard 4 years, 4 months ago
Le 18/02/2022 à 10:59, Hans Verkuil a écrit :
> Hi Benjamin,
>
> On 15/02/2022 12:00, Benjamin Gaignard wrote:
>> This series aims to make HEVC uapi stable and usable for hardware
>> decoder. HEVC uapi is used by 2 mainlined drivers (Cedrus and Hantro)
>> and 2 out of the tree drivers (rkvdec and RPI).
>>
>> The 3 first patches are from Hans to implement v4l2 dynamic control
>> feature which is need by patch 7 for V4L2_CID_STATELESS_HEVC_ENTRY_POINT_OFFSET
>> definition.
>>
>> Patch 4 move the existing uapi to stable, including definitions renaming
>> and CID number change to fit with v4l2 naming.
>>
>> Patches 5 and 7 add fields needed for rkvdec and RPI decoders.
>>
>> Patches 6 is cleaning up the uapi of useless field.
>> Patches 8 change one field description and name to define offset by
>> bytes rather than by bits
> I have some housekeeping questions:
>
> I have several older HEVC-related patches from you, which of those are still
> valid?
>
> "[v4,0/9] Additional features for Hantro HEVC":
> https://patchwork.linuxtv.org/project/linux-media/cover/20210625141143.577998-1-benjamin.gaignard@collabora.com/
>
> "media: hevc: fix pictures lists type":
> https://patchwork.linuxtv.org/project/linux-media/patch/20210823082949.237716-1-benjamin.gaignard@collabora.com/
>
> "media: hantro: Trace hevc hw cycles performance register":
> https://patchwork.linuxtv.org/project/linux-media/patch/20210823135606.633052-1-benjamin.gaignard@collabora.com/
>
> "media: hantro: Add support of compressed reference buffers"
> https://patchwork.linuxtv.org/project/linux-media/patch/20210823162916.824336-1-benjamin.gaignard@collabora.com/
>
> Before moving the HEVC API out of staging I would prefer to have any remaining
> issues fixed. So one series that adds any remaining fixes (i.e. from the older patches
> mentioned above), and a second series on top that moves it out of staging.

Hi Hans,

They are all related to Hantro diver and, after post-proc patches, the internal driver design
has change so they won't apply anymore. You can discard them.
HEVC UAPI migration isn't not impacted by these patches.
My plan is a finish the HEVC UAPI first, send patches to add features (compression, 10bits, scaling)
to Hantro driver and finally move it out of staging too.
If possible I would like to not make HEVC UAPI topic depends of Hantro features.

Does that makes sense for you ?

Regards,
Benjamin

>
> That way I can mark the older patches as Superseded, and we have a
> fresh series that we can discuss.
>
> Regards,
>
> 	Hans
>
>> Benjamin
>>
>> Benjamin Gaignard (5):
>>    media: uapi: Move HEVC stateless controls out of staging
>>    media: uapi: Add fields needed for RKVDEC driver
>>    media: uapi: Remove bit_size field from v4l2_ctrl_hevc_slice_params
>>    media: uapi: Add V4L2_CID_STATELESS_HEVC_ENTRY_POINT_OFFSET control
>>    media: uapi: Change data_bit_offset definition
>>
>> Hans Verkuil (3):
>>    videodev2.h: add V4L2_CTRL_FLAG_DYNAMIC_ARRAY
>>    v4l2-ctrls: add support for dynamically allocated arrays.
>>    vivid: add dynamic array test control
>>
>>   .../userspace-api/media/drivers/hantro.rst    |   5 -
>>   .../media/v4l/ext-ctrls-codec.rst             |  58 ++--
>>   .../media/v4l/vidioc-queryctrl.rst            |   8 +
>>   .../media/test-drivers/vivid/vivid-ctrls.c    |  15 ++
>>   drivers/media/v4l2-core/v4l2-ctrls-api.c      | 103 ++++++--
>>   drivers/media/v4l2-core/v4l2-ctrls-core.c     | 182 ++++++++++---
>>   drivers/media/v4l2-core/v4l2-ctrls-defs.c     |  32 +--
>>   drivers/media/v4l2-core/v4l2-ctrls-priv.h     |   3 +-
>>   drivers/media/v4l2-core/v4l2-ctrls-request.c  |  13 +-
>>   drivers/staging/media/hantro/hantro_drv.c     |  27 +-
>>   drivers/staging/media/hantro/hantro_hevc.c    |   8 +-
>>   drivers/staging/media/sunxi/cedrus/cedrus.c   |  24 +-
>>   .../staging/media/sunxi/cedrus/cedrus_dec.c   |  10 +-
>>   .../staging/media/sunxi/cedrus/cedrus_h265.c  |  13 +-
>>   include/linux/hantro-media.h                  |  17 ++
>>   include/media/hevc-ctrls.h                    | 250 ------------------
>>   include/media/v4l2-ctrls.h                    |  48 +++-
>>   include/uapi/linux/v4l2-controls.h            | 224 ++++++++++++++++
>>   include/uapi/linux/videodev2.h                |   8 +
>>   19 files changed, 640 insertions(+), 408 deletions(-)
>>   create mode 100644 include/linux/hantro-media.h
>>   delete mode 100644 include/media/hevc-ctrls.h
>>
Re: [RFC v2 0/8] Move HEVC stateless controls out of staging
Posted by Hans Verkuil 4 years, 4 months ago
On 18/02/2022 11:54, Benjamin Gaignard wrote:
> 
> Le 18/02/2022 à 10:59, Hans Verkuil a écrit :
>> Hi Benjamin,
>>
>> On 15/02/2022 12:00, Benjamin Gaignard wrote:
>>> This series aims to make HEVC uapi stable and usable for hardware
>>> decoder. HEVC uapi is used by 2 mainlined drivers (Cedrus and Hantro)
>>> and 2 out of the tree drivers (rkvdec and RPI).
>>>
>>> The 3 first patches are from Hans to implement v4l2 dynamic control
>>> feature which is need by patch 7 for V4L2_CID_STATELESS_HEVC_ENTRY_POINT_OFFSET
>>> definition.
>>>
>>> Patch 4 move the existing uapi to stable, including definitions renaming
>>> and CID number change to fit with v4l2 naming.
>>>
>>> Patches 5 and 7 add fields needed for rkvdec and RPI decoders.
>>>
>>> Patches 6 is cleaning up the uapi of useless field.
>>> Patches 8 change one field description and name to define offset by
>>> bytes rather than by bits
>> I have some housekeeping questions:
>>
>> I have several older HEVC-related patches from you, which of those are still
>> valid?
>>
>> "[v4,0/9] Additional features for Hantro HEVC":
>> https://patchwork.linuxtv.org/project/linux-media/cover/20210625141143.577998-1-benjamin.gaignard@collabora.com/
>>
>> "media: hevc: fix pictures lists type":
>> https://patchwork.linuxtv.org/project/linux-media/patch/20210823082949.237716-1-benjamin.gaignard@collabora.com/
>>
>> "media: hantro: Trace hevc hw cycles performance register":
>> https://patchwork.linuxtv.org/project/linux-media/patch/20210823135606.633052-1-benjamin.gaignard@collabora.com/
>>
>> "media: hantro: Add support of compressed reference buffers"
>> https://patchwork.linuxtv.org/project/linux-media/patch/20210823162916.824336-1-benjamin.gaignard@collabora.com/
>>
>> Before moving the HEVC API out of staging I would prefer to have any remaining
>> issues fixed. So one series that adds any remaining fixes (i.e. from the older patches
>> mentioned above), and a second series on top that moves it out of staging.
> 
> Hi Hans,
> 
> They are all related to Hantro diver and, after post-proc patches, the internal driver design
> has change so they won't apply anymore. You can discard them.

OK, I'll mark them as Obsoleted.

> HEVC UAPI migration isn't not impacted by these patches.
> My plan is a finish the HEVC UAPI first, send patches to add features (compression, 10bits, scaling)
> to Hantro driver and finally move it out of staging too.
> If possible I would like to not make HEVC UAPI topic depends of Hantro features.
> 
> Does that makes sense for you ?

Well, only if you are absolutely certain that those features won't impact the uAPI.
The easiest way to do that is to implement them and show that it doesn't :-)

That's really my main concern: that those additions require uAPI changes.

Looking over those patches it appears that this is the only one touching on
the uAPI:

"media: hevc: fix pictures lists type":
https://patchwork.linuxtv.org/project/linux-media/patch/20210823082949.237716-1-benjamin.gaignard@collabora.com/

I haven't read all the comments in details, but it is something that needs to
be clarified.

Regards,

	Hans

> 
> Regards,
> Benjamin
> 
>>
>> That way I can mark the older patches as Superseded, and we have a
>> fresh series that we can discuss.
>>
>> Regards,
>>
>>     Hans
>>
>>> Benjamin
>>>
>>> Benjamin Gaignard (5):
>>>    media: uapi: Move HEVC stateless controls out of staging
>>>    media: uapi: Add fields needed for RKVDEC driver
>>>    media: uapi: Remove bit_size field from v4l2_ctrl_hevc_slice_params
>>>    media: uapi: Add V4L2_CID_STATELESS_HEVC_ENTRY_POINT_OFFSET control
>>>    media: uapi: Change data_bit_offset definition
>>>
>>> Hans Verkuil (3):
>>>    videodev2.h: add V4L2_CTRL_FLAG_DYNAMIC_ARRAY
>>>    v4l2-ctrls: add support for dynamically allocated arrays.
>>>    vivid: add dynamic array test control
>>>
>>>   .../userspace-api/media/drivers/hantro.rst    |   5 -
>>>   .../media/v4l/ext-ctrls-codec.rst             |  58 ++--
>>>   .../media/v4l/vidioc-queryctrl.rst            |   8 +
>>>   .../media/test-drivers/vivid/vivid-ctrls.c    |  15 ++
>>>   drivers/media/v4l2-core/v4l2-ctrls-api.c      | 103 ++++++--
>>>   drivers/media/v4l2-core/v4l2-ctrls-core.c     | 182 ++++++++++---
>>>   drivers/media/v4l2-core/v4l2-ctrls-defs.c     |  32 +--
>>>   drivers/media/v4l2-core/v4l2-ctrls-priv.h     |   3 +-
>>>   drivers/media/v4l2-core/v4l2-ctrls-request.c  |  13 +-
>>>   drivers/staging/media/hantro/hantro_drv.c     |  27 +-
>>>   drivers/staging/media/hantro/hantro_hevc.c    |   8 +-
>>>   drivers/staging/media/sunxi/cedrus/cedrus.c   |  24 +-
>>>   .../staging/media/sunxi/cedrus/cedrus_dec.c   |  10 +-
>>>   .../staging/media/sunxi/cedrus/cedrus_h265.c  |  13 +-
>>>   include/linux/hantro-media.h                  |  17 ++
>>>   include/media/hevc-ctrls.h                    | 250 ------------------
>>>   include/media/v4l2-ctrls.h                    |  48 +++-
>>>   include/uapi/linux/v4l2-controls.h            | 224 ++++++++++++++++
>>>   include/uapi/linux/videodev2.h                |   8 +
>>>   19 files changed, 640 insertions(+), 408 deletions(-)
>>>   create mode 100644 include/linux/hantro-media.h
>>>   delete mode 100644 include/media/hevc-ctrls.h
>>>

Re: [RFC v2 0/8] Move HEVC stateless controls out of staging
Posted by Jernej Škrabec 4 years, 4 months ago
Hi Benjamin!

Dne torek, 15. februar 2022 ob 12:00:55 CET je Benjamin Gaignard napisal(a):
> This series aims to make HEVC uapi stable and usable for hardware
> decoder. HEVC uapi is used by 2 mainlined drivers (Cedrus and Hantro)
> and 2 out of the tree drivers (rkvdec and RPI).
> 
> The 3 first patches are from Hans to implement v4l2 dynamic control
> feature which is need by patch 7 for 
V4L2_CID_STATELESS_HEVC_ENTRY_POINT_OFFSET
> definition.

Great, I'll test this soon on Cedrus, but I can't promise it will be this 
week.

> 
> Patch 4 move the existing uapi to stable, including definitions renaming 
> and CID number change to fit with v4l2 naming.

This should be last patch in series, otherwise you're changing stable uAPI, 
even if only few commits later.

Best regards,
Jernej

> 
> Patches 5 and 7 add fields needed for rkvdec and RPI decoders.
> 
> Patches 6 is cleaning up the uapi of useless field.
> Patches 8 change one field description and name to define offset by
> bytes rather than by bits
> 
> Benjamin
> 
> Benjamin Gaignard (5):
>   media: uapi: Move HEVC stateless controls out of staging
>   media: uapi: Add fields needed for RKVDEC driver
>   media: uapi: Remove bit_size field from v4l2_ctrl_hevc_slice_params
>   media: uapi: Add V4L2_CID_STATELESS_HEVC_ENTRY_POINT_OFFSET control
>   media: uapi: Change data_bit_offset definition
> 
> Hans Verkuil (3):
>   videodev2.h: add V4L2_CTRL_FLAG_DYNAMIC_ARRAY
>   v4l2-ctrls: add support for dynamically allocated arrays.
>   vivid: add dynamic array test control
> 
>  .../userspace-api/media/drivers/hantro.rst    |   5 -
>  .../media/v4l/ext-ctrls-codec.rst             |  58 ++--
>  .../media/v4l/vidioc-queryctrl.rst            |   8 +
>  .../media/test-drivers/vivid/vivid-ctrls.c    |  15 ++
>  drivers/media/v4l2-core/v4l2-ctrls-api.c      | 103 ++++++--
>  drivers/media/v4l2-core/v4l2-ctrls-core.c     | 182 ++++++++++---
>  drivers/media/v4l2-core/v4l2-ctrls-defs.c     |  32 +--
>  drivers/media/v4l2-core/v4l2-ctrls-priv.h     |   3 +-
>  drivers/media/v4l2-core/v4l2-ctrls-request.c  |  13 +-
>  drivers/staging/media/hantro/hantro_drv.c     |  27 +-
>  drivers/staging/media/hantro/hantro_hevc.c    |   8 +-
>  drivers/staging/media/sunxi/cedrus/cedrus.c   |  24 +-
>  .../staging/media/sunxi/cedrus/cedrus_dec.c   |  10 +-
>  .../staging/media/sunxi/cedrus/cedrus_h265.c  |  13 +-
>  include/linux/hantro-media.h                  |  17 ++
>  include/media/hevc-ctrls.h                    | 250 ------------------
>  include/media/v4l2-ctrls.h                    |  48 +++-
>  include/uapi/linux/v4l2-controls.h            | 224 ++++++++++++++++
>  include/uapi/linux/videodev2.h                |   8 +
>  19 files changed, 640 insertions(+), 408 deletions(-)
>  create mode 100644 include/linux/hantro-media.h
>  delete mode 100644 include/media/hevc-ctrls.h
> 
> -- 
> 2.32.0
> 
> 
>