aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/video/ivtv/ivtv-driver.h
diff options
context:
space:
mode:
authorIan Armstrong <ian@iarmst.demon.co.uk>2007-10-20 14:52:55 -0300
committerMauro Carvalho Chehab <mchehab@infradead.org>2008-01-25 19:03:10 -0200
commita3e5f5e2dfb50bebca24329e5377d804c6e3eb1b (patch)
tree6a900057b715633c5b7951568253f35de2e0a24f /drivers/media/video/ivtv/ivtv-driver.h
parentc240ad00af78228726e6301ad6ffc54d3adce2a0 (diff)
downloadkernel_samsung_smdk4412-a3e5f5e2dfb50bebca24329e5377d804c6e3eb1b.zip
kernel_samsung_smdk4412-a3e5f5e2dfb50bebca24329e5377d804c6e3eb1b.tar.gz
kernel_samsung_smdk4412-a3e5f5e2dfb50bebca24329e5377d804c6e3eb1b.tar.bz2
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.h11
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 b6dd236..12ff938 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