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_MAX SND_AUDIOCODEC_BESPOKE
41#define SND_AUDIOPROFILE_PCM ((__u32) 0x00000001)
42#define SND_AUDIOCHANMODE_MP3_MONO ((__u32) 0x00000001)
43#define SND_AUDIOCHANMODE_MP3_STEREO ((__u32) 0x00000002)
44#define SND_AUDIOCHANMODE_MP3_JOINTSTEREO ((__u32) 0x00000004)
45#define SND_AUDIOCHANMODE_MP3_DUAL ((__u32) 0x00000008)
46#define SND_AUDIOPROFILE_AMR ((__u32) 0x00000001)
47#define SND_AUDIOMODE_AMR_DTX_OFF ((__u32) 0x00000001)
48#define SND_AUDIOMODE_AMR_VAD1 ((__u32) 0x00000002)
49#define SND_AUDIOMODE_AMR_VAD2 ((__u32) 0x00000004)
50#define SND_AUDIOSTREAMFORMAT_UNDEFINED ((__u32) 0x00000000)
51#define SND_AUDIOSTREAMFORMAT_CONFORMANCE ((__u32) 0x00000001)
52#define SND_AUDIOSTREAMFORMAT_IF1 ((__u32) 0x00000002)
53#define SND_AUDIOSTREAMFORMAT_IF2 ((__u32) 0x00000004)
54#define SND_AUDIOSTREAMFORMAT_FSF ((__u32) 0x00000008)
55#define SND_AUDIOSTREAMFORMAT_RTPPAYLOAD ((__u32) 0x00000010)
56#define SND_AUDIOSTREAMFORMAT_ITU ((__u32) 0x00000020)
57#define SND_AUDIOPROFILE_AMRWB ((__u32) 0x00000001)
58#define SND_AUDIOMODE_AMRWB_DTX_OFF ((__u32) 0x00000001)
59#define SND_AUDIOMODE_AMRWB_VAD1 ((__u32) 0x00000002)
60#define SND_AUDIOMODE_AMRWB_VAD2 ((__u32) 0x00000004)
61#define SND_AUDIOPROFILE_AMRWBPLUS ((__u32) 0x00000001)
62#define SND_AUDIOPROFILE_AAC ((__u32) 0x00000001)
63#define SND_AUDIOMODE_AAC_MAIN ((__u32) 0x00000001)
64#define SND_AUDIOMODE_AAC_LC ((__u32) 0x00000002)
65#define SND_AUDIOMODE_AAC_SSR ((__u32) 0x00000004)
66#define SND_AUDIOMODE_AAC_LTP ((__u32) 0x00000008)
67#define SND_AUDIOMODE_AAC_HE ((__u32) 0x00000010)
68#define SND_AUDIOMODE_AAC_SCALABLE ((__u32) 0x00000020)
69#define SND_AUDIOMODE_AAC_ERLC ((__u32) 0x00000040)
70#define SND_AUDIOMODE_AAC_LD ((__u32) 0x00000080)
71#define SND_AUDIOMODE_AAC_HE_PS ((__u32) 0x00000100)
72#define SND_AUDIOMODE_AAC_HE_MPS ((__u32) 0x00000200)
73#define SND_AUDIOSTREAMFORMAT_MP2ADTS ((__u32) 0x00000001)
74#define SND_AUDIOSTREAMFORMAT_MP4ADTS ((__u32) 0x00000002)
75#define SND_AUDIOSTREAMFORMAT_MP4LOAS ((__u32) 0x00000004)
76#define SND_AUDIOSTREAMFORMAT_MP4LATM ((__u32) 0x00000008)
77#define SND_AUDIOSTREAMFORMAT_ADIF ((__u32) 0x00000010)
78#define SND_AUDIOSTREAMFORMAT_MP4FF ((__u32) 0x00000020)
79#define SND_AUDIOSTREAMFORMAT_RAW ((__u32) 0x00000040)
80#define SND_AUDIOPROFILE_WMA7 ((__u32) 0x00000001)
81#define SND_AUDIOPROFILE_WMA8 ((__u32) 0x00000002)
82#define SND_AUDIOPROFILE_WMA9 ((__u32) 0x00000004)
83#define SND_AUDIOPROFILE_WMA10 ((__u32) 0x00000008)
84#define SND_AUDIOMODE_WMA_LEVEL1 ((__u32) 0x00000001)
85#define SND_AUDIOMODE_WMA_LEVEL2 ((__u32) 0x00000002)
86#define SND_AUDIOMODE_WMA_LEVEL3 ((__u32) 0x00000004)
87#define SND_AUDIOMODE_WMA_LEVEL4 ((__u32) 0x00000008)
88#define SND_AUDIOMODE_WMAPRO_LEVELM0 ((__u32) 0x00000010)
89#define SND_AUDIOMODE_WMAPRO_LEVELM1 ((__u32) 0x00000020)
90#define SND_AUDIOMODE_WMAPRO_LEVELM2 ((__u32) 0x00000040)
91#define SND_AUDIOMODE_WMAPRO_LEVELM3 ((__u32) 0x00000080)
92#define SND_AUDIOSTREAMFORMAT_WMA_ASF ((__u32) 0x00000001)
93#define SND_AUDIOSTREAMFORMAT_WMA_NOASF_HDR ((__u32) 0x00000002)
94#define SND_AUDIOPROFILE_REALAUDIO ((__u32) 0x00000001)
95#define SND_AUDIOMODE_REALAUDIO_G2 ((__u32) 0x00000001)
96#define SND_AUDIOMODE_REALAUDIO_8 ((__u32) 0x00000002)
97#define SND_AUDIOMODE_REALAUDIO_10 ((__u32) 0x00000004)
98#define SND_AUDIOMODE_REALAUDIO_SURROUND ((__u32) 0x00000008)
99#define SND_AUDIOPROFILE_VORBIS ((__u32) 0x00000001)
100#define SND_AUDIOMODE_VORBIS ((__u32) 0x00000001)
101#define SND_AUDIOPROFILE_FLAC ((__u32) 0x00000001)
102#define SND_AUDIOMODE_FLAC_LEVEL0 ((__u32) 0x00000001)
103#define SND_AUDIOMODE_FLAC_LEVEL1 ((__u32) 0x00000002)
104#define SND_AUDIOMODE_FLAC_LEVEL2 ((__u32) 0x00000004)
105#define SND_AUDIOMODE_FLAC_LEVEL3 ((__u32) 0x00000008)
106#define SND_AUDIOMODE_FLAC_LEVEL4 ((__u32) 0x00000010)
107#define SND_AUDIOMODE_FLAC_LEVEL5 ((__u32) 0x00000020)
108#define SND_AUDIOMODE_FLAC_LEVEL6 ((__u32) 0x00000040)
109#define SND_AUDIOMODE_FLAC_LEVEL7 ((__u32) 0x00000080)
110#define SND_AUDIOMODE_FLAC_LEVEL8 ((__u32) 0x00000100)
111#define SND_AUDIOSTREAMFORMAT_FLAC ((__u32) 0x00000001)
112#define SND_AUDIOSTREAMFORMAT_FLAC_OGG ((__u32) 0x00000002)
113#define SND_AUDIOPROFILE_IEC61937 ((__u32) 0x00000001)
114#define SND_AUDIOPROFILE_IEC61937_SPDIF ((__u32) 0x00000002)
115#define SND_AUDIOMODE_IEC_REF_STREAM_HEADER ((__u32) 0x00000000)
116#define SND_AUDIOMODE_IEC_LPCM ((__u32) 0x00000001)
117#define SND_AUDIOMODE_IEC_AC3 ((__u32) 0x00000002)
118#define SND_AUDIOMODE_IEC_MPEG1 ((__u32) 0x00000004)
119#define SND_AUDIOMODE_IEC_MP3 ((__u32) 0x00000008)
120#define SND_AUDIOMODE_IEC_MPEG2 ((__u32) 0x00000010)
121#define SND_AUDIOMODE_IEC_AACLC ((__u32) 0x00000020)
122#define SND_AUDIOMODE_IEC_DTS ((__u32) 0x00000040)
123#define SND_AUDIOMODE_IEC_ATRAC ((__u32) 0x00000080)
124#define SND_AUDIOMODE_IEC_SACD ((__u32) 0x00000100)
125#define SND_AUDIOMODE_IEC_EAC3 ((__u32) 0x00000200)
126#define SND_AUDIOMODE_IEC_DTS_HD ((__u32) 0x00000400)
127#define SND_AUDIOMODE_IEC_MLP ((__u32) 0x00000800)
128#define SND_AUDIOMODE_IEC_DST ((__u32) 0x00001000)
129#define SND_AUDIOMODE_IEC_WMAPRO ((__u32) 0x00002000)
130#define SND_AUDIOMODE_IEC_REF_CXT ((__u32) 0x00004000)
131#define SND_AUDIOMODE_IEC_HE_AAC ((__u32) 0x00008000)
132#define SND_AUDIOMODE_IEC_HE_AAC2 ((__u32) 0x00010000)
133#define SND_AUDIOMODE_IEC_MPEG_SURROUND ((__u32) 0x00020000)
134#define SND_AUDIOPROFILE_G723_1 ((__u32) 0x00000001)
135#define SND_AUDIOMODE_G723_1_ANNEX_A ((__u32) 0x00000001)
136#define SND_AUDIOMODE_G723_1_ANNEX_B ((__u32) 0x00000002)
137#define SND_AUDIOMODE_G723_1_ANNEX_C ((__u32) 0x00000004)
138#define SND_AUDIOPROFILE_G729 ((__u32) 0x00000001)
139#define SND_AUDIOMODE_G729_ANNEX_A ((__u32) 0x00000001)
140#define SND_AUDIOMODE_G729_ANNEX_B ((__u32) 0x00000002)
141#define SND_RATECONTROLMODE_CONSTANTBITRATE ((__u32) 0x00000001)
142#define SND_RATECONTROLMODE_VARIABLEBITRATE ((__u32) 0x00000002)
143struct snd_enc_wma {
144  __u32 super_block_align;
145};
146struct snd_enc_vorbis {
147  __s32 quality;
148  __u32 managed;
149  __u32 max_bit_rate;
150  __u32 min_bit_rate;
151  __u32 downmix;
152} __attribute__((packed, aligned(4)));
153struct snd_enc_real {
154  __u32 quant_bits;
155  __u32 start_region;
156  __u32 num_regions;
157} __attribute__((packed, aligned(4)));
158struct snd_enc_flac {
159  __u32 num;
160  __u32 gain;
161} __attribute__((packed, aligned(4)));
162struct snd_enc_generic {
163  __u32 bw;
164  __s32 reserved[15];
165} __attribute__((packed, aligned(4)));
166union snd_codec_options {
167  struct snd_enc_wma wma;
168  struct snd_enc_vorbis vorbis;
169  struct snd_enc_real real;
170  struct snd_enc_flac flac;
171  struct snd_enc_generic generic;
172} __attribute__((packed, aligned(4)));
173struct snd_codec_desc {
174  __u32 max_ch;
175  __u32 sample_rates[MAX_NUM_SAMPLE_RATES];
176  __u32 num_sample_rates;
177  __u32 bit_rate[MAX_NUM_BITRATES];
178  __u32 num_bitrates;
179  __u32 rate_control;
180  __u32 profiles;
181  __u32 modes;
182  __u32 formats;
183  __u32 min_buffer;
184  __u32 reserved[15];
185} __attribute__((packed, aligned(4)));
186struct snd_codec {
187  __u32 id;
188  __u32 ch_in;
189  __u32 ch_out;
190  __u32 sample_rate;
191  __u32 bit_rate;
192  __u32 rate_control;
193  __u32 profile;
194  __u32 level;
195  __u32 ch_mode;
196  __u32 format;
197  __u32 align;
198  union snd_codec_options options;
199  __u32 reserved[3];
200} __attribute__((packed, aligned(4)));
201#endif
202