diff options
author | Hans Verkuil <hverkuil@xs4all.nl> | 2007-03-10 04:30:19 -0500 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@infradead.org> | 2007-04-27 14:44:23 -0400 |
commit | 037c86c53362b0b3dda6201c9f62f64c9d17abb6 (patch) | |
tree | afbb0c83940f54edd5c3655d1745f6f2e27c563b /drivers/media/video/ivtv | |
parent | 43d0dfcfc654fa18b6dd91b9483273b44112997f (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.c | 10 |
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; |