Re: [PATCH] v4l: mt9v032: Fix Bayer pattern

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, 15 Jul 2011, Laurent Pinchart wrote:

> Compute crop rectangle boundaries to ensure a GRBG Bayer pattern.
> 
> Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx>
> ---
>  drivers/media/video/mt9v032.c |   20 ++++++++++----------
>  1 files changed, 10 insertions(+), 10 deletions(-)
> 
> If there's no comment I'll send a pull request for this patch in a couple of
> days.

Hm, I might have a comment: why?... Isn't it natural to accept the fact, 
that different sensors put a different Bayer pixel at their sensor matrix 
origin? Isn't that why we have all possible Bayer formats? Maybe you just 
have to choose a different output format?

Thanks
Guennadi

> 
> diff --git a/drivers/media/video/mt9v032.c b/drivers/media/video/mt9v032.c
> index 1319c2c..c64e1dc 100644
> --- a/drivers/media/video/mt9v032.c
> +++ b/drivers/media/video/mt9v032.c
> @@ -31,14 +31,14 @@
>  #define MT9V032_CHIP_VERSION				0x00
>  #define		MT9V032_CHIP_ID_REV1			0x1311
>  #define		MT9V032_CHIP_ID_REV3			0x1313
> -#define MT9V032_ROW_START				0x01
> -#define		MT9V032_ROW_START_MIN			4
> -#define		MT9V032_ROW_START_DEF			10
> -#define		MT9V032_ROW_START_MAX			482
> -#define MT9V032_COLUMN_START				0x02
> +#define MT9V032_COLUMN_START				0x01
>  #define		MT9V032_COLUMN_START_MIN		1
> -#define		MT9V032_COLUMN_START_DEF		2
> +#define		MT9V032_COLUMN_START_DEF		1
>  #define		MT9V032_COLUMN_START_MAX		752
> +#define MT9V032_ROW_START				0x02
> +#define		MT9V032_ROW_START_MIN			4
> +#define		MT9V032_ROW_START_DEF			5
> +#define		MT9V032_ROW_START_MAX			482
>  #define MT9V032_WINDOW_HEIGHT				0x03
>  #define		MT9V032_WINDOW_HEIGHT_MIN		1
>  #define		MT9V032_WINDOW_HEIGHT_DEF		480
> @@ -420,13 +420,13 @@ static int mt9v032_set_crop(struct v4l2_subdev *subdev,
>  	struct v4l2_rect *__crop;
>  	struct v4l2_rect rect;
>  
> -	/* Clamp the crop rectangle boundaries and align them to a multiple of 2
> -	 * pixels.
> +	/* Clamp the crop rectangle boundaries and align them to a non multiple
> +	 * of 2 pixels to ensure a GRBG Bayer pattern.
>  	 */
> -	rect.left = clamp(ALIGN(crop->rect.left, 2),
> +	rect.left = clamp(ALIGN(crop->rect.left + 1, 2) - 1,
>  			  MT9V032_COLUMN_START_MIN,
>  			  MT9V032_COLUMN_START_MAX);
> -	rect.top = clamp(ALIGN(crop->rect.top, 2),
> +	rect.top = clamp(ALIGN(crop->rect.top + 1, 2) - 1,
>  			 MT9V032_ROW_START_MIN,
>  			 MT9V032_ROW_START_MAX);
>  	rect.width = clamp(ALIGN(crop->rect.width, 2),
> -- 
> Regards,
> 
> Laurent Pinchart
> 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-media" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 

---
Guennadi Liakhovetski, Ph.D.
Freelance Open-Source Software Developer
http://www.open-technology.de/
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux