[v3,0/6] media: Implement UVC v1.5 ROI

Message ID 20220518062412.2375586-1-yunkec@google.com (mailing list archive)
Headers
Series media: Implement UVC v1.5 ROI |

Message

Yunke Cao May 18, 2022, 6:24 a.m. UTC
  This patch set implements UVC v1.5 regioin of interest using V4L2
control API.

ROI control is consisted an auto control with type bitmask and a
rectangle control with a newly added type V4L2_CTRL_TYPE_RECT.

V4L2_CTRL_WHICH_MIN/MAX_VAL is added to support the rectangle control.

A rectangle control is also added to the vivid test driver.

Tested on two different usb cameras using v4l2-ctl and calling ioctls.

Yunke Cao (6):
  media: v4l2_ctrl: Add region of interest rectangle control
  media: v4l2_ctrl: Add region of interest auto control
  media: v4l2_ctrl: Add V4L2_CTRL_WHICH_MIN/MAX_VAL
  media: uvcvideo: implement UVC v1.5 ROI
  media: uvcvideo: Initialize roi to default value
  media: vivid: Add a roi rectangle control

 .../userspace-api/media/drivers/uvcvideo.rst  |   1 +
 .../media/v4l/ext-ctrls-camera.rst            |  49 ++++
 .../media/v4l/vidioc-g-ext-ctrls.rst          |  12 +-
 .../media/videodev2.h.rst.exceptions          |   3 +
 drivers/media/i2c/imx214.c                    |   4 +-
 .../media/test-drivers/vivid/vivid-ctrls.c    |  34 +++
 drivers/media/usb/uvc/uvc_ctrl.c              | 214 ++++++++++++++++--
 drivers/media/usb/uvc/uvc_v4l2.c              |  12 +-
 drivers/media/usb/uvc/uvcvideo.h              |  10 +-
 drivers/media/v4l2-core/v4l2-ctrls-api.c      |  51 ++++-
 drivers/media/v4l2-core/v4l2-ctrls-core.c     | 155 ++++++++++++-
 drivers/media/v4l2-core/v4l2-ctrls-defs.c     |   7 +
 drivers/media/v4l2-core/v4l2-ioctl.c          |   4 +-
 include/media/v4l2-ctrls.h                    |  32 ++-
 include/uapi/linux/usb/video.h                |   1 +
 include/uapi/linux/uvcvideo.h                 |   1 +
 include/uapi/linux/v4l2-controls.h            |  11 +
 include/uapi/linux/videodev2.h                |   4 +
 18 files changed, 553 insertions(+), 52 deletions(-)
  

Comments

Nicolas Dufresne May 19, 2022, 6:29 p.m. UTC | #1
Hi Yunke Cao,

Le mercredi 18 mai 2022 à 15:24 +0900, Yunke Cao a écrit :
> This patch set implements UVC v1.5 regioin of interest using V4L2
> control API.
> 
> ROI control is consisted an auto control with type bitmask and a
> rectangle control with a newly added type V4L2_CTRL_TYPE_RECT.
> 
> V4L2_CTRL_WHICH_MIN/MAX_VAL is added to support the rectangle control.
> 
> A rectangle control is also added to the vivid test driver.
> 
> Tested on two different usb cameras using v4l2-ctl and calling ioctls.
> 
> Yunke Cao (6):
>   media: v4l2_ctrl: Add region of interest rectangle control
>   media: v4l2_ctrl: Add region of interest auto control
>   media: v4l2_ctrl: Add V4L2_CTRL_WHICH_MIN/MAX_VAL
>   media: uvcvideo: implement UVC v1.5 ROI
>   media: uvcvideo: Initialize roi to default value
>   media: vivid: Add a roi rectangle control

A little about best practices, consider adding a change log in your revisions,
so we know what you have changed (or document what you decided not to change).
Its also nice to wait for the review comment to settle before posting a new set,
it may appear rude otherwise.

kind regards,
Nicolas

