提交 e27bf207 编写于 作者: H Hans Verkuil 提交者: Mauro Carvalho Chehab

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: NHans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: NMauro Carvalho Chehab <mchehab@infradead.org>
上级 5cf2cc48
......@@ -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);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册