diff options
author | Ian Armstrong <ian@iarmst.demon.co.uk> | 2007-10-22 13:24:26 -0400 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@infradead.org> | 2008-01-25 16:03:10 -0500 |
commit | 3b5c1c8e71eb8fe2297a5884db59108e3c8b44c5 (patch) | |
tree | 39161a925790139e733137c5114e4419d3e45983 /drivers/media/video/ivtv/ivtv-driver.h | |
parent | 406c8b0ff0891ace87440bcb298a91c1927f9ae5 (diff) |
V4L/DVB (6716): ivtv: yuv interlace mode change
Interlace mode selection code moved into the frame setup phase, so it's now
run before the frame is loaded into a hardware buffer. Given that it can
affect how a new frame is displayed, it was a bit stupid running it after the
frame was already visible.
A few stray interlace related variables which were linked to individual frames
have now been moved into the yuv_frame_info struct. This means that all
variables linked to a specific frame are in the same place & not scattered.
Minor code reformatting in areas touched by the above changes.
Signed-off-by: Ian Armstrong <ian@iarmst.demon.co.uk>
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Diffstat (limited to 'drivers/media/video/ivtv/ivtv-driver.h')
-rw-r--r-- | drivers/media/video/ivtv/ivtv-driver.h | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/drivers/media/video/ivtv/ivtv-driver.h b/drivers/media/video/ivtv/ivtv-driver.h index 12ff9382718d..0e4ad29821e0 100644 --- a/drivers/media/video/ivtv/ivtv-driver.h +++ b/drivers/media/video/ivtv/ivtv-driver.h | |||
@@ -392,6 +392,9 @@ struct yuv_frame_info | |||
392 | u32 tru_h; | 392 | u32 tru_h; |
393 | u32 offset_y; | 393 | u32 offset_y; |
394 | s32 lace_mode; | 394 | s32 lace_mode; |
395 | u32 sync_field; | ||
396 | u32 delay; | ||
397 | u32 interlaced; | ||
395 | }; | 398 | }; |
396 | 399 | ||
397 | #define IVTV_YUV_MODE_INTERLACED 0x00 | 400 | #define IVTV_YUV_MODE_INTERLACED 0x00 |
@@ -465,8 +468,6 @@ struct yuv_playback_info | |||
465 | 468 | ||
466 | int decode_height; | 469 | int decode_height; |
467 | 470 | ||
468 | int frame_interlaced; | ||
469 | |||
470 | int lace_mode; | 471 | int lace_mode; |
471 | int lace_threshold; | 472 | int lace_threshold; |
472 | int lace_sync_field; | 473 | int lace_sync_field; |
@@ -477,8 +478,6 @@ struct yuv_playback_info | |||
477 | u32 yuv_forced_update; | 478 | u32 yuv_forced_update; |
478 | int update_frame; | 479 | int update_frame; |
479 | 480 | ||
480 | int sync_field[IVTV_YUV_BUFFERS]; /* Field to sync on */ | ||
481 | int field_delay[IVTV_YUV_BUFFERS]; /* Flag to extend duration of previous frame */ | ||
482 | u8 fields_lapsed; /* Counter used when delaying a frame */ | 481 | u8 fields_lapsed; /* Counter used when delaying a frame */ |
483 | 482 | ||
484 | struct yuv_frame_info new_frame_info[IVTV_YUV_BUFFERS]; | 483 | struct yuv_frame_info new_frame_info[IVTV_YUV_BUFFERS]; |