Message ID | 20221117084217.3892680-1-paul.elder@ideasonboard.com |
---|---|
Headers | show |
Series | media: rkisp1: Miscellaneous improvements | expand |
On 17.11.2022 17:42, Paul Elder wrote: >Implement VIDIOC_ENUM_FRAMESIZES for the rkisp1 capture devices. > >Signed-off-by: Paul Elder <paul.elder@ideasonboard.com> >Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Reviewed-by: Dafna Hirschfeld <dafna@fastmail.com> >--- > .../platform/rockchip/rkisp1/rkisp1-capture.c | 30 +++++++++++++++++++ > 1 file changed, 30 insertions(+) > >diff --git a/drivers/media/platform/rockchip/rkisp1/rkisp1-capture.c b/drivers/media/platform/rockchip/rkisp1/rkisp1-capture.c >index 91e685fdbbe9..03c2922bfbed 100644 >--- a/drivers/media/platform/rockchip/rkisp1/rkisp1-capture.c >+++ b/drivers/media/platform/rockchip/rkisp1/rkisp1-capture.c >@@ -1236,6 +1236,35 @@ static int rkisp1_enum_fmt_vid_cap_mplane(struct file *file, void *priv, > return -EINVAL; > } > >+static int rkisp1_enum_framesizes(struct file *file, void *fh, >+ struct v4l2_frmsizeenum *fsize) >+{ >+ static const unsigned int max_widths[] = { >+ RKISP1_RSZ_MP_SRC_MAX_WIDTH, >+ RKISP1_RSZ_SP_SRC_MAX_WIDTH, >+ }; >+ static const unsigned int max_heights[] = { >+ RKISP1_RSZ_MP_SRC_MAX_HEIGHT, >+ RKISP1_RSZ_SP_SRC_MAX_HEIGHT, >+ }; >+ struct rkisp1_capture *cap = video_drvdata(file); >+ >+ if (fsize->index != 0) >+ return -EINVAL; >+ >+ fsize->type = V4L2_FRMSIZE_TYPE_STEPWISE; >+ >+ fsize->stepwise.min_width = RKISP1_RSZ_SRC_MIN_WIDTH; >+ fsize->stepwise.max_width = max_widths[cap->id]; >+ fsize->stepwise.step_width = 2; >+ >+ fsize->stepwise.min_height = RKISP1_RSZ_SRC_MIN_HEIGHT; >+ fsize->stepwise.max_height = max_heights[cap->id]; >+ fsize->stepwise.step_height = 2; >+ >+ return 0; >+} >+ > static int rkisp1_s_fmt_vid_cap_mplane(struct file *file, > void *priv, struct v4l2_format *f) > { >@@ -1285,6 +1314,7 @@ static const struct v4l2_ioctl_ops rkisp1_v4l2_ioctl_ops = { > .vidioc_s_fmt_vid_cap_mplane = rkisp1_s_fmt_vid_cap_mplane, > .vidioc_g_fmt_vid_cap_mplane = rkisp1_g_fmt_vid_cap_mplane, > .vidioc_enum_fmt_vid_cap = rkisp1_enum_fmt_vid_cap_mplane, >+ .vidioc_enum_framesizes = rkisp1_enum_framesizes, > .vidioc_querycap = rkisp1_querycap, > .vidioc_subscribe_event = v4l2_ctrl_subscribe_event, > .vidioc_unsubscribe_event = v4l2_event_unsubscribe, >-- >2.35.1 >
On 17.11.2022 17:42, Paul Elder wrote: >Add support for NV16M and NV61M as output formats. As NV16, NV61, NV12M >and NV21M are already supported, the infrastructure is already in place >to support NV16M and NV61M, so it is sufficient to simply add relevant >entries to the list of output formats. > >Signed-off-by: Paul Elder <paul.elder@ideasonboard.com> >Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> >Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Reviewed-by: Dafna Hirschfeld <dafna@fastmail.com> >--- > .../platform/rockchip/rkisp1/rkisp1-capture.c | 22 +++++++++++++++++++ > 1 file changed, 22 insertions(+) > >diff --git a/drivers/media/platform/rockchip/rkisp1/rkisp1-capture.c b/drivers/media/platform/rockchip/rkisp1/rkisp1-capture.c >index d4540684ea9a..7695ef134908 100644 >--- a/drivers/media/platform/rockchip/rkisp1/rkisp1-capture.c >+++ b/drivers/media/platform/rockchip/rkisp1/rkisp1-capture.c >@@ -110,6 +110,16 @@ static const struct rkisp1_capture_fmt_cfg rkisp1_mp_fmts[] = { > .uv_swap = 1, > .write_format = RKISP1_MI_CTRL_MP_WRITE_YUV_SPLA, > .mbus = MEDIA_BUS_FMT_YUYV8_2X8, >+ }, { >+ .fourcc = V4L2_PIX_FMT_NV16M, >+ .uv_swap = 0, >+ .write_format = RKISP1_MI_CTRL_MP_WRITE_YUV_SPLA, >+ .mbus = MEDIA_BUS_FMT_YUYV8_2X8, >+ }, { >+ .fourcc = V4L2_PIX_FMT_NV61M, >+ .uv_swap = 1, >+ .write_format = RKISP1_MI_CTRL_MP_WRITE_YUV_SPLA, >+ .mbus = MEDIA_BUS_FMT_YUYV8_2X8, > }, { > .fourcc = V4L2_PIX_FMT_YVU422M, > .uv_swap = 1, >@@ -237,6 +247,18 @@ static const struct rkisp1_capture_fmt_cfg rkisp1_sp_fmts[] = { > .write_format = RKISP1_MI_CTRL_SP_WRITE_SPLA, > .output_format = RKISP1_MI_CTRL_SP_OUTPUT_YUV422, > .mbus = MEDIA_BUS_FMT_YUYV8_2X8, >+ }, { >+ .fourcc = V4L2_PIX_FMT_NV16M, >+ .uv_swap = 0, >+ .write_format = RKISP1_MI_CTRL_SP_WRITE_SPLA, >+ .output_format = RKISP1_MI_CTRL_SP_OUTPUT_YUV422, >+ .mbus = MEDIA_BUS_FMT_YUYV8_2X8, >+ }, { >+ .fourcc = V4L2_PIX_FMT_NV61M, >+ .uv_swap = 1, >+ .write_format = RKISP1_MI_CTRL_SP_WRITE_SPLA, >+ .output_format = RKISP1_MI_CTRL_SP_OUTPUT_YUV422, >+ .mbus = MEDIA_BUS_FMT_YUYV8_2X8, > }, { > .fourcc = V4L2_PIX_FMT_YVU422M, > .uv_swap = 1, >-- >2.35.1 >
Hello On Thu, Nov 17, 2022 at 05:42:14PM +0900, Paul Elder wrote: > This patch series adds small improvements to the rkisp1 driver: > - Add NV16M and NV61M output > - Implement ENUM_FRAMESIZES > > As well as a small code cleanup. > > These patches have been sent before individually, so really this is a > resend, which also bunches them together. > > Laurent Pinchart (1): > media: rkisp1: Make local immutable array variables static const > > Paul Elder (2): > media: rkisp1: Add NV16M and NV61M to output formats > media: rkisp1: Implement ENUM_FRAMESIZES Has this series fell into cracks ? Support for VIDIOC_ENUM_FRAMESIZES in particular is a relevant feature and seems not controversial at all... > > .../platform/rockchip/rkisp1/rkisp1-capture.c | 64 +++++++++++++++++-- > 1 file changed, 60 insertions(+), 4 deletions(-) > > -- > 2.35.1 >
Hi Jacopo, On Tue, Feb 21, 2023 at 02:57:30PM +0100, Jacopo Mondi wrote: > On Thu, Nov 17, 2022 at 05:42:14PM +0900, Paul Elder wrote: > > This patch series adds small improvements to the rkisp1 driver: > > - Add NV16M and NV61M output > > - Implement ENUM_FRAMESIZES > > > > As well as a small code cleanup. > > > > These patches have been sent before individually, so really this is a > > resend, which also bunches them together. > > > > Laurent Pinchart (1): > > media: rkisp1: Make local immutable array variables static const > > > > Paul Elder (2): > > media: rkisp1: Add NV16M and NV61M to output formats > > media: rkisp1: Implement ENUM_FRAMESIZES > > Has this series fell into cracks ? Support for VIDIOC_ENUM_FRAMESIZES > in particular is a relevant feature and seems not controversial at all... An alternative version of the first patch has been merged already, and I've just sent a pull request for the other two. > > .../platform/rockchip/rkisp1/rkisp1-capture.c | 64 +++++++++++++++++-- > > 1 file changed, 60 insertions(+), 4 deletions(-)