aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHans Verkuil2009-02-18 18:34:55 -0300
committerMauro Carvalho Chehab2009-03-30 12:42:57 -0300
commit886fe23d1ce99e35f95449a004647d24508a3d63 (patch)
tree101998b45da0f290ad9d9d90ce1461e6acfd9943
parent497d7d0b92b1eccbd76bbe054d791e471d29b599 (diff)
V4L/DVB (10717): zoran: TRY_FMT and S_FMT now do the same parameter checks.
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
-rw-r--r--drivers/media/video/zoran/zoran_driver.c12
1 files changed, 10 insertions, 2 deletions
diff --git a/drivers/media/video/zoran/zoran_driver.c b/drivers/media/video/zoran/zoran_driver.c
index a3a6f61187b0..611fc7f18e16 100644
--- a/drivers/media/video/zoran/zoran_driver.c
+++ b/drivers/media/video/zoran/zoran_driver.c
@@ -2131,8 +2131,6 @@ static int zoran_try_fmt_vid_out(struct file *file, void *__fh,
if (fmt->fmt.pix.pixelformat != V4L2_PIX_FMT_MJPEG)
return -EINVAL;
- fmt->fmt.pix.bytesperline = 0;
-
mutex_lock(&zr->resource_lock);
settings = fh->jpg_settings;
@@ -2157,6 +2155,14 @@ static int zoran_try_fmt_vid_out(struct file *file, void *__fh,
else
settings.field_per_buff = 1;
+ if (settings.HorDcm > 1) {
+ settings.img_x = (BUZ_MAX_WIDTH == 720) ? 8 : 0;
+ settings.img_width = (BUZ_MAX_WIDTH == 720) ? 704 : BUZ_MAX_WIDTH;
+ } else {
+ settings.img_x = 0;
+ settings.img_width = BUZ_MAX_WIDTH;
+ }
+
/* check */
res = zoran_check_jpg_settings(zr, &settings, 1);
if (res)
@@ -2174,6 +2180,8 @@ static int zoran_try_fmt_vid_out(struct file *file, void *__fh,
V4L2_FIELD_TOP : V4L2_FIELD_BOTTOM);
fmt->fmt.pix.sizeimage = zoran_v4l2_calc_bufsize(&settings);
+ fmt->fmt.pix.bytesperline = 0;
+ fmt->fmt.pix.colorspace = V4L2_COLORSPACE_SMPTE170M;
tryfmt_unlock_and_return:
mutex_unlock(&zr->resource_lock);
return res;