mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-09-12 13:55:32 +00:00
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>
This commit is contained in:
parent
4588677121
commit
039c430f89
1 changed files with 11 additions and 24 deletions
|
@ -433,12 +433,6 @@ static int pvr2_v4l2_do_ioctl(struct inode *inode, struct file *file,
|
|||
&val);
|
||||
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);
|
||||
|
@ -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:
|
||||
|
|
Loading…
Reference in a new issue