aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorMike Isely <isely@pobox.com>2006-06-25 20:04:16 -0300
committerMauro Carvalho Chehab <mchehab@infradead.org>2006-06-27 00:17:21 -0300
commit039c430f896640f77bc073f9e8ac71018721aab0 (patch)
tree31b2f735ffc92ad434650bcbe04cde29ed46995f /drivers
parent4588677121d894ec989e938129da4ae02d332b6c (diff)
downloadlinux-039c430f896640f77bc073f9e8ac71018721aab0.tar.gz
V4L/DVB (4234): Clean up long-standing video format handling mess in pvrusb2-v4l2.c
Signed-off-by: Mike Isely <isely@pobox.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/media/video/pvrusb2/pvrusb2-v4l2.c35
1 files changed, 11 insertions, 24 deletions
diff --git a/drivers/media/video/pvrusb2/pvrusb2-v4l2.c b/drivers/media/video/pvrusb2/pvrusb2-v4l2.c
index 74b681aeda2fc..e93e2aa81f30b 100644
--- a/drivers/media/video/pvrusb2/pvrusb2-v4l2.c
+++ b/drivers/media/video/pvrusb2/pvrusb2-v4l2.c
@@ -434,12 +434,6 @@ static int pvr2_v4l2_do_ioctl(struct inode *inode, struct file *file,
vf->fmt.pix.width = val;
val = 0;
pvr2_ctrl_get_value(
- pvr2_hdw_get_ctrl_by_id(hdw,
- PVR2_CID_INTERLACE),
- &val);
- if (val) vf->fmt.pix.width /= 2;
- val = 0;
- pvr2_ctrl_get_value(
pvr2_hdw_get_ctrl_by_id(hdw,PVR2_CID_VRES),
&val);
vf->fmt.pix.height = val;
@@ -466,25 +460,22 @@ static int pvr2_v4l2_do_ioctl(struct inode *inode, struct file *file,
case V4L2_BUF_TYPE_VIDEO_CAPTURE: {
int h = vf->fmt.pix.height;
int w = vf->fmt.pix.width;
- int vd_std, hf, hh;
- vd_std = 0;
- pvr2_ctrl_get_value(
- pvr2_hdw_get_ctrl_by_id(hdw,PVR2_CID_STDCUR),
- &vd_std);
- if (vd_std & V4L2_STD_525_60) {
- hf=480;
- } else {
- hf=576;
+ if (h < 200) {
+ h = 200;
+ } else if (h > 625) {
+ h = 625;
+ }
+ if (w < 320) {
+ w = 320;
+ } else if (w > 720) {
+ w = 720;
}
- hh = (int) (hf / 2);
memcpy(vf, &pvr_format[PVR_FORMAT_PIX],
sizeof(struct v4l2_format));
- if (w > 720)
- vf->fmt.pix.width = 720;
- vf->fmt.pix.width &= 0xff0;
- vf->fmt.pix.height = (h > hh) ? hf : hh;
+ vf->fmt.pix.width = w;
+ vf->fmt.pix.height = h;
if (cmd == VIDIOC_S_FMT) {
pvr2_ctrl_set_value(
@@ -495,10 +486,6 @@ static int pvr2_v4l2_do_ioctl(struct inode *inode, struct file *file,
pvr2_hdw_get_ctrl_by_id(hdw,
PVR2_CID_VRES),
vf->fmt.pix.height);
- pvr2_ctrl_set_value(
- pvr2_hdw_get_ctrl_by_id(
- hdw,PVR2_CID_INTERLACE),
- vf->fmt.pix.height != hf);
}
} break;
case V4L2_BUF_TYPE_VBI_CAPTURE: