From: "Lad, Prabhakar" <prabhakar.csengg@gmail.com> To: Benoit Parrot <bparrot@ti.com> Cc: Hans Verkuil <hverkuil@xs4all.nl>, Kyungmin Park <kyungmin.park@samsung.com>, Kukjin Kim <kgene@kernel.org>, Sylwester Nawrocki <s.nawrocki@samsung.com>, Krzysztof Kozlowski <krzk@kernel.org>, Andrzej Pietrasiewicz <andrzejtp2010@gmail.com>, Jacek Anaszewski <jacek.anaszewski@gmail.com>, linux-media <linux-media@vger.kernel.org>, LKML <linux-kernel@vger.kernel.org> Subject: Re: [Patch 2/2] media: use v4l2_rect_enclosed helper Date: Sat, 30 May 2020 12:53:31 +0100 Message-ID: <CA+V-a8v81jLNq=wBWg4uP+ud1g=Z-dtatYOPJ6tnFKV83q2VCQ@mail.gmail.com> (raw) In-Reply-To: <20200528132605.18339-3-bparrot@ti.com> Hi Benoit, Thank you for the patch. On Thu, May 28, 2020 at 2:26 PM Benoit Parrot <bparrot@ti.com> wrote: > > Several drivers implement the same enclosed_rectangle() function to > check if a rectangle is enclosed into another. Replace this with the > newly added v4l2_rect_enclosed() helper function. > > Signed-off-by: Benoit Parrot <bparrot@ti.com> > --- > drivers/media/platform/am437x/am437x-vpfe.c | 19 +++---------------- For the above: Reviewed-by: Lad Prabhakar <prabhakar.csengg@gmail.com> Cheers, --Prabhakar > .../media/platform/exynos4-is/fimc-capture.c | 18 +++--------------- > drivers/media/platform/exynos4-is/fimc-lite.c | 18 +++--------------- > drivers/media/platform/s5p-jpeg/jpeg-core.c | 16 ++-------------- > 4 files changed, 11 insertions(+), 60 deletions(-) > > diff --git a/drivers/media/platform/am437x/am437x-vpfe.c b/drivers/media/platform/am437x/am437x-vpfe.c > index 66079cc41f38..0fb9f9ba1219 100644 > --- a/drivers/media/platform/am437x/am437x-vpfe.c > +++ b/drivers/media/platform/am437x/am437x-vpfe.c > @@ -26,6 +26,7 @@ > #include <media/v4l2-ctrls.h> > #include <media/v4l2-event.h> > #include <media/v4l2-fwnode.h> > +#include <media/v4l2-rect.h> > > #include "am437x-vpfe.h" > > @@ -1987,20 +1988,6 @@ vpfe_g_selection(struct file *file, void *fh, struct v4l2_selection *s) > return 0; > } > > -static int enclosed_rectangle(struct v4l2_rect *a, struct v4l2_rect *b) > -{ > - if (a->left < b->left || a->top < b->top) > - return 0; > - > - if (a->left + a->width > b->left + b->width) > - return 0; > - > - if (a->top + a->height > b->top + b->height) > - return 0; > - > - return 1; > -} > - > static int > vpfe_s_selection(struct file *file, void *fh, struct v4l2_selection *s) > { > @@ -2025,10 +2012,10 @@ vpfe_s_selection(struct file *file, void *fh, struct v4l2_selection *s) > r.left = clamp_t(unsigned int, r.left, 0, cr.width - r.width); > r.top = clamp_t(unsigned int, r.top, 0, cr.height - r.height); > > - if (s->flags & V4L2_SEL_FLAG_LE && !enclosed_rectangle(&r, &s->r)) > + if (s->flags & V4L2_SEL_FLAG_LE && !v4l2_rect_enclosed(&r, &s->r)) > return -ERANGE; > > - if (s->flags & V4L2_SEL_FLAG_GE && !enclosed_rectangle(&s->r, &r)) > + if (s->flags & V4L2_SEL_FLAG_GE && !v4l2_rect_enclosed(&s->r, &r)) > return -ERANGE; > > s->r = vpfe->crop = r; > diff --git a/drivers/media/platform/exynos4-is/fimc-capture.c b/drivers/media/platform/exynos4-is/fimc-capture.c > index 705f182330ca..8b10741a847a 100644 > --- a/drivers/media/platform/exynos4-is/fimc-capture.c > +++ b/drivers/media/platform/exynos4-is/fimc-capture.c > @@ -21,6 +21,7 @@ > #include <media/v4l2-device.h> > #include <media/v4l2-ioctl.h> > #include <media/v4l2-mem2mem.h> > +#include <media/v4l2-rect.h> > #include <media/videobuf2-v4l2.h> > #include <media/videobuf2-dma-contig.h> > > @@ -1299,19 +1300,6 @@ static int fimc_cap_g_selection(struct file *file, void *fh, > return -EINVAL; > } > > -/* Return 1 if rectangle a is enclosed in rectangle b, or 0 otherwise. */ > -static int enclosed_rectangle(struct v4l2_rect *a, struct v4l2_rect *b) > -{ > - if (a->left < b->left || a->top < b->top) > - return 0; > - if (a->left + a->width > b->left + b->width) > - return 0; > - if (a->top + a->height > b->top + b->height) > - return 0; > - > - return 1; > -} > - > static int fimc_cap_s_selection(struct file *file, void *fh, > struct v4l2_selection *s) > { > @@ -1334,11 +1322,11 @@ static int fimc_cap_s_selection(struct file *file, void *fh, > fimc_capture_try_selection(ctx, &rect, s->target); > > if (s->flags & V4L2_SEL_FLAG_LE && > - !enclosed_rectangle(&rect, &s->r)) > + !v4l2_rect_enclosed(&rect, &s->r)) > return -ERANGE; > > if (s->flags & V4L2_SEL_FLAG_GE && > - !enclosed_rectangle(&s->r, &rect)) > + !v4l2_rect_enclosed(&s->r, &rect)) > return -ERANGE; > > s->r = rect; > diff --git a/drivers/media/platform/exynos4-is/fimc-lite.c b/drivers/media/platform/exynos4-is/fimc-lite.c > index 394e0818f2d5..9c666f663ab4 100644 > --- a/drivers/media/platform/exynos4-is/fimc-lite.c > +++ b/drivers/media/platform/exynos4-is/fimc-lite.c > @@ -25,6 +25,7 @@ > #include <media/v4l2-device.h> > #include <media/v4l2-ioctl.h> > #include <media/v4l2-mem2mem.h> > +#include <media/v4l2-rect.h> > #include <media/videobuf2-v4l2.h> > #include <media/videobuf2-dma-contig.h> > #include <media/drv-intf/exynos-fimc.h> > @@ -868,19 +869,6 @@ static int fimc_lite_reqbufs(struct file *file, void *priv, > return ret; > } > > -/* Return 1 if rectangle a is enclosed in rectangle b, or 0 otherwise. */ > -static int enclosed_rectangle(struct v4l2_rect *a, struct v4l2_rect *b) > -{ > - if (a->left < b->left || a->top < b->top) > - return 0; > - if (a->left + a->width > b->left + b->width) > - return 0; > - if (a->top + a->height > b->top + b->height) > - return 0; > - > - return 1; > -} > - > static int fimc_lite_g_selection(struct file *file, void *fh, > struct v4l2_selection *sel) > { > @@ -922,11 +910,11 @@ static int fimc_lite_s_selection(struct file *file, void *fh, > fimc_lite_try_compose(fimc, &rect); > > if ((sel->flags & V4L2_SEL_FLAG_LE) && > - !enclosed_rectangle(&rect, &sel->r)) > + !v4l2_rect_enclosed(&rect, &sel->r)) > return -ERANGE; > > if ((sel->flags & V4L2_SEL_FLAG_GE) && > - !enclosed_rectangle(&sel->r, &rect)) > + !v4l2_rect_enclosed(&sel->r, &rect)) > return -ERANGE; > > sel->r = rect; > diff --git a/drivers/media/platform/s5p-jpeg/jpeg-core.c b/drivers/media/platform/s5p-jpeg/jpeg-core.c > index 86bda3947110..9b22dd8e34f4 100644 > --- a/drivers/media/platform/s5p-jpeg/jpeg-core.c > +++ b/drivers/media/platform/s5p-jpeg/jpeg-core.c > @@ -24,6 +24,7 @@ > #include <media/v4l2-event.h> > #include <media/v4l2-mem2mem.h> > #include <media/v4l2-ioctl.h> > +#include <media/v4l2-rect.h> > #include <media/videobuf2-v4l2.h> > #include <media/videobuf2-dma-contig.h> > > @@ -1735,19 +1736,6 @@ static int exynos3250_jpeg_try_downscale(struct s5p_jpeg_ctx *ctx, > return 0; > } > > -/* Return 1 if rectangle a is enclosed in rectangle b, or 0 otherwise. */ > -static int enclosed_rectangle(struct v4l2_rect *a, struct v4l2_rect *b) > -{ > - if (a->left < b->left || a->top < b->top) > - return 0; > - if (a->left + a->width > b->left + b->width) > - return 0; > - if (a->top + a->height > b->top + b->height) > - return 0; > - > - return 1; > -} > - > static int exynos3250_jpeg_try_crop(struct s5p_jpeg_ctx *ctx, > struct v4l2_rect *r) > { > @@ -1780,7 +1768,7 @@ static int exynos3250_jpeg_try_crop(struct s5p_jpeg_ctx *ctx, > r->left = round_down(r->left, 2); > r->top = round_down(r->top, 2); > > - if (!enclosed_rectangle(r, &base_rect)) > + if (!v4l2_rect_enclosed(r, &base_rect)) > return -EINVAL; > > ctx->crop_rect.left = r->left; > -- > 2.17.1 >
prev parent reply other threads:[~2020-05-30 11:54 UTC|newest] Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top 2020-05-28 13:26 [Patch 0/2] media: v4l2-rect.h: add enclosed rectangle helper Benoit Parrot 2020-05-28 13:26 ` [Patch 1/2] " Benoit Parrot 2020-05-29 11:57 ` Andrzej Pietrasiewicz 2020-05-30 11:51 ` Lad, Prabhakar 2020-05-28 13:26 ` [Patch 2/2] media: use v4l2_rect_enclosed helper Benoit Parrot 2020-05-29 11:59 ` Andrzej Pietrasiewicz 2020-05-30 11:53 ` Lad, Prabhakar [this message]
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='CA+V-a8v81jLNq=wBWg4uP+ud1g=Z-dtatYOPJ6tnFKV83q2VCQ@mail.gmail.com' \ --to=prabhakar.csengg@gmail.com \ --cc=andrzejtp2010@gmail.com \ --cc=bparrot@ti.com \ --cc=hverkuil@xs4all.nl \ --cc=jacek.anaszewski@gmail.com \ --cc=kgene@kernel.org \ --cc=krzk@kernel.org \ --cc=kyungmin.park@samsung.com \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-media@vger.kernel.org \ --cc=s.nawrocki@samsung.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
Unnamed repository; edit this file 'description' to name the repository. This inbox may be cloned and mirrored by anyone: git clone --mirror http://archive.lwn.net:8080/linux-media/0 linux-media/git/0.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 linux-media linux-media/ http://archive.lwn.net:8080/linux-media \ linux-media@vger.kernel.org lwn-linux-media@archive.lwn.net public-inbox-index linux-media Example config snippet for mirrors. Newsgroup available over NNTP: nntp://archive.lwn.net/lwn.kernel.linux-media AGPL code for this site: git clone https://public-inbox.org/public-inbox.git