122851890Sopenharmony_ci/*
222851890Sopenharmony_ci * This header was generated from the Linux kernel headers by update_headers.py,
322851890Sopenharmony_ci * to provide necessary information from kernel to userspace, such as constants,
422851890Sopenharmony_ci * structures, and macros, and thus, contains no copyrightable information.
522851890Sopenharmony_ci */
622851890Sopenharmony_ci#ifndef __SND_COMPRESS_PARAMS_H
722851890Sopenharmony_ci#define __SND_COMPRESS_PARAMS_H
822851890Sopenharmony_ci#include <linux/types.h>
922851890Sopenharmony_ci#define MAX_NUM_CODECS 32
1022851890Sopenharmony_ci#define MAX_NUM_CODEC_DESCRIPTORS 32
1122851890Sopenharmony_ci#define MAX_NUM_BITRATES 32
1222851890Sopenharmony_ci#define MAX_NUM_SAMPLE_RATES 32
1322851890Sopenharmony_ci#define SND_AUDIOCODEC_PCM                   ((__u32) 0x00000001)
1422851890Sopenharmony_ci#define SND_AUDIOCODEC_MP3                   ((__u32) 0x00000002)
1522851890Sopenharmony_ci#define SND_AUDIOCODEC_AMR                   ((__u32) 0x00000003)
1622851890Sopenharmony_ci#define SND_AUDIOCODEC_AMRWB                 ((__u32) 0x00000004)
1722851890Sopenharmony_ci#define SND_AUDIOCODEC_AMRWBPLUS             ((__u32) 0x00000005)
1822851890Sopenharmony_ci#define SND_AUDIOCODEC_AAC                   ((__u32) 0x00000006)
1922851890Sopenharmony_ci#define SND_AUDIOCODEC_WMA                   ((__u32) 0x00000007)
2022851890Sopenharmony_ci#define SND_AUDIOCODEC_REAL                  ((__u32) 0x00000008)
2122851890Sopenharmony_ci#define SND_AUDIOCODEC_VORBIS                ((__u32) 0x00000009)
2222851890Sopenharmony_ci#define SND_AUDIOCODEC_FLAC                  ((__u32) 0x0000000A)
2322851890Sopenharmony_ci#define SND_AUDIOCODEC_IEC61937              ((__u32) 0x0000000B)
2422851890Sopenharmony_ci#define SND_AUDIOCODEC_G723_1                ((__u32) 0x0000000C)
2522851890Sopenharmony_ci#define SND_AUDIOCODEC_G729                  ((__u32) 0x0000000D)
2622851890Sopenharmony_ci#define SND_AUDIOCODEC_BESPOKE               ((__u32) 0x0000000E)
2722851890Sopenharmony_ci#define SND_AUDIOCODEC_MAX                   SND_AUDIOCODEC_BESPOKE
2822851890Sopenharmony_ci#define SND_AUDIOPROFILE_PCM                 ((__u32) 0x00000001)
2922851890Sopenharmony_ci#define SND_AUDIOCHANMODE_MP3_MONO           ((__u32) 0x00000001)
3022851890Sopenharmony_ci#define SND_AUDIOCHANMODE_MP3_STEREO         ((__u32) 0x00000002)
3122851890Sopenharmony_ci#define SND_AUDIOCHANMODE_MP3_JOINTSTEREO    ((__u32) 0x00000004)
3222851890Sopenharmony_ci#define SND_AUDIOCHANMODE_MP3_DUAL           ((__u32) 0x00000008)
3322851890Sopenharmony_ci#define SND_AUDIOPROFILE_AMR                 ((__u32) 0x00000001)
3422851890Sopenharmony_ci#define SND_AUDIOMODE_AMR_DTX_OFF            ((__u32) 0x00000001)
3522851890Sopenharmony_ci#define SND_AUDIOMODE_AMR_VAD1               ((__u32) 0x00000002)
3622851890Sopenharmony_ci#define SND_AUDIOMODE_AMR_VAD2               ((__u32) 0x00000004)
3722851890Sopenharmony_ci#define SND_AUDIOSTREAMFORMAT_UNDEFINED	     ((__u32) 0x00000000)
3822851890Sopenharmony_ci#define SND_AUDIOSTREAMFORMAT_CONFORMANCE    ((__u32) 0x00000001)
3922851890Sopenharmony_ci#define SND_AUDIOSTREAMFORMAT_IF1            ((__u32) 0x00000002)
4022851890Sopenharmony_ci#define SND_AUDIOSTREAMFORMAT_IF2            ((__u32) 0x00000004)
4122851890Sopenharmony_ci#define SND_AUDIOSTREAMFORMAT_FSF            ((__u32) 0x00000008)
4222851890Sopenharmony_ci#define SND_AUDIOSTREAMFORMAT_RTPPAYLOAD     ((__u32) 0x00000010)
4322851890Sopenharmony_ci#define SND_AUDIOSTREAMFORMAT_ITU            ((__u32) 0x00000020)
4422851890Sopenharmony_ci#define SND_AUDIOPROFILE_AMRWB               ((__u32) 0x00000001)
4522851890Sopenharmony_ci#define SND_AUDIOMODE_AMRWB_DTX_OFF          ((__u32) 0x00000001)
4622851890Sopenharmony_ci#define SND_AUDIOMODE_AMRWB_VAD1             ((__u32) 0x00000002)
4722851890Sopenharmony_ci#define SND_AUDIOMODE_AMRWB_VAD2             ((__u32) 0x00000004)
4822851890Sopenharmony_ci#define SND_AUDIOPROFILE_AMRWBPLUS           ((__u32) 0x00000001)
4922851890Sopenharmony_ci#define SND_AUDIOPROFILE_AAC                 ((__u32) 0x00000001)
5022851890Sopenharmony_ci#define SND_AUDIOMODE_AAC_MAIN               ((__u32) 0x00000001)
5122851890Sopenharmony_ci#define SND_AUDIOMODE_AAC_LC                 ((__u32) 0x00000002)
5222851890Sopenharmony_ci#define SND_AUDIOMODE_AAC_SSR                ((__u32) 0x00000004)
5322851890Sopenharmony_ci#define SND_AUDIOMODE_AAC_LTP                ((__u32) 0x00000008)
5422851890Sopenharmony_ci#define SND_AUDIOMODE_AAC_HE                 ((__u32) 0x00000010)
5522851890Sopenharmony_ci#define SND_AUDIOMODE_AAC_SCALABLE           ((__u32) 0x00000020)
5622851890Sopenharmony_ci#define SND_AUDIOMODE_AAC_ERLC               ((__u32) 0x00000040)
5722851890Sopenharmony_ci#define SND_AUDIOMODE_AAC_LD                 ((__u32) 0x00000080)
5822851890Sopenharmony_ci#define SND_AUDIOMODE_AAC_HE_PS              ((__u32) 0x00000100)
5922851890Sopenharmony_ci#define SND_AUDIOMODE_AAC_HE_MPS             ((__u32) 0x00000200)
6022851890Sopenharmony_ci#define SND_AUDIOSTREAMFORMAT_MP2ADTS        ((__u32) 0x00000001)
6122851890Sopenharmony_ci#define SND_AUDIOSTREAMFORMAT_MP4ADTS        ((__u32) 0x00000002)
6222851890Sopenharmony_ci#define SND_AUDIOSTREAMFORMAT_MP4LOAS        ((__u32) 0x00000004)
6322851890Sopenharmony_ci#define SND_AUDIOSTREAMFORMAT_MP4LATM        ((__u32) 0x00000008)
6422851890Sopenharmony_ci#define SND_AUDIOSTREAMFORMAT_ADIF           ((__u32) 0x00000010)
6522851890Sopenharmony_ci#define SND_AUDIOSTREAMFORMAT_MP4FF          ((__u32) 0x00000020)
6622851890Sopenharmony_ci#define SND_AUDIOSTREAMFORMAT_RAW            ((__u32) 0x00000040)
6722851890Sopenharmony_ci#define SND_AUDIOPROFILE_WMA7                ((__u32) 0x00000001)
6822851890Sopenharmony_ci#define SND_AUDIOPROFILE_WMA8                ((__u32) 0x00000002)
6922851890Sopenharmony_ci#define SND_AUDIOPROFILE_WMA9                ((__u32) 0x00000004)
7022851890Sopenharmony_ci#define SND_AUDIOPROFILE_WMA10               ((__u32) 0x00000008)
7122851890Sopenharmony_ci#define SND_AUDIOMODE_WMA_LEVEL1             ((__u32) 0x00000001)
7222851890Sopenharmony_ci#define SND_AUDIOMODE_WMA_LEVEL2             ((__u32) 0x00000002)
7322851890Sopenharmony_ci#define SND_AUDIOMODE_WMA_LEVEL3             ((__u32) 0x00000004)
7422851890Sopenharmony_ci#define SND_AUDIOMODE_WMA_LEVEL4             ((__u32) 0x00000008)
7522851890Sopenharmony_ci#define SND_AUDIOMODE_WMAPRO_LEVELM0         ((__u32) 0x00000010)
7622851890Sopenharmony_ci#define SND_AUDIOMODE_WMAPRO_LEVELM1         ((__u32) 0x00000020)
7722851890Sopenharmony_ci#define SND_AUDIOMODE_WMAPRO_LEVELM2         ((__u32) 0x00000040)
7822851890Sopenharmony_ci#define SND_AUDIOMODE_WMAPRO_LEVELM3         ((__u32) 0x00000080)
7922851890Sopenharmony_ci#define SND_AUDIOSTREAMFORMAT_WMA_ASF        ((__u32) 0x00000001)
8022851890Sopenharmony_ci#define SND_AUDIOSTREAMFORMAT_WMA_NOASF_HDR  ((__u32) 0x00000002)
8122851890Sopenharmony_ci#define SND_AUDIOPROFILE_REALAUDIO           ((__u32) 0x00000001)
8222851890Sopenharmony_ci#define SND_AUDIOMODE_REALAUDIO_G2           ((__u32) 0x00000001)
8322851890Sopenharmony_ci#define SND_AUDIOMODE_REALAUDIO_8            ((__u32) 0x00000002)
8422851890Sopenharmony_ci#define SND_AUDIOMODE_REALAUDIO_10           ((__u32) 0x00000004)
8522851890Sopenharmony_ci#define SND_AUDIOMODE_REALAUDIO_SURROUND     ((__u32) 0x00000008)
8622851890Sopenharmony_ci#define SND_AUDIOPROFILE_VORBIS              ((__u32) 0x00000001)
8722851890Sopenharmony_ci#define SND_AUDIOMODE_VORBIS                 ((__u32) 0x00000001)
8822851890Sopenharmony_ci#define SND_AUDIOPROFILE_FLAC                ((__u32) 0x00000001)
8922851890Sopenharmony_ci#define SND_AUDIOMODE_FLAC_LEVEL0            ((__u32) 0x00000001)
9022851890Sopenharmony_ci#define SND_AUDIOMODE_FLAC_LEVEL1            ((__u32) 0x00000002)
9122851890Sopenharmony_ci#define SND_AUDIOMODE_FLAC_LEVEL2            ((__u32) 0x00000004)
9222851890Sopenharmony_ci#define SND_AUDIOMODE_FLAC_LEVEL3            ((__u32) 0x00000008)
9322851890Sopenharmony_ci#define SND_AUDIOMODE_FLAC_LEVEL4            ((__u32) 0x00000010)
9422851890Sopenharmony_ci#define SND_AUDIOMODE_FLAC_LEVEL5            ((__u32) 0x00000020)
9522851890Sopenharmony_ci#define SND_AUDIOMODE_FLAC_LEVEL6            ((__u32) 0x00000040)
9622851890Sopenharmony_ci#define SND_AUDIOMODE_FLAC_LEVEL7            ((__u32) 0x00000080)
9722851890Sopenharmony_ci#define SND_AUDIOMODE_FLAC_LEVEL8            ((__u32) 0x00000100)
9822851890Sopenharmony_ci#define SND_AUDIOSTREAMFORMAT_FLAC           ((__u32) 0x00000001)
9922851890Sopenharmony_ci#define SND_AUDIOSTREAMFORMAT_FLAC_OGG       ((__u32) 0x00000002)
10022851890Sopenharmony_ci#define SND_AUDIOPROFILE_IEC61937            ((__u32) 0x00000001)
10122851890Sopenharmony_ci#define SND_AUDIOPROFILE_IEC61937_SPDIF      ((__u32) 0x00000002)
10222851890Sopenharmony_ci#define SND_AUDIOMODE_IEC_REF_STREAM_HEADER  ((__u32) 0x00000000)
10322851890Sopenharmony_ci#define SND_AUDIOMODE_IEC_LPCM		     ((__u32) 0x00000001)
10422851890Sopenharmony_ci#define SND_AUDIOMODE_IEC_AC3		     ((__u32) 0x00000002)
10522851890Sopenharmony_ci#define SND_AUDIOMODE_IEC_MPEG1		     ((__u32) 0x00000004)
10622851890Sopenharmony_ci#define SND_AUDIOMODE_IEC_MP3		     ((__u32) 0x00000008)
10722851890Sopenharmony_ci#define SND_AUDIOMODE_IEC_MPEG2		     ((__u32) 0x00000010)
10822851890Sopenharmony_ci#define SND_AUDIOMODE_IEC_AACLC		     ((__u32) 0x00000020)
10922851890Sopenharmony_ci#define SND_AUDIOMODE_IEC_DTS		     ((__u32) 0x00000040)
11022851890Sopenharmony_ci#define SND_AUDIOMODE_IEC_ATRAC		     ((__u32) 0x00000080)
11122851890Sopenharmony_ci#define SND_AUDIOMODE_IEC_SACD		     ((__u32) 0x00000100)
11222851890Sopenharmony_ci#define SND_AUDIOMODE_IEC_EAC3		     ((__u32) 0x00000200)
11322851890Sopenharmony_ci#define SND_AUDIOMODE_IEC_DTS_HD	     ((__u32) 0x00000400)
11422851890Sopenharmony_ci#define SND_AUDIOMODE_IEC_MLP		     ((__u32) 0x00000800)
11522851890Sopenharmony_ci#define SND_AUDIOMODE_IEC_DST		     ((__u32) 0x00001000)
11622851890Sopenharmony_ci#define SND_AUDIOMODE_IEC_WMAPRO	     ((__u32) 0x00002000)
11722851890Sopenharmony_ci#define SND_AUDIOMODE_IEC_REF_CXT            ((__u32) 0x00004000)
11822851890Sopenharmony_ci#define SND_AUDIOMODE_IEC_HE_AAC	     ((__u32) 0x00008000)
11922851890Sopenharmony_ci#define SND_AUDIOMODE_IEC_HE_AAC2	     ((__u32) 0x00010000)
12022851890Sopenharmony_ci#define SND_AUDIOMODE_IEC_MPEG_SURROUND	     ((__u32) 0x00020000)
12122851890Sopenharmony_ci#define SND_AUDIOPROFILE_G723_1              ((__u32) 0x00000001)
12222851890Sopenharmony_ci#define SND_AUDIOMODE_G723_1_ANNEX_A         ((__u32) 0x00000001)
12322851890Sopenharmony_ci#define SND_AUDIOMODE_G723_1_ANNEX_B         ((__u32) 0x00000002)
12422851890Sopenharmony_ci#define SND_AUDIOMODE_G723_1_ANNEX_C         ((__u32) 0x00000004)
12522851890Sopenharmony_ci#define SND_AUDIOPROFILE_G729                ((__u32) 0x00000001)
12622851890Sopenharmony_ci#define SND_AUDIOMODE_G729_ANNEX_A           ((__u32) 0x00000001)
12722851890Sopenharmony_ci#define SND_AUDIOMODE_G729_ANNEX_B           ((__u32) 0x00000002)
12822851890Sopenharmony_ci#define SND_RATECONTROLMODE_CONSTANTBITRATE  ((__u32) 0x00000001)
12922851890Sopenharmony_ci#define SND_RATECONTROLMODE_VARIABLEBITRATE  ((__u32) 0x00000002)
13022851890Sopenharmony_cistruct snd_enc_wma {
13122851890Sopenharmony_ci	__u32 super_block_align;
13222851890Sopenharmony_ci};
13322851890Sopenharmony_cistruct snd_enc_vorbis {
13422851890Sopenharmony_ci	__s32 quality;
13522851890Sopenharmony_ci	__u32 managed;
13622851890Sopenharmony_ci	__u32 max_bit_rate;
13722851890Sopenharmony_ci	__u32 min_bit_rate;
13822851890Sopenharmony_ci	__u32 downmix;
13922851890Sopenharmony_ci} __attribute__((packed, aligned(4)));
14022851890Sopenharmony_cistruct snd_enc_real {
14122851890Sopenharmony_ci	__u32 quant_bits;
14222851890Sopenharmony_ci	__u32 start_region;
14322851890Sopenharmony_ci	__u32 num_regions;
14422851890Sopenharmony_ci} __attribute__((packed, aligned(4)));
14522851890Sopenharmony_cistruct snd_enc_flac {
14622851890Sopenharmony_ci	__u32 num;
14722851890Sopenharmony_ci	__u32 gain;
14822851890Sopenharmony_ci} __attribute__((packed, aligned(4)));
14922851890Sopenharmony_cistruct snd_enc_generic {
15022851890Sopenharmony_ci	__u32 bw;
15122851890Sopenharmony_ci	__s32 reserved[15];
15222851890Sopenharmony_ci} __attribute__((packed, aligned(4)));
15322851890Sopenharmony_ciunion snd_codec_options {
15422851890Sopenharmony_ci	struct snd_enc_wma wma;
15522851890Sopenharmony_ci	struct snd_enc_vorbis vorbis;
15622851890Sopenharmony_ci	struct snd_enc_real real;
15722851890Sopenharmony_ci	struct snd_enc_flac flac;
15822851890Sopenharmony_ci	struct snd_enc_generic generic;
15922851890Sopenharmony_ci} __attribute__((packed, aligned(4)));
16022851890Sopenharmony_cistruct snd_codec_desc {
16122851890Sopenharmony_ci	__u32 max_ch;
16222851890Sopenharmony_ci	__u32 sample_rates[MAX_NUM_SAMPLE_RATES];
16322851890Sopenharmony_ci	__u32 num_sample_rates;
16422851890Sopenharmony_ci	__u32 bit_rate[MAX_NUM_BITRATES];
16522851890Sopenharmony_ci	__u32 num_bitrates;
16622851890Sopenharmony_ci	__u32 rate_control;
16722851890Sopenharmony_ci	__u32 profiles;
16822851890Sopenharmony_ci	__u32 modes;
16922851890Sopenharmony_ci	__u32 formats;
17022851890Sopenharmony_ci	__u32 min_buffer;
17122851890Sopenharmony_ci	__u32 reserved[15];
17222851890Sopenharmony_ci} __attribute__((packed, aligned(4)));
17322851890Sopenharmony_cistruct snd_codec {
17422851890Sopenharmony_ci	__u32 id;
17522851890Sopenharmony_ci	__u32 ch_in;
17622851890Sopenharmony_ci	__u32 ch_out;
17722851890Sopenharmony_ci	__u32 sample_rate;
17822851890Sopenharmony_ci	__u32 bit_rate;
17922851890Sopenharmony_ci	__u32 rate_control;
18022851890Sopenharmony_ci	__u32 profile;
18122851890Sopenharmony_ci	__u32 level;
18222851890Sopenharmony_ci	__u32 ch_mode;
18322851890Sopenharmony_ci	__u32 format;
18422851890Sopenharmony_ci	__u32 align;
18522851890Sopenharmony_ci	union snd_codec_options options;
18622851890Sopenharmony_ci	__u32 reserved[3];
18722851890Sopenharmony_ci} __attribute__((packed, aligned(4)));
18822851890Sopenharmony_ci#endif
189