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