1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52 #ifndef __SND_COMPRESS_PARAMS_H
53 #define __SND_COMPRESS_PARAMS_H
54
55 #include <linux/types.h>
56
57
58 #define MAX_NUM_CODECS 32
59 #define MAX_NUM_CODEC_DESCRIPTORS 32
60 #define MAX_NUM_BITRATES 32
61 #define MAX_NUM_SAMPLE_RATES 32
62
63
64 #define SND_AUDIOCODEC_PCM ((__u32) 0x00000001)
65 #define SND_AUDIOCODEC_MP3 ((__u32) 0x00000002)
66 #define SND_AUDIOCODEC_AMR ((__u32) 0x00000003)
67 #define SND_AUDIOCODEC_AMRWB ((__u32) 0x00000004)
68 #define SND_AUDIOCODEC_AMRWBPLUS ((__u32) 0x00000005)
69 #define SND_AUDIOCODEC_AAC ((__u32) 0x00000006)
70 #define SND_AUDIOCODEC_WMA ((__u32) 0x00000007)
71 #define SND_AUDIOCODEC_REAL ((__u32) 0x00000008)
72 #define SND_AUDIOCODEC_VORBIS ((__u32) 0x00000009)
73 #define SND_AUDIOCODEC_FLAC ((__u32) 0x0000000A)
74 #define SND_AUDIOCODEC_IEC61937 ((__u32) 0x0000000B)
75 #define SND_AUDIOCODEC_G723_1 ((__u32) 0x0000000C)
76 #define SND_AUDIOCODEC_G729 ((__u32) 0x0000000D)
77 #define SND_AUDIOCODEC_BESPOKE ((__u32) 0x0000000E)
78 #define SND_AUDIOCODEC_MAX SND_AUDIOCODEC_BESPOKE
79
80
81
82
83
84
85
86 #define SND_AUDIOPROFILE_PCM ((__u32) 0x00000001)
87
88
89 #define SND_AUDIOCHANMODE_MP3_MONO ((__u32) 0x00000001)
90 #define SND_AUDIOCHANMODE_MP3_STEREO ((__u32) 0x00000002)
91 #define SND_AUDIOCHANMODE_MP3_JOINTSTEREO ((__u32) 0x00000004)
92 #define SND_AUDIOCHANMODE_MP3_DUAL ((__u32) 0x00000008)
93
94 #define SND_AUDIOPROFILE_AMR ((__u32) 0x00000001)
95
96
97 #define SND_AUDIOMODE_AMR_DTX_OFF ((__u32) 0x00000001)
98 #define SND_AUDIOMODE_AMR_VAD1 ((__u32) 0x00000002)
99 #define SND_AUDIOMODE_AMR_VAD2 ((__u32) 0x00000004)
100
101 #define SND_AUDIOSTREAMFORMAT_UNDEFINED ((__u32) 0x00000000)
102 #define SND_AUDIOSTREAMFORMAT_CONFORMANCE ((__u32) 0x00000001)
103 #define SND_AUDIOSTREAMFORMAT_IF1 ((__u32) 0x00000002)
104 #define SND_AUDIOSTREAMFORMAT_IF2 ((__u32) 0x00000004)
105 #define SND_AUDIOSTREAMFORMAT_FSF ((__u32) 0x00000008)
106 #define SND_AUDIOSTREAMFORMAT_RTPPAYLOAD ((__u32) 0x00000010)
107 #define SND_AUDIOSTREAMFORMAT_ITU ((__u32) 0x00000020)
108
109 #define SND_AUDIOPROFILE_AMRWB ((__u32) 0x00000001)
110
111
112 #define SND_AUDIOMODE_AMRWB_DTX_OFF ((__u32) 0x00000001)
113 #define SND_AUDIOMODE_AMRWB_VAD1 ((__u32) 0x00000002)
114 #define SND_AUDIOMODE_AMRWB_VAD2 ((__u32) 0x00000004)
115
116 #define SND_AUDIOPROFILE_AMRWBPLUS ((__u32) 0x00000001)
117
118 #define SND_AUDIOPROFILE_AAC ((__u32) 0x00000001)
119
120
121 #define SND_AUDIOMODE_AAC_MAIN ((__u32) 0x00000001)
122 #define SND_AUDIOMODE_AAC_LC ((__u32) 0x00000002)
123 #define SND_AUDIOMODE_AAC_SSR ((__u32) 0x00000004)
124 #define SND_AUDIOMODE_AAC_LTP ((__u32) 0x00000008)
125 #define SND_AUDIOMODE_AAC_HE ((__u32) 0x00000010)
126 #define SND_AUDIOMODE_AAC_SCALABLE ((__u32) 0x00000020)
127 #define SND_AUDIOMODE_AAC_ERLC ((__u32) 0x00000040)
128 #define SND_AUDIOMODE_AAC_LD ((__u32) 0x00000080)
129 #define SND_AUDIOMODE_AAC_HE_PS ((__u32) 0x00000100)
130 #define SND_AUDIOMODE_AAC_HE_MPS ((__u32) 0x00000200)
131
132
133 #define SND_AUDIOSTREAMFORMAT_MP2ADTS ((__u32) 0x00000001)
134 #define SND_AUDIOSTREAMFORMAT_MP4ADTS ((__u32) 0x00000002)
135 #define SND_AUDIOSTREAMFORMAT_MP4LOAS ((__u32) 0x00000004)
136 #define SND_AUDIOSTREAMFORMAT_MP4LATM ((__u32) 0x00000008)
137 #define SND_AUDIOSTREAMFORMAT_ADIF ((__u32) 0x00000010)
138 #define SND_AUDIOSTREAMFORMAT_MP4FF ((__u32) 0x00000020)
139 #define SND_AUDIOSTREAMFORMAT_RAW ((__u32) 0x00000040)
140
141 #define SND_AUDIOPROFILE_WMA7 ((__u32) 0x00000001)
142 #define SND_AUDIOPROFILE_WMA8 ((__u32) 0x00000002)
143 #define SND_AUDIOPROFILE_WMA9 ((__u32) 0x00000004)
144 #define SND_AUDIOPROFILE_WMA10 ((__u32) 0x00000008)
145
146 #define SND_AUDIOMODE_WMA_LEVEL1 ((__u32) 0x00000001)
147 #define SND_AUDIOMODE_WMA_LEVEL2 ((__u32) 0x00000002)
148 #define SND_AUDIOMODE_WMA_LEVEL3 ((__u32) 0x00000004)
149 #define SND_AUDIOMODE_WMA_LEVEL4 ((__u32) 0x00000008)
150 #define SND_AUDIOMODE_WMAPRO_LEVELM0 ((__u32) 0x00000010)
151 #define SND_AUDIOMODE_WMAPRO_LEVELM1 ((__u32) 0x00000020)
152 #define SND_AUDIOMODE_WMAPRO_LEVELM2 ((__u32) 0x00000040)
153 #define SND_AUDIOMODE_WMAPRO_LEVELM3 ((__u32) 0x00000080)
154
155 #define SND_AUDIOSTREAMFORMAT_WMA_ASF ((__u32) 0x00000001)
156
157
158
159
160 #define SND_AUDIOSTREAMFORMAT_WMA_NOASF_HDR ((__u32) 0x00000002)
161
162 #define SND_AUDIOPROFILE_REALAUDIO ((__u32) 0x00000001)
163
164 #define SND_AUDIOMODE_REALAUDIO_G2 ((__u32) 0x00000001)
165 #define SND_AUDIOMODE_REALAUDIO_8 ((__u32) 0x00000002)
166 #define SND_AUDIOMODE_REALAUDIO_10 ((__u32) 0x00000004)
167 #define SND_AUDIOMODE_REALAUDIO_SURROUND ((__u32) 0x00000008)
168
169 #define SND_AUDIOPROFILE_VORBIS ((__u32) 0x00000001)
170
171 #define SND_AUDIOMODE_VORBIS ((__u32) 0x00000001)
172
173 #define SND_AUDIOPROFILE_FLAC ((__u32) 0x00000001)
174
175
176
177
178
179 #define SND_AUDIOMODE_FLAC_LEVEL0 ((__u32) 0x00000001)
180 #define SND_AUDIOMODE_FLAC_LEVEL1 ((__u32) 0x00000002)
181 #define SND_AUDIOMODE_FLAC_LEVEL2 ((__u32) 0x00000004)
182 #define SND_AUDIOMODE_FLAC_LEVEL3 ((__u32) 0x00000008)
183 #define SND_AUDIOMODE_FLAC_LEVEL4 ((__u32) 0x00000010)
184 #define SND_AUDIOMODE_FLAC_LEVEL5 ((__u32) 0x00000020)
185 #define SND_AUDIOMODE_FLAC_LEVEL6 ((__u32) 0x00000040)
186 #define SND_AUDIOMODE_FLAC_LEVEL7 ((__u32) 0x00000080)
187 #define SND_AUDIOMODE_FLAC_LEVEL8 ((__u32) 0x00000100)
188
189 #define SND_AUDIOSTREAMFORMAT_FLAC ((__u32) 0x00000001)
190 #define SND_AUDIOSTREAMFORMAT_FLAC_OGG ((__u32) 0x00000002)
191
192
193 #define SND_AUDIOPROFILE_IEC61937 ((__u32) 0x00000001)
194
195 #define SND_AUDIOPROFILE_IEC61937_SPDIF ((__u32) 0x00000002)
196
197
198
199
200
201
202 #define SND_AUDIOMODE_IEC_REF_STREAM_HEADER ((__u32) 0x00000000)
203 #define SND_AUDIOMODE_IEC_LPCM ((__u32) 0x00000001)
204 #define SND_AUDIOMODE_IEC_AC3 ((__u32) 0x00000002)
205 #define SND_AUDIOMODE_IEC_MPEG1 ((__u32) 0x00000004)
206 #define SND_AUDIOMODE_IEC_MP3 ((__u32) 0x00000008)
207 #define SND_AUDIOMODE_IEC_MPEG2 ((__u32) 0x00000010)
208 #define SND_AUDIOMODE_IEC_AACLC ((__u32) 0x00000020)
209 #define SND_AUDIOMODE_IEC_DTS ((__u32) 0x00000040)
210 #define SND_AUDIOMODE_IEC_ATRAC ((__u32) 0x00000080)
211 #define SND_AUDIOMODE_IEC_SACD ((__u32) 0x00000100)
212 #define SND_AUDIOMODE_IEC_EAC3 ((__u32) 0x00000200)
213 #define SND_AUDIOMODE_IEC_DTS_HD ((__u32) 0x00000400)
214 #define SND_AUDIOMODE_IEC_MLP ((__u32) 0x00000800)
215 #define SND_AUDIOMODE_IEC_DST ((__u32) 0x00001000)
216 #define SND_AUDIOMODE_IEC_WMAPRO ((__u32) 0x00002000)
217 #define SND_AUDIOMODE_IEC_REF_CXT ((__u32) 0x00004000)
218 #define SND_AUDIOMODE_IEC_HE_AAC ((__u32) 0x00008000)
219 #define SND_AUDIOMODE_IEC_HE_AAC2 ((__u32) 0x00010000)
220 #define SND_AUDIOMODE_IEC_MPEG_SURROUND ((__u32) 0x00020000)
221
222 #define SND_AUDIOPROFILE_G723_1 ((__u32) 0x00000001)
223
224 #define SND_AUDIOMODE_G723_1_ANNEX_A ((__u32) 0x00000001)
225 #define SND_AUDIOMODE_G723_1_ANNEX_B ((__u32) 0x00000002)
226 #define SND_AUDIOMODE_G723_1_ANNEX_C ((__u32) 0x00000004)
227
228 #define SND_AUDIOPROFILE_G729 ((__u32) 0x00000001)
229
230 #define SND_AUDIOMODE_G729_ANNEX_A ((__u32) 0x00000001)
231 #define SND_AUDIOMODE_G729_ANNEX_B ((__u32) 0x00000002)
232
233
234
235
236
237 #define SND_RATECONTROLMODE_CONSTANTBITRATE ((__u32) 0x00000001)
238 #define SND_RATECONTROLMODE_VARIABLEBITRATE ((__u32) 0x00000002)
239
240
241
242 struct snd_enc_wma {
243 __u32 super_block_align;
244 };
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267 struct snd_enc_vorbis {
268 __s32 quality;
269 __u32 managed;
270 __u32 max_bit_rate;
271 __u32 min_bit_rate;
272 __u32 downmix;
273 } __attribute__((packed, aligned(4)));
274
275
276
277
278
279
280
281
282
283
284
285 struct snd_enc_real {
286 __u32 quant_bits;
287 __u32 start_region;
288 __u32 num_regions;
289 } __attribute__((packed, aligned(4)));
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310 struct snd_enc_flac {
311 __u32 num;
312 __u32 gain;
313 } __attribute__((packed, aligned(4)));
314
315 struct snd_enc_generic {
316 __u32 bw;
317 __s32 reserved[15];
318 } __attribute__((packed, aligned(4)));
319
320 union snd_codec_options {
321 struct snd_enc_wma wma;
322 struct snd_enc_vorbis vorbis;
323 struct snd_enc_real real;
324 struct snd_enc_flac flac;
325 struct snd_enc_generic generic;
326 } __attribute__((packed, aligned(4)));
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351 struct snd_codec_desc {
352 __u32 max_ch;
353 __u32 sample_rates[MAX_NUM_SAMPLE_RATES];
354 __u32 num_sample_rates;
355 __u32 bit_rate[MAX_NUM_BITRATES];
356 __u32 num_bitrates;
357 __u32 rate_control;
358 __u32 profiles;
359 __u32 modes;
360 __u32 formats;
361 __u32 min_buffer;
362 __u32 reserved[15];
363 } __attribute__((packed, aligned(4)));
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390 struct snd_codec {
391 __u32 id;
392 __u32 ch_in;
393 __u32 ch_out;
394 __u32 sample_rate;
395 __u32 bit_rate;
396 __u32 rate_control;
397 __u32 profile;
398 __u32 level;
399 __u32 ch_mode;
400 __u32 format;
401 __u32 align;
402 union snd_codec_options options;
403 __u32 reserved[3];
404 } __attribute__((packed, aligned(4)));
405
406 #endif