mirror of
https://github.com/torvalds/linux.git
synced 2024-11-07 20:51:47 +00:00
[media] v4l: mt9v032: Fix Bayer pattern
Compute crop rectangle boundaries to ensure a GRBG Bayer pattern. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
This commit is contained in:
parent
7c58e7d06c
commit
86cf786c04
@ -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),
|
||||
|
Loading…
Reference in New Issue
Block a user