diff options
author | Ian Armstrong <ian@iarmst.demon.co.uk> | 2007-10-20 14:52:55 -0300 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@infradead.org> | 2008-01-25 19:03:10 -0200 |
commit | a3e5f5e2dfb50bebca24329e5377d804c6e3eb1b (patch) | |
tree | 6a900057b715633c5b7951568253f35de2e0a24f /drivers/media/video/ivtv/ivtv-driver.h | |
parent | c240ad00af78228726e6301ad6ffc54d3adce2a0 (diff) | |
download | kernel_samsung_smdk4412-a3e5f5e2dfb50bebca24329e5377d804c6e3eb1b.tar.gz kernel_samsung_smdk4412-a3e5f5e2dfb50bebca24329e5377d804c6e3eb1b.tar.bz2 kernel_samsung_smdk4412-a3e5f5e2dfb50bebca24329e5377d804c6e3eb1b.zip |
V4L/DVB (6713): ivtv: ivtv_yuv_prep_frame breakup and yuv hardware buffer changes
ivtv_yuv_prep_frame is split in smaller code blocks.
Modified yuv buffer handling on the PVR350 itself. We now cycle through all 8
hardware buffers.
With this patch in place, driver behaviour should remain unchanged from the
existing release.
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 | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/drivers/media/video/ivtv/ivtv-driver.h b/drivers/media/video/ivtv/ivtv-driver.h index b6dd2360e61..12ff9382718 100644 --- a/drivers/media/video/ivtv/ivtv-driver.h +++ b/drivers/media/video/ivtv/ivtv-driver.h @@ -403,6 +403,8 @@ struct yuv_frame_info #define IVTV_YUV_SYNC_ODD 0x04 #define IVTV_YUV_SYNC_MASK 0x04 +#define IVTV_YUV_BUFFERS 8 + struct yuv_playback_info { u32 reg_2834; @@ -475,11 +477,11 @@ struct yuv_playback_info u32 yuv_forced_update; int update_frame; - int sync_field[4]; /* Field to sync on */ - int field_delay[4]; /* Flag to extend duration of previous frame */ + int sync_field[IVTV_YUV_BUFFERS]; /* Field to sync on */ + int field_delay[IVTV_YUV_BUFFERS]; /* Flag to extend duration of previous frame */ u8 fields_lapsed; /* Counter used when delaying a frame */ - struct yuv_frame_info new_frame_info[4]; + struct yuv_frame_info new_frame_info[IVTV_YUV_BUFFERS]; struct yuv_frame_info old_frame_info; struct yuv_frame_info old_frame_info_args; @@ -487,6 +489,9 @@ struct yuv_playback_info dma_addr_t blanking_dmaptr; int stream_size; + + u8 draw_frame; /* PVR350 buffer to draw into */ + u8 max_frames_buffered; /* Maximum number of frames to buffer */ }; #define IVTV_VBI_FRAMES 32 |