~ubuntu-branches/ubuntu/quantal/gst-plugins-bad0.10/quantal-proposed

« back to all changes in this revision

Viewing changes to sys/linsys/include/sdivideo.h

  • Committer: Bazaar Package Importer
  • Author(s): Ken VanDine
  • Date: 2011-07-19 14:32:43 UTC
  • mfrom: (18.4.21 sid)
  • Revision ID: james.westby@ubuntu.com-20110719143243-p7pnkh45akfp0ihk
Tags: 0.10.22-2ubuntu1
* Rebased on debian unstable, remaining changes:
  - debian/gstreamer-plugins-bad.install
    * don't include dtmf, liveadder, rtpmux, autoconvert and shm, we include 
      them in -good

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/* sdivideo.h
 
2
 *
 
3
 * Shared header file for the Linux user-space API for
 
4
 * Linear Systems Ltd. SMPTE 292M and SMPTE 259M-C interface boards.
 
5
 *
 
6
 * Copyright (C) 2009-2010 Linear Systems Ltd.
 
7
 *
 
8
 * Redistribution and use in source and binary forms, with or without
 
9
 * modification, are permitted provided that the following conditions are met:
 
10
 *
 
11
 *   1. Redistributions of source code must retain the above copyright notice,
 
12
 *      this list of conditions and the following disclaimer.
 
13
 *
 
14
 *   2. Redistributions in binary form must reproduce the above copyright
 
15
 *      notice, this list of conditions and the following disclaimer in the
 
16
 *      documentation and/or other materials provided with the distribution.
 
17
 *
 
18
 *   3. Neither the name of Linear Systems Ltd. nor the names of its
 
19
 *      contributors may be used to endorse or promote products derived from
 
20
 *      this software without specific prior written permission.
 
21
 *
 
22
 * THIS SOFTWARE IS PROVIDED BY LINEAR SYSTEMS LTD. "AS IS" AND ANY
 
23
 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 
24
 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 
25
 * ARE DISCLAIMED. IN NO EVENT SHALL LINEAR SYSTEMS LTD. OR CONTRIBUTORS
 
26
 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
 
27
 * OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
 
28
 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
 
29
 * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
 
30
 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
 
31
 * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
 
32
 * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
33
 *
 
34
 * Linear Systems can be contacted at <http://www.linsys.ca/>.
 
35
 *
 
36
 */
 
37
 
 
38
#ifndef _SDIVIDEO_H
 
39
#define _SDIVIDEO_H
 
40
 
 
41
/* Driver info */
 
42
#define SDIVIDEO_DRIVER_NAME "sdivideo"
 
43
 
 
44
#define SDIVIDEO_MAJOR 0        /* Set to 0 for dynamic allocation.
 
45
                         * See /usr/src/linux/Documentation/devices.txt */
 
46
 
 
47
#define SDIVIDEO_TX_BUFFERS_MIN 2 /* This must be at least 2 */
 
48
/* The minimum transmit buffer size must be positive, divisible by 4,
 
49
 * and large enough that the buffers aren't transferred to the onboard FIFOs
 
50
 * too quickly for the machine to handle the interrupts.
 
51
 * This is especially a problem at startup, when the FIFOs are empty.
 
52
 * Relevant factors include onboard FIFO size, PCI bus throughput,
 
53
 * processor speed, and interrupt latency. */
 
54
#define SDIVIDEO_TX_BUFSIZE_MIN 1024
 
55
#define SDIVIDEO_RX_BUFFERS_MIN 2 /* This must be at least 2 */
 
56
#define SDIVIDEO_RX_BUFSIZE_MIN 8 /* This must be positive and divisible by 4 */
 
57
 
 
58
#define SDIVIDEO_TX_BUFFERS 30 /* This must be at least 2 */
 
59
#define SDIVIDEO_TX_BUFSIZE 1843200 /* This must be positive and divisible by 4 */
 
60
#define SDIVIDEO_RX_BUFFERS 30 /* This must be at least 2 */
 
61
#define SDIVIDEO_RX_BUFSIZE 1843200 /* This must be positive and divisible by 4 */
 
62
 
 
63
/* Ioctl () definitions */
 
64
#define SDIVIDEO_IOC_MAGIC '=' /* This ioctl magic number is currently free. See
 
