aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/video/ivtv/ivtv-driver.h
diff options
context:
space:
mode:
authorHans Verkuil <hverkuil@xs4all.nl>2007-08-25 14:09:52 -0400
committerMauro Carvalho Chehab <mchehab@infradead.org>2007-10-09 21:07:14 -0400
commiteffa0b08633122cc63d2b7f098434d359d5767ef (patch)
treeda7c8adb8e011921df45d77c07bad85cb7927c52 /drivers/media/video/ivtv/ivtv-driver.h
parent2f3a98931f51be6093df7c6cc2633bf238778b7d (diff)
V4L/DVB (6117): ivtv: finish VBI related cleanup
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.h67
1 files changed, 40 insertions, 27 deletions
diff --git a/drivers/media/video/ivtv/ivtv-driver.h b/drivers/media/video/ivtv/ivtv-driver.h
index 748ef66bd945..5400ccef4dfb 100644
--- a/drivers/media/video/ivtv/ivtv-driver.h
+++ b/drivers/media/video/ivtv/ivtv-driver.h
@@ -499,7 +499,8 @@ struct vbi_vps {
499}; 499};
500 500
501struct vbi_info { 501struct vbi_info {
502 /* VBI general fixed card data */ 502 /* VBI general data, does not change during streaming */
503
503 u32 raw_decoder_line_size; /* raw VBI line size from digitizer */ 504 u32 raw_decoder_line_size; /* raw VBI line size from digitizer */
504 u8 raw_decoder_sav_odd_field; /* raw VBI Start Active Video digitizer code of odd field */ 505 u8 raw_decoder_sav_odd_field; /* raw VBI Start Active Video digitizer code of odd field */
505 u8 raw_decoder_sav_even_field; /* raw VBI Start Active Video digitizer code of even field */ 506 u8 raw_decoder_sav_even_field; /* raw VBI Start Active Video digitizer code of even field */
@@ -507,27 +508,42 @@ struct vbi_info {
507 u8 sliced_decoder_sav_odd_field; /* sliced VBI Start Active Video digitizer code of odd field */ 508 u8 sliced_decoder_sav_odd_field; /* sliced VBI Start Active Video digitizer code of odd field */
508 u8 sliced_decoder_sav_even_field; /* sliced VBI Start Active Video digitizer code of even field */ 509 u8 sliced_decoder_sav_even_field; /* sliced VBI Start Active Video digitizer code of even field */
509 510
510 u32 dec_start; 511 u32 start[2]; /* start of first VBI line in the odd/even fields */
511 u32 enc_start, enc_size; 512 u32 count; /* number of VBI lines per field */
512 int fpi; 513 u32 raw_size; /* size of raw VBI line from the digitizer */
513 u32 frame; 514 u32 sliced_size; /* size of sliced VBI line from the digitizer */
514 struct vbi_cc cc_payload[256]; /* Sliced VBI CC payload array. It is an array to 515
516 u32 dec_start; /* start in decoder memory of VBI re-insertion buffers */
517 u32 enc_start; /* start in encoder memory of VBI capture buffers */
518 u32 enc_size; /* size of VBI capture area */
519 int fpi; /* number of VBI frames per interrupt */
520
521 struct v4l2_format in; /* current VBI capture format */
522 struct v4l2_sliced_vbi_format *sliced_in; /* convenience pointer to sliced struct in vbi.in union */
523 int insert_mpeg; /* if non-zero, then embed VBI data in MPEG stream */
524
525 /* Raw VBI compatibility hack */
526
527 u32 frame; /* frame counter hack needed for backwards compatibility
528 of old VBI software */
529
530 /* Sliced VBI output data */
531
532 struct vbi_cc cc_payload[256]; /* sliced VBI CC payload array: it is an array to
515 prevent dropping CC data if they couldn't be 533 prevent dropping CC data if they couldn't be
516 processed fast enough. */ 534 processed fast enough */
517 int cc_payload_idx; /* Index in cc_payload */ 535 int cc_payload_idx; /* index in cc_payload */
518 u8 cc_missing_cnt; /* Counts number of frames without CC for passthrough mode */ 536 u8 cc_missing_cnt; /* counts number of frames without CC for passthrough mode */
519 int wss_payload; /* Sliced VBI WSS payload */ 537 int wss_payload; /* sliced VBI WSS payload */
520 u8 wss_missing_cnt; /* Counts number of frames without WSS for passthrough mode */ 538 u8 wss_missing_cnt; /* counts number of frames without WSS for passthrough mode */
521 struct vbi_vps vps_payload; /* Sliced VBI VPS payload */ 539 struct vbi_vps vps_payload; /* sliced VBI VPS payload */
522 struct v4l2_format in; 540
523 /* convenience pointer to sliced struct in vbi_in union */ 541 /* Sliced VBI capture data */
524 struct v4l2_sliced_vbi_format *sliced_in; 542
525 int insert_mpeg; 543 struct v4l2_sliced_vbi_data sliced_data[36]; /* sliced VBI storage for VBI encoder stream */
526 544 struct v4l2_sliced_vbi_data sliced_dec_data[36];/* sliced VBI storage for VBI decoder stream */
527 /* Buffer for the maximum of 2 * 18 * packet_size sliced VBI lines. 545
528 One for /dev/vbi0 and one for /dev/vbi8 */ 546 /* VBI Embedding data */
529 struct v4l2_sliced_vbi_data sliced_data[36];
530 struct v4l2_sliced_vbi_data sliced_dec_data[36];
531 547
532 /* Buffer for VBI data inserted into MPEG stream. 548 /* Buffer for VBI data inserted into MPEG stream.
533 The first byte is a dummy byte that's never used. 549 The first byte is a dummy byte that's never used.
@@ -544,12 +560,9 @@ struct vbi_info {
544 This pointer array will allocate 2049 bytes to store each VBI frame. */ 560 This pointer array will allocate 2049 bytes to store each VBI frame. */
545 u8 *sliced_mpeg_data[IVTV_VBI_FRAMES]; 561 u8 *sliced_mpeg_data[IVTV_VBI_FRAMES];
546 u32 sliced_mpeg_size[IVTV_VBI_FRAMES]; 562 u32 sliced_mpeg_size[IVTV_VBI_FRAMES];
547 struct ivtv_buffer sliced_mpeg_buf; 563 struct ivtv_buffer sliced_mpeg_buf; /* temporary buffer holding data from sliced_mpeg_data */
548 u32 inserted_frame; 564 u32 inserted_frame; /* index in sliced_mpeg_size of next sliced data
549 565 to be inserted in the MPEG stream */
550 u32 start[2], count;
551 u32 raw_size;
552 u32 sliced_size;
553}; 566};
554 567
555/* forward declaration of struct defined in ivtv-cards.h */ 568/* forward declaration of struct defined in ivtv-cards.h */