> 
>  .../userspace-api/media/drivers/uvcvideo.rst  |   1 +
>  .../media/v4l/ext-ctrls-camera.rst            |  49 ++++
>  .../media/v4l/vidioc-g-ext-ctrls.rst          |  12 +-
>  .../media/videodev2.h.rst.exceptions          |   3 +
>  drivers/media/i2c/imx214.c                    |   4 +-
>  .../media/test-drivers/vivid/vivid-ctrls.c    |  34 +++
>  drivers/media/usb/uvc/uvc_ctrl.c              | 214 ++++++++++++++++--
>  drivers/media/usb/uvc/uvc_v4l2.c              |  12 +-
>  drivers/media/usb/uvc/uvcvideo.h              |  10 +-
>  drivers/media/v4l2-core/v4l2-ctrls-api.c      |  51 ++++-
>  drivers/media/v4l2-core/v4l2-ctrls-core.c     | 155 ++++++++++++-
>  drivers/media/v4l2-core/v4l2-ctrls-defs.c     |   7 +
>  drivers/media/v4l2-core/v4l2-ioctl.c          |   4 +-
>  include/media/v4l2-ctrls.h                    |  32 ++-
>  include/uapi/linux/usb/video.h                |   1 +
>  include/uapi/linux/uvcvideo.h                 |   1 +
>  include/uapi/linux/v4l2-controls.h            |  11 +
>  include/uapi/linux/videodev2.h                |   4 +
>  18 files changed, 553 insertions(+), 52 deletions(-)
>
  
Yunke Cao May 19, 2022, 11:55 p.m. UTC | #2
Thanks Nicolas!

Noted. I'm very new to the kernel community. Will do in the future :).

Best,
Yunke

On Fri, May 20, 2022 at 3:29 AM Nicolas Dufresne <nicolas@ndufresne.ca> wrote:
>
> Hi Yunke Cao,
>
> Le mercredi 18 mai 2022 à 15:24 +0900, Yunke Cao a écrit :
> > This patch set implements UVC v1.5 regioin of interest using V4L2
> > control API.
> >
> > ROI control is consisted an auto control with type bitmask and a
> > rectangle control with a newly added type V4L2_CTRL_TYPE_RECT.
> >
> > V4L2_CTRL_WHICH_MIN/MAX_VAL is added to support the rectangle control.
> >
> > A rectangle control is also added to the vivid test driver.
> >
> > Tested on two different usb cameras using v4l2-ctl and calling ioctls.
> >
> > Yunke Cao (6):
> >   media: v4l2_ctrl: Add region of interest rectangle control
> >   media: v4l2_ctrl: Add region of interest auto control
> >   media: v4l2_ctrl: Add V4L2_CTRL_WHICH_MIN/MAX_VAL
> >   media: uvcvideo: implement UVC v1.5 ROI
> >   media: uvcvideo: Initialize roi to default value
> >   media: vivid: Add a roi rectangle control
>
> A little about best practices, consider adding a change log in your revisions,
> so we know what you have changed (or document what you decided not to change).
> Its also nice to wait for the review comment to settle before posting a new set,
> it may appear rude otherwise.
>
> kind regards,
> Nicolas
>
> >
> >  .../userspace-api/media/drivers/uvcvideo.rst  |   1 +
> >  .../media/v4l/ext-ctrls-camera.rst            |  49 ++++
> >  .../media/v4l/vidioc-g-ext-ctrls.rst          |  12 +-
> >  .../media/videodev2.h.rst.exceptions          |   3 +
> >  drivers/media/i2c/imx214.c                    |   4 +-
> >  .../media/test-drivers/vivid/vivid-ctrls.c    |  34 +++
> >  drivers/media/usb/uvc/uvc_ctrl.c              | 214 ++++++++++++++++--
> >  drivers/media/usb/uvc/uvc_v4l2.c              |  12 +-
> >  drivers/media/usb/uvc/uvcvideo.h              |  10 +-
> >  drivers/media/v4l2-core/v4l2-ctrls-api.c      |  51 ++++-
> >  drivers/media/v4l2-core/v4l2-ctrls-core.c     | 155 ++++++++++++-
> >  drivers/media/v4l2-core/v4l2-ctrls-defs.c     |   7 +
> >  drivers/media/v4l2-core/v4l2-ioctl.c          |   4 +-
> >  include/media/v4l2-ctrls.h                    |  32 ++-
> >  include/uapi/linux/usb/video.h                |   1 +
> >  include/uapi/linux/uvcvideo.h                 |   1 +
> >  include/uapi/linux/v4l2-controls.h            |  11 +
> >  include/uapi/linux/videodev2.h                |   4 +
> >  18 files changed, 553 insertions(+), 52 deletions(-)
> >
>