• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * This header was generated from the Linux kernel headers by update_headers.py,
3  * to provide necessary information from kernel to userspace, such as constants,
4  * structures, and macros, and thus, contains no copyrightable information.
5  */
6 #ifndef __SND_COMPRESS_PARAMS_H
7 #define __SND_COMPRESS_PARAMS_H
8 #include <linux/types.h>
9 #define MAX_NUM_CODECS 32
10 #define MAX_NUM_CODEC_DESCRIPTORS 32
11 #define MAX_NUM_BITRATES 32
12 #define MAX_NUM_SAMPLE_RATES 32
13 #define SND_AUDIOCODEC_PCM                   ((__u32) 0x00000001)
14 #define SND_AUDIOCODEC_MP3                   ((__u32) 0x00000002)
15 #define SND_AUDIOCODEC_AMR                   ((__u32) 0x00000003)
16 #define SND_AUDIOCODEC_AMRWB                 ((__u32) 0x00000004)
17 #define SND_AUDIOCODEC_AMRWBPLUS             ((__u32) 0x00000005)
18 #define SND_AUDIOCODEC_AAC                   ((__u32) 0x00000006)
19 #define SND_AUDIOCODEC_WMA                   ((__u32) 0x00000007)
20 #define SND_AUDIOCODEC_REAL                  ((__u32) 0x00000008)
21 #define SND_AUDIOCODEC_VORBIS                ((__u32) 0x00000009)
22 #define SND_AUDIOCODEC_FLAC                  ((__u32) 0x0000000A)
23 #define SND_AUDIOCODEC_IEC61937              ((__u32) 0x0000000B)
24 #define SND_AUDIOCODEC_G723_1                ((__u32) 0x0000000C)
25 #define SND_AUDIOCODEC_G729                  ((__u32) 0x0000000D)
26 #define SND_AUDIOCODEC_BESPOKE               ((__u32) 0x0000000E)
27 #define SND_AUDIOCODEC_MAX                   SND_AUDIOCODEC_BESPOKE
28 #define SND_AUDIOPROFILE_PCM                 ((__u32) 0x00000001)
29 #define SND_AUDIOCHANMODE_MP3_MONO           ((__u32) 0x00000001)
30 #define SND_AUDIOCHANMODE_MP3_STEREO         ((__u32) 0x00000002)
31 #define SND_AUDIOCHANMODE_MP3_JOINTSTEREO    ((__u32) 0x00000004)
32 #define SND_AUDIOCHANMODE_MP3_DUAL           ((__u32) 0x00000008)
33 #define SND_AUDIOPROFILE_AMR                 ((__u32) 0x00000001)
34 #define SND_AUDIOMODE_AMR_DTX_OFF            ((__u32) 0x00000001)
35 #define SND_AUDIOMODE_AMR_VAD1               ((__u32) 0x00000002)
36 #define SND_AUDIOMODE_AMR_VAD2               ((__u32) 0x00000004)
37 #define SND_AUDIOSTREAMFORMAT_UNDEFINED	     ((__u32) 0x00000000)
38 #define SND_AUDIOSTREAMFORMAT_CONFORMANCE    ((__u32) 0x00000001)
39 #define SND_AUDIOSTREAMFORMAT_IF1            ((__u32) 0x00000002)
40 #define SND_AUDIOSTREAMFORMAT_IF2            ((__u32) 0x00000004)
41 #define SND_AUDIOSTREAMFORMAT_FSF            ((__u32) 0x00000008)
42 #define SND_AUDIOSTREAMFORMAT_RTPPAYLOAD     ((__u32) 0x00000010)
43 #define SND_AUDIOSTREAMFORMAT_ITU            ((__u32) 0x00000020)
44 #define SND_AUDIOPROFILE_AMRWB               ((__u32) 0x00000001)
45 #define SND_AUDIOMODE_AMRWB_DTX_OFF          ((__u32) 0x00000001)
46 #define SND_AUDIOMODE_AMRWB_VAD1             ((__u32) 0x00000002)
47 #define SND_AUDIOMODE_AMRWB_VAD2             ((__u32) 0x00000004)
48 #define SND_AUDIOPROFILE_AMRWBPLUS           ((__u32) 0x00000001)
49 #define SND_AUDIOPROFILE_AAC                 ((__u32) 0x00000001)
50 #define SND_AUDIOMODE_AAC_MAIN               ((__u32) 0x00000001)
51 #define SND_AUDIOMODE_AAC_LC                 ((__u32) 0x00000002)
52 #define SND_AUDIOMODE_AAC_SSR                ((__u32) 0x00000004)
53 #define SND_AUDIOMODE_AAC_LTP                ((__u32) 0x00000008)
54 #define SND_AUDIOMODE_AAC_HE                 ((__u32) 0x00000010)
55 #define SND_AUDIOMODE_AAC_SCALABLE           ((__u32) 0x00000020)
56 #define SND_AUDIOMODE_AAC_ERLC               ((__u32) 0x00000040)
57 #define SND_AUDIOMODE_AAC_LD                 ((__u32) 0x00000080)
58 #define SND_AUDIOMODE_AAC_HE_PS              ((__u32) 0x00000100)
59 #define SND_AUDIOMODE_AAC_HE_MPS             ((__u32) 0x00000200)
60 #define SND_AUDIOSTREAMFORMAT_MP2ADTS        ((__u32) 0x00000001)
61 #define SND_AUDIOSTREAMFORMAT_MP4ADTS        ((__u32) 0x00000002)
62 #define SND_AUDIOSTREAMFORMAT_MP4LOAS        ((__u32) 0x00000004)
63 #define SND_AUDIOSTREAMFORMAT_MP4LATM        ((__u32) 0x00000008)
64 #define SND_AUDIOSTREAMFORMAT_ADIF           ((__u32) 0x00000010)
65 #define SND_AUDIOSTREAMFORMAT_MP4FF          ((__u32) 0x00000020)
66 #define SND_AUDIOSTREAMFORMAT_RAW            ((__u32) 0x00000040)
67 #define SND_AUDIOPROFILE_WMA7                ((__u32) 0x00000001)
68 #define SND_AUDIOPROFILE_WMA8                ((__u32) 0x00000002)
69 #define SND_AUDIOPROFILE_WMA9                ((__u32) 0x00000004)
70 #define SND_AUDIOPROFILE_WMA10               ((__u32) 0x00000008)
71 #define SND_AUDIOMODE_WMA_LEVEL1             ((__u32) 0x00000001)
72 #define SND_AUDIOMODE_WMA_LEVEL2             ((__u32) 0x00000002)
73 #define SND_AUDIOMODE_WMA_LEVEL3             ((__u32) 0x00000004)
74 #define SND_AUDIOMODE_WMA_LEVEL4             ((__u32) 0x00000008)
75 #define SND_AUDIOMODE_WMAPRO_LEVELM0         ((__u32) 0x00000010)
76 #define SND_AUDIOMODE_WMAPRO_LEVELM1         ((__u32) 0x00000020)
77 #define SND_AUDIOMODE_WMAPRO_LEVELM2         ((__u32) 0x00000040)
78 #define SND_AUDIOMODE_WMAPRO_LEVELM3         ((__u32) 0x00000080)
79 #define SND_AUDIOSTREAMFORMAT_WMA_ASF        ((__u32) 0x00000001)
80 #define SND_AUDIOSTREAMFORMAT_WMA_NOASF_HDR  ((__u32) 0x00000002)
81 #define SND_AUDIOPROFILE_REALAUDIO           ((__u32) 0x00000001)
82 #define SND_AUDIOMODE_REALAUDIO_G2           ((__u32) 0x00000001)
83 #define SND_AUDIOMODE_REALAUDIO_8            ((__u32) 0x00000002)
84 #define SND_AUDIOMODE_REALAUDIO_10           ((__u32) 0x00000004)
85 #define SND_AUDIOMODE_REALAUDIO_SURROUND     ((__u32) 0x00000008)
86 #define SND_AUDIOPROFILE_VORBIS              ((__u32) 0x00000001)
87 #define SND_AUDIOMODE_VORBIS                 ((__u32) 0x00000001)
88 #define SND_AUDIOPROFILE_FLAC                ((__u32) 0x00000001)
89 #define SND_AUDIOMODE_FLAC_LEVEL0            ((__u32) 0x00000001)
90 #define SND_AUDIOMODE_FLAC_LEVEL1            ((__u32) 0x00000002)
91 #define SND_AUDIOMODE_FLAC_LEVEL2            ((__u32) 0x00000004)
92 #define SND_AUDIOMODE_FLAC_LEVEL3            ((__u32) 0x00000008)
93 #define SND_AUDIOMODE_FLAC_LEVEL4            ((__u32) 0x00000010)
94 #define SND_AUDIOMODE_FLAC_LEVEL5            ((__u32) 0x00000020)
95 #define SND_AUDIOMODE_FLAC_LEVEL6            ((__u32) 0x00000040)
96 #define SND_AUDIOMODE_FLAC_LEVEL7            ((__u32) 0x00000080)
97 #define SND_AUDIOMODE_FLAC_LEVEL8            ((__u32) 0x00000100)
98 #define SND_AUDIOSTREAMFORMAT_FLAC           ((__u32) 0x00000001)
99 #define SND_AUDIOSTREAMFORMAT_FLAC_OGG       ((__u32) 0x00000002)
100 #define SND_AUDIOPROFILE_IEC61937            ((__u32) 0x00000001)
101 #define SND_AUDIOPROFILE_IEC61937_SPDIF      ((__u32) 0x00000002)
102 #define SND_AUDIOMODE_IEC_REF_STREAM_HEADER  ((__u32) 0x00000000)
103 #define SND_AUDIOMODE_IEC_LPCM		     ((__u32) 0x00000001)
104 #define SND_AUDIOMODE_IEC_AC3		     ((__u32) 0x00000002)
105 #define SND_AUDIOMODE_IEC_MPEG1		     ((__u32) 0x00000004)
106 #define SND_AUDIOMODE_IEC_MP3		     ((__u32) 0x00000008)
107 #define SND_AUDIOMODE_IEC_MPEG2		     ((__u32) 0x00000010)
108 #define SND_AUDIOMODE_IEC_AACLC		     ((__u32) 0x00000020)
109 #define SND_AUDIOMODE_IEC_DTS		     ((__u32) 0x00000040)
110 #define SND_AUDIOMODE_IEC_ATRAC		     ((__u32) 0x00000080)
111 #define SND_AUDIOMODE_IEC_SACD		     ((__u32) 0x00000100)
112 #define SND_AUDIOMODE_IEC_EAC3		     ((__u32) 0x00000200)
113 #define SND_AUDIOMODE_IEC_DTS_HD	     ((__u32) 0x00000400)
114 #define SND_AUDIOMODE_IEC_MLP		     ((__u32) 0x00000800)
115 #define SND_AUDIOMODE_IEC_DST		     ((__u32) 0x00001000)
116 #define SND_AUDIOMODE_IEC_WMAPRO	     ((__u32) 0x00002000)
117 #define SND_AUDIOMODE_IEC_REF_CXT            ((__u32) 0x00004000)
118 #define SND_AUDIOMODE_IEC_HE_AAC	     ((__u32) 0x00008000)
119 #define SND_AUDIOMODE_IEC_HE_AAC2	     ((__u32) 0x00010000)
120 #define SND_AUDIOMODE_IEC_MPEG_SURROUND	     ((__u32) 0x00020000)
121 #define SND_AUDIOPROFILE_G723_1              ((__u32) 0x00000001)
122 #define SND_AUDIOMODE_G723_1_ANNEX_A         ((__u32) 0x00000001)
123 #define SND_AUDIOMODE_G723_1_ANNEX_B         ((__u32) 0x00000002)
124 #define SND_AUDIOMODE_G723_1_ANNEX_C         ((__u32) 0x00000004)
125 #define SND_AUDIOPROFILE_G729                ((__u32) 0x00000001)
126 #define SND_AUDIOMODE_G729_ANNEX_A           ((__u32) 0x00000001)
127 #define SND_AUDIOMODE_G729_ANNEX_B           ((__u32) 0x00000002)
128 #define SND_RATECONTROLMODE_CONSTANTBITRATE  ((__u32) 0x00000001)
129 #define SND_RATECONTROLMODE_VARIABLEBITRATE  ((__u32) 0x00000002)
130 struct snd_enc_wma {
131 	__u32 super_block_align;
132 };
133 struct snd_enc_vorbis {
134 	__s32 quality;
135 	__u32 managed;
136 	__u32 max_bit_rate;
137 	__u32 min_bit_rate;
138 	__u32 downmix;
139 } __attribute__((packed, aligned(4)));
140 struct snd_enc_real {
141 	__u32 quant_bits;
142 	__u32 start_region;
143 	__u32 num_regions;
144 } __attribute__((packed, aligned(4)));
145 struct snd_enc_flac {
146 	__u32 num;
147 	__u32 gain;
148 } __attribute__((packed, aligned(4)));
149 struct snd_enc_generic {
150 	__u32 bw;
151 	__s32 reserved[15];
152 } __attribute__((packed, aligned(4)));
153 union snd_codec_options {
154 	struct snd_enc_wma wma;
155 	struct snd_enc_vorbis vorbis;
156 	struct snd_enc_real real;
157 	struct snd_enc_flac flac;
158 	struct snd_enc_generic generic;
159 } __attribute__((packed, aligned(4)));
160 struct snd_codec_desc {
161 	__u32 max_ch;
162 	__u32 sample_rates[MAX_NUM_SAMPLE_RATES];
163 	__u32 num_sample_rates;
164 	__u32 bit_rate[MAX_NUM_BITRATES];
165 	__u32 num_bitrates;
166 	__u32 rate_control;
167 	__u32 profiles;
168 	__u32 modes;
169 	__u32 formats;
170 	__u32 min_buffer;
171 	__u32 reserved[15];
172 } __attribute__((packed, aligned(4)));
173 struct snd_codec {
174 	__u32 id;
175 	__u32 ch_in;
176 	__u32 ch_out;
177 	__u32 sample_rate;
178 	__u32 bit_rate;
179 	__u32 rate_control;
180 	__u32 profile;
181 	__u32 level;
182 	__u32 ch_mode;
183 	__u32 format;
184 	__u32 align;
185 	union snd_codec_options options;
186 	__u32 reserved[3];
187 } __attribute__((packed, aligned(4)));
188 #endif
189