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 _MSM_AUDIO_AAC_H
20 #define _MSM_AUDIO_AAC_H
21 #include <linux/msm_audio.h>
22 #define AUDIO_SET_AAC_CONFIG _IOW(AUDIO_IOCTL_MAGIC, (AUDIO_MAX_COMMON_IOCTL_NUM + 0), struct msm_audio_aac_config)
23 #define AUDIO_GET_AAC_CONFIG _IOR(AUDIO_IOCTL_MAGIC, (AUDIO_MAX_COMMON_IOCTL_NUM + 1), struct msm_audio_aac_config)
24 #define AUDIO_SET_AAC_ENC_CONFIG _IOW(AUDIO_IOCTL_MAGIC, (AUDIO_MAX_COMMON_IOCTL_NUM + 3), struct msm_audio_aac_enc_config)
25 #define AUDIO_GET_AAC_ENC_CONFIG _IOR(AUDIO_IOCTL_MAGIC, (AUDIO_MAX_COMMON_IOCTL_NUM + 4), struct msm_audio_aac_enc_config)
26 #define AUDIO_SET_AAC_MIX_CONFIG _IOR(AUDIO_IOCTL_MAGIC, (AUDIO_MAX_COMMON_IOCTL_NUM + 5), uint32_t)
27 #define AUDIO_AAC_FORMAT_ADTS - 1
28 #define AUDIO_AAC_FORMAT_RAW 0x0000
29 #define AUDIO_AAC_FORMAT_PSUEDO_RAW 0x0001
30 #define AUDIO_AAC_FORMAT_LOAS 0x0002
31 #define AUDIO_AAC_FORMAT_ADIF 0x0003
32 #define AUDIO_AAC_OBJECT_LC 0x0002
33 #define AUDIO_AAC_OBJECT_LTP 0x0004
34 #define AUDIO_AAC_OBJECT_ERLC 0x0011
35 #define AUDIO_AAC_OBJECT_BSAC 0x0016
36 #define AUDIO_AAC_SEC_DATA_RES_ON 0x0001
37 #define AUDIO_AAC_SEC_DATA_RES_OFF 0x0000
38 #define AUDIO_AAC_SCA_DATA_RES_ON 0x0001
39 #define AUDIO_AAC_SCA_DATA_RES_OFF 0x0000
40 #define AUDIO_AAC_SPEC_DATA_RES_ON 0x0001
41 #define AUDIO_AAC_SPEC_DATA_RES_OFF 0x0000
42 #define AUDIO_AAC_SBR_ON_FLAG_ON 0x0001
43 #define AUDIO_AAC_SBR_ON_FLAG_OFF 0x0000
44 #define AUDIO_AAC_SBR_PS_ON_FLAG_ON 0x0001
45 #define AUDIO_AAC_SBR_PS_ON_FLAG_OFF 0x0000
46 #define AUDIO_AAC_DUAL_MONO_PL_PR 0
47 #define AUDIO_AAC_DUAL_MONO_SL_SR 1
48 #define AUDIO_AAC_DUAL_MONO_SL_PR 2
49 #define AUDIO_AAC_DUAL_MONO_PL_SR 3
50 struct msm_audio_aac_config {
51   signed short format;
52   unsigned short audio_object;
53   unsigned short ep_config;
54   unsigned short aac_section_data_resilience_flag;
55   unsigned short aac_scalefactor_data_resilience_flag;
56   unsigned short aac_spectral_data_resilience_flag;
57   unsigned short sbr_on_flag;
58   unsigned short sbr_ps_on_flag;
59   unsigned short dual_mono_mode;
60   unsigned short channel_configuration;
61   unsigned short sample_rate;
62 };
63 struct msm_audio_aac_enc_config {
64   uint32_t channels;
65   uint32_t sample_rate;
66   uint32_t bit_rate;
67   uint32_t stream_format;
68 };
69 #endif
70