annotate libaf/control.h @ 10150:b34ede44dada

new filter for dropping (near-)duplicate frames. can be used to fix movies that were originally telecined but deinterlaced improperly, or to improve quality when encoding at very low bitrates.
author rfelker
date Thu, 22 May 2003 12:38:42 +0000
parents a1578b329cc0
children 2167ac4c1d72
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
7745
1d3a3dc1f488 Adding volume control and moving control() call parameters to a seperate file
anders
parents:
diff changeset
1 #ifndef __af_control_h
1d3a3dc1f488 Adding volume control and moving control() call parameters to a seperate file
anders
parents:
diff changeset
2 #define __af_control_h
1d3a3dc1f488 Adding volume control and moving control() call parameters to a seperate file
anders
parents:
diff changeset
3
1d3a3dc1f488 Adding volume control and moving control() call parameters to a seperate file
anders
parents:
diff changeset
4 /*********************************************
8607
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
5 // Control info struct.
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
6 //
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
7 // This struct is the argument in a info call to a filter.
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
8 */
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
9
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
10 // Argument types
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
11 #define AF_CONTROL_TYPE_BOOL (0x0<<0)
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
12 #define AF_CONTROL_TYPE_CHAR (0x1<<0)
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
13 #define AF_CONTROL_TYPE_INT (0x2<<0)
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
14 #define AF_CONTROL_TYPE_FLOAT (0x3<<0)
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
15 #define AF_CONTROL_TYPE_STRUCT (0x4<<0)
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
16 #define AF_CONTROL_TYPE_SPECIAL (0x5<<0) // a pointer to a function for example
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
17 #define AF_CONTROL_TYPE_MASK (0x7<<0)
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
18 // Argument geometry
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
19 #define AF_CONTROL_GEOM_SCALAR (0x0<<3)
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
20 #define AF_CONTROL_GEOM_ARRAY (0x1<<3)
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
21 #define AF_CONTROL_GEOM_MATRIX (0x2<<3)
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
22 #define AF_CONTROL_GEOM_MASK (0x3<<3)
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
23 // Argument properties
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
24 #define AF_CONTROL_PROP_READ (0x0<<5) // The argument can be read
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
25 #define AF_CONTROL_PROP_WRITE (0x1<<5) // The argument can be written
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
26 #define AF_CONTROL_PROP_SAVE (0x2<<5) // Can be saved
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
27 #define AF_CONTROL_PROP_RUNTIME (0x4<<5) // Acessable during execution
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
28 #define AF_CONTROL_PROP_CHANNEL (0x8<<5) // Argument is set per channel
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
29 #define AF_CONTROL_PROP_MASK (0xF<<5)
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
30
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
31 typedef struct af_control_info_s{
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
32 int def; // Control enumrification
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
33 char* name; // Name of argument
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
34 char* info; // Description of what it does
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
35 int flags; // Flags as defined above
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
36 float max; // Max and min value
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
37 float min; // (only aplicable on float and int)
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
38 int xdim; // 1st dimension
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
39 int ydim; // 2nd dimension (=0 for everything except matrix)
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
40 size_t sz; // Size of argument in bytes
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
41 int ch; // Channel number (for future use)
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
42 void* arg; // Data (for future use)
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
43 }af_control_info_t;
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
44
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
45
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
46 /*********************************************
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
47 // Extended control used with arguments that operates on only one
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
48 // channel at the time
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
49 */
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
50 typedef struct af_control_ext_s{
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
51 void* arg; // Argument
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
52 int ch; // Chanel number
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
53 }af_control_ext_t;
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
54
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
55 /*********************************************
7745
1d3a3dc1f488 Adding volume control and moving control() call parameters to a seperate file
anders
parents:
diff changeset
56 // Control parameters
1d3a3dc1f488 Adding volume control and moving control() call parameters to a seperate file
anders
parents:
diff changeset
57 */
1d3a3dc1f488 Adding volume control and moving control() call parameters to a seperate file
anders
parents:
diff changeset
58
1d3a3dc1f488 Adding volume control and moving control() call parameters to a seperate file
anders
parents:
diff changeset
59 /* The control system is divided into 3 levels
1d3a3dc1f488 Adding volume control and moving control() call parameters to a seperate file
anders
parents:
diff changeset
60 mandatory calls - all filters must answer to all of these
1d3a3dc1f488 Adding volume control and moving control() call parameters to a seperate file
anders
parents:
diff changeset
61 optional calls - are optional
1d3a3dc1f488 Adding volume control and moving control() call parameters to a seperate file
anders
parents:
diff changeset
62 filter specific calls - applies only to some filters
1d3a3dc1f488 Adding volume control and moving control() call parameters to a seperate file
anders
parents:
diff changeset
63 */
1d3a3dc1f488 Adding volume control and moving control() call parameters to a seperate file
anders
parents:
diff changeset
64
8607
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
65 #define AF_CONTROL_MANDATORY 0x10000000
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
66 #define AF_CONTROL_OPTIONAL 0x20000000
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
67 #define AF_CONTROL_FILTER_SPECIFIC 0x40000000
7745
1d3a3dc1f488 Adding volume control and moving control() call parameters to a seperate file
anders
parents:
diff changeset
68
1d3a3dc1f488 Adding volume control and moving control() call parameters to a seperate file
anders
parents:
diff changeset
69 // MANDATORY CALLS
1d3a3dc1f488 Adding volume control and moving control() call parameters to a seperate file
anders
parents:
diff changeset
70
1d3a3dc1f488 Adding volume control and moving control() call parameters to a seperate file
anders
parents:
diff changeset
71 /* Reinitialize filter. The optional argument contains the new
1d3a3dc1f488 Adding volume control and moving control() call parameters to a seperate file
anders
parents:
diff changeset
72 configuration in form of a af_data_t struct. If the filter does not
1d3a3dc1f488 Adding volume control and moving control() call parameters to a seperate file
anders
parents:
diff changeset
73 support the new format the struct should be changed and AF_FALSE
1d3a3dc1f488 Adding volume control and moving control() call parameters to a seperate file
anders
parents:
diff changeset
74 should be returned. If the incoming and outgoing data streams are
1d3a3dc1f488 Adding volume control and moving control() call parameters to a seperate file
anders
parents:
diff changeset
75 identical the filter can return AF_DETACH. This will remove the
1d3a3dc1f488 Adding volume control and moving control() call parameters to a seperate file
anders
parents:
diff changeset
76 filter. */
8607
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
77 #define AF_CONTROL_REINIT 0x00000100 | AF_CONTROL_MANDATORY
7745
1d3a3dc1f488 Adding volume control and moving control() call parameters to a seperate file
anders
parents:
diff changeset
78
1d3a3dc1f488 Adding volume control and moving control() call parameters to a seperate file
anders
parents:
diff changeset
79 // OPTIONAL CALLS
1d3a3dc1f488 Adding volume control and moving control() call parameters to a seperate file
anders
parents:
diff changeset
80
1d3a3dc1f488 Adding volume control and moving control() call parameters to a seperate file
anders
parents:
diff changeset
81 /* Called just after creation with the af_cfg for the stream in which
1d3a3dc1f488 Adding volume control and moving control() call parameters to a seperate file
anders
parents:
diff changeset
82 the filter resides as input parameter this call can be used by the
7993
ea0680d87f3f Changing the behavour of the commandline parameter -af to conform with -vop. Adding new commanline parameter -af-adv for advanced af options. Adding changes to volume control to support commandline parameters.
anders
parents: 7745
diff changeset
83 filter to initialize itself */
8607
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
84 #define AF_CONTROL_POST_CREATE 0x00000100 | AF_CONTROL_OPTIONAL
7745
1d3a3dc1f488 Adding volume control and moving control() call parameters to a seperate file
anders
parents:
diff changeset
85
1d3a3dc1f488 Adding volume control and moving control() call parameters to a seperate file
anders
parents:
diff changeset
86 // Called just before destruction of a filter
8607
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
87 #define AF_CONTROL_PRE_DESTROY 0x00000200 | AF_CONTROL_OPTIONAL
7745
1d3a3dc1f488 Adding volume control and moving control() call parameters to a seperate file
anders
parents:
diff changeset
88
7993
ea0680d87f3f Changing the behavour of the commandline parameter -af to conform with -vop. Adding new commanline parameter -af-adv for advanced af options. Adding changes to volume control to support commandline parameters.
anders
parents: 7745
diff changeset
89 /* Commandline parameters. If there were any commandline parameters
ea0680d87f3f Changing the behavour of the commandline parameter -af to conform with -vop. Adding new commanline parameter -af-adv for advanced af options. Adding changes to volume control to support commandline parameters.
anders
parents: 7745
diff changeset
90 for this specific filter, they will be given as a char* in the
ea0680d87f3f Changing the behavour of the commandline parameter -af to conform with -vop. Adding new commanline parameter -af-adv for advanced af options. Adding changes to volume control to support commandline parameters.
anders
parents: 7745
diff changeset
91 argument */
8607
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
92 #define AF_CONTROL_COMMAND_LINE 0x00000300 | AF_CONTROL_OPTIONAL
7993
ea0680d87f3f Changing the behavour of the commandline parameter -af to conform with -vop. Adding new commanline parameter -af-adv for advanced af options. Adding changes to volume control to support commandline parameters.
anders
parents: 7745
diff changeset
93
7745
1d3a3dc1f488 Adding volume control and moving control() call parameters to a seperate file
anders
parents:
diff changeset
94
1d3a3dc1f488 Adding volume control and moving control() call parameters to a seperate file
anders
parents:
diff changeset
95 // FILTER SPECIFIC CALLS
1d3a3dc1f488 Adding volume control and moving control() call parameters to a seperate file
anders
parents:
diff changeset
96
8607
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
97 // Basic operations: These can be ored with any of the below calls
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
98 // Set argument
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
99 #define AF_CONTROL_SET 0x00000000
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
100 // Get argument
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
101 #define AF_CONTROL_GET 0x00000001
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
102 // Get info about the control, i.e fill in everything except argument
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
103 #define AF_CONTROL_INFO 0x00000002
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
104
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
105 // Resample
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
106
7745
1d3a3dc1f488 Adding volume control and moving control() call parameters to a seperate file
anders
parents:
diff changeset
107 // Set output rate in resample
8607
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
108 #define AF_CONTROL_RESAMPLE_RATE 0x00000100 | AF_CONTROL_FILTER_SPECIFIC
7745
1d3a3dc1f488 Adding volume control and moving control() call parameters to a seperate file
anders
parents:
diff changeset
109
8607
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
110 // Enable sloppy resampling
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
111 #define AF_CONTROL_RESAMPLE_SLOPPY 0x00000200 | AF_CONTROL_FILTER_SPECIFIC
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
112
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
113 // Set resampling accuracy
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
114 #define AF_CONTROL_RESAMPLE_ACCURACY 0x00000300 | AF_CONTROL_FILTER_SPECIFIC
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
115
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
116 // Format
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
117
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
118 // Set output format bits per sample
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
119 #define AF_CONTROL_FORMAT_BPS 0x00000400 | AF_CONTROL_FILTER_SPECIFIC
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
120
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
121 // Set output format sample format
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
122 #define AF_CONTROL_FORMAT_FMT 0x00000500 | AF_CONTROL_FILTER_SPECIFIC
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
123
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
124 // Channels
7745
1d3a3dc1f488 Adding volume control and moving control() call parameters to a seperate file
anders
parents:
diff changeset
125
1d3a3dc1f488 Adding volume control and moving control() call parameters to a seperate file
anders
parents:
diff changeset
126 // Set number of output channels in channels
8607
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
127 #define AF_CONTROL_CHANNELS 0x00000600 | AF_CONTROL_FILTER_SPECIFIC
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
128
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
129 // Set number of channel routes
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
130 #define AF_CONTROL_CHANNELS_ROUTES 0x00000700 | AF_CONTROL_FILTER_SPECIFIC
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
131
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
132 // Set channel routing pair, arg is int[2] and ch is used
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
133 #define AF_CONTROL_CHANNELS_ROUTING 0x00000800 | AF_CONTROL_FILTER_SPECIFIC
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
134
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
135 // Set nuber of channel routing pairs, arg is int*
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
136 #define AF_CONTROL_CHANNELS_NR 0x00000900 | AF_CONTROL_FILTER_SPECIFIC
7745
1d3a3dc1f488 Adding volume control and moving control() call parameters to a seperate file
anders
parents:
diff changeset
137
8607
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
138 // Set make af_channels into a router
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
139 #define AF_CONTROL_CHANNELS_ROUTER 0x00000A00 | AF_CONTROL_FILTER_SPECIFIC
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
140
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
141 // Volume
7745
1d3a3dc1f488 Adding volume control and moving control() call parameters to a seperate file
anders
parents:
diff changeset
142
8607
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
143 // Turn volume control on and off, arg is int*
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
144 #define AF_CONTROL_VOLUME_ON_OFF 0x00000B00 | AF_CONTROL_FILTER_SPECIFIC
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
145
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
146 // Turn soft clipping of the volume on and off, arg is binary
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
147 #define AF_CONTROL_VOLUME_SOFTCLIP 0x00000C00 | AF_CONTROL_FILTER_SPECIFIC
7745
1d3a3dc1f488 Adding volume control and moving control() call parameters to a seperate file
anders
parents:
diff changeset
148
1d3a3dc1f488 Adding volume control and moving control() call parameters to a seperate file
anders
parents:
diff changeset
149 // Set volume level, arg is a float* with the volume for all the channels
8607
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
150 #define AF_CONTROL_VOLUME_LEVEL 0x00000D00 | AF_CONTROL_FILTER_SPECIFIC
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
151
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
152 // Probed power level for all channels, arg is a float*
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
153 #define AF_CONTROL_VOLUME_PROBE 0x00000E00 | AF_CONTROL_FILTER_SPECIFIC
7745
1d3a3dc1f488 Adding volume control and moving control() call parameters to a seperate file
anders
parents:
diff changeset
154
8607
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
155 // Maximum probed power level for all channels, arg is a float*
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
156 #define AF_CONTROL_VOLUME_PROBE_MAX 0x00000F00 | AF_CONTROL_FILTER_SPECIFIC
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
157
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
158 // Compressor/expander
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
159
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
160 // Turn compressor/expander on and off
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
161 #define AF_CONTROL_COMP_ON_OFF 0x00001000 | AF_CONTROL_FILTER_SPECIFIC
7745
1d3a3dc1f488 Adding volume control and moving control() call parameters to a seperate file
anders
parents:
diff changeset
162
8607
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
163 // Compression/expansion threshold [dB]
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
164 #define AF_CONTROL_COMP_THRESH 0x00001100 | AF_CONTROL_FILTER_SPECIFIC
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
165
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
166 // Compression/expansion attack time [ms]
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
167 #define AF_CONTROL_COMP_ATTACK 0x00001200 | AF_CONTROL_FILTER_SPECIFIC
7745
1d3a3dc1f488 Adding volume control and moving control() call parameters to a seperate file
anders
parents:
diff changeset
168
8607
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
169 // Compression/expansion release time [ms]
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
170 #define AF_CONTROL_COMP_RELEASE 0x00001300 | AF_CONTROL_FILTER_SPECIFIC
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
171
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
172 // Compression/expansion gain level [dB]
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
173 #define AF_CONTROL_COMP_RATIO 0x00001400 | AF_CONTROL_FILTER_SPECIFIC
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
174
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
175 // Noise gate
7745
1d3a3dc1f488 Adding volume control and moving control() call parameters to a seperate file
anders
parents:
diff changeset
176
8607
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
177 // Turn noise gate on an off
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
178 #define AF_CONTROL_GATE_ON_OFF 0x00001500 | AF_CONTROL_FILTER_SPECIFIC
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
179
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
180 // Noise gate threshold [dB]
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
181 #define AF_CONTROL_GATE_THRESH 0x00001600 | AF_CONTROL_FILTER_SPECIFIC
7745
1d3a3dc1f488 Adding volume control and moving control() call parameters to a seperate file
anders
parents:
diff changeset
182
8607
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
183 // Noise gate attack time [ms]
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
184 #define AF_CONTROL_GATE_ATTACK 0x00001700 | AF_CONTROL_FILTER_SPECIFIC
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
185
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
186 // Noise gate release time [ms]
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
187 #define AF_CONTROL_GATE_RELEASE 0x00001800 | AF_CONTROL_FILTER_SPECIFIC
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
188
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
189 // Noise gate release range level [dB]
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
190 #define AF_CONTROL_GATE_RANGE 0x00001900 | AF_CONTROL_FILTER_SPECIFIC
7745
1d3a3dc1f488 Adding volume control and moving control() call parameters to a seperate file
anders
parents:
diff changeset
191
8607
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
192 // Pan
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
193
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
194 // Pan levels, arg is a control_ext with a float*
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
195 #define AF_CONTROL_PAN_LEVEL 0x00001A00 | AF_CONTROL_FILTER_SPECIFIC
7745
1d3a3dc1f488 Adding volume control and moving control() call parameters to a seperate file
anders
parents:
diff changeset
196
8607
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
197 // Number of outputs from pan, arg is int*
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
198 #define AF_CONTROL_PAN_NOUT 0x00001B00 | AF_CONTROL_FILTER_SPECIFIC
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
199
8073
c0e556f9986b Adding equalizer filter + some cosmetics
anders
parents: 7993
diff changeset
200
8607
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
201 // Set equalizer gain, arg is a control_ext with a float*
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
202 #define AF_CONTROL_EQUALIZER_GAIN 0x00001C00 | AF_CONTROL_FILTER_SPECIFIC
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
203
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
204
8832
a1578b329cc0 Adding sub-woofer filter, use this filter to add a sub channel to the audio stream
anders
parents: 8607
diff changeset
205 // Delay length in ms, arg is a control_ext with a float*
8607
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
206 #define AF_CONTROL_DELAY_LEN 0x00001D00 | AF_CONTROL_FILTER_SPECIFIC
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
207
8073
c0e556f9986b Adding equalizer filter + some cosmetics
anders
parents: 7993
diff changeset
208
8832
a1578b329cc0 Adding sub-woofer filter, use this filter to add a sub channel to the audio stream
anders
parents: 8607
diff changeset
209 // Subwoofer
a1578b329cc0 Adding sub-woofer filter, use this filter to add a sub channel to the audio stream
anders
parents: 8607
diff changeset
210
a1578b329cc0 Adding sub-woofer filter, use this filter to add a sub channel to the audio stream
anders
parents: 8607
diff changeset
211 // Channel number which to insert the filtered data, arg in int*
a1578b329cc0 Adding sub-woofer filter, use this filter to add a sub channel to the audio stream
anders
parents: 8607
diff changeset
212 #define AF_CONTROL_SUB_CH 0x00001E00 | AF_CONTROL_FILTER_SPECIFIC
a1578b329cc0 Adding sub-woofer filter, use this filter to add a sub channel to the audio stream
anders
parents: 8607
diff changeset
213
a1578b329cc0 Adding sub-woofer filter, use this filter to add a sub channel to the audio stream
anders
parents: 8607
diff changeset
214 // Cutoff frequency [Hz] for lowpass filter, arg is float*
a1578b329cc0 Adding sub-woofer filter, use this filter to add a sub channel to the audio stream
anders
parents: 8607
diff changeset
215 #define AF_CONTROL_SUB_FC 0x00001F00 | AF_CONTROL_FILTER_SPECIFIC
a1578b329cc0 Adding sub-woofer filter, use this filter to add a sub channel to the audio stream
anders
parents: 8607
diff changeset
216
a1578b329cc0 Adding sub-woofer filter, use this filter to add a sub channel to the audio stream
anders
parents: 8607
diff changeset
217
7745
1d3a3dc1f488 Adding volume control and moving control() call parameters to a seperate file
anders
parents:
diff changeset
218 #endif /*__af_control_h */