00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef _VIDEO_1394_H
00022 #define _VIDEO_1394_H
00023
00024 #define VIDEO1394_DRIVER_NAME "video1394"
00025
00026 #define VIDEO1394_MAX_SIZE 0x4000000
00027
00028 enum {
00029 VIDEO1394_BUFFER_FREE = 0,
00030 VIDEO1394_BUFFER_QUEUED,
00031 VIDEO1394_BUFFER_READY
00032 };
00033
00034 enum {
00035 VIDEO1394_LISTEN_CHANNEL = 0,
00036 VIDEO1394_UNLISTEN_CHANNEL,
00037 VIDEO1394_LISTEN_QUEUE_BUFFER,
00038 VIDEO1394_LISTEN_WAIT_BUFFER,
00039 VIDEO1394_TALK_CHANNEL,
00040 VIDEO1394_UNTALK_CHANNEL,
00041 VIDEO1394_TALK_QUEUE_BUFFER,
00042 VIDEO1394_TALK_WAIT_BUFFER,
00043 VIDEO1394_LISTEN_POLL_BUFFER
00044 };
00045
00046 #define VIDEO1394_SYNC_FRAMES 0x00000001
00047 #define VIDEO1394_INCLUDE_ISO_HEADERS 0x00000002
00048 #define VIDEO1394_VARIABLE_PACKET_SIZE 0x00000004
00049
00050 struct video1394_mmap {
00051 int channel;
00052 unsigned int sync_tag;
00053 unsigned int nb_buffers;
00054 unsigned int buf_size;
00055 unsigned int packet_size;
00056
00057 unsigned int fps;
00058 unsigned int syt_offset;
00059 unsigned int flags;
00060 };
00061
00062
00063 struct video1394_queue_variable {
00064 unsigned int channel;
00065 unsigned int buffer;
00066 unsigned int* packet_sizes;
00067
00068 };
00069
00070 struct video1394_wait {
00071 unsigned int channel;
00072 unsigned int buffer;
00073 struct timeval filltime;
00074 };
00075
00076
00077 #endif