aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/video/cx18/cx18-driver.h
diff options
context:
space:
mode:
authorAndy Walls <awalls@radix.net>2009-12-31 20:09:51 -0500
committerMauro Carvalho Chehab <mchehab@redhat.com>2010-02-26 13:10:30 -0500
commit82acdc84cc4acc11389bdc648b23b15426d2038c (patch)
tree17f9bc1f4f20611a17f6d1063270e44fc932de2c /drivers/media/video/cx18/cx18-driver.h
parentef99179710d6ec04d6783afdf8387523c7087920 (diff)
V4L/DVB (13908): cx18: Add initial working VIDIOC_G_ENC_INDEX ioctl() support
VIDIOC_G_ENC_INDEX support see the light of day. Some notes: 1. With default capture parameters, the CX23418 seems to transfer 192 index entries (4.5 kB worth) at 10 second intervals. 2. Index streams don't seem to be supported for MPEG 2 TS streams 3. The index entries seem to claim every frame is a B-Frame. Possible firmware bug. 4. The cx18 driver does not try to capture an index stream when inserting sliced VBI into the MPEg stream as the offsets would need fixup. Signed-off-by: Andy Walls <awalls@radix.net> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media/video/cx18/cx18-driver.h')
-rw-r--r--drivers/media/video/cx18/cx18-driver.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/drivers/media/video/cx18/cx18-driver.h b/drivers/media/video/cx18/cx18-driver.h
index ff3426206765..930bab647467 100644
--- a/drivers/media/video/cx18/cx18-driver.h
+++ b/drivers/media/video/cx18/cx18-driver.h
@@ -288,6 +288,18 @@ struct cx18_options {
288#define CX18_SLICED_TYPE_WSS_625 (5) 288#define CX18_SLICED_TYPE_WSS_625 (5)
289#define CX18_SLICED_TYPE_VPS (7) 289#define CX18_SLICED_TYPE_VPS (7)
290 290
291/**
292 * list_entry_is_past_end - check if a previous loop cursor is off list end
293 * @pos: the type * previously used as a loop cursor.
294 * @head: the head for your list.
295 * @member: the name of the list_struct within the struct.
296 *
297 * Check if the entry's list_head is the head of the list, thus it's not a
298 * real entry but was the loop cursor that walked past the end
299 */
300#define list_entry_is_past_end(pos, head, member) \
301 (&pos->member == (head))
302
291struct cx18_buffer { 303struct cx18_buffer {
292 struct list_head list; 304 struct list_head list;
293 dma_addr_t dma_handle; 305 dma_addr_t dma_handle;