From: Devarsh Thakkar <devarsht@ti.com>
To: <mchehab@kernel.org>, <hverkuil-cisco@xs4all.nl>,
<linux-media@vger.kernel.org>, <linux-kernel@vger.kernel.org>,
<benjamin.gaignard@collabora.com>,
<sebastian.fricke@collabora.com>,
<dri-devel@lists.freedesktop.org>
Cc: <laurent.pinchart@ideasonboard.com>, <praneeth@ti.com>,
<nm@ti.com>, <vigneshr@ti.com>, <a-bhatia1@ti.com>,
<j-luthra@ti.com>, <b-brnich@ti.com>, <detheridge@ti.com>,
<p-mantena@ti.com>, <vijayp@ti.com>, <devarsht@ti.com>,
<andrzej.p@collabora.com>, <nicolas@ndufresne.ca>,
<p.zabel@pengutronix.de>, <airlied@gmail.com>, <daniel@ffwll.ch>,
<akpm@linux-foundation.org>, <gregkh@linuxfoundation.org>,
<andriy.shevchenko@linux.intel.com>, <adobriyan@gmail.com>,
<jani.nikula@intel.com>
Subject: [PATCH v13 12/13] media: imagination: Round to closest multiple for cropping region
Date: Fri, 7 Jun 2024 19:02:53 +0530 [thread overview]
Message-ID: <20240607133253.3559339-1-devarsht@ti.com> (raw)
In-Reply-To: <20240607131900.3535250-1-devarsht@ti.com>
If neither of the flags to round down (V4L2_SEL_FLAG_LE) or round up
(V4L2_SEL_FLAG_GE) are specified by the user, then round to nearest
multiple of requested value while updating the crop rectangle coordinates.
Use the rounding macro which gives preference to rounding down in case two
nearest values (high and low) are possible to raise the probability of
cropping rectangle falling inside the bound region.
This complies with the VIDIOC_G_SELECTION, VIDIOC_S_SELECTION ioctl
description as documented in v4l uapi [1] which specifies that driver
should choose crop rectangle as close as possible if no flags are passed by
user-space, as quoted below :
"``0`` - The driver can adjust the rectangle size freely and shall choose a
crop/compose rectangle as close as possible to the requested
one."
Link: https://www.kernel.org/doc/Documentation/userspace-api/media/v4l/vidioc-g-selection.rst [1]
Signed-off-by: Devarsh Thakkar <devarsht@ti.com>
---
V9->V13: No change
V8: Update commit message with specification reference
V1->V7 (No change, patch introduced in V7)
---
drivers/media/platform/imagination/e5010-jpeg-enc.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/drivers/media/platform/imagination/e5010-jpeg-enc.c b/drivers/media/platform/imagination/e5010-jpeg-enc.c
index 4b6fbe99d5ff..ea96b1bc5315 100644
--- a/drivers/media/platform/imagination/e5010-jpeg-enc.c
+++ b/drivers/media/platform/imagination/e5010-jpeg-enc.c
@@ -517,10 +517,10 @@ static int e5010_s_selection(struct file *file, void *fh, struct v4l2_selection
switch (s->flags) {
case 0:
- s->r.width = round_down(s->r.width, queue->fmt->frmsize.step_width);
- s->r.height = round_down(s->r.height, queue->fmt->frmsize.step_height);
- s->r.left = round_down(s->r.left, queue->fmt->frmsize.step_width);
- s->r.top = round_down(s->r.top, 2);
+ s->r.width = round_closest_down(s->r.width, queue->fmt->frmsize.step_width);
+ s->r.height = round_closest_down(s->r.height, queue->fmt->frmsize.step_height);
+ s->r.left = round_closest_down(s->r.left, queue->fmt->frmsize.step_width);
+ s->r.top = round_closest_down(s->r.top, 2);
if (s->r.left + s->r.width > queue->width)
s->r.width = round_down(s->r.width + s->r.left - queue->width,
--
2.39.1
next prev parent reply other threads:[~2024-06-07 13:33 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-06-07 13:19 [PATCH v13 00/13] Add V4L2 M2M Driver for E5010 JPEG Encoder Devarsh Thakkar
2024-06-07 13:24 ` [PATCH v13 01/13] media: dt-bindings: Add Imagination " Devarsh Thakkar
2024-06-07 13:28 ` [PATCH v13 02/13] media: imagination: Add E5010 JPEG Encoder driver Devarsh Thakkar
2024-06-07 13:28 ` [PATCH v13 03/13] media: v4l2-jpeg: Export reference quantization and huffman tables Devarsh Thakkar
2024-06-13 10:08 ` Hans Verkuil
2024-06-19 14:19 ` Devarsh Thakkar
2024-06-20 7:02 ` Hans Verkuil
2024-06-20 7:22 ` [v13 " Markus Elfring
2024-06-21 8:52 ` [PATCH v13 " Devarsh Thakkar
2024-06-21 9:28 ` Sebastian Fricke
2024-06-07 13:29 ` [PATCH v13 04/13] media: Documentation: Document v4l2-jpeg helper functions Devarsh Thakkar
2024-06-07 13:29 ` [PATCH v13 05/13] media: imagination: Use exported tables from v4l2-jpeg core Devarsh Thakkar
2024-06-07 13:30 ` [PATCH v13 06/13] media: verisilicon : Use exported tables from v4l2-jpeg for hantro codec Devarsh Thakkar
2024-06-07 13:30 ` [PATCH v13 07/13] math.h: Add macros for rounding to closest value Devarsh Thakkar
2024-06-07 13:30 ` [PATCH v13 08/13] math.h: Use kernel-doc syntax for divison macros Devarsh Thakkar
2024-06-07 13:31 ` [PATCH v13 09/13] Documentation: core-api: Add math.h macros and functions Devarsh Thakkar
2024-06-26 23:59 ` Randy Dunlap
2024-06-07 13:31 ` [PATCH v13 10/13] lib: add basic KUnit test for lib/math Devarsh Thakkar
2024-06-07 13:32 ` [PATCH v13 11/13] lib: math_kunit: Add tests for new macros related to rounding to nearest value Devarsh Thakkar
2024-06-07 13:32 ` Devarsh Thakkar [this message]
2024-06-07 13:33 ` [PATCH v13 13/13] gpu: ipu-v3: Use generic macro for rounding closest to specified value Devarsh Thakkar
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20240607133253.3559339-1-devarsht@ti.com \
--to=devarsht@ti.com \
--cc=a-bhatia1@ti.com \
--cc=adobriyan@gmail.com \
--cc=airlied@gmail.com \
--cc=akpm@linux-foundation.org \
--cc=andriy.shevchenko@linux.intel.com \
--cc=andrzej.p@collabora.com \
--cc=b-brnich@ti.com \
--cc=benjamin.gaignard@collabora.com \
--cc=daniel@ffwll.ch \
--cc=detheridge@ti.com \
--cc=dri-devel@lists.freedesktop.org \
--cc=gregkh@linuxfoundation.org \
--cc=hverkuil-cisco@xs4all.nl \
--cc=j-luthra@ti.com \
--cc=jani.nikula@intel.com \
--cc=laurent.pinchart@ideasonboard.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-media@vger.kernel.org \
--cc=mchehab@kernel.org \
--cc=nicolas@ndufresne.ca \
--cc=nm@ti.com \
--cc=p-mantena@ti.com \
--cc=p.zabel@pengutronix.de \
--cc=praneeth@ti.com \
--cc=sebastian.fricke@collabora.com \
--cc=vigneshr@ti.com \
--cc=vijayp@ti.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox