All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andrzej Pietrasiewicz <andrzejtp2010@gmail.com>
To: Benoit Parrot <bparrot@ti.com>, Hans Verkuil <hverkuil@xs4all.nl>,
	Prabhakar Lad <prabhakar.csengg@gmail.com>,
	Kyungmin Park <kyungmin.park@samsung.com>,
	Kukjin Kim <kgene@kernel.org>,
	Sylwester Nawrocki <s.nawrocki@samsung.com>,
	Krzysztof Kozlowski <krzk@kernel.org>,
	Jacek Anaszewski <jacek.anaszewski@gmail.com>
Cc: linux-media@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [Patch 2/2] media: use v4l2_rect_enclosed helper
Date: Fri, 29 May 2020 13:59:18 +0200	[thread overview]
Message-ID: <a282e6f4-8400-1fd8-81c1-9f0e281d9c6a@gmail.com> (raw)
In-Reply-To: <20200528132605.18339-3-bparrot@ti.com>

Hi Benoit,

Thank you for the patch.

W dniu 28.05.2020 o 15:26, Benoit Parrot pisze:
> 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>

for the s5p-jpeg part:

Acked-by: Andrzej Pietrasiewicz <andrzejtp2010@gmail.com>

> ---
>   drivers/media/platform/am437x/am437x-vpfe.c   | 19 +++----------------
>   .../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;
> 

  reply	other threads:[~2020-05-29 11:59 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 [this message]
2020-05-30 11:53   ` Lad, Prabhakar

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=a282e6f4-8400-1fd8-81c1-9f0e281d9c6a@gmail.com \
    --to=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=prabhakar.csengg@gmail.com \
    --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
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.