Commit 653dc59b authored by Trent Piepho's avatar Trent Piepho Committed by Mauro Carvalho Chehab

V4L/DVB (11910): mt9: Use v4l bounding/alignment function

The v4l function has a better algorithm for aligning image size.

Cc: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: default avatarTrent Piepho <xyzzy@speakeasy.org>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
parent 2449afcb
...@@ -280,15 +280,9 @@ static int mt9m001_try_fmt(struct soc_camera_device *icd, ...@@ -280,15 +280,9 @@ static int mt9m001_try_fmt(struct soc_camera_device *icd,
{ {
struct v4l2_pix_format *pix = &f->fmt.pix; struct v4l2_pix_format *pix = &f->fmt.pix;
if (pix->height < 32 + icd->y_skip_top) v4l_bound_align_image(&pix->width, 48, 1280, 1,
pix->height = 32 + icd->y_skip_top; &pix->height, 32 + icd->y_skip_top,
if (pix->height > 1024 + icd->y_skip_top) 1024 + icd->y_skip_top, 0, 0);
pix->height = 1024 + icd->y_skip_top;
if (pix->width < 48)
pix->width = 48;
if (pix->width > 1280)
pix->width = 1280;
pix->width &= ~0x01; /* has to be even, unsure why was ~3 */
return 0; return 0;
} }
......
...@@ -385,17 +385,9 @@ static int mt9t031_try_fmt(struct soc_camera_device *icd, ...@@ -385,17 +385,9 @@ static int mt9t031_try_fmt(struct soc_camera_device *icd,
{ {
struct v4l2_pix_format *pix = &f->fmt.pix; struct v4l2_pix_format *pix = &f->fmt.pix;
if (pix->height < MT9T031_MIN_HEIGHT) v4l_bound_align_image(
pix->height = MT9T031_MIN_HEIGHT; &pix->width, MT9T031_MIN_WIDTH, MT9T031_MAX_WIDTH, 1,
if (pix->height > MT9T031_MAX_HEIGHT) &pix->height, MT9T031_MIN_HEIGHT, MT9T031_MAX_HEIGHT, 1, 0);
pix->height = MT9T031_MAX_HEIGHT;
if (pix->width < MT9T031_MIN_WIDTH)
pix->width = MT9T031_MIN_WIDTH;
if (pix->width > MT9T031_MAX_WIDTH)
pix->width = MT9T031_MAX_WIDTH;
pix->width &= ~0x01; /* has to be even */
pix->height &= ~0x01; /* has to be even */
return 0; return 0;
} }
......
...@@ -364,15 +364,9 @@ static int mt9v022_try_fmt(struct soc_camera_device *icd, ...@@ -364,15 +364,9 @@ static int mt9v022_try_fmt(struct soc_camera_device *icd,
{ {
struct v4l2_pix_format *pix = &f->fmt.pix; struct v4l2_pix_format *pix = &f->fmt.pix;
if (pix->height < 32 + icd->y_skip_top) v4l_bound_align_image(&pix->width, 48, 752, 2 /* ? */,
pix->height = 32 + icd->y_skip_top; &pix->height, 32 + icd->y_skip_top,
if (pix->height > 480 + icd->y_skip_top) 480 + icd->y_skip_top, 0, 0);
pix->height = 480 + icd->y_skip_top;
if (pix->width < 48)
pix->width = 48;
if (pix->width > 752)
pix->width = 752;
pix->width &= ~0x03; /* ? */
return 0; return 0;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment