aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/video/ivtv
diff options
context:
space:
mode:
authorHans Verkuil <hverkuil@xs4all.nl>2007-03-10 04:30:19 -0500
committerMauro Carvalho Chehab <mchehab@infradead.org>2007-04-27 14:44:23 -0400
commit037c86c53362b0b3dda6201c9f62f64c9d17abb6 (patch)
treeafbb0c83940f54edd5c3655d1745f6f2e27c563b /drivers/media/video/ivtv
parent43d0dfcfc654fa18b6dd91b9483273b44112997f (diff)
V4L/DVB (5403): Set vsync_field correctly in ivtv.
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Diffstat (limited to 'drivers/media/video/ivtv')
-rw-r--r--drivers/media/video/ivtv/ivtv-ioctl.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/drivers/media/video/ivtv/ivtv-ioctl.c b/drivers/media/video/ivtv/ivtv-ioctl.c
index 448e8dd5b42f..0e8b639de179 100644
--- a/drivers/media/video/ivtv/ivtv-ioctl.c
+++ b/drivers/media/video/ivtv/ivtv-ioctl.c
@@ -1314,9 +1314,13 @@ static int ivtv_ivtv_ioctls(struct file *filp, unsigned int cmd, void *arg)
1314 ev->type = VIDEO_EVENT_DECODER_STOPPED; 1314 ev->type = VIDEO_EVENT_DECODER_STOPPED;
1315 else if (test_and_clear_bit(IVTV_F_I_EV_VSYNC, &itv->i_flags)) { 1315 else if (test_and_clear_bit(IVTV_F_I_EV_VSYNC, &itv->i_flags)) {
1316 ev->type = VIDEO_EVENT_VSYNC; 1316 ev->type = VIDEO_EVENT_VSYNC;
1317 ev->timestamp = test_bit(IVTV_F_I_EV_VSYNC_FIELD, &itv->i_flags) ? 1317 ev->u.vsync_field = test_bit(IVTV_F_I_EV_VSYNC_FIELD, &itv->i_flags) ?
1318 1 : 0; 1318 VIDEO_VSYNC_FIELD_ODD : VIDEO_VSYNC_FIELD_EVEN;
1319 clear_bit(IVTV_F_I_EV_VSYNC_ENABLED, &itv->i_flags); 1319 if (itv->output_mode == OUT_UDMA_YUV &&
1320 (itv->yuv_info.lace_mode & IVTV_YUV_MODE_MASK) ==
1321 IVTV_YUV_MODE_PROGRESSIVE) {
1322 ev->u.vsync_field = VIDEO_VSYNC_FIELD_PROGRESSIVE;
1323 }
1320 } 1324 }
1321 if (ev->type) 1325 if (ev->type)
1322 return 0; 1326 return 0;