65
                           * /usr/src/linux/Documentation/ioctl-number.txt */
 
66
 
 
67
#define SDIVIDEO_IOC_TXGETCAP           _IOR(SDIVIDEO_IOC_MAGIC, 1, unsigned int)
 
68
#define SDIVIDEO_IOC_TXGETEVENTS        _IOR(SDIVIDEO_IOC_MAGIC, 2, unsigned int)
 
69
#define SDIVIDEO_IOC_TXGETBUFLEVEL      _IOR(SDIVIDEO_IOC_MAGIC, 3, unsigned int)
 
70
#define SDIVIDEO_IOC_TXGETTXD           _IOR(SDIVIDEO_IOC_MAGIC, 4, int)
 
71
 
 
72
#define SDIVIDEO_IOC_RXGETCAP           _IOR(SDIVIDEO_IOC_MAGIC, 65, unsigned int)
 
73
#define SDIVIDEO_IOC_RXGETEVENTS        _IOR(SDIVIDEO_IOC_MAGIC, 66, unsigned int)
 
74
#define SDIVIDEO_IOC_RXGETBUFLEVEL      _IOR(SDIVIDEO_IOC_MAGIC, 67, unsigned int)
 
75
#define SDIVIDEO_IOC_RXGETCARRIER       _IOR(SDIVIDEO_IOC_MAGIC, 68, int)
 
76
#define SDIVIDEO_IOC_RXGETSTATUS        _IOR(SDIVIDEO_IOC_MAGIC, 69, int)
 
77
#define SDIVIDEO_IOC_RXGETYCRCERROR     _IOR(SDIVIDEO_IOC_MAGIC, 70, unsigned int)
 
78
#define SDIVIDEO_IOC_RXGETCCRCERROR     _IOR(SDIVIDEO_IOC_MAGIC, 71, unsigned int)
 
79
#define SDIVIDEO_IOC_RXGETVIDSTATUS     _IOR(SDIVIDEO_IOC_MAGIC, 72, unsigned int)
 
80
 
 
81
#define SDIVIDEO_IOC_GETID              _IOR(SDIVIDEO_IOC_MAGIC, 129, unsigned int)
 
82
#define SDIVIDEO_IOC_GETVERSION         _IOR(SDIVIDEO_IOC_MAGIC, 130, unsigned int)
 
83
#define SDIVIDEO_IOC_QBUF               _IOW(SDIVIDEO_IOC_MAGIC, 131, unsigned int)
 
84
#define SDIVIDEO_IOC_DQBUF              _IOW(SDIVIDEO_IOC_MAGIC, 132, unsigned int)
 
85
 
 
86
/* Transmitter event flag bit locations */
 
87
#define SDIVIDEO_EVENT_TX_BUFFER_ORDER  0
 
88
#define SDIVIDEO_EVENT_TX_BUFFER        (1 << SDIVIDEO_EVENT_TX_BUFFER_ORDER)
 
89
#define SDIVIDEO_EVENT_TX_FIFO_ORDER    1
 
90
#define SDIVIDEO_EVENT_TX_FIFO          (1 << SDIVIDEO_EVENT_TX_FIFO_ORDER)
 
91
#define SDIVIDEO_EVENT_TX_DATA_ORDER    2
 
92
#define SDIVIDEO_EVENT_TX_DATA          (1 << SDIVIDEO_EVENT_TX_DATA_ORDER)
 
93
 
 
94
/* Receiver event flag bit locations */
 
95
#define SDIVIDEO_EVENT_RX_BUFFER_ORDER  0
 
96
#define SDIVIDEO_EVENT_RX_BUFFER        (1 << SDIVIDEO_EVENT_RX_BUFFER_ORDER)
 
97
#define SDIVIDEO_EVENT_RX_FIFO_ORDER    1
 
98
#define SDIVIDEO_EVENT_RX_FIFO          (1 << SDIVIDEO_EVENT_RX_FIFO_ORDER)
 
99
#define SDIVIDEO_EVENT_RX_CARRIER_ORDER 2
 
100
#define SDIVIDEO_EVENT_RX_CARRIER       (1 << SDIVIDEO_EVENT_RX_CARRIER_ORDER)
 
101
#define SDIVIDEO_EVENT_RX_DATA_ORDER    3
 
