All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v9 00/11] media: Implement UVC v1.5 ROI
@ 2022-10-25  5:55 Yunke Cao
  2022-10-25  5:55 ` [PATCH v9 01/11] media: v4l2_ctrl: Add V4L2_CTRL_TYPE_RECT Yunke Cao
                   ` (10 more replies)
  0 siblings, 11 replies; 21+ messages in thread
From: Yunke Cao @ 2022-10-25  5:55 UTC (permalink / raw)
  To: Hans Verkuil, Laurent Pinchart
  Cc: Nicolas Dufresne, Mauro Carvalho Chehab, Tomasz Figa,
	Sergey Senozhatsky, Ricardo Ribalda, linux-media, Yunke Cao

Hi,

This patch set implements UVC v1.5 region of interest using V4L2
control API.

ROI control is consisted two uvc specific controls.
1. A rectangle control with a newly added type V4L2_CTRL_TYPE_RECT.
2. An auto control with type bitmask.

V4L2_CTRL_WHICH_MIN/MAX_VAL is added to support the rectangle control.

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

1/11 adds V4L2_CTRL_TYPE_RECT.
2/11, 3/11, 4/11 refactors uvc_ctrl.c.
5/11 adds support for compound controls.
6/11 implements ROI in UVC.
7/11 initializes ROI control to default value.
8/11 is a cherry-pick for Hans' implementation of
V4L2_CTRL_WHICH_MIN/MAX_VAL in v4l2-core.
9/11 documents min/max for the rectangle control.
10/11 supports MIN/MAX in UVC.
11/11 documents the changes.

Hans, Laurent, thank you for the review on v7/v8. 
It would be great if you can take another look, thanks!

Changelog since v8:
- Rebased onto media-stage master (v6.1-rc2).
- Addressed Hans' comments in 8/11 v4l2-ctrls: add support for
  V4L2_CTRL_WHICH_MIN/MAX_VAL. Including adding a new documentation patch
  9/11.
Changelog since v7:
- Rebased onto media-stage master.
- Move the factoring logic from 5/10 to 2/10 and 3/10 (new patch in v8).
- In patch 4/10, split uvc_control_mapping.size to v4l2 and data size.
- Move initializing ROI control from 5/10 into its own patch 7/10.
- Address some comments. Changelogs are in patches.

Hans Verkuil (1):
  v4l2-ctrls: add support for V4L2_CTRL_WHICH_MIN/MAX_VAL

Yunke Cao (10):
  media: v4l2_ctrl: Add V4L2_CTRL_TYPE_RECT
  media: uvcvideo: add uvc_ctrl_get_boundary for getting default value
  media: uvcvideo: introduce __uvc_ctrl_get_std()
  media: uvcvideo: Split uvc_control_mapping.size to v4l2 and data size
  media: uvcvideo: Add support for compound controls
  media: uvcvideo: implement UVC v1.5 ROI
  media: uvcvideo: initilaize ROI control to default value
  media: v4l2: document the usage of min/max for V4L2_CTRL_TYPE_RECT
  media: uvcvideo: support V4L2_CTRL_WHICH_MIN/MAX_VAL
  media: uvcvideo: document UVC v1.5 ROI

 .../userspace-api/media/drivers/uvcvideo.rst  |  64 +-
 .../media/v4l/vidioc-g-ext-ctrls.rst          |  15 +-
 .../media/v4l/vidioc-queryctrl.rst            |  11 +
 .../media/videodev2.h.rst.exceptions          |   3 +
 drivers/media/i2c/imx214.c                    |   5 +-
 .../media/platform/qcom/venus/venc_ctrls.c    |   9 +-
 drivers/media/usb/uvc/uvc_ctrl.c              | 676 ++++++++++++++----
 drivers/media/usb/uvc/uvc_driver.c            |   2 +-
 drivers/media/usb/uvc/uvc_v4l2.c              |  22 +-
 drivers/media/usb/uvc/uvcvideo.h              |  23 +-
 drivers/media/v4l2-core/v4l2-ctrls-api.c      |  57 +-
 drivers/media/v4l2-core/v4l2-ctrls-core.c     | 171 ++++-
 drivers/media/v4l2-core/v4l2-ioctl.c          |   4 +-
 include/media/v4l2-ctrls.h                    |  36 +-
 include/uapi/linux/usb/video.h                |   1 +
 include/uapi/linux/uvcvideo.h                 |  13 +
 include/uapi/linux/v4l2-controls.h            |   9 +
 include/uapi/linux/videodev2.h                |   4 +
 18 files changed, 923 insertions(+), 202 deletions(-)

-- 
2.38.0.135.g90850a2211-goog


^ permalink raw reply	[flat|nested] 21+ messages in thread

end of thread, other threads:[~2022-10-25 20:12 UTC | newest]

Thread overview: 21+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-10-25  5:55 [PATCH v9 00/11] media: Implement UVC v1.5 ROI Yunke Cao
2022-10-25  5:55 ` [PATCH v9 01/11] media: v4l2_ctrl: Add V4L2_CTRL_TYPE_RECT Yunke Cao
2022-10-25  5:55 ` [PATCH v9 02/11] media: uvcvideo: add uvc_ctrl_get_boundary for getting default value Yunke Cao
2022-10-25  9:26   ` kernel test robot
2022-10-25  9:58   ` Sergey Senozhatsky
2022-10-25 10:51     ` Yunke Cao
2022-10-25 13:14   ` kernel test robot
2022-10-25 17:08   ` kernel test robot
2022-10-25  5:55 ` [PATCH v9 03/11] media: uvcvideo: introduce __uvc_ctrl_get_std() Yunke Cao
2022-10-25  5:55 ` [PATCH v9 04/11] media: uvcvideo: Split uvc_control_mapping.size to v4l2 and data size Yunke Cao
2022-10-25  5:55 ` [PATCH v9 05/11] media: uvcvideo: Add support for compound controls Yunke Cao
2022-10-25 10:00   ` Sergey Senozhatsky
2022-10-25 10:16   ` kernel test robot
2022-10-25 16:08   ` kernel test robot
2022-10-25 20:12   ` kernel test robot
2022-10-25  5:55 ` [PATCH v9 06/11] media: uvcvideo: implement UVC v1.5 ROI Yunke Cao
2022-10-25  5:55 ` [PATCH v9 07/11] media: uvcvideo: initilaize ROI control to default value Yunke Cao
2022-10-25  5:55 ` [PATCH v9 08/11] v4l2-ctrls: add support for V4L2_CTRL_WHICH_MIN/MAX_VAL Yunke Cao
2022-10-25  5:55 ` [PATCH v9 09/11] media: v4l2: document the usage of min/max for V4L2_CTRL_TYPE_RECT Yunke Cao
2022-10-25  5:55 ` [PATCH v9 10/11] media: uvcvideo: support V4L2_CTRL_WHICH_MIN/MAX_VAL Yunke Cao
2022-10-25  5:55 ` [PATCH v9 11/11] media: uvcvideo: document UVC v1.5 ROI Yunke Cao

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.