mirror of https://gitee.com/openkylin/linux.git
V4L/DVB (8086): ivtv/cx18: fix video_temporal_filter handling
If the capture is scaled, then the video_temporal_filter is set to 0 by the cx2341x.c module since otherwise you would get ghosting. However, this was also done in the VIDIOC_S_FMT ioctl which meant that the video_temporal_filter control was reset to 0 or 8 each time S_FMT was called. This was old code that should have been removed a long time ago. Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
This commit is contained in:
parent
5cf2cc4803
commit
e27bf207db
|
@ -244,10 +244,6 @@ static int cx18_s_fmt_vid_cap(struct file *file, void *fh,
|
|||
|
||||
cx->params.width = w;
|
||||
cx->params.height = h;
|
||||
if (w != 720 || h != (cx->is_50hz ? 576 : 480))
|
||||
cx->params.video_temporal_filter = 0;
|
||||
else
|
||||
cx->params.video_temporal_filter = 8;
|
||||
cx18_av_cmd(cx, VIDIOC_S_FMT, fmt);
|
||||
return cx18_g_fmt_vid_cap(file, fh, fmt);
|
||||
}
|
||||
|
|
|
@ -508,11 +508,6 @@ static int ivtv_try_fmt_vid_cap(struct file *file, void *fh, struct v4l2_format
|
|||
ivtv_g_fmt_vid_cap(file, fh, fmt);
|
||||
fmt->fmt.pix.width = w;
|
||||
fmt->fmt.pix.height = h;
|
||||
if (itv->params.width != 720 ||
|
||||
itv->params.height != (itv->is_50hz ? 576 : 480))
|
||||
itv->params.video_temporal_filter = 0;
|
||||
else
|
||||
itv->params.video_temporal_filter = 8;
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -608,10 +603,6 @@ static int ivtv_s_fmt_vid_cap(struct file *file, void *fh, struct v4l2_format *f
|
|||
|
||||
p->width = w;
|
||||
p->height = h;
|
||||
if (w != 720 || h != (itv->is_50hz ? 576 : 480))
|
||||
p->video_temporal_filter = 0;
|
||||
else
|
||||
p->video_temporal_filter = 8;
|
||||
if (p->video_encoding == V4L2_MPEG_VIDEO_ENCODING_MPEG_1)
|
||||
fmt->fmt.pix.width /= 2;
|
||||
itv->video_dec_func(itv, VIDIOC_S_FMT, fmt);
|
||||
|
|
Loading…
Reference in New Issue