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 13:52:55 -0400
committerMauro Carvalho Chehab <mchehab@infradead.org>2008-01-25 16:03:10 -0500
commita3e5f5e2dfb50bebca24329e5377d804c6e3eb1b (patch)
tree6a900057b715633c5b7951568253f35de2e0a24f /drivers/media/video/ivtv/ivtv-driver.h
parentc240ad00af78228726e6301ad6ffc54d3adce2a0 (diff)
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 b6dd2360e610..12ff9382718d 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
403#define IVTV_YUV_SYNC_ODD 0x04 403#define IVTV_YUV_SYNC_ODD 0x04
404#define IVTV_YUV_SYNC_MASK 0x04 404#define IVTV_YUV_SYNC_MASK 0x04
405 405
406#define IVTV_YUV_BUFFERS 8
407
406struct yuv_playback_info 408struct yuv_playback_info
407{ 409{
408 u32 reg_2834; 410 u32 reg_2834;
@@ -475,11 +477,11 @@ struct yuv_playback_info
475 u32 yuv_forced_update; 477 u32 yuv_forced_update;
476 int update_frame; 478 int update_frame;
477 479
478 int sync_field[4]; /* Field to sync on */ 480 int sync_field[IVTV_YUV_BUFFERS]; /* Field to sync on */
479 int field_delay[4]; /* Flag to extend duration of previous frame */ 481 int field_delay[IVTV_YUV_BUFFERS]; /* Flag to extend duration of previous frame */
480 u8 fields_lapsed; /* Counter used when delaying a frame */ 482 u8 fields_lapsed; /* Counter used when delaying a frame */
481 483
482 struct yuv_frame_info new_frame_info[4]; 484 struct yuv_frame_info new_frame_info[IVTV_YUV_BUFFERS];
483 struct yuv_frame_info old_frame_info; 485 struct yuv_frame_info old_frame_info;
484 struct yuv_frame_info old_frame_info_args; 486 struct yuv_frame_info old_frame_info_args;
485 487
@@ -487,6 +489,9 @@ struct yuv_playback_info
487 dma_addr_t blanking_dmaptr; 489 dma_addr_t blanking_dmaptr;
488 490
489 int stream_size; 491 int stream_size;
492
493 u8 draw_frame; /* PVR350 buffer to draw into */
494 u8 max_frames_buffered; /* Maximum number of frames to buffer */
490}; 495};
491 496
492#define IVTV_VBI_FRAMES 32 497#define IVTV_VBI_FRAMES 32