102
#define SDIVIDEO_EVENT_RX_DATA          (1 << SDIVIDEO_EVENT_RX_DATA_ORDER)
 
103
 
 
104
/* Interface capabilities */
 
105
#define SDIVIDEO_CAP_RX_CD              0x00000001
 
106
#define SDIVIDEO_CAP_RX_DATA            0x00000002
 
107
#define SDIVIDEO_CAP_RX_ERR_COUNT       0x00000004
 
108
#define SDIVIDEO_CAP_RX_VBI             0x00000008
 
109
#define SDIVIDEO_CAP_RX_RAWMODE         0x00000010
 
110
#define SDIVIDEO_CAP_RX_DEINTERLACING   0x00000020
 
111
 
 
112
/* Transmitter clock source settings */
 
113
#define SDIVIDEO_CTL_TX_CLKSRC_ONBOARD  0
 
114
#define SDIVIDEO_CTL_TX_CLKSRC_NTSC     1
 
115
#define SDIVIDEO_CTL_TX_CLKSRC_PAL      2
 
116
 
 
117
/* Mode settings */
 
118
#define SDIVIDEO_CTL_MODE_UYVY                  0
 
119
#define SDIVIDEO_CTL_MODE_V210                  1
 
120
#define SDIVIDEO_CTL_MODE_V210_DEINTERLACE      2
 
121
#define SDIVIDEO_CTL_MODE_RAW                   3
 
122
 
 
123
/* Frame mode settings */
 
124
#define SDIVIDEO_CTL_UNLOCKED                           0
 
125
#define SDIVIDEO_CTL_SMPTE_125M_486I_29_97HZ            1
 
126
#define SDIVIDEO_CTL_BT_601_576I_25HZ                   2
 
127
#define SDIVIDEO_CTL_SMPTE_267M_486I_29_97HZ            3
 
128
 
 
129
#define SDIVIDEO_CTL_SMPTE_260M_1035I_30HZ              5
 
130
#define SDIVIDEO_CTL_SMPTE_260M_1035I_29_97HZ           6
 
131
#define SDIVIDEO_CTL_SMPTE_295M_1080I_25HZ              7
 
132
#define SDIVIDEO_CTL_SMPTE_274M_1080I_30HZ              8
 
133
#define SDIVIDEO_CTL_SMPTE_274M_1080PSF_30HZ            9
 
134
#define SDIVIDEO_CTL_SMPTE_274M_1080I_29_97HZ           10
 
135
#define SDIVIDEO_CTL_SMPTE_274M_1080PSF_29_97HZ         11
 
136
#define SDIVIDEO_CTL_SMPTE_274M_1080I_25HZ              12
 
137
#define SDIVIDEO_CTL_SMPTE_274M_1080PSF_25HZ            13
 
138
#define SDIVIDEO_CTL_SMPTE_274M_1080PSF_24HZ            14
 
139
#define SDIVIDEO_CTL_SMPTE_274M_1080PSF_23_98HZ         15
 
140
#define SDIVIDEO_CTL_SMPTE_274M_1080P_30HZ              16
 
141
#define SDIVIDEO_CTL_SMPTE_274M_1080P_29_97HZ           17
 
142
#define SDIVIDEO_CTL_SMPTE_274M_1080P_25HZ              18
 
143
#define SDIVIDEO_CTL_SMPTE_274M_1080P_24HZ              19
 
144
#define SDIVIDEO_CTL_SMPTE_274M_1080P_23_98HZ           20
 
145
#define SDIVIDEO_CTL_SMPTE_296M_720P_60HZ               21
 
146
#define SDIVIDEO_CTL_SMPTE_296M_720P_59_94HZ            22
 
147
#define SDIVIDEO_CTL_SMPTE_296M_720P_50HZ               23
 
148
#define SDIVIDEO_CTL_SMPTE_296M_720P_30HZ               24
 
149
#define SDIVIDEO_CTL_SMPTE_296M_720P_29_97HZ            25
 
150
#define SDIVIDEO_CTL_SMPTE_296M_720P_25HZ               26
 
151
#define SDIVIDEO_CTL_SMPTE_296M_720P_24HZ               27
 
152
#define SDIVIDEO_CTL_SMPTE_296M_720P_23_98HZ            28
 
153
 
 
154
#endif
 
155