1 /****************************************************************************
2  ****************************************************************************
3  ***
4  ***   This header was automatically generated from a Linux kernel header
5  ***   of the same name, to make information necessary for userspace to
6  ***   call into the kernel available to libc.  It contains only constants,
7  ***   structures, and macros generated from the original header, and thus,
8  ***   contains no copyrightable information.
9  ***
10  ***   To edit the content of this header, modify the corresponding
11  ***   source file (e.g. under external/kernel-headers/original/) then
12  ***   run bionic/libc/kernel/tools/update_all.py
13  ***
14  ***   Any manual change here will be lost the next time this script will
15  ***   be run. You've been warned!
16  ***
17  ****************************************************************************
18  ****************************************************************************/
19 #ifndef __SND_COMPRESS_PARAMS_H
20 #define __SND_COMPRESS_PARAMS_H
21 #include <linux/types.h>
22 #define MAX_NUM_CODECS 32
23 #define MAX_NUM_CODEC_DESCRIPTORS 32
24 #define MAX_NUM_BITRATES 32
25 #define MAX_NUM_SAMPLE_RATES 32
26 #define SND_AUDIOCODEC_PCM ((__u32) 0x00000001)
27 #define SND_AUDIOCODEC_MP3 ((__u32) 0x00000002)
28 #define SND_AUDIOCODEC_AMR ((__u32) 0x00000003)
29 #define SND_AUDIOCODEC_AMRWB ((__u32) 0x00000004)
30 #define SND_AUDIOCODEC_AMRWBPLUS ((__u32) 0x00000005)
31 #define SND_AUDIOCODEC_AAC ((__u32) 0x00000006)
32 #define SND_AUDIOCODEC_WMA ((__u32) 0x00000007)
33 #define SND_AUDIOCODEC_REAL ((__u32) 0x00000008)
34 #define SND_AUDIOCODEC_VORBIS ((__u32) 0x00000009)
35 #define SND_AUDIOCODEC_FLAC ((__u32) 0x0000000A)
36 #define SND_AUDIOCODEC_IEC61937 ((__u32) 0x0000000B)
37 #define SND_AUDIOCODEC_G723_1 ((__u32) 0x0000000C)
38 #define SND_AUDIOCODEC_G729 ((__u32) 0x0000000D)
39 #define SND_AUDIOCODEC_BESPOKE ((__u32) 0x0000000E)
40 #define SND_AUDIOCODEC_ALAC ((__u32) 0x0000000F)
41 #define SND_AUDIOCODEC_APE ((__u32) 0x00000010)
42 #define SND_AUDIOCODEC_MAX SND_AUDIOCODEC_APE
43 #define SND_AUDIOPROFILE_PCM ((__u32) 0x00000001)
44 #define SND_AUDIOCHANMODE_MP3_MONO ((__u32) 0x00000001)
45 #define SND_AUDIOCHANMODE_MP3_STEREO ((__u32) 0x00000002)
46 #define SND_AUDIOCHANMODE_MP3_JOINTSTEREO ((__u32) 0x00000004)
47 #define SND_AUDIOCHANMODE_MP3_DUAL ((__u32) 0x00000008)
48 #define SND_AUDIOPROFILE_AMR ((__u32) 0x00000001)
49 #define SND_AUDIOMODE_AMR_DTX_OFF ((__u32) 0x00000001)
50 #define SND_AUDIOMODE_AMR_VAD1 ((__u32) 0x00000002)
51 #define SND_AUDIOMODE_AMR_VAD2 ((__u32) 0x00000004)
52 #define SND_AUDIOSTREAMFORMAT_UNDEFINED ((__u32) 0x00000000)
53 #define SND_AUDIOSTREAMFORMAT_CONFORMANCE ((__u32) 0x00000001)
54 #define SND_AUDIOSTREAMFORMAT_IF1 ((__u32) 0x00000002)
55 #define SND_AUDIOSTREAMFORMAT_IF2 ((__u32) 0x00000004)
56 #define SND_AUDIOSTREAMFORMAT_FSF ((__u32) 0x00000008)
57 #define SND_AUDIOSTREAMFORMAT_RTPPAYLOAD ((__u32) 0x00000010)
58 #define SND_AUDIOSTREAMFORMAT_ITU ((__u32) 0x00000020)
59 #define SND_AUDIOPROFILE_AMRWB ((__u32) 0x00000001)
60 #define SND_AUDIOMODE_AMRWB_DTX_OFF ((__u32) 0x00000001)
61 #define SND_AUDIOMODE_AMRWB_VAD1 ((__u32) 0x00000002)
62 #define SND_AUDIOMODE_AMRWB_VAD2 ((__u32) 0x00000004)
63 #define SND_AUDIOPROFILE_AMRWBPLUS ((__u32) 0x00000001)
64 #define SND_AUDIOPROFILE_AAC ((__u32) 0x00000001)
65 #define SND_AUDIOMODE_AAC_MAIN ((__u32) 0x00000001)
66 #define SND_AUDIOMODE_AAC_LC ((__u32) 0x00000002)
67 #define SND_AUDIOMODE_AAC_SSR ((__u32) 0x00000004)
68 #define SND_AUDIOMODE_AAC_LTP ((__u32) 0x00000008)
69 #define SND_AUDIOMODE_AAC_HE ((__u32) 0x00000010)
70 #define SND_AUDIOMODE_AAC_SCALABLE ((__u32) 0x00000020)
71 #define SND_AUDIOMODE_AAC_ERLC ((__u32) 0x00000040)
72 #define SND_AUDIOMODE_AAC_LD ((__u32) 0x00000080)
73 #define SND_AUDIOMODE_AAC_HE_PS ((__u32) 0x00000100)
74 #define SND_AUDIOMODE_AAC_HE_MPS ((__u32) 0x00000200)
75 #define SND_AUDIOSTREAMFORMAT_MP2ADTS ((__u32) 0x00000001)
76 #define SND_AUDIOSTREAMFORMAT_MP4ADTS ((__u32) 0x00000002)
77 #define SND_AUDIOSTREAMFORMAT_MP4LOAS ((__u32) 0x00000004)
78 #define SND_AUDIOSTREAMFORMAT_MP4LATM ((__u32) 0x00000008)
79 #define SND_AUDIOSTREAMFORMAT_ADIF ((__u32) 0x00000010)
80 #define SND_AUDIOSTREAMFORMAT_MP4FF ((__u32) 0x00000020)
81 #define SND_AUDIOSTREAMFORMAT_RAW ((__u32) 0x00000040)
82 #define SND_AUDIOPROFILE_WMA7 ((__u32) 0x00000001)
83 #define SND_AUDIOPROFILE_WMA8 ((__u32) 0x00000002)
84 #define SND_AUDIOPROFILE_WMA9 ((__u32) 0x00000004)
85 #define SND_AUDIOPROFILE_WMA10 ((__u32) 0x00000008)
86 #define SND_AUDIOPROFILE_WMA9_PRO ((__u32) 0x00000010)
87 #define SND_AUDIOPROFILE_WMA9_LOSSLESS ((__u32) 0x00000020)
88 #define SND_AUDIOPROFILE_WMA10_LOSSLESS ((__u32) 0x00000040)
89 #define SND_AUDIOMODE_WMA_LEVEL1 ((__u32) 0x00000001)
90 #define SND_AUDIOMODE_WMA_LEVEL2 ((__u32) 0x00000002)
91 #define SND_AUDIOMODE_WMA_LEVEL3 ((__u32) 0x00000004)
92 #define SND_AUDIOMODE_WMA_LEVEL4 ((__u32) 0x00000008)
93 #define SND_AUDIOMODE_WMAPRO_LEVELM0 ((__u32) 0x00000010)
94 #define SND_AUDIOMODE_WMAPRO_LEVELM1 ((__u32) 0x00000020)
95 #define SND_AUDIOMODE_WMAPRO_LEVELM2 ((__u32) 0x00000040)
96 #define SND_AUDIOMODE_WMAPRO_LEVELM3 ((__u32) 0x00000080)
97 #define SND_AUDIOSTREAMFORMAT_WMA_ASF ((__u32) 0x00000001)
98 #define SND_AUDIOSTREAMFORMAT_WMA_NOASF_HDR ((__u32) 0x00000002)
99 #define SND_AUDIOPROFILE_REALAUDIO ((__u32) 0x00000001)
100 #define SND_AUDIOMODE_REALAUDIO_G2 ((__u32) 0x00000001)
101 #define SND_AUDIOMODE_REALAUDIO_8 ((__u32) 0x00000002)
102 #define SND_AUDIOMODE_REALAUDIO_10 ((__u32) 0x00000004)
103 #define SND_AUDIOMODE_REALAUDIO_SURROUND ((__u32) 0x00000008)
104 #define SND_AUDIOPROFILE_VORBIS ((__u32) 0x00000001)
105 #define SND_AUDIOMODE_VORBIS ((__u32) 0x00000001)
106 #define SND_AUDIOPROFILE_FLAC ((__u32) 0x00000001)
107 #define SND_AUDIOMODE_FLAC_LEVEL0 ((__u32) 0x00000001)
108 #define SND_AUDIOMODE_FLAC_LEVEL1 ((__u32) 0x00000002)
109 #define SND_AUDIOMODE_FLAC_LEVEL2 ((__u32) 0x00000004)
110 #define SND_AUDIOMODE_FLAC_LEVEL3 ((__u32) 0x00000008)
111 #define SND_AUDIOMODE_FLAC_LEVEL4 ((__u32) 0x00000010)
112 #define SND_AUDIOMODE_FLAC_LEVEL5 ((__u32) 0x00000020)
113 #define SND_AUDIOMODE_FLAC_LEVEL6 ((__u32) 0x00000040)
114 #define SND_AUDIOMODE_FLAC_LEVEL7 ((__u32) 0x00000080)
115 #define SND_AUDIOMODE_FLAC_LEVEL8 ((__u32) 0x00000100)
116 #define SND_AUDIOSTREAMFORMAT_FLAC ((__u32) 0x00000001)
117 #define SND_AUDIOSTREAMFORMAT_FLAC_OGG ((__u32) 0x00000002)
118 #define SND_AUDIOPROFILE_IEC61937 ((__u32) 0x00000001)
119 #define SND_AUDIOPROFILE_IEC61937_SPDIF ((__u32) 0x00000002)
120 #define SND_AUDIOMODE_IEC_REF_STREAM_HEADER ((__u32) 0x00000000)
121 #define SND_AUDIOMODE_IEC_LPCM ((__u32) 0x00000001)
122 #define SND_AUDIOMODE_IEC_AC3 ((__u32) 0x00000002)
123 #define SND_AUDIOMODE_IEC_MPEG1 ((__u32) 0x00000004)
124 #define SND_AUDIOMODE_IEC_MP3 ((__u32) 0x00000008)
125 #define SND_AUDIOMODE_IEC_MPEG2 ((__u32) 0x00000010)
126 #define SND_AUDIOMODE_IEC_AACLC ((__u32) 0x00000020)
127 #define SND_AUDIOMODE_IEC_DTS ((__u32) 0x00000040)
128 #define SND_AUDIOMODE_IEC_ATRAC ((__u32) 0x00000080)
129 #define SND_AUDIOMODE_IEC_SACD ((__u32) 0x00000100)
130 #define SND_AUDIOMODE_IEC_EAC3 ((__u32) 0x00000200)
131 #define SND_AUDIOMODE_IEC_DTS_HD ((__u32) 0x00000400)
132 #define SND_AUDIOMODE_IEC_MLP ((__u32) 0x00000800)
133 #define SND_AUDIOMODE_IEC_DST ((__u32) 0x00001000)
134 #define SND_AUDIOMODE_IEC_WMAPRO ((__u32) 0x00002000)
135 #define SND_AUDIOMODE_IEC_REF_CXT ((__u32) 0x00004000)
136 #define SND_AUDIOMODE_IEC_HE_AAC ((__u32) 0x00008000)
137 #define SND_AUDIOMODE_IEC_HE_AAC2 ((__u32) 0x00010000)
138 #define SND_AUDIOMODE_IEC_MPEG_SURROUND ((__u32) 0x00020000)
139 #define SND_AUDIOPROFILE_G723_1 ((__u32) 0x00000001)
140 #define SND_AUDIOMODE_G723_1_ANNEX_A ((__u32) 0x00000001)
141 #define SND_AUDIOMODE_G723_1_ANNEX_B ((__u32) 0x00000002)
142 #define SND_AUDIOMODE_G723_1_ANNEX_C ((__u32) 0x00000004)
143 #define SND_AUDIOPROFILE_G729 ((__u32) 0x00000001)
144 #define SND_AUDIOMODE_G729_ANNEX_A ((__u32) 0x00000001)
145 #define SND_AUDIOMODE_G729_ANNEX_B ((__u32) 0x00000002)
146 #define SND_RATECONTROLMODE_CONSTANTBITRATE ((__u32) 0x00000001)
147 #define SND_RATECONTROLMODE_VARIABLEBITRATE ((__u32) 0x00000002)
148 struct snd_enc_wma {
149   __u32 super_block_align;
150 };
151 struct snd_enc_vorbis {
152   __s32 quality;
153   __u32 managed;
154   __u32 max_bit_rate;
155   __u32 min_bit_rate;
156   __u32 downmix;
157 } __attribute__((packed, aligned(4)));
158 struct snd_enc_real {
159   __u32 quant_bits;
160   __u32 start_region;
161   __u32 num_regions;
162 } __attribute__((packed, aligned(4)));
163 struct snd_enc_flac {
164   __u32 num;
165   __u32 gain;
166 } __attribute__((packed, aligned(4)));
167 struct snd_enc_generic {
168   __u32 bw;
169   __s32 reserved[15];
170 } __attribute__((packed, aligned(4)));
171 struct snd_dec_flac {
172   __u16 sample_size;
173   __u16 min_blk_size;
174   __u16 max_blk_size;
175   __u16 min_frame_size;
176   __u16 max_frame_size;
177   __u16 reserved;
178 } __attribute__((packed, aligned(4)));
179 struct snd_dec_wma {
180   __u32 encoder_option;
181   __u32 adv_encoder_option;
182   __u32 adv_encoder_option2;
183   __u32 reserved;
184 } __attribute__((packed, aligned(4)));
185 struct snd_dec_alac {
186   __u32 frame_length;
187   __u8 compatible_version;
188   __u8 pb;
189   __u8 mb;
190   __u8 kb;
191   __u32 max_run;
192   __u32 max_frame_bytes;
193 } __attribute__((packed, aligned(4)));
194 struct snd_dec_ape {
195   __u16 compatible_version;
196   __u16 compression_level;
197   __u32 format_flags;
198   __u32 blocks_per_frame;
199   __u32 final_frame_blocks;
200   __u32 total_frames;
201   __u32 seek_table_present;
202 } __attribute__((packed, aligned(4)));
203 union snd_codec_options {
204   struct snd_enc_wma wma;
205   struct snd_enc_vorbis vorbis;
206   struct snd_enc_real real;
207   struct snd_enc_flac flac;
208   struct snd_enc_generic generic;
209   struct snd_dec_flac flac_d;
210   struct snd_dec_wma wma_d;
211   struct snd_dec_alac alac_d;
212   struct snd_dec_ape ape_d;
213 } __attribute__((packed, aligned(4)));
214 struct snd_codec_desc {
215   __u32 max_ch;
216   __u32 sample_rates[MAX_NUM_SAMPLE_RATES];
217   __u32 num_sample_rates;
218   __u32 bit_rate[MAX_NUM_BITRATES];
219   __u32 num_bitrates;
220   __u32 rate_control;
221   __u32 profiles;
222   __u32 modes;
223   __u32 formats;
224   __u32 min_buffer;
225   __u32 reserved[15];
226 } __attribute__((packed, aligned(4)));
227 struct snd_codec {
228   __u32 id;
229   __u32 ch_in;
230   __u32 ch_out;
231   __u32 sample_rate;
232   __u32 bit_rate;
233   __u32 rate_control;
234   __u32 profile;
235   __u32 level;
236   __u32 ch_mode;
237   __u32 format;
238   __u32 align;
239   union snd_codec_options options;
240   __u32 reserved[3];
241 } __attribute__((packed, aligned(4)));
242 #endif
243