public inbox for linux-media@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] soc-camera: fix rectangle adjustment in cropping
@ 2017-02-26 20:58 Guennadi Liakhovetski
  2017-02-27  8:42 ` Laurent Pinchart
  0 siblings, 1 reply; 8+ messages in thread
From: Guennadi Liakhovetski @ 2017-02-26 20:58 UTC (permalink / raw)
  To: Linux Media Mailing List
  Cc: Koji Matsuoka, Yoshihiro Kaneko, Simon Horman, Laurent Pinchart

From: Koji Matsuoka <koji.matsuoka.xm@renesas.com>

update_subrect() adjusts the sub-rectangle to be inside a base area.
It checks width and height to not exceed those of the area, then it
checks the low border (left or top) to lie within the area, then the
high border (right or bottom) to lie there too. This latter check has
a bug, which is fixed by this patch.

Signed-off-by: Koji Matsuoka <koji.matsuoka.xm@renesas.com>
Signed-off-by: Yoshihiro Kaneko <ykaneko0929@gmail.com>
[g.liakhovetski@gmx.de: dropped supposedly wrong hunks]
Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
---

This is a part of the https://patchwork.linuxtv.org/patch/26441/ submitted 
almost 2.5 years ago. Back then I commented to the patch but never got a 
reply or an update. I preserved original authorship and Sob tags, although 
this version only uses a small portion of the original patch. This version 
is of course completely untested, any testing (at least regression) would 
be highly appreciated! This code is only used by the SH CEU driver and 
only in cropping / zooming scenarios.

 drivers/media/platform/soc_camera/soc_scale_crop.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/media/platform/soc_camera/soc_scale_crop.c b/drivers/media/platform/soc_camera/soc_scale_crop.c
index f77252d..4bfc1bf 100644
--- a/drivers/media/platform/soc_camera/soc_scale_crop.c
+++ b/drivers/media/platform/soc_camera/soc_scale_crop.c
@@ -70,14 +70,14 @@ static void update_subrect(struct v4l2_rect *rect, struct v4l2_rect *subrect)
 	if (rect->height < subrect->height)
 		subrect->height = rect->height;
 
-	if (rect->left > subrect->left)
+	if (rect->left < subrect->left)
 		subrect->left = rect->left;
 	else if (rect->left + rect->width >
 		 subrect->left + subrect->width)
 		subrect->left = rect->left + rect->width -
 			subrect->width;
 
-	if (rect->top > subrect->top)
+	if (rect->top < subrect->top)
 		subrect->top = rect->top;
 	else if (rect->top + rect->height >
 		 subrect->top + subrect->height)
-- 
1.9.3

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

end of thread, other threads:[~2017-02-27 10:14 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-02-26 20:58 [PATCH] soc-camera: fix rectangle adjustment in cropping Guennadi Liakhovetski
2017-02-27  8:42 ` Laurent Pinchart
2017-02-27  8:54   ` Guennadi Liakhovetski
2017-02-27  9:02     ` Laurent Pinchart
2017-02-27  9:13       ` Hans Verkuil
2017-02-27  9:24         ` Guennadi Liakhovetski
2017-02-27  9:13       ` Guennadi Liakhovetski
2017-02-27  9:23         ` Laurent Pinchart

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox