mbox series

[0/8] Add dynamic arrays and v4l2_ctrl_modify_dimensions

Message ID 20220628120523.2915913-1-hverkuil-cisco@xs4all.nl (mailing list archive)
Headers show
Series Add dynamic arrays and v4l2_ctrl_modify_dimensions | expand

Message

Hans Verkuil June 28, 2022, 12:05 p.m. UTC
This series adds support for dynamic array controls and for a
new v4l2_ctrl_modify_dimensions() function to modify the dimensions
of an array control by the driver.

The dynamic array patches are unchanged and are already used in two
patch series (stateless HEVC uAPI and the dw100 driver), but they are
added here since the last 5 patches that add support for
v4l2_ctrl_modify_dimensions() build on those.

The vivid driver is also extended with such controls to make it
possible to test this.

Xavier, the v4l2_ctrl_modify_dimensions() are mostly identical to
the patches I mailed you before and that you added to v6 of dw100.
Just improved documentation and commit logs and a minor checkpatch
fix. For a v7 of your driver, please use this series.

Regards,

	Hans

Hans Verkuil (8):
  videodev2.h: add V4L2_CTRL_FLAG_DYNAMIC_ARRAY
  v4l2-ctrls: add support for dynamically allocated arrays.
  vivid: add dynamic array test control
  v4l2-ctrls: allocate space for arrays
  v4l2-ctrls: alloc arrays in ctrl_ref
  v4l2-ctrls: add v4l2_ctrl_modify_dimensions
  v4l2-ctrls: add change flag for when dimensions change
  vivid: add pixel_array test control

 .../media/v4l/vidioc-dqevent.rst              |   5 +
 .../media/v4l/vidioc-queryctrl.rst            |   8 +
 .../media/videodev2.h.rst.exceptions          |   2 +
 drivers/media/test-drivers/vivid/vivid-core.h |   1 +
 .../media/test-drivers/vivid/vivid-ctrls.c    |  29 +++
 .../media/test-drivers/vivid/vivid-vid-cap.c  |   4 +
 drivers/media/v4l2-core/v4l2-ctrls-api.c      | 139 ++++++++++---
 drivers/media/v4l2-core/v4l2-ctrls-core.c     | 188 +++++++++++++++---
 drivers/media/v4l2-core/v4l2-ctrls-priv.h     |   3 +-
 drivers/media/v4l2-core/v4l2-ctrls-request.c  |  13 +-
 include/media/v4l2-ctrls.h                    |  90 ++++++++-
 include/uapi/linux/videodev2.h                |   2 +
 12 files changed, 413 insertions(+), 71 deletions(-)

Comments

Laurent Pinchart July 8, 2022, 10:46 a.m. UTC | #1
Hi Hans,

On Tue, Jun 28, 2022 at 02:05:15PM +0200, Hans Verkuil wrote:
> This series adds support for dynamic array controls and for a
> new v4l2_ctrl_modify_dimensions() function to modify the dimensions
> of an array control by the driver.
> 
> The dynamic array patches are unchanged and are already used in two
> patch series (stateless HEVC uAPI and the dw100 driver), but they are
> added here since the last 5 patches that add support for
> v4l2_ctrl_modify_dimensions() build on those.
> 
> The vivid driver is also extended with such controls to make it
> possible to test this.
> 
> Xavier, the v4l2_ctrl_modify_dimensions() are mostly identical to
> the patches I mailed you before and that you added to v6 of dw100.
> Just improved documentation and commit logs and a minor checkpatch
> fix. For a v7 of your driver, please use this series.

I've reviewed the whole series but 2/8 as I'm not familiar enough with
the control framework implementation for that one.

I think we also need a documentation update to indicate that drivers can
modify control dimensions, and that this will reset the control value.
It could be done in patch 6/8.

> Hans Verkuil (8):
>   videodev2.h: add V4L2_CTRL_FLAG_DYNAMIC_ARRAY
>   v4l2-ctrls: add support for dynamically allocated arrays.
>   vivid: add dynamic array test control
>   v4l2-ctrls: allocate space for arrays
>   v4l2-ctrls: alloc arrays in ctrl_ref
>   v4l2-ctrls: add v4l2_ctrl_modify_dimensions
>   v4l2-ctrls: add change flag for when dimensions change
>   vivid: add pixel_array test control
> 
>  .../media/v4l/vidioc-dqevent.rst              |   5 +
>  .../media/v4l/vidioc-queryctrl.rst            |   8 +
>  .../media/videodev2.h.rst.exceptions          |   2 +
>  drivers/media/test-drivers/vivid/vivid-core.h |   1 +
>  .../media/test-drivers/vivid/vivid-ctrls.c    |  29 +++
>  .../media/test-drivers/vivid/vivid-vid-cap.c  |   4 +
>  drivers/media/v4l2-core/v4l2-ctrls-api.c      | 139 ++++++++++---
>  drivers/media/v4l2-core/v4l2-ctrls-core.c     | 188 +++++++++++++++---
>  drivers/media/v4l2-core/v4l2-ctrls-priv.h     |   3 +-
>  drivers/media/v4l2-core/v4l2-ctrls-request.c  |  13 +-
>  include/media/v4l2-ctrls.h                    |  90 ++++++++-
>  include/uapi/linux/videodev2.h                |   2 +
>  12 files changed, 413 insertions(+), 71 deletions(-)