xref: /utopia/UTPA2-700.0.x/mxlib/include/drvAUDIO_if.h (revision 53ee8cc121a030b8d368113ac3e966b4705770ef)
1*53ee8cc1Swenshuai.xi //<MStar Software>
2*53ee8cc1Swenshuai.xi //******************************************************************************
3*53ee8cc1Swenshuai.xi // MStar Software
4*53ee8cc1Swenshuai.xi // Copyright (c) 2010 - 2012 MStar Semiconductor, Inc. All rights reserved.
5*53ee8cc1Swenshuai.xi // All software, firmware and related documentation herein ("MStar Software") are
6*53ee8cc1Swenshuai.xi // intellectual property of MStar Semiconductor, Inc. ("MStar") and protected by
7*53ee8cc1Swenshuai.xi // law, including, but not limited to, copyright law and international treaties.
8*53ee8cc1Swenshuai.xi // Any use, modification, reproduction, retransmission, or republication of all
9*53ee8cc1Swenshuai.xi // or part of MStar Software is expressly prohibited, unless prior written
10*53ee8cc1Swenshuai.xi // permission has been granted by MStar.
11*53ee8cc1Swenshuai.xi //
12*53ee8cc1Swenshuai.xi // By accessing, browsing and/or using MStar Software, you acknowledge that you
13*53ee8cc1Swenshuai.xi // have read, understood, and agree, to be bound by below terms ("Terms") and to
14*53ee8cc1Swenshuai.xi // comply with all applicable laws and regulations:
15*53ee8cc1Swenshuai.xi //
16*53ee8cc1Swenshuai.xi // 1. MStar shall retain any and all right, ownership and interest to MStar
17*53ee8cc1Swenshuai.xi //    Software and any modification/derivatives thereof.
18*53ee8cc1Swenshuai.xi //    No right, ownership, or interest to MStar Software and any
19*53ee8cc1Swenshuai.xi //    modification/derivatives thereof is transferred to you under Terms.
20*53ee8cc1Swenshuai.xi //
21*53ee8cc1Swenshuai.xi // 2. You understand that MStar Software might include, incorporate or be
22*53ee8cc1Swenshuai.xi //    supplied together with third party`s software and the use of MStar
23*53ee8cc1Swenshuai.xi //    Software may require additional licenses from third parties.
24*53ee8cc1Swenshuai.xi //    Therefore, you hereby agree it is your sole responsibility to separately
25*53ee8cc1Swenshuai.xi //    obtain any and all third party right and license necessary for your use of
26*53ee8cc1Swenshuai.xi //    such third party`s software.
27*53ee8cc1Swenshuai.xi //
28*53ee8cc1Swenshuai.xi // 3. MStar Software and any modification/derivatives thereof shall be deemed as
29*53ee8cc1Swenshuai.xi //    MStar`s confidential information and you agree to keep MStar`s
30*53ee8cc1Swenshuai.xi //    confidential information in strictest confidence and not disclose to any
31*53ee8cc1Swenshuai.xi //    third party.
32*53ee8cc1Swenshuai.xi //
33*53ee8cc1Swenshuai.xi // 4. MStar Software is provided on an "AS IS" basis without warranties of any
34*53ee8cc1Swenshuai.xi //    kind. Any warranties are hereby expressly disclaimed by MStar, including
35*53ee8cc1Swenshuai.xi //    without limitation, any warranties of merchantability, non-infringement of
36*53ee8cc1Swenshuai.xi //    intellectual property rights, fitness for a particular purpose, error free
37*53ee8cc1Swenshuai.xi //    and in conformity with any international standard.  You agree to waive any
38*53ee8cc1Swenshuai.xi //    claim against MStar for any loss, damage, cost or expense that you may
39*53ee8cc1Swenshuai.xi //    incur related to your use of MStar Software.
40*53ee8cc1Swenshuai.xi //    In no event shall MStar be liable for any direct, indirect, incidental or
41*53ee8cc1Swenshuai.xi //    consequential damages, including without limitation, lost of profit or
42*53ee8cc1Swenshuai.xi //    revenues, lost or damage of data, and unauthorized system use.
43*53ee8cc1Swenshuai.xi //    You agree that this Section 4 shall still apply without being affected
44*53ee8cc1Swenshuai.xi //    even if MStar Software has been modified by MStar in accordance with your
45*53ee8cc1Swenshuai.xi //    request or instruction for your use, except otherwise agreed by both
46*53ee8cc1Swenshuai.xi //    parties in writing.
47*53ee8cc1Swenshuai.xi //
48*53ee8cc1Swenshuai.xi // 5. If requested, MStar may from time to time provide technical supports or
49*53ee8cc1Swenshuai.xi //    services in relation with MStar Software to you for your use of
50*53ee8cc1Swenshuai.xi //    MStar Software in conjunction with your or your customer`s product
51*53ee8cc1Swenshuai.xi //    ("Services").
52*53ee8cc1Swenshuai.xi //    You understand and agree that, except otherwise agreed by both parties in
53*53ee8cc1Swenshuai.xi //    writing, Services are provided on an "AS IS" basis and the warranty
54*53ee8cc1Swenshuai.xi //    disclaimer set forth in Section 4 above shall apply.
55*53ee8cc1Swenshuai.xi //
56*53ee8cc1Swenshuai.xi // 6. Nothing contained herein shall be construed as by implication, estoppels
57*53ee8cc1Swenshuai.xi //    or otherwise:
58*53ee8cc1Swenshuai.xi //    (a) conferring any license or right to use MStar name, trademark, service
59*53ee8cc1Swenshuai.xi //        mark, symbol or any other identification;
60*53ee8cc1Swenshuai.xi //    (b) obligating MStar or any of its affiliates to furnish any person,
61*53ee8cc1Swenshuai.xi //        including without limitation, you and your customers, any assistance
62*53ee8cc1Swenshuai.xi //        of any kind whatsoever, or any information; or
63*53ee8cc1Swenshuai.xi //    (c) conferring any license or right under any intellectual property right.
64*53ee8cc1Swenshuai.xi //
65*53ee8cc1Swenshuai.xi // 7. These terms shall be governed by and construed in accordance with the laws
66*53ee8cc1Swenshuai.xi //    of Taiwan, R.O.C., excluding its conflict of law rules.
67*53ee8cc1Swenshuai.xi //    Any and all dispute arising out hereof or related hereto shall be finally
68*53ee8cc1Swenshuai.xi //    settled by arbitration referred to the Chinese Arbitration Association,
69*53ee8cc1Swenshuai.xi //    Taipei in accordance with the ROC Arbitration Law and the Arbitration
70*53ee8cc1Swenshuai.xi //    Rules of the Association by three (3) arbitrators appointed in accordance
71*53ee8cc1Swenshuai.xi //    with the said Rules.
72*53ee8cc1Swenshuai.xi //    The place of arbitration shall be in Taipei, Taiwan and the language shall
73*53ee8cc1Swenshuai.xi //    be English.
74*53ee8cc1Swenshuai.xi //    The arbitration award shall be final and binding to both parties.
75*53ee8cc1Swenshuai.xi //
76*53ee8cc1Swenshuai.xi //******************************************************************************
77*53ee8cc1Swenshuai.xi //<MStar Software>
78*53ee8cc1Swenshuai.xi ////////////////////////////////////////////////////////////////////////////////
79*53ee8cc1Swenshuai.xi //
80*53ee8cc1Swenshuai.xi // Copyright (c) 2008-2009 MStar Semiconductor, Inc.
81*53ee8cc1Swenshuai.xi // All rights reserved.
82*53ee8cc1Swenshuai.xi //
83*53ee8cc1Swenshuai.xi // Unless otherwise stipulated in writing, any and all information contained
84*53ee8cc1Swenshuai.xi // herein regardless in any format shall remain the sole proprietary of
85*53ee8cc1Swenshuai.xi // MStar Semiconductor Inc. and be kept in strict confidence
86*53ee8cc1Swenshuai.xi // ("MStar Confidential Information") by the recipient.
87*53ee8cc1Swenshuai.xi // Any unauthorized act including without limitation unauthorized disclosure,
88*53ee8cc1Swenshuai.xi // copying, use, reproduction, sale, distribution, modification, disassembling,
89*53ee8cc1Swenshuai.xi // reverse engineering and compiling of the contents of MStar Confidential
90*53ee8cc1Swenshuai.xi // Information is unlawful and strictly prohibited. MStar hereby reserves the
91*53ee8cc1Swenshuai.xi // rights to any and all damages, losses, costs and expenses resulting therefrom.
92*53ee8cc1Swenshuai.xi //
93*53ee8cc1Swenshuai.xi ////////////////////////////////////////////////////////////////////////////////
94*53ee8cc1Swenshuai.xi 
95*53ee8cc1Swenshuai.xi #ifndef _DRV_AUDIO_IF_H_
96*53ee8cc1Swenshuai.xi #define _DRV_AUDIO_IF_H_
97*53ee8cc1Swenshuai.xi 
98*53ee8cc1Swenshuai.xi #include "MsTypes.h"
99*53ee8cc1Swenshuai.xi #include "UFO.h"
100*53ee8cc1Swenshuai.xi 
101*53ee8cc1Swenshuai.xi #ifdef __cplusplus
102*53ee8cc1Swenshuai.xi extern "C"
103*53ee8cc1Swenshuai.xi {
104*53ee8cc1Swenshuai.xi #endif
105*53ee8cc1Swenshuai.xi 
106*53ee8cc1Swenshuai.xi //-------------------------------------------------------------------------------------------------
107*53ee8cc1Swenshuai.xi //  Macro and Define
108*53ee8cc1Swenshuai.xi //-------------------------------------------------------------------------------------------------
109*53ee8cc1Swenshuai.xi #define AUDIO_STRCMD_LENGTH    64
110*53ee8cc1Swenshuai.xi #define AUDIO_STRNAME_LENGTH    64
111*53ee8cc1Swenshuai.xi #define AUDIO_COMMON_PCM_IO_NAME_LENGTH    32
112*53ee8cc1Swenshuai.xi 
113*53ee8cc1Swenshuai.xi #define AUDIO_MAJOR_VERSION_MASK    0xFFFF0000
114*53ee8cc1Swenshuai.xi #define AUDIO_MINOR_VERSION_MASK    0x0000FFFF
115*53ee8cc1Swenshuai.xi 
116*53ee8cc1Swenshuai.xi #define A_EPERM    1 /* Operation not permitted */
117*53ee8cc1Swenshuai.xi #define A_ENOMEM    12 /* Out of memory */
118*53ee8cc1Swenshuai.xi #define A_EFAULT    14 /* Bad address */
119*53ee8cc1Swenshuai.xi #define A_EBUSY    16 /* Device or resource busy */
120*53ee8cc1Swenshuai.xi #define A_ENODEV    19 /* No such device */
121*53ee8cc1Swenshuai.xi #define A_EINVAL    22 /* Invalid argument */
122*53ee8cc1Swenshuai.xi 
123*53ee8cc1Swenshuai.xi //CathyRemove #define drvMAD_STOP                     0x0
124*53ee8cc1Swenshuai.xi 
125*53ee8cc1Swenshuai.xi #define AUD_CAP_VERSION                 1
126*53ee8cc1Swenshuai.xi 
127*53ee8cc1Swenshuai.xi #define AUDIO_BIFROST_TEST_SUPPORT_VERSION  2   // 2:  Some first basic module test cases supported. 4: SonicEmotion ABS3D supported.
128*53ee8cc1Swenshuai.xi 
129*53ee8cc1Swenshuai.xi #define En_DVB_advsndType_Compare(A, B) (strcmp(A, B) == 0)
130*53ee8cc1Swenshuai.xi #define ADVSND_TYPE_Compare(A, B) (strcmp(A, B) == 0)
131*53ee8cc1Swenshuai.xi #define ADVFUNC_Compare(A, B) (strcmp(A, B) == 0)
132*53ee8cc1Swenshuai.xi #define ADVSND_PARAM_Compare(A, B) (strcmp(A, B) == 0)
133*53ee8cc1Swenshuai.xi 
134*53ee8cc1Swenshuai.xi #define HDMI_Tx_HD                      1
135*53ee8cc1Swenshuai.xi #define HDMI_Tx_DTS_HD                  1
136*53ee8cc1Swenshuai.xi 
137*53ee8cc1Swenshuai.xi //================================================================
138*53ee8cc1Swenshuai.xi //  HDMI PC Define
139*53ee8cc1Swenshuai.xi //================================================================
140*53ee8cc1Swenshuai.xi #define  AU_HDMI_AC3                    0x01
141*53ee8cc1Swenshuai.xi #define  AU_HDMI_AC3P                   0x15
142*53ee8cc1Swenshuai.xi #define  AU_HDMI_DTS_TYPE1              0x0B
143*53ee8cc1Swenshuai.xi #define  AU_HDMI_DTS_TYPE2              0x0C
144*53ee8cc1Swenshuai.xi #define  AU_HDMI_DTS_TYPE3              0x0D
145*53ee8cc1Swenshuai.xi #define  AU_HDMI_DTS_TYPE4              0x11
146*53ee8cc1Swenshuai.xi #define  AU_HDMI_AAC                    0x07
147*53ee8cc1Swenshuai.xi 
148*53ee8cc1Swenshuai.xi //================================================================
149*53ee8cc1Swenshuai.xi //  Common PCM I/O Define
150*53ee8cc1Swenshuai.xi //================================================================
151*53ee8cc1Swenshuai.xi #define AUDIO_HW_DMA_READER1    "HW DMA Reader1"
152*53ee8cc1Swenshuai.xi #define AUDIO_HW_DMA_READER2    "HW DMA Reader2"
153*53ee8cc1Swenshuai.xi #define AUDIO_SW_DMA_READER1    "SW DMA Reader1"
154*53ee8cc1Swenshuai.xi #define AUDIO_R2_DMA_READER1    "R2 DMA Reader1"
155*53ee8cc1Swenshuai.xi #define AUDIO_R2_DMA_READER2    "R2 DMA Reader2"
156*53ee8cc1Swenshuai.xi #define AUDIO_PCM_CAPTURE1      "PCM Capture1"
157*53ee8cc1Swenshuai.xi #define AUDIO_PCM_CAPTURE2      "PCM Capture2"
158*53ee8cc1Swenshuai.xi #define AUDIO_HW_DMA_WRITER1    "HW DMA Writer1"
159*53ee8cc1Swenshuai.xi 
160*53ee8cc1Swenshuai.xi #define AUDIO_SW_MIXER1    "SW MIXER1"
161*53ee8cc1Swenshuai.xi #define AUDIO_SW_MIXER2    "SW MIXER2"
162*53ee8cc1Swenshuai.xi #define AUDIO_SW_MIXER3    "SW MIXER3"
163*53ee8cc1Swenshuai.xi #define AUDIO_SW_MIXER4    "SW MIXER4"
164*53ee8cc1Swenshuai.xi #define AUDIO_SW_MIXER5    "SW MIXER5"
165*53ee8cc1Swenshuai.xi #define AUDIO_SW_MIXER6    "SW MIXER6"
166*53ee8cc1Swenshuai.xi #define AUDIO_SW_MIXER7    "SW MIXER7"
167*53ee8cc1Swenshuai.xi #define AUDIO_SW_MIXER8    "SW MIXER8"
168*53ee8cc1Swenshuai.xi 
169*53ee8cc1Swenshuai.xi #define AUDIO_PCM_SWMIXER_GROUP_NONE    0x00000000
170*53ee8cc1Swenshuai.xi #define AUDIO_PCM_SWMIXER_GROUP_ALL    0xFFFFFFFF
171*53ee8cc1Swenshuai.xi #define AUDIO_PCM_SWMIXER_GROUP_1    0x00000001
172*53ee8cc1Swenshuai.xi #define AUDIO_PCM_SWMIXER_GROUP_2    0x00000002
173*53ee8cc1Swenshuai.xi #define AUDIO_PCM_SWMIXER_GROUP_3    0x00000004
174*53ee8cc1Swenshuai.xi #define AUDIO_PCM_SWMIXER_GROUP_4    0x00000008
175*53ee8cc1Swenshuai.xi #define AUDIO_PCM_SWMIXER_GROUP_5    0x00000010
176*53ee8cc1Swenshuai.xi #define AUDIO_PCM_SWMIXER_GROUP_6    0x00000020
177*53ee8cc1Swenshuai.xi #define AUDIO_PCM_SWMIXER_GROUP_7    0x00000040
178*53ee8cc1Swenshuai.xi #define AUDIO_PCM_SWMIXER_GROUP_8    0x00000080
179*53ee8cc1Swenshuai.xi 
180*53ee8cc1Swenshuai.xi //================================================================
181*53ee8cc1Swenshuai.xi //  Output Device Selection Define
182*53ee8cc1Swenshuai.xi //================================================================
183*53ee8cc1Swenshuai.xi #define AUDIO_OUTPUT_DEVICE_NONE    0x00000000
184*53ee8cc1Swenshuai.xi #define AUDIO_OUTPUT_DEVICE_SPEAKER    0x00000001
185*53ee8cc1Swenshuai.xi #define AUDIO_OUTPUT_DEVICE_SPDIF    0x00000002
186*53ee8cc1Swenshuai.xi #define AUDIO_OUTPUT_DEVICE_HDMI    0x00000004
187*53ee8cc1Swenshuai.xi #define AUDIO_OUTPUT_DEVICE_ALL    0xFFFFFFFF
188*53ee8cc1Swenshuai.xi 
189*53ee8cc1Swenshuai.xi //================================================================
190*53ee8cc1Swenshuai.xi //  Define for CodecType in AUDIO_CODEC_CAPABILITY_t
191*53ee8cc1Swenshuai.xi //================================================================
192*53ee8cc1Swenshuai.xi #define AUDIO_CODEC_MPEG    0x00000001
193*53ee8cc1Swenshuai.xi #define AUDIO_CODEC_AC3    0x00000002
194*53ee8cc1Swenshuai.xi #define AUDIO_CODEC_AC3P    0x00000003
195*53ee8cc1Swenshuai.xi #define AUDIO_CODEC_AAC    0x00000004
196*53ee8cc1Swenshuai.xi #define AUDIO_CODEC_DTS    0x00000005
197*53ee8cc1Swenshuai.xi #define AUDIO_CODEC_DTS_LBR    0x00000006
198*53ee8cc1Swenshuai.xi #define AUDIO_CODEC_DTS_HD    0x00000007
199*53ee8cc1Swenshuai.xi #define AUDIO_CODEC_WMA    0x00000008
200*53ee8cc1Swenshuai.xi #define AUDIO_CODEC_DRA    0x00000009
201*53ee8cc1Swenshuai.xi #define AUDIO_CODEC_COOK    0x0000000A
202*53ee8cc1Swenshuai.xi #define AUDIO_CODEC_XPCM    0x0000000B
203*53ee8cc1Swenshuai.xi #define AUDIO_CODEC_VORBIS    0x0000000C
204*53ee8cc1Swenshuai.xi 
205*53ee8cc1Swenshuai.xi //================================================================
206*53ee8cc1Swenshuai.xi //  Structure
207*53ee8cc1Swenshuai.xi //================================================================
208*53ee8cc1Swenshuai.xi 
209*53ee8cc1Swenshuai.xi typedef struct
210*53ee8cc1Swenshuai.xi {
211*53ee8cc1Swenshuai.xi     MS_U32 u32Addr;
212*53ee8cc1Swenshuai.xi     MS_U32 u32Size;
213*53ee8cc1Swenshuai.xi     MS_U64 u64Idx;
214*53ee8cc1Swenshuai.xi }AU_DVB_ENC_FRAME_INFO, *PAU_DVB_ENC_FRAME_INFO;
215*53ee8cc1Swenshuai.xi 
216*53ee8cc1Swenshuai.xi typedef struct
217*53ee8cc1Swenshuai.xi {
218*53ee8cc1Swenshuai.xi     MS_U32 u32Addr;
219*53ee8cc1Swenshuai.xi     MS_U32 u32Size;
220*53ee8cc1Swenshuai.xi     MS_U32 u32Idx;
221*53ee8cc1Swenshuai.xi }AUDIO_UPLOAD_INFO, *PAUDIO_UPLOAD_INFO;
222*53ee8cc1Swenshuai.xi 
223*53ee8cc1Swenshuai.xi typedef enum
224*53ee8cc1Swenshuai.xi {
225*53ee8cc1Swenshuai.xi     AUDIO_COEF_PREVER_PEQ, //for compatible with PEQ of previous version
226*53ee8cc1Swenshuai.xi     AUDIO_COEF_PEQ,
227*53ee8cc1Swenshuai.xi     AUDIO_COEF_HPF,
228*53ee8cc1Swenshuai.xi     AUDIO_COEF_BASS,
229*53ee8cc1Swenshuai.xi     AUDIO_COEF_TREBLE,
230*53ee8cc1Swenshuai.xi }AUDIO_COEF_TYPE;
231*53ee8cc1Swenshuai.xi 
232*53ee8cc1Swenshuai.xi typedef enum
233*53ee8cc1Swenshuai.xi {
234*53ee8cc1Swenshuai.xi     AUDIO_SINGLE_PRECISION,
235*53ee8cc1Swenshuai.xi     AUDIO_DOUBLE_PRECISION,
236*53ee8cc1Swenshuai.xi }AUDIO_PRECISION_TYPE;
237*53ee8cc1Swenshuai.xi 
238*53ee8cc1Swenshuai.xi 
239*53ee8cc1Swenshuai.xi typedef struct
240*53ee8cc1Swenshuai.xi {
241*53ee8cc1Swenshuai.xi     MS_U8   band;                       ///< band
242*53ee8cc1Swenshuai.xi     MS_U8   sfs;                        ///< fs
243*53ee8cc1Swenshuai.xi     MS_U8   scale;                      ///< scale
244*53ee8cc1Swenshuai.xi     MS_U32  a0;                         ///< a0
245*53ee8cc1Swenshuai.xi     MS_U32  a1;                         ///< a1
246*53ee8cc1Swenshuai.xi     MS_U32  a2;                         ///< a2
247*53ee8cc1Swenshuai.xi     MS_U32  b1;                         ///< b1
248*53ee8cc1Swenshuai.xi     MS_U32  b2;                         ///< b2
249*53ee8cc1Swenshuai.xi     AUDIO_COEF_TYPE   type;             /// PEQ, HPF or tone
250*53ee8cc1Swenshuai.xi     MS_BOOL enable;                     /// PEQ band enable
251*53ee8cc1Swenshuai.xi     AUDIO_PRECISION_TYPE precision;     /// PEQ filter precision
252*53ee8cc1Swenshuai.xi } AUDIO_PEQ_COEF, *PAUDIO_PEQ_COEF;
253*53ee8cc1Swenshuai.xi 
254*53ee8cc1Swenshuai.xi typedef enum
255*53ee8cc1Swenshuai.xi {
256*53ee8cc1Swenshuai.xi     AUDIO_SOUNDEFFECT_SPEAKER,
257*53ee8cc1Swenshuai.xi     AUDIO_SOUNDEFFECT_HEADPHONE,
258*53ee8cc1Swenshuai.xi }AUDIO_SOUNDEFFECT_TYPE;
259*53ee8cc1Swenshuai.xi 
260*53ee8cc1Swenshuai.xi typedef struct __attribute__((packed))
261*53ee8cc1Swenshuai.xi {
262*53ee8cc1Swenshuai.xi     MS_U32 u32AudioCapsVersion;
263*53ee8cc1Swenshuai.xi     MS_U32 u32AudioCapsStructSize;
264*53ee8cc1Swenshuai.xi     MS_U8 u8MaxDecoderNum;
265*53ee8cc1Swenshuai.xi     MS_U8 u8MaxDmaReaderNum;
266*53ee8cc1Swenshuai.xi     MS_BOOL bIsADSupported;
267*53ee8cc1Swenshuai.xi     MS_BOOL bIsPusiDetectSupported;
268*53ee8cc1Swenshuai.xi     MS_BOOL bIsMpegSupported;
269*53ee8cc1Swenshuai.xi     MS_BOOL bIsAc3Supported;
270*53ee8cc1Swenshuai.xi     MS_BOOL bIsAc3pSupported;
271*53ee8cc1Swenshuai.xi     MS_BOOL bIsAacSupported;
272*53ee8cc1Swenshuai.xi     MS_BOOL bIsMp3Supported;
273*53ee8cc1Swenshuai.xi     MS_BOOL bIsWmaSupported;
274*53ee8cc1Swenshuai.xi     MS_BOOL bIsRa8LbrSupported;
275*53ee8cc1Swenshuai.xi     MS_BOOL bIsXpcmSupported;
276*53ee8cc1Swenshuai.xi     MS_BOOL bIsDtsSupported;
277*53ee8cc1Swenshuai.xi     MS_BOOL bIsWmaProSupported;
278*53ee8cc1Swenshuai.xi     MS_BOOL bIsFlacSupported;
279*53ee8cc1Swenshuai.xi     MS_BOOL bIsVorbisSupported;
280*53ee8cc1Swenshuai.xi     MS_BOOL bIsDtsLbrSupported;
281*53ee8cc1Swenshuai.xi     MS_BOOL bIsAmrNbSupported;
282*53ee8cc1Swenshuai.xi     MS_BOOL bIsAmrWbSupported;
283*53ee8cc1Swenshuai.xi     MS_BOOL bIsDraSupported;
284*53ee8cc1Swenshuai.xi 
285*53ee8cc1Swenshuai.xi     /*
286*53ee8cc1Swenshuai.xi      * Note!!!
287*53ee8cc1Swenshuai.xi      *
288*53ee8cc1Swenshuai.xi      * 1. No matter what kind of modification in this structure, "AUD_CAP_VERSION" must be updated as well!!!
289*53ee8cc1Swenshuai.xi      *
290*53ee8cc1Swenshuai.xi      * 2. The element in this structure can only be added, never removed!!!
291*53ee8cc1Swenshuai.xi      *
292*53ee8cc1Swenshuai.xi      */
293*53ee8cc1Swenshuai.xi } AUDIO_CAPABILITIES;
294*53ee8cc1Swenshuai.xi 
295*53ee8cc1Swenshuai.xi #if defined(UFO_PUBLIC_HEADER_300)
296*53ee8cc1Swenshuai.xi typedef struct
297*53ee8cc1Swenshuai.xi #else
298*53ee8cc1Swenshuai.xi typedef struct __attribute__((packed))
299*53ee8cc1Swenshuai.xi #endif
300*53ee8cc1Swenshuai.xi {
301*53ee8cc1Swenshuai.xi     MS_U32 u32StructVersion; /* version number of this data structure */
302*53ee8cc1Swenshuai.xi     MS_U32 u32StructSize; /* size of this data structure */
303*53ee8cc1Swenshuai.xi     MS_U8 u8ConnectFlag; /* it is TRUE when opened */
304*53ee8cc1Swenshuai.xi     MS_U8 u8StartFlag; /* it is TRUE when started and opened */
305*53ee8cc1Swenshuai.xi     MS_U8 u8Name[AUDIO_COMMON_PCM_IO_NAME_LENGTH]; /* The PCM name requested */
306*53ee8cc1Swenshuai.xi     MS_U8 u8NonBlockingFlag; /* it is TRUE when request for nonblocking mode */
307*53ee8cc1Swenshuai.xi     MS_U8 u8MultiChFlag; /* it is TRUE when request for a multi-channel PCM IO */
308*53ee8cc1Swenshuai.xi     MS_U8 u8MixingFlag; /* it is TRUE when request for a mixing PCM IO */
309*53ee8cc1Swenshuai.xi     MS_U32 u32MixingGroup; /* PCM mixing group, i.e. AUDIO_PCMMIXER_GROUP_ALL */
310*53ee8cc1Swenshuai.xi #if defined(UFO_PUBLIC_HEADER_212) || defined(UFO_PUBLIC_HEADER_500_3)
311*53ee8cc1Swenshuai.xi     MS_S8 *pBuffer; /* PCM buffer address */
312*53ee8cc1Swenshuai.xi     MS_S8 *pReadPtr; /* PCM read pointer */
313*53ee8cc1Swenshuai.xi     MS_S8 *pWritePtr; /* PCM write pointer */
314*53ee8cc1Swenshuai.xi #endif
315*53ee8cc1Swenshuai.xi     MS_U32 u32BufferDuration; /* PCM buffer size in mini-second unit, and up to a maximun size */
316*53ee8cc1Swenshuai.xi     MS_U32 u32Channel; /* PCM channel number */
317*53ee8cc1Swenshuai.xi     MS_U32 u32SampleRate; /* PCM sample rate */
318*53ee8cc1Swenshuai.xi     MS_U32 u32BitWidth; /* PCM sample's bit width of each channel */
319*53ee8cc1Swenshuai.xi     MS_U32 u32BigEndian; /* PCM endian, TRUE means Big Endian, FALSE means Little Endian */
320*53ee8cc1Swenshuai.xi     MS_U32 u32Timestamp; /* PCM timestamp */
321*53ee8cc1Swenshuai.xi     MS_U32 u32Weighting; /* PCM weighting for mixing case, differs from volume it's an extra attenuation  for PCM level, the range is 0~100, and 100 means no any attenuation */
322*53ee8cc1Swenshuai.xi     MS_U32 u32Volume; /* PCM volume, the range is 0 ~ 1016, and 96 means 0dB */
323*53ee8cc1Swenshuai.xi     MS_U32 u32BufferLevel; /* PCM bufffer level in byte unit */
324*53ee8cc1Swenshuai.xi     MS_U8 u8CaptureFlag; /* it is TRUE when request for a PCM Capture IO  */
325*53ee8cc1Swenshuai.xi 
326*53ee8cc1Swenshuai.xi     /*
327*53ee8cc1Swenshuai.xi      * Note!!!
328*53ee8cc1Swenshuai.xi      *
329*53ee8cc1Swenshuai.xi      * 1. No matter what kind of modification in this structure, "AUDIO_PCM_INFO_VERSION" must be updated as well!!!
330*53ee8cc1Swenshuai.xi      *
331*53ee8cc1Swenshuai.xi      * 2. The element in this structure can only be added, never removed!!!
332*53ee8cc1Swenshuai.xi      *
333*53ee8cc1Swenshuai.xi      */
334*53ee8cc1Swenshuai.xi } AUDIO_PCM_INFO_t;
335*53ee8cc1Swenshuai.xi #if defined(UFO_PUBLIC_HEADER_212) || defined(UFO_PUBLIC_HEADER_500_3)
336*53ee8cc1Swenshuai.xi #define AUDIO_PCM_INFO_VERSION    0x00010001
337*53ee8cc1Swenshuai.xi #else
338*53ee8cc1Swenshuai.xi #define AUDIO_PCM_INFO_VERSION    0x00020001
339*53ee8cc1Swenshuai.xi #endif
340*53ee8cc1Swenshuai.xi 
341*53ee8cc1Swenshuai.xi //================================================================
342*53ee8cc1Swenshuai.xi //  Enum
343*53ee8cc1Swenshuai.xi //================================================================
344*53ee8cc1Swenshuai.xi 
345*53ee8cc1Swenshuai.xi //================================================================
346*53ee8cc1Swenshuai.xi //  AuCommon
347*53ee8cc1Swenshuai.xi //================================================================
348*53ee8cc1Swenshuai.xi typedef enum
349*53ee8cc1Swenshuai.xi {
350*53ee8cc1Swenshuai.xi     AUDIO_PATH_GROUP_1,
351*53ee8cc1Swenshuai.xi     AUDIO_PATH_GROUP_2,
352*53ee8cc1Swenshuai.xi     AUDIO_PATH_GROUP_3,
353*53ee8cc1Swenshuai.xi }AUDIO_PATH_GROUP_TYPE;
354*53ee8cc1Swenshuai.xi 
355*53ee8cc1Swenshuai.xi 
356*53ee8cc1Swenshuai.xi ///<Audio source info type
357*53ee8cc1Swenshuai.xi typedef enum
358*53ee8cc1Swenshuai.xi {
359*53ee8cc1Swenshuai.xi     E_AUDIO_INFO_DTV_IN,
360*53ee8cc1Swenshuai.xi     E_AUDIO_INFO_ATV_IN,
361*53ee8cc1Swenshuai.xi     E_AUDIO_INFO_HDMI_IN,
362*53ee8cc1Swenshuai.xi     E_AUDIO_INFO_ADC_IN,
363*53ee8cc1Swenshuai.xi     E_AUDIO_INFO_MM_IN,
364*53ee8cc1Swenshuai.xi     E_AUDIO_INFO_SPDIF_IN,
365*53ee8cc1Swenshuai.xi     E_AUDIO_INFO_KTV_IN,
366*53ee8cc1Swenshuai.xi     E_AUDIO_INFO_GAME_IN,
367*53ee8cc1Swenshuai.xi     E_AUDIO_INFO_KTV_STB_IN         ///< Iuput source type for STB KTV mode
368*53ee8cc1Swenshuai.xi }AUDIO_SOURCE_INFO_TYPE;
369*53ee8cc1Swenshuai.xi 
370*53ee8cc1Swenshuai.xi ///<Enum for Audio data capture source selection
371*53ee8cc1Swenshuai.xi typedef enum
372*53ee8cc1Swenshuai.xi {
373*53ee8cc1Swenshuai.xi     E_CAPTURE_CH1,                   ///< Data from DIG1 input port
374*53ee8cc1Swenshuai.xi     E_CAPTURE_CH2,                   ///< Data from DIG2 input port
375*53ee8cc1Swenshuai.xi     E_CAPTURE_CH3,                   ///< Data from DIG3 input port
376*53ee8cc1Swenshuai.xi     E_CAPTURE_CH4,                   ///< Data from DIG4 input port
377*53ee8cc1Swenshuai.xi     E_CAPTURE_CH5,                   ///< Data from DIG5 input port
378*53ee8cc1Swenshuai.xi     E_CAPTURE_CH6,                   ///< Data from DIG6 input port
379*53ee8cc1Swenshuai.xi     E_CAPTURE_CH7,                   ///< Data from DIG7 input port
380*53ee8cc1Swenshuai.xi     E_CAPTURE_CH8,                   ///< Data from DIG8 input port
381*53ee8cc1Swenshuai.xi     E_CAPTURE_PCM,                   ///< Pure PCM out =Data CH5
382*53ee8cc1Swenshuai.xi     E_CAPTURE_PCM_DELAY,             ///< PCM + Delay out
383*53ee8cc1Swenshuai.xi     E_CAPTURE_PCM_SE,                ///< PCM + Delay +SE out
384*53ee8cc1Swenshuai.xi     E_CAPTURE_ADC,                   ///< Data from ADC1 input port
385*53ee8cc1Swenshuai.xi     E_CAPTURE_AUOUT0,                ///< Data for DAC0 output port
386*53ee8cc1Swenshuai.xi     E_CAPTURE_AUOUT1,                ///< Data for DAC1 output port
387*53ee8cc1Swenshuai.xi     E_CAPTURE_AUOUT2,                ///< Data for DAC2 output port
388*53ee8cc1Swenshuai.xi     E_CAPTURE_AUOUT3,                ///< Data for DAC3 output port
389*53ee8cc1Swenshuai.xi     E_CAPTURE_I2S_OUT,               ///< Data for I2S output port
390*53ee8cc1Swenshuai.xi     E_CAPTURE_SPDIF_OUT,             ///< Data for SPDIF output port
391*53ee8cc1Swenshuai.xi     E_CAPTURE_MIXER,                 ///< Data for audio data Mixer
392*53ee8cc1Swenshuai.xi     E_CAPTURE_ADC2,                  ///< Data from ADC2 input port
393*53ee8cc1Swenshuai.xi     E_CAPTURE_ADC1_AUIN0_INPUT,      /// ADC1-Line-in[0]
394*53ee8cc1Swenshuai.xi     E_CAPTURE_ADC1_AUIN1_INPUT,      /// ADC1-Line-in[1]
395*53ee8cc1Swenshuai.xi     E_CAPTURE_ADC1_AUIN2_INPUT,      /// ADC1-Line-in[2]
396*53ee8cc1Swenshuai.xi     E_CAPTURE_ADC1_AUIN3_INPUT,      /// ADC1-Line-in[3]
397*53ee8cc1Swenshuai.xi     E_CAPTURE_ADC1_AUIN4_INPUT,      /// ADC1-Line-in[4]
398*53ee8cc1Swenshuai.xi     E_CAPTURE_ADC1_AUIN5_INPUT,      /// ADC1-Line-in[5]
399*53ee8cc1Swenshuai.xi     E_CAPTURE_ADC1_AUMIC_INPUT,      /// ADC1-Micphone-in
400*53ee8cc1Swenshuai.xi     E_CAPTURE_ADC2_AUIN0_INPUT,      /// ADC2-Line-in[0]
401*53ee8cc1Swenshuai.xi     E_CAPTURE_ADC2_AUIN1_INPUT,      /// ADC2-Line-in[1]
402*53ee8cc1Swenshuai.xi     E_CAPTURE_ADC2_AUIN2_INPUT,      /// ADC2-Line-in[2]
403*53ee8cc1Swenshuai.xi     E_CAPTURE_ADC2_AUIN3_INPUT,      /// ADC2-Line-in[3]
404*53ee8cc1Swenshuai.xi     E_CAPTURE_ADC2_AUIN4_INPUT,      /// ADC2-Line-in[4]
405*53ee8cc1Swenshuai.xi     E_CAPTURE_ADC2_AUIN5_INPUT,      /// ADC2-Line-in[5]
406*53ee8cc1Swenshuai.xi     E_CAPTURE_ADC2_AUMIC_INPUT,      /// ADC2-Micphone-in
407*53ee8cc1Swenshuai.xi     E_CAPTURE_MAX_NUM,               ///< MAX capture source number
408*53ee8cc1Swenshuai.xi     E_CAPTURE_NULL                   = 0xFF,  ///< No caupure source
409*53ee8cc1Swenshuai.xi }AUDIO_CAPTURE_SOURCE_TYPE;          // Audio capture type selection
410*53ee8cc1Swenshuai.xi 
411*53ee8cc1Swenshuai.xi ///<Enum for Multi-Audio Device
412*53ee8cc1Swenshuai.xi typedef enum
413*53ee8cc1Swenshuai.xi {
414*53ee8cc1Swenshuai.xi     E_DEVICE0,    ///< 1st audio device
415*53ee8cc1Swenshuai.xi     E_DEVICE1,    ///< 2nd audio device
416*53ee8cc1Swenshuai.xi     E_DEVICE2,    ///< 3rd audio device
417*53ee8cc1Swenshuai.xi     E_DEVICE3,    ///< 4th audio device
418*53ee8cc1Swenshuai.xi     E_DEVICE4,    ///< 5th audio device
419*53ee8cc1Swenshuai.xi     E_DEVICE5,    ///< 6th audio device
420*53ee8cc1Swenshuai.xi }AUDIO_DEVICE_TYPE;   // Audio device type
421*53ee8cc1Swenshuai.xi 
422*53ee8cc1Swenshuai.xi ///====== Audio Path Mode TYPE========
423*53ee8cc1Swenshuai.xi enum
424*53ee8cc1Swenshuai.xi {
425*53ee8cc1Swenshuai.xi     AUDIO_DSP1_INPUT,                   ///< 0: DSP Decoder1 Input
426*53ee8cc1Swenshuai.xi     AUDIO_DSP2_INPUT,                   ///< 1: DSP Decoder2 Input
427*53ee8cc1Swenshuai.xi     AUDIO_ADC_INPUT,                    ///< 2: ADC Input
428*53ee8cc1Swenshuai.xi     AUDIO_DSP3_INPUT                    = 0x06,     ///< 6: DSP Decoder3 Input
429*53ee8cc1Swenshuai.xi     AUDIO_DSP4_INPUT                    = 0x08,     ///< 8: DSP Decoder4 Input
430*53ee8cc1Swenshuai.xi     AUDIO_ADC2_INPUT                    = 0x09,     ///< 9: ADC2 Input
431*53ee8cc1Swenshuai.xi     AUDIO_DMA_INPUT                     = 0x0E,     ///< E: DMA Input
432*53ee8cc1Swenshuai.xi };
433*53ee8cc1Swenshuai.xi 
434*53ee8cc1Swenshuai.xi typedef enum
435*53ee8cc1Swenshuai.xi {
436*53ee8cc1Swenshuai.xi     AUDIO_PATH_0,                       ///< 0: PATH 0
437*53ee8cc1Swenshuai.xi     AUDIO_PATH_1,                       ///< 1: PATH 1
438*53ee8cc1Swenshuai.xi     AUDIO_PATH_2,                       ///< 2: PATH 2
439*53ee8cc1Swenshuai.xi     AUDIO_PATH_3,                       ///< 3: PATH 3
440*53ee8cc1Swenshuai.xi     AUDIO_PATH_4,
441*53ee8cc1Swenshuai.xi     AUDIO_PATH_5,
442*53ee8cc1Swenshuai.xi     AUDIO_PATH_6,
443*53ee8cc1Swenshuai.xi     AUDIO_PATH_7,                       ///< 7: New add in T3
444*53ee8cc1Swenshuai.xi     AUDIO_PATH_MAIN                     = 4,
445*53ee8cc1Swenshuai.xi 
446*53ee8cc1Swenshuai.xi     AUDIO_T3_PATH_AUOUT0                = 0x30,      ///< T3 volume path : AUOUT0
447*53ee8cc1Swenshuai.xi     AUDIO_T3_PATH_AUOUT1                = 0x31,      ///< T3 volume path : AUOUT1
448*53ee8cc1Swenshuai.xi     AUDIO_T3_PATH_AUOUT2                = 0x32,      ///< T3 volume path : AUOUT2
449*53ee8cc1Swenshuai.xi     AUDIO_T3_PATH_AUOUT3                = 0x33,      ///< T3 volume path : AUOUT3
450*53ee8cc1Swenshuai.xi     AUDIO_T3_PATH_I2S                   = 0x34,      ///< T3 volume path : I2S
451*53ee8cc1Swenshuai.xi     AUDIO_T3_PATH_SPDIF                 = 0x35,      ///< T3 volume path : SPDIF
452*53ee8cc1Swenshuai.xi     AUDIO_T3_PATH_I2S2                  = 0x36,      ///< T3 volume path : SPDIF
453*53ee8cc1Swenshuai.xi     AUDIO_T3_PATH_HDMI                  = 0x37,      ///< T3 volume path : HDMI
454*53ee8cc1Swenshuai.xi     AUDIO_T3_PATH_LR                    = 0x38,
455*53ee8cc1Swenshuai.xi     AUDIO_T3_PATH_PCM_CAPTURE1          = 0x39,      ///< T3 volume path : PCM Capture1
456*53ee8cc1Swenshuai.xi     AUDIO_T3_PATH_PCM_CAPTURE2          = 0x3A,      ///< T3 volume path : PCM Capture2
457*53ee8cc1Swenshuai.xi     AUDIO_T3_PATH_DMA_WRITER1           = 0x3B,      ///< T3 volume path : HW DMA Writer1
458*53ee8cc1Swenshuai.xi 
459*53ee8cc1Swenshuai.xi     AUDIO_T3_PATH_MIXER_MAIN            = 0x40,      ///< Internal volume path for Mixer 1st port (CH5 in)
460*53ee8cc1Swenshuai.xi     AUDIO_T3_PATH_MIXER_SECONDARY       = 0x41,      ///< Internal volume path for Mixer 2nd port (CH6 in)
461*53ee8cc1Swenshuai.xi     AUDIO_T3_PATH_MIXER_DMA_IN          = 0x42,      ///< Internal volume path for Mixer 3rd port (CH8 in)
462*53ee8cc1Swenshuai.xi     AUDIO_T3_PATH_MIXER_MCH_IN          = 0x43,      ///< Internal volume path forMulti-channel ports (CH1~3 in)
463*53ee8cc1Swenshuai.xi 
464*53ee8cc1Swenshuai.xi     AUDIO_PATH_SW_DMA_0                 = 0x50,
465*53ee8cc1Swenshuai.xi     AUDIO_PATH_SW_DMA_1                 = 0x51,
466*53ee8cc1Swenshuai.xi     AUDIO_PATH_HW_DMA_0                 = 0x52,
467*53ee8cc1Swenshuai.xi     AUDIO_PATH_HW_DMA_1                 = 0x53,
468*53ee8cc1Swenshuai.xi 
469*53ee8cc1Swenshuai.xi     AUDIO_PATH_NULL                     = 0xFF
470*53ee8cc1Swenshuai.xi }AUDIO_PATH_TYPE;
471*53ee8cc1Swenshuai.xi 
472*53ee8cc1Swenshuai.xi typedef enum
473*53ee8cc1Swenshuai.xi {
474*53ee8cc1Swenshuai.xi     INTERNAL_MULTI_1,                   ///< 0: For Multi-channel only
475*53ee8cc1Swenshuai.xi     INTERNAL_MULTI_2,                   ///< 1  For Multi-channel only
476*53ee8cc1Swenshuai.xi     INTERNAL_MULTI_3,                   ///< 2: For Multi-channel only
477*53ee8cc1Swenshuai.xi     INTERNAL_MULTI_4,                   ///< 3: For Multi-channel only
478*53ee8cc1Swenshuai.xi     INTERNAL_PCM,                       ///< 4: Pure PCM out
479*53ee8cc1Swenshuai.xi     INTERNAL_PCM_DELAY,                 ///< 5: PCM + Delay out
480*53ee8cc1Swenshuai.xi     INTERNAL_PCM_SE,                    ///< 6: PCM + Delay +SE out
481*53ee8cc1Swenshuai.xi     INTERNAL_SCART,                     ///< 7: SCART data
482*53ee8cc1Swenshuai.xi     INTERNAL_MIXER,                     ///< 8: SCART data
483*53ee8cc1Swenshuai.xi     INTERNAL_CH6,                       ///< 9: CH6 data
484*53ee8cc1Swenshuai.xi     INTERNAL_TEST,                      ///< A: Test data
485*53ee8cc1Swenshuai.xi     INTERNAL_LRDIV2,                    ///< B: I2S (L+R)/2 data
486*53ee8cc1Swenshuai.xi     INTERNAL_TONE,                      ///< C: 1KHz Tone
487*53ee8cc1Swenshuai.xi     INTERNAL_CH8,                       ///< D: Data from CH8
488*53ee8cc1Swenshuai.xi     INTERNAL_ATVENC,                    ///< E: Data from ATV Encoder.
489*53ee8cc1Swenshuai.xi     INTERNAL_MAX_NUM,                   ///< MAX Internal path number
490*53ee8cc1Swenshuai.xi     INTERNAL_PATH_NULL                  = 0xFF,
491*53ee8cc1Swenshuai.xi }AUDIO_INTERNAL_PATH_TYPE;              // for T3 only
492*53ee8cc1Swenshuai.xi 
493*53ee8cc1Swenshuai.xi //====== Audio input Mode TYPE========
494*53ee8cc1Swenshuai.xi typedef enum
495*53ee8cc1Swenshuai.xi {
496*53ee8cc1Swenshuai.xi     AUDIO_SPDIF_INPUT                   = 3,        ///< 3: SPDIF INPUT
497*53ee8cc1Swenshuai.xi     AUDIO_I2S_INPUT                     = 4,        ///< 4: I2S INPUT
498*53ee8cc1Swenshuai.xi     AUDIO_HDMI_INPUT                    = 5,        ///< 5: HDMI INPUT
499*53ee8cc1Swenshuai.xi     AUDIO_SRC_INPUT                     = 7,
500*53ee8cc1Swenshuai.xi 
501*53ee8cc1Swenshuai.xi     AUDIO_DSP1_DVB_INPUT                = 0x00,
502*53ee8cc1Swenshuai.xi     AUDIO_DSP1_DVB1_INPUT               = 0x10,
503*53ee8cc1Swenshuai.xi     AUDIO_DSP1_SPDIF_INPUT              = 0x20,
504*53ee8cc1Swenshuai.xi     AUDIO_DSP1_SPDIFx1_INPUT            = 0x30,
505*53ee8cc1Swenshuai.xi     AUDIO_DSP1_HDMI_INPUT               = 0x40,
506*53ee8cc1Swenshuai.xi     AUDIO_DSP1_HDMIx1_INPUT             = 0x50,
507*53ee8cc1Swenshuai.xi     AUDIO_DSP1_CardRD_INPUT             = 0x60,
508*53ee8cc1Swenshuai.xi     AUDIO_DSP1_SIF_INPUT                = 0x70,
509*53ee8cc1Swenshuai.xi     AUDIO_DSP1_MM_INPUT                 = 0x80,
510*53ee8cc1Swenshuai.xi 
511*53ee8cc1Swenshuai.xi     AUDIO_DSP2_DVB_INPUT                = 0x01,
512*53ee8cc1Swenshuai.xi     AUDIO_DSP2_DVB1_INPUT               = 0x11,
513*53ee8cc1Swenshuai.xi     AUDIO_DSP2_SPDIF_INPUT              = 0x21,
514*53ee8cc1Swenshuai.xi     AUDIO_DSP2_SPDIFx1_INPUT            = 0x31,
515*53ee8cc1Swenshuai.xi     AUDIO_DSP2_HDMI_INPUT               = 0x41,
516*53ee8cc1Swenshuai.xi     AUDIO_DSP2_HDMIx1_INPUT             = 0x51,
517*53ee8cc1Swenshuai.xi     AUDIO_DSP2_CardRD_INPUT             = 0x61,
518*53ee8cc1Swenshuai.xi     AUDIO_DSP2_SIF_INPUT                = 0x71,
519*53ee8cc1Swenshuai.xi 
520*53ee8cc1Swenshuai.xi     AUDIO_DSP3_DVB_INPUT                = 0x06,
521*53ee8cc1Swenshuai.xi     AUDIO_DSP3_DVB1_INPUT               = 0x16,
522*53ee8cc1Swenshuai.xi     AUDIO_DSP3_SPDIF_INPUT              = 0x26,
523*53ee8cc1Swenshuai.xi     AUDIO_DSP3_SPDIFx1_INPUT            = 0x36,
524*53ee8cc1Swenshuai.xi     AUDIO_DSP3_HDMI_INPUT               = 0x46,
525*53ee8cc1Swenshuai.xi     AUDIO_DSP3_HDMIx1_INPUT             = 0x56,
526*53ee8cc1Swenshuai.xi     AUDIO_DSP3_CardRD_INPUT             = 0x66,
527*53ee8cc1Swenshuai.xi     AUDIO_DSP3_SIF_INPUT                = 0x76,
528*53ee8cc1Swenshuai.xi 
529*53ee8cc1Swenshuai.xi     AUDIO_DSP4_DVB_INPUT                = 0x08,
530*53ee8cc1Swenshuai.xi     AUDIO_DSP4_DMARD_INPUT              = 0x58,     /// New add in T3
531*53ee8cc1Swenshuai.xi     AUDIO_DSP4_SIF_INPUT                = 0x78,     /// For T3 SIF input
532*53ee8cc1Swenshuai.xi 
533*53ee8cc1Swenshuai.xi     AUDIO_AUIN0_INPUT                   = 0x02,     /// Line-in[0]
534*53ee8cc1Swenshuai.xi     AUDIO_AUIN1_INPUT                   = 0x12,     /// Line-in[1]
535*53ee8cc1Swenshuai.xi     AUDIO_AUIN2_INPUT                   = 0x22,     /// Line-in[2]
536*53ee8cc1Swenshuai.xi     AUDIO_AUIN3_INPUT                   = 0x32,     /// Line-in[3]
537*53ee8cc1Swenshuai.xi     AUDIO_AUIN4_INPUT                   = 0xA2,     /// Line-in[4]
538*53ee8cc1Swenshuai.xi     AUDIO_AUIN5_INPUT                   = 0xB2,     /// Line-in[5]
539*53ee8cc1Swenshuai.xi     AUDIO_AUMIC_INPUT                   = 0x72,     /// Micphone-in
540*53ee8cc1Swenshuai.xi 
541*53ee8cc1Swenshuai.xi     AUDIO_ADC2_AUIN0_INPUT              = 0x09,     /// Line-in[0]
542*53ee8cc1Swenshuai.xi     AUDIO_ADC2_AUIN1_INPUT              = 0x19,     /// Line-in[1]
543*53ee8cc1Swenshuai.xi     AUDIO_ADC2_AUIN2_INPUT              = 0x29,     /// Line-in[2]
544*53ee8cc1Swenshuai.xi     AUDIO_ADC2_AUIN3_INPUT              = 0x39,     /// Line-in[3]
545*53ee8cc1Swenshuai.xi     AUDIO_ADC2_AUIN4_INPUT              = 0xA9,     /// Line-in[4]
546*53ee8cc1Swenshuai.xi     AUDIO_ADC2_AUIN5_INPUT              = 0xB9,     /// Line-in[5]
547*53ee8cc1Swenshuai.xi     AUDIO_ADC2_AUMIC_INPUT              = 0x79,     /// Micphone-in
548*53ee8cc1Swenshuai.xi 
549*53ee8cc1Swenshuai.xi     AUDIO_DMA_READER_INPUT              = 0x0E,       ///<0x0E : DMA Reader INPUT
550*53ee8cc1Swenshuai.xi 
551*53ee8cc1Swenshuai.xi     AUDIO_NULL_INPUT                    = 0xFF,
552*53ee8cc1Swenshuai.xi } AUDIO_INPUT_TYPE;
553*53ee8cc1Swenshuai.xi 
554*53ee8cc1Swenshuai.xi typedef enum
555*53ee8cc1Swenshuai.xi {
556*53ee8cc1Swenshuai.xi     AUDIO_DEBUG_LEVEL_FATAL,
557*53ee8cc1Swenshuai.xi     AUDIO_DEBUG_LEVEL_ERROR,
558*53ee8cc1Swenshuai.xi     AUDIO_DEBUG_LEVEL_WARN,
559*53ee8cc1Swenshuai.xi     AUDIO_DEBUG_LEVEL_INFO,
560*53ee8cc1Swenshuai.xi     AUDIO_DEBUG_LEVEL_DEBUG,
561*53ee8cc1Swenshuai.xi     AUDIO_DEBUG_LEVEL_VERBOSE,
562*53ee8cc1Swenshuai.xi }AUDIO_DEBUG_LEVEL;
563*53ee8cc1Swenshuai.xi 
564*53ee8cc1Swenshuai.xi //================================================================
565*53ee8cc1Swenshuai.xi //  HDMI ENUM
566*53ee8cc1Swenshuai.xi //================================================================
567*53ee8cc1Swenshuai.xi 
568*53ee8cc1Swenshuai.xi //====== HDMI Rx Mode TYPE========
569*53ee8cc1Swenshuai.xi typedef enum
570*53ee8cc1Swenshuai.xi {
571*53ee8cc1Swenshuai.xi     HDMI_RX_PCM                         = 0x0,      ///< HDMI RX PCM Mode
572*53ee8cc1Swenshuai.xi     HDMI_RX_DD                          = 0x1,      ///< HDMI RX Dolby Mode
573*53ee8cc1Swenshuai.xi     HDMI_RX_DTS                         = 0x2,      ///< HDMI RX DTS Mode
574*53ee8cc1Swenshuai.xi     HDMI_RX_DDP                         = 0x3,      ///< HDMI RX DDP Mode
575*53ee8cc1Swenshuai.xi     HDMI_RX_DP                          = 0x4,      ///< HDMI RX DP Mode
576*53ee8cc1Swenshuai.xi     HDMI_RX_Other                       = 0x5,      ///< HDMI RX Other Mode
577*53ee8cc1Swenshuai.xi } AUDIO_HDMI_RX_TYPE;
578*53ee8cc1Swenshuai.xi 
579*53ee8cc1Swenshuai.xi typedef enum
580*53ee8cc1Swenshuai.xi {
581*53ee8cc1Swenshuai.xi     CODEC_NONE                          = 0x0,
582*53ee8cc1Swenshuai.xi     CODEC_LPCM                          = 0x1,      ///< Support LPCM
583*53ee8cc1Swenshuai.xi     CODEC_DD                            = 0x2,      ///< Support DD
584*53ee8cc1Swenshuai.xi     CODEC_MPEG1                         = 0x3,      ///< Support MPEG1
585*53ee8cc1Swenshuai.xi     CODEC_MP3                           = 0x4,      ///< Support MP3
586*53ee8cc1Swenshuai.xi     CODEC_MPEG2                         = 0x5,      ///< Support MPEG2
587*53ee8cc1Swenshuai.xi     CODEC_AAC                           = 0x6,      ///< Support AAC
588*53ee8cc1Swenshuai.xi     CODEC_DTS                           = 0x7,      ///< Support DTS
589*53ee8cc1Swenshuai.xi     CODEC_ATRAC                         = 0x8,      ///< Support ATRAC
590*53ee8cc1Swenshuai.xi     CODEC_ONEBITAUDIO                   = 0x9,      ///< Support One-Bit Audio
591*53ee8cc1Swenshuai.xi     CODEC_DDP                           = 0xA,      ///< Support DDP
592*53ee8cc1Swenshuai.xi     CODEC_DTSHD                         = 0xB,      ///< Support DTSHD
593*53ee8cc1Swenshuai.xi     CODEC_TRUEHD                        = 0xC,      ///< Support MLP/TRUE-HD
594*53ee8cc1Swenshuai.xi     CODEC_DST                           = 0xD,      ///< Support DST
595*53ee8cc1Swenshuai.xi     CODEC_WMAPRO                        = 0xE,      ///< Support WMA-Pro
596*53ee8cc1Swenshuai.xi     CODEC_MAX                           = 0xF,
597*53ee8cc1Swenshuai.xi } AUDIO_FORMAT_CODE;
598*53ee8cc1Swenshuai.xi 
599*53ee8cc1Swenshuai.xi //====== HDMI Tx Mode TYPE========
600*53ee8cc1Swenshuai.xi typedef enum
601*53ee8cc1Swenshuai.xi {
602*53ee8cc1Swenshuai.xi     HDMI_OUT_PCM,                       ///< HDMI OUTPUT PCM
603*53ee8cc1Swenshuai.xi     HDMI_OUT_NONPCM,                    ///< HDMI OUTPUT non-PCM
604*53ee8cc1Swenshuai.xi     HDMI_OUT_8CH_NONPCM,                ///< HDMI OUTPUT non-PCM (8 Channel transmit, mainly in DTS-HD, Dolby True-HD and so on)
605*53ee8cc1Swenshuai.xi     HDMI_OUT_BYPASS,                    ///< HDMI OUTPUT non-PCM (By-Pass)
606*53ee8cc1Swenshuai.xi } HDMI_TX_OUTPUT_TYPE;
607*53ee8cc1Swenshuai.xi 
608*53ee8cc1Swenshuai.xi //====== Audio output Mode TYPE========
609*53ee8cc1Swenshuai.xi typedef enum
610*53ee8cc1Swenshuai.xi {
611*53ee8cc1Swenshuai.xi     AUDIO_AUOUT0_OUTPUT,                ///< 0: DAC0 OUTPUT
612*53ee8cc1Swenshuai.xi     AUDIO_AUOUT1_OUTPUT,                ///< 1: T2=>AA0 OUTPUT    T3=>HP OUTPUT
613*53ee8cc1Swenshuai.xi     AUDIO_AUOUT2_OUTPUT,                ///< 2: T2=>AA1 OUTPUT    T3=>DAC2 OUTPUT
614*53ee8cc1Swenshuai.xi     AUDIO_AUOUT3_OUTPUT,                ///< 3: T2=>NULL          T3=>AA OUTPUT
615*53ee8cc1Swenshuai.xi     AUDIO_SPDIF_OUTPUT,                 ///< 4: SPDIF OUTPUT
616*53ee8cc1Swenshuai.xi     AUDIO_I2S_OUTPUT,                   ///< 5: I2S OUTPUT
617*53ee8cc1Swenshuai.xi     AUDIO_HP_OUTPUT,                    ///< 6: OUTPUT with headphone driver
618*53ee8cc1Swenshuai.xi     AUDIO_I2S2_OUTPUT,                  ///< 7: I2S2 OUTPUT
619*53ee8cc1Swenshuai.xi     AUDIO_HDMI_ARC_OUTPUT,              ///< 8: HDMI ARC OUTPUT(HDMI_Rx,TV)
620*53ee8cc1Swenshuai.xi     AUDIO_HDMI_OUTPUT,                  ///< 9: HDMI Tx OUTPUT(HDMI_Tx,STB)
621*53ee8cc1Swenshuai.xi     AUDIO_I2S3_OUTPUT,                  ///< A: I2S3 OUTPUT
622*53ee8cc1Swenshuai.xi     AUDIO_I2S4_OUTPUT,                  ///< B: I2S4 OUTPUT
623*53ee8cc1Swenshuai.xi     AUDIO_NULL_OUTPUT                   = 0xFF,
624*53ee8cc1Swenshuai.xi } AUDIO_OUTPUT_TYPE;
625*53ee8cc1Swenshuai.xi 
626*53ee8cc1Swenshuai.xi typedef enum
627*53ee8cc1Swenshuai.xi {
628*53ee8cc1Swenshuai.xi     DIGITAL_SPDIF_OUTPUT,                 ///< 0: SPDIF
629*53ee8cc1Swenshuai.xi     DIGITAL_HDMI_ARC_OUTPUT,          ///< 1: HDMI ARC
630*53ee8cc1Swenshuai.xi     DIGITAL_HDMI_OUTPUT,                  ///< 2: HDMI
631*53ee8cc1Swenshuai.xi     DIGITAL_I2S_OUTPUT,                     ///< 3: I2S
632*53ee8cc1Swenshuai.xi     DIGITAL_MAX_OUTPUT,
633*53ee8cc1Swenshuai.xi } DIGITAL_OUTPUT_TYPE;
634*53ee8cc1Swenshuai.xi 
635*53ee8cc1Swenshuai.xi typedef enum
636*53ee8cc1Swenshuai.xi {
637*53ee8cc1Swenshuai.xi     DIGITAL_OUTPUT_CODEC_NOT_SPECIFIED,     ///< 0: not specified
638*53ee8cc1Swenshuai.xi     DIGITAL_OUTPUT_CODEC_AC3,               ///< 1: specifies to output AC3
639*53ee8cc1Swenshuai.xi     DIGITAL_OUTPUT_CODEC_AC3P,              ///< 2: specifies to output AC3P
640*53ee8cc1Swenshuai.xi     DIGITAL_OUTPUT_CODEC_AAC,               ///< 3: specifies to output AAC
641*53ee8cc1Swenshuai.xi     DIGITAL_OUTPUT_CODEC_DTS,               ///< 4: specifies to output DTS
642*53ee8cc1Swenshuai.xi     DIGITAL_OUTPUT_CODEC_MAX,
643*53ee8cc1Swenshuai.xi } DIGITAL_OUTPUT_SPECIFIED_CODEC;
644*53ee8cc1Swenshuai.xi 
645*53ee8cc1Swenshuai.xi typedef enum
646*53ee8cc1Swenshuai.xi {
647*53ee8cc1Swenshuai.xi     DECODER_PCM_OUTPUT_TYPE1_DMX, /* Downmix, target channel = 2 */
648*53ee8cc1Swenshuai.xi     DECODER_PCM_OUTPUT_TYPE2_6CH, /* Multi-Channel(5.1), target channel = 6 */
649*53ee8cc1Swenshuai.xi     DECODER_PCM_OUTPUT_TYPE3_8CH, /* Multi-Channel(7.1), target channel = 8 */
650*53ee8cc1Swenshuai.xi     DECODER_PCM_OUTPUT_TYPE4_DMX_8CH, /* Downmix, Multi-Channel(7.1), target channel = 10 */
651*53ee8cc1Swenshuai.xi     DECODER_PCM_OUTPUT_TYPE5_DMX_8CH_PTR, /* Downmix, Multi-Channel(7.1), nonPcmPtr, target channel = 12 */
652*53ee8cc1Swenshuai.xi  } DECODER_PCM_OUTPUT_TYPE;
653*53ee8cc1Swenshuai.xi 
654*53ee8cc1Swenshuai.xi //================================================================
655*53ee8cc1Swenshuai.xi //  I2S ENUM
656*53ee8cc1Swenshuai.xi //================================================================
657*53ee8cc1Swenshuai.xi //====== I2S OUTPUT Mode TYPE========
658*53ee8cc1Swenshuai.xi typedef enum
659*53ee8cc1Swenshuai.xi {
660*53ee8cc1Swenshuai.xi     AUDIO_I2S_MCLK,                     ///< I2S MCLK
661*53ee8cc1Swenshuai.xi     AUDIO_I2S_WORD_WIDTH,               ///< I2S Word-width
662*53ee8cc1Swenshuai.xi     AUDIO_I2S_SOURCE_CH,                ///< I2S Source
663*53ee8cc1Swenshuai.xi     AUDIO_I2S_FORMAT,                    ///< I2S format
664*53ee8cc1Swenshuai.xi     AUDIO_I2S_RXMODE,                     ///< I2S RxMode
665*53ee8cc1Swenshuai.xi     AUDIO_I2S_TXMODE,                     ///< I2S TxMode
666*53ee8cc1Swenshuai.xi     AUDIO_I2S_RX_JUSTIFIED_MODE,         ///< I2S RX Justified Mode
667*53ee8cc1Swenshuai.xi     AUDIO_I2S_RX_CLOCK,                  ///< I2S RX Clock
668*53ee8cc1Swenshuai.xi     AUDIO_I2S_RX_WORD_WIDTH,             ///< I2S RX word width
669*53ee8cc1Swenshuai.xi } AUDIO_I2S_MODE_TYPE;
670*53ee8cc1Swenshuai.xi 
671*53ee8cc1Swenshuai.xi 
672*53ee8cc1Swenshuai.xi typedef enum
673*53ee8cc1Swenshuai.xi {
674*53ee8cc1Swenshuai.xi     I2S_MCLK_64FS                       = 0x04,
675*53ee8cc1Swenshuai.xi     I2S_MCLK_128FS                      = 0x05,
676*53ee8cc1Swenshuai.xi     I2S_MCLK_256FS                      = 0x06,     ///< 256 Fs ==>default setting
677*53ee8cc1Swenshuai.xi     I2S_MCLK_384FS                      = 0x07,
678*53ee8cc1Swenshuai.xi 
679*53ee8cc1Swenshuai.xi     I2S_WORD_WIDTH_16BIT                = 0x4,
680*53ee8cc1Swenshuai.xi     I2S_WORD_WIDTH_24BIT                = 0x5,
681*53ee8cc1Swenshuai.xi     I2S_WORD_WIDTH_32BIT                = 0x6,      ///< 32-bit ==> default setting
682*53ee8cc1Swenshuai.xi 
683*53ee8cc1Swenshuai.xi     I2S_FORMAT_STANDARD                 = 0,
684*53ee8cc1Swenshuai.xi     I2S_FORMAT_LEFT_JUSTIFIED           = 1,
685*53ee8cc1Swenshuai.xi 
686*53ee8cc1Swenshuai.xi     I2S_MASTER_MODE                       = 0,      ///< MASTER_MODE ==> default setting
687*53ee8cc1Swenshuai.xi     I2S_SLAVE_MODE                       = 1,
688*53ee8cc1Swenshuai.xi 
689*53ee8cc1Swenshuai.xi     I2S_SAMPLE_RATE_16K                  = 0x4,
690*53ee8cc1Swenshuai.xi     I2S_SAMPLE_RATE_32K                  = 0x5,
691*53ee8cc1Swenshuai.xi     I2S_SAMPLE_RATE_48K                  = 0x6,
692*53ee8cc1Swenshuai.xi } AUDIO_I2S_MODE_VALUE;
693*53ee8cc1Swenshuai.xi 
694*53ee8cc1Swenshuai.xi //================================================================
695*53ee8cc1Swenshuai.xi //  SPDIF ENUM
696*53ee8cc1Swenshuai.xi //================================================================
697*53ee8cc1Swenshuai.xi //====== SPDIF OUTPUT PATH========
698*53ee8cc1Swenshuai.xi typedef enum
699*53ee8cc1Swenshuai.xi {
700*53ee8cc1Swenshuai.xi     MPEG_ENCODE,
701*53ee8cc1Swenshuai.xi     DTS_ENCODE_2CH,
702*53ee8cc1Swenshuai.xi     DTS_ENCODE_MULTI,
703*53ee8cc1Swenshuai.xi     MP3_ENCODE,
704*53ee8cc1Swenshuai.xi     DD_DDENCODE,
705*53ee8cc1Swenshuai.xi     DD_DDCO,
706*53ee8cc1Swenshuai.xi }AUDIO_ENCODE_TYPE;
707*53ee8cc1Swenshuai.xi 
708*53ee8cc1Swenshuai.xi //====== DIGITAL OUTPUT Mode TYPE========
709*53ee8cc1Swenshuai.xi typedef enum
710*53ee8cc1Swenshuai.xi {
711*53ee8cc1Swenshuai.xi     DIGITAL_OUT_PCM,
712*53ee8cc1Swenshuai.xi     DIGITAL_OUT_DOLBYDIGITAL,
713*53ee8cc1Swenshuai.xi     DIGITAL_OUT_DTS,
714*53ee8cc1Swenshuai.xi     DIGITAL_OUT_AAC_LC,
715*53ee8cc1Swenshuai.xi     DIGITAL_OUT_NONE,
716*53ee8cc1Swenshuai.xi } AUDIO_DIGITAL_OUTPUT_TYPE;
717*53ee8cc1Swenshuai.xi 
718*53ee8cc1Swenshuai.xi //====== SPDIF OUTPUT Mode TYPE========
719*53ee8cc1Swenshuai.xi typedef enum
720*53ee8cc1Swenshuai.xi {
721*53ee8cc1Swenshuai.xi     SPDIF_OUT_PCM                       = 0x0,      ///< S/PDIF always output PCM
722*53ee8cc1Swenshuai.xi     SPDIF_OUT_AUTO                      = 0x2,      ///< S/PDIF OUTPUT PCM or non-PCM automatic
723*53ee8cc1Swenshuai.xi     SPDIF_OUT_NONPCM                    = 0x2,      ///< S/PDIF OUTPUT non-PCM
724*53ee8cc1Swenshuai.xi     SPDIF_OUT_BYPASS,                   ///< S/PDIF OUTPUT by-pass from HDMI
725*53ee8cc1Swenshuai.xi     SPDIF_OUT_TRANSCODE,                ///< S/PDIF OUTPUT always transcode
726*53ee8cc1Swenshuai.xi     SPDIF_OUT_NONE,                     ///< S/PDIF OUTPUT nothing
727*53ee8cc1Swenshuai.xi } AUDIO_SPDIF_OUTPUT_TYPE;
728*53ee8cc1Swenshuai.xi 
729*53ee8cc1Swenshuai.xi //====== SPDIF OUTPUT CS TYPE =========
730*53ee8cc1Swenshuai.xi typedef enum
731*53ee8cc1Swenshuai.xi {
732*53ee8cc1Swenshuai.xi     SPDIF_CS_CategoryCode               = 0x0,      ///<
733*53ee8cc1Swenshuai.xi     SPDIF_CS_CopyRight                  = 0x1,      ///<
734*53ee8cc1Swenshuai.xi     SPDIF_CS_SourceNumber               = 0x2,      ///<
735*53ee8cc1Swenshuai.xi     SPDIF_CS_ChannelNumber              = 0x3,      ///<
736*53ee8cc1Swenshuai.xi     SPDIF_CS_SmpFreq                    = 0x4,      ///<
737*53ee8cc1Swenshuai.xi     SPDIF_CS_ClockAcc                   = 0x5,      ///<
738*53ee8cc1Swenshuai.xi     SPDIF_ChannelAB                     = 0x6,      ///<
739*53ee8cc1Swenshuai.xi     SPDIF_CS_CopyProtect                = 0x7,      ///<
740*53ee8cc1Swenshuai.xi } AUDIO_SPDIF_CS_TYPE;
741*53ee8cc1Swenshuai.xi 
742*53ee8cc1Swenshuai.xi //====== SPDIF OUTPUT CS Status =======
743*53ee8cc1Swenshuai.xi typedef enum
744*53ee8cc1Swenshuai.xi {
745*53ee8cc1Swenshuai.xi     SPDIF_CS_Category_BroadCast         = 0x00,     ///<
746*53ee8cc1Swenshuai.xi     SPDIF_CS_Category_General           = 0x01,     ///<
747*53ee8cc1Swenshuai.xi     SPDIF_CS_Category_BroadCast_JP      = 0x02,     ///<
748*53ee8cc1Swenshuai.xi     SPDIF_CS_Category_BroadCast_EU      = 0x03,     ///<
749*53ee8cc1Swenshuai.xi     SPDIF_CS_Category_BroadCast_USA     = 0x04,     ///<
750*53ee8cc1Swenshuai.xi     SPDIF_CS_Category_Rev4              = 0x05,     ///<
751*53ee8cc1Swenshuai.xi     SPDIF_CS_Category_Rev5              = 0x06,     ///<
752*53ee8cc1Swenshuai.xi     SPDIF_CS_Category_Rev6              = 0x07,     ///<
753*53ee8cc1Swenshuai.xi     SPDIF_CS_CopyRight_CP               = 0x08,     ///<
754*53ee8cc1Swenshuai.xi     SPDIF_CS_CopyRight_NonCP            = 0x09,     ///<SPDIF_CS_ChannelNumber_Right
755*53ee8cc1Swenshuai.xi     SPDIF_CS_SourceNumber_2             = 0x0A,     ///<
756*53ee8cc1Swenshuai.xi     SPDIF_CS_SourceNumber_5             = 0x0B,     ///<
757*53ee8cc1Swenshuai.xi     SPDIF_CS_SourceNumber_6             = 0x0C,     ///<
758*53ee8cc1Swenshuai.xi     SPDIF_CS_SourceNumber_Rev1          = 0x0D,     ///<
759*53ee8cc1Swenshuai.xi     SPDIF_CS_SourceNumber_Rev2          = 0x0E,     ///<
760*53ee8cc1Swenshuai.xi     SPDIF_CS_SourceNumber_Rev3          = 0x0F,     ///<
761*53ee8cc1Swenshuai.xi     SPDIF_CS_ChannelNumber_A_Left       = 0x10,     ///<
762*53ee8cc1Swenshuai.xi     SPDIF_CS_ChannelNumber_B_Right      = 0x11,     ///<
763*53ee8cc1Swenshuai.xi     SPDIF_CS_ChannelNumber_C            = 0x12,     ///<
764*53ee8cc1Swenshuai.xi     SPDIF_CS_ChannelNumber_D            = 0x13,     ///<
765*53ee8cc1Swenshuai.xi     SPDIF_CS_ChannelNumber_E            = 0x14,     ///<
766*53ee8cc1Swenshuai.xi     SPDIF_CS_ChannelNumber_F            = 0x15,     ///<
767*53ee8cc1Swenshuai.xi     SPDIF_CS_ChannelNumber_G            = 0x16,     ///<
768*53ee8cc1Swenshuai.xi     SPDIF_CS_ChannelNumber_H            = 0x17,     ///<
769*53ee8cc1Swenshuai.xi     SPDIF_CS_ChannelNumber_I            = 0x18,     ///<
770*53ee8cc1Swenshuai.xi     SPDIF_CS_ChannelNumber_J            = 0x19,     ///<
771*53ee8cc1Swenshuai.xi     SPDIF_CS_ChannelNumber_K            = 0x1A,     ///<
772*53ee8cc1Swenshuai.xi     SPDIF_CS_SmpFreq_192                = 0x1B,     ///<
773*53ee8cc1Swenshuai.xi     SPDIF_CS_SmpFreq_176                = 0x1C,     ///<
774*53ee8cc1Swenshuai.xi     SPDIF_CS_SmpFreq_128                = 0x1D,     ///<
775*53ee8cc1Swenshuai.xi     SPDIF_CS_SmpFreq_96                 = 0x1E,     ///<
776*53ee8cc1Swenshuai.xi     SPDIF_CS_SmpFreq_88                 = 0x1F,     ///<
777*53ee8cc1Swenshuai.xi     SPDIF_CS_SmpFreq_64                 = 0x20,     ///<
778*53ee8cc1Swenshuai.xi     SPDIF_CS_SmpFreq_48                 = 0x21,     ///<
779*53ee8cc1Swenshuai.xi     SPDIF_CS_SmpFreq_44                 = 0x22,     ///<
780*53ee8cc1Swenshuai.xi     SPDIF_CS_SmpFreq_32                 = 0x23,     ///<
781*53ee8cc1Swenshuai.xi     SPDIF_CS_SmpFreq_24                 = 0x24,     ///<
782*53ee8cc1Swenshuai.xi     SPDIF_CS_SmpFreq_22                 = 0x25,     ///<
783*53ee8cc1Swenshuai.xi     SPDIF_CS_SmpFreq_16                 = 0x26,     ///<
784*53ee8cc1Swenshuai.xi     SPDIF_CS_SmpFreq_Rev1               = 0x27,     ///<
785*53ee8cc1Swenshuai.xi     SPDIF_CS_SmpFreq_Rev2               = 0x28,     ///<
786*53ee8cc1Swenshuai.xi     SPDIF_CS_SmpFreq_Rev3               = 0x29,     ///<
787*53ee8cc1Swenshuai.xi     SPDIF_CS_SmpFreq_Rev4               = 0x2A,     ///<
788*53ee8cc1Swenshuai.xi     SPDIF_CS_SmpFreq_Rev5               = 0x2B,     ///<
789*53ee8cc1Swenshuai.xi     SPDIF_CS_ClockAcc_Lev1              = 0x2C,     ///<
790*53ee8cc1Swenshuai.xi     SPDIF_CS_ClockAcc_Lev2              = 0x2D,     ///<
791*53ee8cc1Swenshuai.xi     SPDIF_CS_ClockAcc_Lev3              = 0x2E,     ///<
792*53ee8cc1Swenshuai.xi     SPDIF_CS_ClockAcc_NotMatch          = 0x2F,     ///<
793*53ee8cc1Swenshuai.xi     SPDIF_ChannelAB_Invalid_ON          = 0x30,     ///<
794*53ee8cc1Swenshuai.xi     SPDIF_ChannelAB_Invalid_OFF         = 0x31,     ///<
795*53ee8cc1Swenshuai.xi     SPDIF_CS_CopyProtect_CopyFree       = 0x32,     ///<
796*53ee8cc1Swenshuai.xi     SPDIF_CS_CopyProtect_CopyOnce       = 0x33,     ///<
797*53ee8cc1Swenshuai.xi     SPDIF_CS_CopyProtect_CopyNever      = 0x34,     ///<
798*53ee8cc1Swenshuai.xi } AUDIO_SPDIF_CS_TYPE_STATUS;
799*53ee8cc1Swenshuai.xi 
800*53ee8cc1Swenshuai.xi //====== SPDIF OUTPUT CS Mode TYPE========
801*53ee8cc1Swenshuai.xi typedef enum
802*53ee8cc1Swenshuai.xi {
803*53ee8cc1Swenshuai.xi     SPDIF_CHANNEL_STATUS_FS,            ///< Set sampling rate in CS3
804*53ee8cc1Swenshuai.xi     SPDIF_CHANNEL_STATUS_CATEGORY,      ///< Set Category code in CS1
805*53ee8cc1Swenshuai.xi     SPDIF_CHANNEL_STATUS_PCM_FORMAT,    ///< Set PCM/NonPCM mode in CS0
806*53ee8cc1Swenshuai.xi     SPDIF_CHANNEL_STATUS_SOURCE_NUMBER,    ///< Set source number in CS2
807*53ee8cc1Swenshuai.xi     SPDIF_CHANNEL_STATUS_CHANNEL_NUMBER,    ///< Set Channel number in CS2
808*53ee8cc1Swenshuai.xi } SPDIF_CS_MODE_TYPE;
809*53ee8cc1Swenshuai.xi 
810*53ee8cc1Swenshuai.xi typedef enum
811*53ee8cc1Swenshuai.xi {
812*53ee8cc1Swenshuai.xi     SPDIF_CS_FS_32K                     = 0xC0,
813*53ee8cc1Swenshuai.xi     SPDIF_CS_FS_44K                     = 0x00,
814*53ee8cc1Swenshuai.xi     SPDIF_CS_FS_48K                     = 0x40,     ///< ==>default setting
815*53ee8cc1Swenshuai.xi     SPDIF_CS_CATEGORY_NONE              = 0x00,
816*53ee8cc1Swenshuai.xi     SPDIF_CS_CATEGORY_DVB               = 0x30,     ///Broadcast reception of digital audio with europe
817*53ee8cc1Swenshuai.xi     SPDIF_CS_CATEGORY_ATSC              = 0x26,     ///Broadcast reception of digital audio with america
818*53ee8cc1Swenshuai.xi     SPDIF_CS_CATEGORY_ISDB              = 0x20,     ///Broadcast reception of digital audio with japen
819*53ee8cc1Swenshuai.xi     SPDIF_CS_FORMAT_PCM                 = 0x00,
820*53ee8cc1Swenshuai.xi     SPDIF_CS_FORMAT_NONPCM              = 0x40,
821*53ee8cc1Swenshuai.xi }SPDIF_CS_MODE_VALUE;
822*53ee8cc1Swenshuai.xi 
823*53ee8cc1Swenshuai.xi //================================================================
824*53ee8cc1Swenshuai.xi //  SIF ENUM
825*53ee8cc1Swenshuai.xi //================================================================
826*53ee8cc1Swenshuai.xi //======SIF Standard========
827*53ee8cc1Swenshuai.xi typedef enum
828*53ee8cc1Swenshuai.xi {
829*53ee8cc1Swenshuai.xi     AU_SYS_NOT_READY,                   // 0
830*53ee8cc1Swenshuai.xi     AU_SYS_M_BTSC,                      // 1
831*53ee8cc1Swenshuai.xi     AU_SYS_M_EIAJ,                      // 2
832*53ee8cc1Swenshuai.xi     AU_SYS_M_A2,                        // 3
833*53ee8cc1Swenshuai.xi 
834*53ee8cc1Swenshuai.xi     AU_SYS_BG_A2,                       // 4
835*53ee8cc1Swenshuai.xi     AU_SYS_DK1_A2,                      // 5
836*53ee8cc1Swenshuai.xi     AU_SYS_DK2_A2,                      // 6
837*53ee8cc1Swenshuai.xi     AU_SYS_DK3_A2,                      // 7
838*53ee8cc1Swenshuai.xi 
839*53ee8cc1Swenshuai.xi     AU_SYS_BG_NICAM,                    // 8
840*53ee8cc1Swenshuai.xi     AU_SYS_DK_NICAM,                    // 9
841*53ee8cc1Swenshuai.xi     AU_SYS_I_NICAM,                     // 10
842*53ee8cc1Swenshuai.xi     AU_SYS_L_NICAM,                     // 11
843*53ee8cc1Swenshuai.xi     AU_SYS_FM_RADIO,                    // 12
844*53ee8cc1Swenshuai.xi     AU_SYS_HI_DEV                       = 0x10,
845*53ee8cc1Swenshuai.xi     AU_SYS_BUSY                         = 0x80,
846*53ee8cc1Swenshuai.xi     STD_SEL_AUTO                        = 0xE0
847*53ee8cc1Swenshuai.xi }AUDIO_SIF_SET_STANDARD;
848*53ee8cc1Swenshuai.xi 
849*53ee8cc1Swenshuai.xi //======SIF System Type========
850*53ee8cc1Swenshuai.xi typedef enum
851*53ee8cc1Swenshuai.xi {
852*53ee8cc1Swenshuai.xi     A2_M_STANDARD                       = 0x00,
853*53ee8cc1Swenshuai.xi     A2_BG_STANDARD,
854*53ee8cc1Swenshuai.xi     A2_DK_STANDARD,
855*53ee8cc1Swenshuai.xi     A2_I_STANDARD,
856*53ee8cc1Swenshuai.xi     AM_STANDARD,
857*53ee8cc1Swenshuai.xi     NICAM_BG_STANDARD,
858*53ee8cc1Swenshuai.xi     NICAM_I_STANDARD,
859*53ee8cc1Swenshuai.xi     HIDEV_M_STANDARD,
860*53ee8cc1Swenshuai.xi     HIDEV_BG_STANDARD,
861*53ee8cc1Swenshuai.xi     HIDEV_DK_STANDARD,
862*53ee8cc1Swenshuai.xi     HIDEV_I_STANDARD,
863*53ee8cc1Swenshuai.xi     BTSC_STANDARD,
864*53ee8cc1Swenshuai.xi     FM_RADIO_STANDARD,
865*53ee8cc1Swenshuai.xi     WRITE_THRESHOLD                     = 0x10
866*53ee8cc1Swenshuai.xi }AUDIO_SIF_SYSTEM_TYPE;
867*53ee8cc1Swenshuai.xi 
868*53ee8cc1Swenshuai.xi 
869*53ee8cc1Swenshuai.xi //======SIF Threshold Type========
870*53ee8cc1Swenshuai.xi typedef enum
871*53ee8cc1Swenshuai.xi {
872*53ee8cc1Swenshuai.xi     CARRIER1_ON_AMP                     = 0x00,
873*53ee8cc1Swenshuai.xi     CARRIER1_OFF_AMP,
874*53ee8cc1Swenshuai.xi     CARRIER1_ON_NSR,
875*53ee8cc1Swenshuai.xi     CARRIER1_OFF_NSR,
876*53ee8cc1Swenshuai.xi     CARRIER2_ON_AMP,
877*53ee8cc1Swenshuai.xi     CARRIER2_OFF_AMP,
878*53ee8cc1Swenshuai.xi     CARRIER2_ON_NSR,
879*53ee8cc1Swenshuai.xi     CARRIER2_OFF_NSR,
880*53ee8cc1Swenshuai.xi     A2_PILOT_ON_AMP,
881*53ee8cc1Swenshuai.xi     A2_PILOT_OFF_AMP,
882*53ee8cc1Swenshuai.xi 
883*53ee8cc1Swenshuai.xi     NICAM_ON_SIGERR                     = 0x0,
884*53ee8cc1Swenshuai.xi     NICAM_OFF_SIGERR                    = 0x1,
885*53ee8cc1Swenshuai.xi 
886*53ee8cc1Swenshuai.xi     BTSC_MONO_ON_NSR_RATIO              = 0x0,
887*53ee8cc1Swenshuai.xi     BTSC_MONO_OFF_NSR_RATIO             = 0x1,
888*53ee8cc1Swenshuai.xi     BTSC_PILOT_AMPLITUDE_ON             = 0x2,
889*53ee8cc1Swenshuai.xi     BTSC_PILOT_AMPLITUDE_OFF            = 0x3,
890*53ee8cc1Swenshuai.xi     BTSC_SAP_ON_NSR_RATIO               = 0x4,
891*53ee8cc1Swenshuai.xi     BTSC_SAP_OFF_NSR_RATIO              = 0x5,
892*53ee8cc1Swenshuai.xi     BTSC_STEREO_ON_RATIO                = 0x6,
893*53ee8cc1Swenshuai.xi     BTSC_STEREO_OFF_NSR_RATIO           = 0x7,
894*53ee8cc1Swenshuai.xi     BTSC_SAP_AMPLITUDE_ON               = 0x8,
895*53ee8cc1Swenshuai.xi     BTSC_SAP_AMPLITUDE_OFF              = 0x9,
896*53ee8cc1Swenshuai.xi     BTSC_HIDEV_ON_NSR_RATIO             = 0xA,
897*53ee8cc1Swenshuai.xi     BTSC_HIDEV_OFF_NSR_RATIO            = 0xB
898*53ee8cc1Swenshuai.xi }AUDIO_SIF_THRESHOLD_TYPE;
899*53ee8cc1Swenshuai.xi 
900*53ee8cc1Swenshuai.xi //======SIF Gain Type========
901*53ee8cc1Swenshuai.xi typedef enum
902*53ee8cc1Swenshuai.xi {
903*53ee8cc1Swenshuai.xi     PRESCALE_STEP_ONE_DB                = 0x04,
904*53ee8cc1Swenshuai.xi     SET_PRESCALE_A2_FM                  = 0x00,
905*53ee8cc1Swenshuai.xi     SET_PRESCALE_NICAM                  = 0x01,
906*53ee8cc1Swenshuai.xi     SET_PRESCALE_AM                     = 0x02,
907*53ee8cc1Swenshuai.xi     SET_PRESCALE_HIDEV                  = 0x03,
908*53ee8cc1Swenshuai.xi     SET_PRESCALE_FM_M                   = 0x04,
909*53ee8cc1Swenshuai.xi     SET_PRESCALE_HIDEV_M                = 0x05,
910*53ee8cc1Swenshuai.xi 
911*53ee8cc1Swenshuai.xi     SET_PRESCALE_BTSC                   = 0x00,
912*53ee8cc1Swenshuai.xi     SET_PRESCALE_BTSC_MONO              = 0x01,
913*53ee8cc1Swenshuai.xi     SET_PRESCALE_BTSC_STEREO            = 0x02,
914*53ee8cc1Swenshuai.xi     SET_PRESCALE_BTSC_SAP               = 0x03,
915*53ee8cc1Swenshuai.xi 
916*53ee8cc1Swenshuai.xi     SET_PRESCALE_FM_RADIO               = 0x00,
917*53ee8cc1Swenshuai.xi     SET_PRESCALE_FM_RADIO_MONO          = 0x01,
918*53ee8cc1Swenshuai.xi     SET_PRESCALE_FM_RADIO_STEREO        = 0x02
919*53ee8cc1Swenshuai.xi 
920*53ee8cc1Swenshuai.xi }AUDIO_SIF_GAIN_TYPE;
921*53ee8cc1Swenshuai.xi 
922*53ee8cc1Swenshuai.xi enum
923*53ee8cc1Swenshuai.xi {
924*53ee8cc1Swenshuai.xi     AU_STATUS_MUTE                      = 0x00,
925*53ee8cc1Swenshuai.xi     AU_STATUS_MONO                      = 0x01,    // Primary Mono
926*53ee8cc1Swenshuai.xi     AU_STATUS_STEREO                    = 0x02,    // Primary Stereo
927*53ee8cc1Swenshuai.xi     AU_STATUS_SAP                       = 0x04,    // Second Audio Program
928*53ee8cc1Swenshuai.xi     AU_STATUS_NICAM                     = 0x08,    // Second Audio Program
929*53ee8cc1Swenshuai.xi     AU_STATUS_NICAM_MONO                = 0x10
930*53ee8cc1Swenshuai.xi };
931*53ee8cc1Swenshuai.xi 
932*53ee8cc1Swenshuai.xi //  enum for sif command
933*53ee8cc1Swenshuai.xi typedef enum
934*53ee8cc1Swenshuai.xi {
935*53ee8cc1Swenshuai.xi     // need to compatible with En_AUD_SIF_CmdType at apiAUDIO.h
936*53ee8cc1Swenshuai.xi     AU_SIF_CMD_SET_STOP                 = 0x00,
937*53ee8cc1Swenshuai.xi     AU_SIF_CMD_SET_PLAY                 = 0x01,
938*53ee8cc1Swenshuai.xi     AU_SIF_CMD_ENABLE_HIDEV             = 0x02,
939*53ee8cc1Swenshuai.xi     AU_SIF_CMD_SET_HIDEV_FILTER_BW_LEVEL= 0x03,
940*53ee8cc1Swenshuai.xi     AU_SIF_CMD_RESET_FC_TRACKING        = 0x04,
941*53ee8cc1Swenshuai.xi     AU_SIF_CMD_ENABLE_FC_TRACKING       = 0x05,
942*53ee8cc1Swenshuai.xi     AU_SIF_CMD_SET_ADC_FROM_VIF_PATH    = 0x06,
943*53ee8cc1Swenshuai.xi     AU_SIF_CMD_ENABLE_AUTO_MUTE         = 0x07,
944*53ee8cc1Swenshuai.xi     AU_SIF_CMD_ENABLE_BEEPER_FUNCTION   = 0x08,
945*53ee8cc1Swenshuai.xi     AU_SIF_CMD_SET_BEEPER_TONE          = 0x09,
946*53ee8cc1Swenshuai.xi     AU_SIF_CMD_ENABLE_AGC               = 0x0A,
947*53ee8cc1Swenshuai.xi     AU_SIF_CMD_RESET_AGC                = 0x0B,
948*53ee8cc1Swenshuai.xi     AU_SIF_CMD_STANDARD_RESET           = 0x0C,
949*53ee8cc1Swenshuai.xi     AU_SIF_CMD_DETECT_MAIN_STD_ONLY     = 0x0D,
950*53ee8cc1Swenshuai.xi     AU_SIF_CMD_ENABLE_AUTO_SOUNDMODE    = 0x0E,
951*53ee8cc1Swenshuai.xi     AU_SIF_CMD_SET_FM_RADIO_DeEmp       = 0x0F,
952*53ee8cc1Swenshuai.xi     AU_SIF_CMD_SET_FM_RADIO_FC_TRACK    = 0x10,
953*53ee8cc1Swenshuai.xi     AU_SIF_CMD_FM_RADIO_RESET           = 0x11,
954*53ee8cc1Swenshuai.xi     AU_SIF_CMD_FMTX_SET_PREEMP          = 0x12,
955*53ee8cc1Swenshuai.xi     AU_SIF_CMD_SET_ENC_CMD              = 0x13,
956*53ee8cc1Swenshuai.xi     AU_SIF_CMD_SET_ENC_Input_attenuation                 = 0x14,
957*53ee8cc1Swenshuai.xi     AU_SIF_CMD_SET_ENC_Output_scaling                = 0x15,
958*53ee8cc1Swenshuai.xi     AU_SIF_CMD_SET_BTSC_Enc_M_Gain                 =0x16,
959*53ee8cc1Swenshuai.xi     AU_SIF_CMD_SET_BTSC_Enc_D_Gain                 = 0x17,
960*53ee8cc1Swenshuai.xi     AU_SIF_CMD_SET_BTSC_Enc_SAP_Gain                 = 0x18,
961*53ee8cc1Swenshuai.xi 
962*53ee8cc1Swenshuai.xi     // internal used at sif driver.
963*53ee8cc1Swenshuai.xi     AU_SIF_CMD_SET_STD                  = 0x40,
964*53ee8cc1Swenshuai.xi     AU_SIF_CMD_SET_SUB_CARRIER_STD      = 0x41,
965*53ee8cc1Swenshuai.xi     AU_SIF_CMD_SET_CARRIER_DEBOUNCE     = 0x42,
966*53ee8cc1Swenshuai.xi     AU_SIF_CMD_ENABLE_SIF_SYNTHESIZER   = 0x43,
967*53ee8cc1Swenshuai.xi     AU_SIF_CMD_ENABLE_CHANNEL           = 0x44,
968*53ee8cc1Swenshuai.xi     AU_SIF_CMD_SET_SIFFIFO_MODE         = 0x45,
969*53ee8cc1Swenshuai.xi     AU_SIF_CMD_DK123_MONITOR            = 0x46,
970*53ee8cc1Swenshuai.xi 
971*53ee8cc1Swenshuai.xi     // internal used at sif driver.
972*53ee8cc1Swenshuai.xi     AU_SIF_CMD_GET_HIDEV_ENABLE         = 0x80,
973*53ee8cc1Swenshuai.xi     AU_SIF_CMD_GET_HIDEV_FILTER_BW_LEVEL= 0x81,
974*53ee8cc1Swenshuai.xi     AU_SIF_CMD_GET_ADC_FROM_VIF_PATH    = 0x82,
975*53ee8cc1Swenshuai.xi     AU_SIF_CMD_GET_FM_A2_MODE_STATUS    = 0x83,
976*53ee8cc1Swenshuai.xi     AU_SIF_CMD_GET_BTSC_MODE_STATUS     = 0x84,
977*53ee8cc1Swenshuai.xi     AU_SIF_CMD_GET_NICAM_MODE_STATUS    = 0x85,
978*53ee8cc1Swenshuai.xi     AU_SIF_CMD_GET_STANDARD_STATUS      = 0x86,
979*53ee8cc1Swenshuai.xi     AU_SIF_CMD_GET_STANDARD_CMD         = 0x87,
980*53ee8cc1Swenshuai.xi     AU_SIF_CMD_GET_NSR_CMD              = 0x88,
981*53ee8cc1Swenshuai.xi     AU_SIF_CMD_GET_AMP_CMD              = 0x89,
982*53ee8cc1Swenshuai.xi     AU_SIF_CMD_GET_FM_RADIO_MODE_STATUS = 0x8A,
983*53ee8cc1Swenshuai.xi     AU_SIF_CMD_GET_FM_RADIO_DC_AMP      = 0x8B,
984*53ee8cc1Swenshuai.xi     AU_SIF_CMD_GET_FM_RADIO_NSR         = 0x8C,
985*53ee8cc1Swenshuai.xi     AU_SIF_CMD_GET_VIF_PATCH_ENABLE     = 0x90,
986*53ee8cc1Swenshuai.xi     AU_SIF_CMD_SET_SIF_SHIFT_CLK        = 0x91,
987*53ee8cc1Swenshuai.xi     AU_SIF_CMD_SET_FM_CH2_FILTER_BW_LEVEL= 0x92,
988*53ee8cc1Swenshuai.xi 
989*53ee8cc1Swenshuai.xi     AU_SIF_CMD2_ADC_VIA_VIF_PIN = 0x01
990*53ee8cc1Swenshuai.xi } AU_SIF_CMD;
991*53ee8cc1Swenshuai.xi 
992*53ee8cc1Swenshuai.xi #if defined(UFO_PUBLIC_HEADER_212)
993*53ee8cc1Swenshuai.xi //====== DSP code Type========
994*53ee8cc1Swenshuai.xi typedef enum
995*53ee8cc1Swenshuai.xi {
996*53ee8cc1Swenshuai.xi     AU_DVB_STANDARD_INVALID             = 0xFF,
997*53ee8cc1Swenshuai.xi     AU_DVB_STANDARD_DEC_DSP             = 0x00,    // define for dsp load code
998*53ee8cc1Swenshuai.xi     AU_DVB_STANDARD_DEC_DSP_EXT         = 0x10,    // define for dsp load code
999*53ee8cc1Swenshuai.xi     AU_DVB_NONE                         = 0x00,     //0x00
1000*53ee8cc1Swenshuai.xi     AU_DVB_DEC_NONE,                    //0x01
1001*53ee8cc1Swenshuai.xi     AU_DVB_ENC_NONE,                    //0x02
1002*53ee8cc1Swenshuai.xi     AU_DVB_STANDARD_MPEG,               //0x03
1003*53ee8cc1Swenshuai.xi     AU_DVB_STANDARD_AC3,                //0x04
1004*53ee8cc1Swenshuai.xi     AU_DVB_STANDARD_AC3P,               //0x05
1005*53ee8cc1Swenshuai.xi     AU_DVB_STANDARD_AAC,                //0x06
1006*53ee8cc1Swenshuai.xi     AU_DVB_STANDARD_MP3,                //0x07
1007*53ee8cc1Swenshuai.xi     AU_DVB_STANDARD_WMA,                //0x08
1008*53ee8cc1Swenshuai.xi     AU_DVB_STANDARD_RESERVE3,           //0x09
1009*53ee8cc1Swenshuai.xi     AU_DVB_STANDARD_RA8LBR,             //0x0A
1010*53ee8cc1Swenshuai.xi     AU_DVB_STANDARD_XPCM,               //0x0B
1011*53ee8cc1Swenshuai.xi     AU_DVB_STANDARD_TONE,               //0x0C
1012*53ee8cc1Swenshuai.xi     AU_DVB_STANDARD_DTS,                //0x0D
1013*53ee8cc1Swenshuai.xi     AU_DVB_STANDARD_MS10_DDT,           //0x0E
1014*53ee8cc1Swenshuai.xi     AU_DVB_STANDARD_MS10_DDC,           //0x0F
1015*53ee8cc1Swenshuai.xi     AU_DVB_STANDARD_WMA_PRO,            //0x10
1016*53ee8cc1Swenshuai.xi     AU_DVB_STANDARD_FLAC,               //0x11
1017*53ee8cc1Swenshuai.xi     AU_DVB_STANDARD_VORBIS,             //0x12
1018*53ee8cc1Swenshuai.xi     AU_DVB_STANDARD_DTSLBR,             //0x13
1019*53ee8cc1Swenshuai.xi     AU_DVB_STANDARD_AMR_NB,             //0x14
1020*53ee8cc1Swenshuai.xi     AU_DVB_STANDARD_AMR_WB,             //0x15
1021*53ee8cc1Swenshuai.xi     AU_DVB_STANDARD_DRA,                //0x16
1022*53ee8cc1Swenshuai.xi     AU_DVB_STANDARD_MPEG_AD,            //0x17
1023*53ee8cc1Swenshuai.xi     AU_DVB_STANDARD_DolbyTrueHD_Bypass, //0x18
1024*53ee8cc1Swenshuai.xi     AU_DVB_STANDARD_DTSHD_ADO, //0x19
1025*53ee8cc1Swenshuai.xi     AU_DVB_STANDARD_MAX,
1026*53ee8cc1Swenshuai.xi 
1027*53ee8cc1Swenshuai.xi     AU_DVB_STANDARD_ENC                 = 0x20,    // define for dsp load code
1028*53ee8cc1Swenshuai.xi     AU_DVB_STANDARD_MPEG_EN             = 0x20,
1029*53ee8cc1Swenshuai.xi 
1030*53ee8cc1Swenshuai.xi     AU_DVB2_STANDARD_SE_DSP             = 0x30,    // define for dsp load code
1031*53ee8cc1Swenshuai.xi     //AU_DVB2_STANDARD_SE_DSP_EXT         = 0x40,    // need to refine ADV judgement first.
1032*53ee8cc1Swenshuai.xi     AU_DVB2_NONE                        = 0x30,
1033*53ee8cc1Swenshuai.xi     AU_DVB2_STANDARD_MPEG_AD ,
1034*53ee8cc1Swenshuai.xi     AU_DVB2_STANDARD_AC3_AD,
1035*53ee8cc1Swenshuai.xi     AU_DVB2_STANDARD_AC3P_AD,
1036*53ee8cc1Swenshuai.xi     AU_DVB2_STANDARD_AAC_AD,
1037*53ee8cc1Swenshuai.xi     AU_DVB2_STANDARD_DDE,
1038*53ee8cc1Swenshuai.xi     AU_DVB2_STANDARD_GAAC_AD,
1039*53ee8cc1Swenshuai.xi     AU_DVB2_STANDARD_MP3,
1040*53ee8cc1Swenshuai.xi     AU_DVB2_STANDARD_MPEG_EN,
1041*53ee8cc1Swenshuai.xi     AU_DVB2_STANDARD_XPCM,
1042*53ee8cc1Swenshuai.xi     AU_DVB2_STANDARD_KTV,
1043*53ee8cc1Swenshuai.xi     AU_DVB2_STANDARD_KTV2,
1044*53ee8cc1Swenshuai.xi     AU_DVB2_STANDARD_DTS,
1045*53ee8cc1Swenshuai.xi     AU_DVB2_STANDARD_TONEGEN,
1046*53ee8cc1Swenshuai.xi     AU_DVB2_STANDARD_DolbyTrueHD_Bypass,
1047*53ee8cc1Swenshuai.xi     AU_DVB2_STANDARD_DTSHD_ADO,
1048*53ee8cc1Swenshuai.xi     AU_DVB2_STANDARD_MAX,
1049*53ee8cc1Swenshuai.xi 
1050*53ee8cc1Swenshuai.xi     AU_DVB2_ADVSND                      = 0x40,    // define for dsp load code
1051*53ee8cc1Swenshuai.xi     AU_DVB2_ADVSND_PL2                  = 0x40,
1052*53ee8cc1Swenshuai.xi     AU_DVB2_ADVSND_BBE,
1053*53ee8cc1Swenshuai.xi     AU_DVB2_ADVSND_SRS,
1054*53ee8cc1Swenshuai.xi     AU_DVB2_ADVSND_VDS,
1055*53ee8cc1Swenshuai.xi     AU_DVB2_ADVSND_VSPK,
1056*53ee8cc1Swenshuai.xi     AU_DVB2_ADVSND_SUPV,
1057*53ee8cc1Swenshuai.xi     AU_DVB2_ADVSND_TSHD,
1058*53ee8cc1Swenshuai.xi     AU_DVB2_ADVSND_DTS_ULTRA_TV,
1059*53ee8cc1Swenshuai.xi     AU_DVB2_ADVSND_TSHDVIQ,
1060*53ee8cc1Swenshuai.xi     AU_DVB2_ADVSND_AUDSY,
1061*53ee8cc1Swenshuai.xi     AU_DVB2_ADVSND_DBX,
1062*53ee8cc1Swenshuai.xi     AU_DVB2_ADVSND_THEATERSOUND,
1063*53ee8cc1Swenshuai.xi     AU_DVB2_ADVSND_PURESND,
1064*53ee8cc1Swenshuai.xi     AU_DVB2_ADVSND_STUDIOSOUND_3D,
1065*53ee8cc1Swenshuai.xi     AU_DVB2_ADVSND_MAX,
1066*53ee8cc1Swenshuai.xi 
1067*53ee8cc1Swenshuai.xi     AU_DEC_SYSTEM                       = 0x50,
1068*53ee8cc1Swenshuai.xi     AU_SE_SYSTEM                        = 0x60,
1069*53ee8cc1Swenshuai.xi 
1070*53ee8cc1Swenshuai.xi     AU_KTV_ENC                          = 0x70,
1071*53ee8cc1Swenshuai.xi     AU_KTV_FUNC                         = 0x80,
1072*53ee8cc1Swenshuai.xi     AU_KTV_SYSTEM                       = 0x90,
1073*53ee8cc1Swenshuai.xi 
1074*53ee8cc1Swenshuai.xi     AU_SND_EFFECT                       = 0xa0,
1075*53ee8cc1Swenshuai.xi 
1076*53ee8cc1Swenshuai.xi     AU_STANDARD_SIF_TYPE                = 0xb0,
1077*53ee8cc1Swenshuai.xi     AU_SIF_NONE                         = 0xb0,
1078*53ee8cc1Swenshuai.xi     AU_SIF_BTSC ,
1079*53ee8cc1Swenshuai.xi     AU_SIF_EIAJ,
1080*53ee8cc1Swenshuai.xi     AU_SIF_PALSUM,
1081*53ee8cc1Swenshuai.xi     AU_SIF_FM_RADIO,
1082*53ee8cc1Swenshuai.xi 
1083*53ee8cc1Swenshuai.xi     AU_ATVENC_NONE                      = 0xc0,
1084*53ee8cc1Swenshuai.xi     AU_ATVENC_FMTx,
1085*53ee8cc1Swenshuai.xi     AU_ATVENC_BTSC,
1086*53ee8cc1Swenshuai.xi 
1087*53ee8cc1Swenshuai.xi     AU_DVB2_ENCODE_NONE                 = 0xd0,    // define for snd_dsp encode code for because 0x30 has no free enum
1088*53ee8cc1Swenshuai.xi     AU_DVB2_ENCODE_DTSE        = 0xd1,
1089*53ee8cc1Swenshuai.xi     AU_DVB2_ENCODE_MS10_DDE    = 0xd2,
1090*53ee8cc1Swenshuai.xi     AU_DVB2_ENCODE_DDE    = 0xd3,
1091*53ee8cc1Swenshuai.xi     AU_DVB2_ENCODE_MAX,
1092*53ee8cc1Swenshuai.xi 
1093*53ee8cc1Swenshuai.xi     AU_DEC_ES_BYPASS,
1094*53ee8cc1Swenshuai.xi 
1095*53ee8cc1Swenshuai.xi }AUDIO_DSP_CODE_TYPE;
1096*53ee8cc1Swenshuai.xi #endif
1097*53ee8cc1Swenshuai.xi 
1098*53ee8cc1Swenshuai.xi typedef enum
1099*53ee8cc1Swenshuai.xi {
1100*53ee8cc1Swenshuai.xi     AU_SIF_PAL_MONO,
1101*53ee8cc1Swenshuai.xi     AU_SIF_PAL_HIDEV,
1102*53ee8cc1Swenshuai.xi     AU_SIF_PAL_A2,
1103*53ee8cc1Swenshuai.xi     AU_SIF_PAL_NICAM
1104*53ee8cc1Swenshuai.xi }AUDIO_SIF_PAL_TYPE;
1105*53ee8cc1Swenshuai.xi 
1106*53ee8cc1Swenshuai.xi typedef enum
1107*53ee8cc1Swenshuai.xi {
1108*53ee8cc1Swenshuai.xi     AU_MODE_MONO,                       ///< MONO
1109*53ee8cc1Swenshuai.xi     AU_MODE_STEREO,                     ///< STEREO
1110*53ee8cc1Swenshuai.xi     AU_MODE_SAP,                        ///< SAP
1111*53ee8cc1Swenshuai.xi     AU_MODE_LANG_A,                     ///< LANG_A
1112*53ee8cc1Swenshuai.xi     AU_MODE_LANG_B,                     ///< LANG_B
1113*53ee8cc1Swenshuai.xi     AU_MODE_LANG_AB,                    ///< LANG_AB
1114*53ee8cc1Swenshuai.xi     AU_MODE_FORCE_NICAM,                ///< FORCE_NICAM
1115*53ee8cc1Swenshuai.xi     AU_MODE_NICAM_MONO,
1116*53ee8cc1Swenshuai.xi     AU_MODE_AUTO                        = 0x80      ///< auto switch to mono & mute
1117*53ee8cc1Swenshuai.xi } AUDIO_SIF_SOUND_MODE;
1118*53ee8cc1Swenshuai.xi 
1119*53ee8cc1Swenshuai.xi 
1120*53ee8cc1Swenshuai.xi //================================================================
1121*53ee8cc1Swenshuai.xi //  DVB/MAD ENUM
1122*53ee8cc1Swenshuai.xi //================================================================
1123*53ee8cc1Swenshuai.xi //====== DSP Running Counter Type========
1124*53ee8cc1Swenshuai.xi typedef enum
1125*53ee8cc1Swenshuai.xi {
1126*53ee8cc1Swenshuai.xi     DSP_DEC_MAIN_COUNTER,               /// Main counter for 1st DSP
1127*53ee8cc1Swenshuai.xi     DSP_DEC_TIMER_COUNTER,              /// Timer counter for 1st DSP
1128*53ee8cc1Swenshuai.xi     DSP_SE_MAIN_COUNTER,                /// Main counter for 2nd DSP
1129*53ee8cc1Swenshuai.xi     DSP_SE_TIMER_COUNTER,               /// Timer counter for 2nd DSP
1130*53ee8cc1Swenshuai.xi     DSP_SE_ISR_COUNTER,                 /// ISR counter for 2nd DSP
1131*53ee8cc1Swenshuai.xi     DEC_R2_MAIN_COUNTER,                /// Main counter for DEC R2
1132*53ee8cc1Swenshuai.xi     DEC_R2_TIMER_COUNTER,               /// Timer counter for DEC R2
1133*53ee8cc1Swenshuai.xi     SND_R2_MAIN_COUNTER,                /// Main counter for SND R2
1134*53ee8cc1Swenshuai.xi     SND_R2_TIMER_COUNTER                /// Timer counter for SND R2
1135*53ee8cc1Swenshuai.xi } AUDIO_DSP_COUNTER_TYPE;
1136*53ee8cc1Swenshuai.xi 
1137*53ee8cc1Swenshuai.xi ///< Audio decoder system (1st & 2nd) type
1138*53ee8cc1Swenshuai.xi typedef enum
1139*53ee8cc1Swenshuai.xi {
1140*53ee8cc1Swenshuai.xi     MSAPI_AUD_DVB_INVALID               = 0xFF,     ///< 0xFF: System=Invalid
1141*53ee8cc1Swenshuai.xi 
1142*53ee8cc1Swenshuai.xi     //DTV / MM Audio main decoder
1143*53ee8cc1Swenshuai.xi     MSAPI_AUD_DVB_NONE                  = 0x00,     ///< 0x00: System=None
1144*53ee8cc1Swenshuai.xi     MSAPI_AUD_DVB_MPEG,                 ///< 0x01: System=MPEG
1145*53ee8cc1Swenshuai.xi     MSAPI_AUD_DVB_AC3,                  ///< 0x02: System=AC3
1146*53ee8cc1Swenshuai.xi     MSAPI_AUD_DVB_AC3P,                 ///< 0x03: System=AC3+
1147*53ee8cc1Swenshuai.xi     MSAPI_AUD_DVB_AAC,                  ///< 0x04: System=AAC
1148*53ee8cc1Swenshuai.xi     MSAPI_AUD_DVB_MP3,                  ///< 0x05: System=MP3
1149*53ee8cc1Swenshuai.xi     MSAPI_AUD_DVB_WMA,                  ///< 0x06: System=WMA
1150*53ee8cc1Swenshuai.xi     MSAPI_AUD_DVB_CDLPCM,               ///< 0x07: System=LPCM
1151*53ee8cc1Swenshuai.xi     MSAPI_AUD_DVB_RA8LBR,               ///< 0x08: System=RA8 LBR
1152*53ee8cc1Swenshuai.xi     MSAPI_AUD_DVB_XPCM,                 ///< 0x09: System=XPCM
1153*53ee8cc1Swenshuai.xi     MSAPI_AUD_DVB_TONE,                 ///< 0x0A: System=TONE
1154*53ee8cc1Swenshuai.xi     MSAPI_AUD_DVB_DTS,                  ///< 0x0B: System=DTS
1155*53ee8cc1Swenshuai.xi     MSAPI_AUD_DVB_MS10_DDT,             ///< 0x0C: System=MS10 DDT
1156*53ee8cc1Swenshuai.xi     MSAPI_AUD_DVB_MS10_DDC,             ///< 0x0D: System=MS10 DDC
1157*53ee8cc1Swenshuai.xi     MSAPI_AUD_DVB_WMA_PRO,              ///< 0x0E: System=WMA PRO
1158*53ee8cc1Swenshuai.xi     MSAPI_AUD_DVB_FLAC,                 ///< 0x0F: System=FLAC
1159*53ee8cc1Swenshuai.xi     MSAPI_AUD_DVB_VORBIS,               // 0x10
1160*53ee8cc1Swenshuai.xi     MSAPI_AUD_DVB_DTSLBR,               // 0x11
1161*53ee8cc1Swenshuai.xi     MSAPI_AUD_DVB_AMR_NB,               // 0x12
1162*53ee8cc1Swenshuai.xi     MSAPI_AUD_DVB_AMR_WB,               // 0x13
1163*53ee8cc1Swenshuai.xi     MSAPI_AUD_DVB_DRA,                  // 0x14
1164*53ee8cc1Swenshuai.xi     MSAPI_AUD_DVB_DolbyTrueHDBypass,    ///< 0x15: Dolby TruHD bypass
1165*53ee8cc1Swenshuai.xi     MSAPI_AUD_DVB_DTSHDADO,             //0x16:
1166*53ee8cc1Swenshuai.xi     MSAPI_AUD_DVB_DTSXLL,               // 0x17
1167*53ee8cc1Swenshuai.xi     MSAPI_AUD_DVB_ES_Bypass,            //0x18:   System=ES Bypass
1168*53ee8cc1Swenshuai.xi     MSAPI_AUD_DVB_MAX,
1169*53ee8cc1Swenshuai.xi 
1170*53ee8cc1Swenshuai.xi     //DTV Audio decoder 2 (for AD)
1171*53ee8cc1Swenshuai.xi     MSAPI_AUD_DVB2_NONE                 = 0x30,     ///< 0x30: System=None
1172*53ee8cc1Swenshuai.xi     MSAPI_AUD_DVB2_MPEG,                ///< 0x31: System=MPEG AD
1173*53ee8cc1Swenshuai.xi     MSAPI_AUD_DVB2_AC3,                 ///< 0x32: System=AC3 AD
1174*53ee8cc1Swenshuai.xi     MSAPI_AUD_DVB2_MP3,                 ///< 0x33: System=2nd MP3
1175*53ee8cc1Swenshuai.xi     MSAPI_AUD_DVB2_AAC,                 ///< 0x34: System=AAC AD
1176*53ee8cc1Swenshuai.xi     MSAPI_AUD_DVB2_GAAC,                ///< 0x35: System=GAAC AD
1177*53ee8cc1Swenshuai.xi     MSAPI_AUD_DVB2_AC3P,                ///< 0x36: System=AC3P AD
1178*53ee8cc1Swenshuai.xi     MSAPI_AUD_DVB2_DDE,                 ///< 0x37: System=AC3 Encoder
1179*53ee8cc1Swenshuai.xi     MSAPI_AUD_DVB2_DTSE,                ///< 0x38: System=DTS Encoder
1180*53ee8cc1Swenshuai.xi     MSAPI_AUD_DVB2_XPCM,
1181*53ee8cc1Swenshuai.xi     MSAPI_AUD_DVB2_KTV,
1182*53ee8cc1Swenshuai.xi     MSAPI_AUD_DVB2_KTV2,
1183*53ee8cc1Swenshuai.xi     MSAPI_AUD_DVB2_DTS,
1184*53ee8cc1Swenshuai.xi     MSAPI_AUD_DVB2_TONEGEN,
1185*53ee8cc1Swenshuai.xi     MSAPI_AUD_DVB2_DolbyTrueHDBypass,    ///< 0x15: Dolby TruHD bypass
1186*53ee8cc1Swenshuai.xi     MSAPI_AUD_DVB2_DTSHDADO,             //0x16:
1187*53ee8cc1Swenshuai.xi     MSAPI_AUD_DVB2_MAX,
1188*53ee8cc1Swenshuai.xi 
1189*53ee8cc1Swenshuai.xi     //ATV SIF
1190*53ee8cc1Swenshuai.xi     MSAPI_AUD_ATV_NONE                  = 0xB0,     ///< 0xB0: System=None
1191*53ee8cc1Swenshuai.xi     MSAPI_AUD_ATV_BTSC,                 ///< 0xB1: System=BTSC
1192*53ee8cc1Swenshuai.xi     MSAPI_AUD_ATV_EIAJ,
1193*53ee8cc1Swenshuai.xi     MSAPI_AUD_ATV_PAL,                  ///< 0xB3: System=PALSUM
1194*53ee8cc1Swenshuai.xi     MSAPI_AUD_ATV_FM_RADIO,             ///< 0xB4: System=FM_RADIO
1195*53ee8cc1Swenshuai.xi     MSAPI_AUD_ATV_MAX,
1196*53ee8cc1Swenshuai.xi 
1197*53ee8cc1Swenshuai.xi     //ATV ENC
1198*53ee8cc1Swenshuai.xi     MSAPI_AUD_ATVENC_NONE               = 0xC0,     ///< 0xC0: System=None
1199*53ee8cc1Swenshuai.xi     MSAPI_AUD_ATVENC_FMTX,              ///< 0xC1: System=FM_Tx
1200*53ee8cc1Swenshuai.xi     MSAPI_AUD_ATVENC_BTSC,              ///< 0xC2: System=BTSC_Enc
1201*53ee8cc1Swenshuai.xi     MSAPI_AUD_ATVENC_MAX
1202*53ee8cc1Swenshuai.xi } En_DVB_decSystemType;
1203*53ee8cc1Swenshuai.xi 
1204*53ee8cc1Swenshuai.xi typedef enum
1205*53ee8cc1Swenshuai.xi {
1206*53ee8cc1Swenshuai.xi     Audio_DEC_SYS                       = 0x00000000,
1207*53ee8cc1Swenshuai.xi     Audio_DEC_PCM                       = 0x00000001,
1208*53ee8cc1Swenshuai.xi     Audio_DEC_XPCM                      = 0x00000002,
1209*53ee8cc1Swenshuai.xi     Audio_DEC_MPEG                      = 0x00000004,
1210*53ee8cc1Swenshuai.xi     Audio_DEC_MP3                       = 0x00000008,
1211*53ee8cc1Swenshuai.xi     Audio_DEC_AC3                       = 0x00000010,
1212*53ee8cc1Swenshuai.xi     Audio_DEC_AC3P                      = 0x00000020,
1213*53ee8cc1Swenshuai.xi     Audio_DEC_AAC_LC                    = 0x00000040,
1214*53ee8cc1Swenshuai.xi     Audio_DEC_HEAAC_V1                  = 0x00000080,
1215*53ee8cc1Swenshuai.xi     Audio_DEC_HEAAC_V2                  = 0x00000100,
1216*53ee8cc1Swenshuai.xi     Audio_DEC_DOLBYPULSE                = 0x00000200,
1217*53ee8cc1Swenshuai.xi     Audio_DEC_WMA                       = 0x00000400,
1218*53ee8cc1Swenshuai.xi     Audio_DEC_WMAPRO                    = 0x00000800,
1219*53ee8cc1Swenshuai.xi     Audio_DEC_RA8                       = 0x00001000,
1220*53ee8cc1Swenshuai.xi     Audio_DEC_DTS                       = 0x00002000,
1221*53ee8cc1Swenshuai.xi     Audio_DEC_FLAC                      = 0x00004000,
1222*53ee8cc1Swenshuai.xi     Audio_DEC_VORBIS                    = 0x00008000,
1223*53ee8cc1Swenshuai.xi     Audio_DEC_KTV                       = 0x00010000,
1224*53ee8cc1Swenshuai.xi     Audio_DEC_KTV2                      = 0x00020000,
1225*53ee8cc1Swenshuai.xi     Audio_DEC_AMR_NB                    = 0x00040000,
1226*53ee8cc1Swenshuai.xi     Audio_DEC_AMR_WB                    = 0x00080000,
1227*53ee8cc1Swenshuai.xi     Audio_DEC_DRA                       = 0x00100000,
1228*53ee8cc1Swenshuai.xi     Audio_DEC_DTSLBR                    = 0x00200000,
1229*53ee8cc1Swenshuai.xi     Audio_DEC_Dolby_TrueHD_Bypass_R2    = 0x00400000,
1230*53ee8cc1Swenshuai.xi     Audio_DEC_DTS_HD_ADO_R2             = 0x00800000,
1231*53ee8cc1Swenshuai.xi     Audio_DEC_DTSXLL                    = 0x01000000,
1232*53ee8cc1Swenshuai.xi     Audio_DEC_NULL                      = 0xFFFFFFFF
1233*53ee8cc1Swenshuai.xi 
1234*53ee8cc1Swenshuai.xi } MMA_AudioType;
1235*53ee8cc1Swenshuai.xi 
1236*53ee8cc1Swenshuai.xi //====== MMA ========
1237*53ee8cc1Swenshuai.xi typedef enum
1238*53ee8cc1Swenshuai.xi {
1239*53ee8cc1Swenshuai.xi     MMA_STOP,
1240*53ee8cc1Swenshuai.xi     MMA_PLAY,
1241*53ee8cc1Swenshuai.xi     MMA_PLAY_FILETSP,
1242*53ee8cc1Swenshuai.xi     MMA_RESYNC,
1243*53ee8cc1Swenshuai.xi     MMA_PLAY_FILE,
1244*53ee8cc1Swenshuai.xi     MMA_BROWSE,
1245*53ee8cc1Swenshuai.xi     MMA_PAUSE,
1246*53ee8cc1Swenshuai.xi     MMA_PLAY_FRAME,
1247*53ee8cc1Swenshuai.xi     MMA_PLAY_FRAME_GS,
1248*53ee8cc1Swenshuai.xi     MMA_PLAY_AD,
1249*53ee8cc1Swenshuai.xi     MMA_STOP_AD,
1250*53ee8cc1Swenshuai.xi     MMA_AVSYNC,
1251*53ee8cc1Swenshuai.xi     MMA_FREERUN,
1252*53ee8cc1Swenshuai.xi } MMA_AUDIO_CONTROL;
1253*53ee8cc1Swenshuai.xi 
1254*53ee8cc1Swenshuai.xi typedef enum
1255*53ee8cc1Swenshuai.xi {
1256*53ee8cc1Swenshuai.xi   /*********  New Interface ********/
1257*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_MMA_init = 0x60,
1258*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_MMA_finish,
1259*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_STC_Select,
1260*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_HDMI_ChannelStatus_1st_64bits,
1261*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_HDMI_ChannelStatus_2nd_64bits,
1262*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_HDMI_ChannelStatus_3rd_64bits,
1263*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_HDMI_UserData_1st_64bits,
1264*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_HDMI_UserData_2nd_64bits,
1265*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_HDMI_UserData_3rd_64bits,
1266*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_HDMI_HWbypassmode,
1267*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_setHdmiDelay,
1268*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_Is_Audio_Sync,
1269*53ee8cc1Swenshuai.xi     Audio_comm_infoType_Get_Main_Input_Source_Info,
1270*53ee8cc1Swenshuai.xi     Audio_comm_infoType_Get_Sub_Input_Source_Info,
1271*53ee8cc1Swenshuai.xi     Audio_comm_infoType_Set_Input_Path,
1272*53ee8cc1Swenshuai.xi 
1273*53ee8cc1Swenshuai.xi     /*******************************************************************/
1274*53ee8cc1Swenshuai.xi     /* If you want add new cmd below,                                  */
1275*53ee8cc1Swenshuai.xi     /* Please make sure ADEC 1 / 2/ 3 have "same" cmd in "same" order" */
1276*53ee8cc1Swenshuai.xi     /*******************************************************************/
1277*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_ADEC1_capability = 0x70,
1278*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_ADEC1_setAudioDecoder,
1279*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_ADEC1_currAudDecStatus,
1280*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_ADEC1_AudioSyncStatus,   // 1 : AV-Sync  0: Free-run
1281*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_ADEC1_sampleRate,
1282*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_ADEC1_bitRate,
1283*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_ADEC1_acmod,
1284*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_ADEC1_soundmod,
1285*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_ADEC1_reqDataSize,
1286*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_ADEC1_okFrmCnt,
1287*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_ADEC1_errFrmCnt,
1288*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_ADEC1_1ms_timeStamp,
1289*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_ADEC1_33bit_PTS,
1290*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_ADEC1_33bit_STCPTS_DIFF,
1291*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_ADEC1_esBuf_reqFlag,       //new
1292*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_ADEC1_esBuf_reqAddr,
1293*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_ADEC1_esBuf_reqSize,
1294*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_ADEC1_esBuf_informDataRdy, //new
1295*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_ADEC1_esBuf_currLevel,
1296*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_ADEC1_pcmBuf_currLevel,
1297*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_ADEC1_playControl,
1298*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_ADEC1_FF2X,
1299*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_ADEC1_mute,
1300*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_syncSTC_in_mmTs,
1301*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_ADEC1_play_wo_output,
1302*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_ADEC1_audio_unsupported,
1303*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_ADEC1_UNI_PCMOutCnt,       // UNI_DEC1_PCM1 -> MIPS out size
1304*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_ADEC1_UNI_pcm_wptr,        // DEC1 -> UNI_DEC1_PCM1 wptr
1305*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_ADEC1_UNI_pcm_decSize,     // DEC1 -> UNI_DEC1_PCM1 w_size
1306*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_ADEC1_UNI_PCMInput_Addr,   // MISP -> UNI_DEC1_PCM3 wptr
1307*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_ADEC1_UNI_OutPCMLevel,     // UNI_DEC1_PCM3 level count
1308*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_ADEC1_avSyncOffset,
1309*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_ADEC1_Set_play_smpRate = 0x1000,
1310*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_ADEC1_Get_PTS_latency,
1311*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_ADEC1_Get_PCM_bufferEmpty,
1312*53ee8cc1Swenshuai.xi 
1313*53ee8cc1Swenshuai.xi     /********************************************************************/
1314*53ee8cc1Swenshuai.xi     /* Please Add ADEC 1 cmd above                                      */
1315*53ee8cc1Swenshuai.xi     /* Please make sure ADEC 1 / 2/ 3 have "same" cmd in "same" order"  */
1316*53ee8cc1Swenshuai.xi     /********************************************************************/
1317*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_ADEC1_setDecParam = 0x8F,
1318*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_ADEC1_getDecInfo1 = 0x90,
1319*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_ADEC1_getDecInfo2,
1320*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_ADEC1_getDecInfo3,
1321*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_ADEC1_getDecInfo4,
1322*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_ADEC1_getDecInfo5,
1323*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_ADEC1_getDecInfo6,
1324*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_ADEC1_getDecInfo7,
1325*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_ADEC1_getDecInfo8,
1326*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_ADEC1_getDecChannelInfo,
1327*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_ADEC1_getlatest_PTS,
1328*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_ADEC1_avsync_delay,
1329*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_ADEC1_avsync_delay_upperlimit,
1330*53ee8cc1Swenshuai.xi 
1331*53ee8cc1Swenshuai.xi     /********************************************************************/
1332*53ee8cc1Swenshuai.xi     /* If you want add new cmd below,                                   */
1333*53ee8cc1Swenshuai.xi     /* Please make sure ADEC 1 / 2/ 3 have "same" cmd in "same" order"  */
1334*53ee8cc1Swenshuai.xi     /********************************************************************/
1335*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_ADEC2_capability = 0xA0,
1336*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_ADEC2_setAudioDecoder,
1337*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_ADEC2_currAudDecStatus,
1338*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_ADEC2_AudioSyncStatus,   // 1 : AV-Sync  0: Free-run
1339*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_ADEC2_sampleRate,
1340*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_ADEC2_bitRate,
1341*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_ADEC2_acmod,
1342*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_ADEC2_soundmod,
1343*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_ADEC2_reqDataSize,
1344*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_ADEC2_okFrmCnt,
1345*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_ADEC2_errFrmCnt,
1346*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_ADEC2_1ms_timeStamp,
1347*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_ADEC2_33bit_PTS,
1348*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_ADEC2_33bit_STCPTS_DIFF,
1349*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_ADEC2_esBuf_reqFlag,
1350*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_ADEC2_esBuf_reqAddr,
1351*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_ADEC2_esBuf_reqSize,
1352*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_ADEC2_esBuf_informDataRdy,
1353*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_ADEC2_esBuf_currLevel,
1354*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_ADEC2_pcmBuf_currLevel,
1355*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_ADEC2_playControl,
1356*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_ADEC2_FF2X,
1357*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_ADEC2_mute,
1358*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_ADEC2_syncSTC_in_mmTs,
1359*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_ADEC2_play_wo_output,
1360*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_ADEC2_audio_unsupported,
1361*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_ADEC2_UNI_PCMOutCnt,       // UNI_DEC2_PCM1 -> MIPS out size
1362*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_ADEC2_UNI_pcm_wptr,        // DEC2 -> UNI_DEC2_PCM1 wptr
1363*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_ADEC2_UNI_pcm_decSize,     // DEC2 -> UNI_DEC2_PCM1 w_size
1364*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_ADEC2_UNI_PCMInput_Addr,   // MISP -> UNI_DEC2_PCM3 wptr
1365*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_ADEC2_UNI_OutPCMLevel,     // UNI_DEC2_PCM3 level count
1366*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_ADEC2_avSyncOffset,
1367*53ee8cc1Swenshuai.xi 
1368*53ee8cc1Swenshuai.xi     /********************************************************************/
1369*53ee8cc1Swenshuai.xi     /* Please Add ADEC 2 cmd above                                      */
1370*53ee8cc1Swenshuai.xi     /* Please make sure ADEC 1 / 2/ 3 have "same" cmd in "same" order"  */
1371*53ee8cc1Swenshuai.xi     /********************************************************************/
1372*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_ADEC2_setDecParam = 0xBF,
1373*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_ADEC2_getDecInfo1 = 0xC0,
1374*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_ADEC2_getDecInfo2,
1375*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_ADEC2_getDecInfo3,
1376*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_ADEC2_getDecInfo4,
1377*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_ADEC2_getDecInfo5,
1378*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_ADEC2_getDecInfo6,
1379*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_ADEC2_getDecInfo7,
1380*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_ADEC2_getDecInfo8,
1381*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_ADEC2_getDecChannelInfo,
1382*53ee8cc1Swenshuai.xi 
1383*53ee8cc1Swenshuai.xi     /**********************************************************************/
1384*53ee8cc1Swenshuai.xi     /* If you want add new cmd below,                                     */
1385*53ee8cc1Swenshuai.xi     /* Please make sure ADEC 1 / 2/ 3 have "same" cmd in "same" order"    */
1386*53ee8cc1Swenshuai.xi     /**********************************************************************/
1387*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_ADEC3_capability = 0xD0,
1388*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_ADEC3_setAudioDecoder,
1389*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_ADEC3_currAudDecStatus,
1390*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_ADEC3_AudioSyncStatus,   // 1 : AV-Sync  0: Free-run
1391*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_ADEC3_sampleRate,
1392*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_ADEC3_bitRate,
1393*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_ADEC3_acmod,
1394*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_ADEC3_soundmod,
1395*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_ADEC3_reqDataSize,
1396*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_ADEC3_okFrmCnt,
1397*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_ADEC3_errFrmCnt,
1398*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_ADEC3_1ms_timeStamp,
1399*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_ADEC3_33bit_PTS,
1400*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_ADEC3_33bit_STCPTS_DIFF,
1401*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_ADEC3_esBuf_reqFlag,
1402*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_ADEC3_esBuf_reqAddr,
1403*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_ADEC3_esBuf_reqSize,
1404*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_ADEC3_esBuf_informDataRdy,
1405*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_ADEC3_esBuf_currLevel,
1406*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_ADEC3_pcmBuf_currLevel,
1407*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_ADEC3_playControl,
1408*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_ADEC3_FF2X,
1409*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_ADEC3_mute,
1410*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_ADEC3_syncSTC_in_mmTs,
1411*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_ADEC3_play_wo_output,
1412*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_ADEC3_audio_unsupported,
1413*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_ADEC3_UNI_PCMOutCnt,       // UNI_DEC3_PCM1 -> MIPS out size
1414*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_ADEC3_UNI_pcm_wptr,        // DEC3 -> UNI_DEC3_PCM1 wptr
1415*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_ADEC3_UNI_pcm_decSize,     // DEC3 -> UNI_DEC3_PCM1 w_size
1416*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_ADEC3_UNI_PCMInput_Addr,   // MISP -> UNI_DEC3_PCM3 wptr
1417*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_ADEC3_UNI_OutPCMLevel,     // UNI_DEC3_PCM3 level count
1418*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_ADEC3_avSyncOffset,
1419*53ee8cc1Swenshuai.xi 
1420*53ee8cc1Swenshuai.xi     /**********************************************************************/
1421*53ee8cc1Swenshuai.xi     /* Please Add ADEC 3 cmd above                                        */
1422*53ee8cc1Swenshuai.xi     /* Please make sure ADEC 1 / 2/ 3 have "same" cmd in "same" order"    */
1423*53ee8cc1Swenshuai.xi     /**********************************************************************/
1424*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_ADEC3_setDecParam = 0xEF,
1425*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_ADEC3_getDecInfo1 = 0xF0,
1426*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_ADEC3_getDecInfo2,
1427*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_ADEC3_getDecInfo3,
1428*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_ADEC3_getDecInfo4,
1429*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_ADEC3_getDecInfo5,
1430*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_ADEC3_getDecInfo6,
1431*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_ADEC3_getDecInfo7,
1432*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_ADEC3_getDecInfo8,
1433*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_ADEC3_getDecChannelInfo,
1434*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_ADEC3_getlatest_PTS,
1435*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_ADEC3_avsync_delay,
1436*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_ADEC3_avsync_delay_upperlimit,
1437*53ee8cc1Swenshuai.xi 
1438*53ee8cc1Swenshuai.xi     /****************************************************/
1439*53ee8cc1Swenshuai.xi     /*  General audio cmd  */
1440*53ee8cc1Swenshuai.xi     /****************************************************/
1441*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_DecStatus = 0x00,
1442*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_SampleRate,
1443*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_SoundMode,
1444*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_DecOutMode,
1445*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_ChannelMode,
1446*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_MMFileSize,
1447*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_33Bit_PTS,
1448*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_33Bit_STCPTS_DIFF,
1449*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_1ms_PTS,
1450*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_DEC1_BufferSize,
1451*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_DEC1_BufferAddr,
1452*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_DEC1_MMTag,
1453*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_DEC1_MMResidualPCM,
1454*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_DEC1_ESBufferSize,
1455*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_DEC1_PCMBufferSize,
1456*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_DEC2_BufferSize,
1457*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_DEC2_BufferAddr = 0x10,
1458*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_DEC2_MMTag,
1459*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_DEC2_MMResidualPCM,
1460*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_DecodeErrorCnt,
1461*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_MM_FFx2,
1462*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_setBypassSPDIF_PAPB_chk,
1463*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_CompressBin_LoadCode,
1464*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_CompressBin_DDRAddress,
1465*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_DMAReader_BufferLevel,
1466*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_DMAReader_Command,
1467*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_SetSCMS,
1468*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_GetSCMS,
1469*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_ADC_InputGain,
1470*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_KTV_SetType,
1471*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_getSignal_Energy,
1472*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_getNR_Status,
1473*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_setNR_Threshold = 0x20,
1474*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_setSPDIF_FS,
1475*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_getSPDIF_FS,
1476*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_setSpdifDelay,
1477*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_ReadByte,
1478*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_WriteByte,
1479*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_hdmiTx_outType,
1480*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_hdmiTx_outFreq,
1481*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_PTS_info,
1482*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_RTSP_Mem,
1483*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_setSpdif_BufferProcess,
1484*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_DEC1_setBufferProcess,
1485*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_setES_REQ_SZ,
1486*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_AD_OutputStyle,
1487*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_getHDMI_CopyRight_C_Bit,
1488*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_getHDMI_CopyRight_L_Bit,
1489*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_Set_UNI_NEED_DECODE_FRMCNT = 0x30,
1490*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_Set_UNI_ES_Wptr,
1491*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_Get_UNI_ES_MEMCNT,
1492*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_Set_MENU_WT_PTR,
1493*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_Get_MENU_WT_PTR,
1494*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_Get_MENU_KEY_CNT,
1495*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_Get_CurSynthRate,
1496*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_ADC1_InputGain,
1497*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_mainpath_mute_status,
1498*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_spdif_mute_status,
1499*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_hdmiTX_mute_status,
1500*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_SRC_Compensation,
1501*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_Dump_Dsp_Info,
1502*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_Set_Video_STCPTS_DIFF,
1503*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_Get_UNI_ES_Base,
1504*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_Get_UNI_ES_Size,
1505*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_Get_UNI_PCM_Base = 0x40,
1506*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_Get_UNI_PCM_Size,
1507*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_Get_AccumEsCnt,
1508*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_DSP_PLL_Setting,
1509*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_Set_CallBackFunc,
1510*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_Set_ALSA_Mode,  /* For OMX Dual Mono Setting */
1511*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_HDMI_Unstable_Protect,
1512*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_HDMI_Unstable_Threshold,
1513*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_Set_TEE_Capibility,
1514*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_Parser_Spec,  /* Support ISO 11172-1 for MM */
1515*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_Get_MultiPlayer_Capability,
1516*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_Get_Parser_Architecture,
1517*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_Set_CfgCtrlRegs_Lock,
1518*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_DMAReader_BufferSize,
1519*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_PUSI_disable_Info,  /*For STB only PES file in tsp.(need disable PUSI)*/
1520*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_Set_Parser,
1521*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_Parser_Info = 0x50,
1522*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_Get_Dolby_TrueHD_Bypass_Capability,
1523*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_Set_DFS_PowerSave,   /*DFS setting for saving power*/
1524*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_Is_Decoder_In_R2,  /*For IC with R2 Decoder*/
1525*53ee8cc1Swenshuai.xi     Audio_comm_infoType_Get_audio_crash_status,
1526*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_mainAudio_setBufferProcess,
1527*53ee8cc1Swenshuai.xi     Audio_comm_infoType_Get_Main_Input_Type,
1528*53ee8cc1Swenshuai.xi     Audio_comm_infoType_Get_Sub_Input_Type,
1529*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_Multi_Channel,
1530*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_Vorbis_header_size = 0x5F,
1531*53ee8cc1Swenshuai.xi 
1532*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_ES_PassThrough_DelaySmp = 0x2000,
1533*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_ES_PassThrough_PcmSmpRate,
1534*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_ES_PassThrough_HdmiSmpRate,
1535*53ee8cc1Swenshuai.xi 
1536*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_HDMITx_Status,
1537*53ee8cc1Swenshuai.xi 
1538*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_set_PAL_M_Type = 0x4000,
1539*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_set_PAL_N_Type,
1540*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_set_BTSC_M_Type,
1541*53ee8cc1Swenshuai.xi 
1542*53ee8cc1Swenshuai.xi     /*******************************************************/
1543*53ee8cc1Swenshuai.xi     /*  Please Add common audio cmd above                  */
1544*53ee8cc1Swenshuai.xi     /*******************************************************/
1545*53ee8cc1Swenshuai.xi 
1546*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_Get_SE_Input_Main_BufferBase = 0x8000,
1547*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_Get_SE_Input_Main_BufferSize,
1548*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_Get_SE_Output_Main_BufferBase,
1549*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_Get_SE_Output_Main_BufferSize,
1550*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_Get_SE_PROCESS_FRAME_SMP_UNIT,
1551*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_Get_SE_PROCESS_FETCH_CHANNELS,
1552*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_Get_SE_PROCESS_STORE_CHANNELS,
1553*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_Get_SE_PROCESS_FETCH_FRAME_BYTE_SIZE,
1554*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_Get_SE_PROCESS_STORE_FRAME_BYTE_SIZE,
1555*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_Set_SE_Input_Main_Buffer_Feed = 0x8100,
1556*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_Set_SE_Output_Main_Buffer_Consume,
1557*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_Set_SE_Test_Init,
1558*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_Set_SE_Test_End,
1559*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_Set_SE_TONE_Test_Begin,
1560*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_Set_SE_PEQ_Test_Begin,
1561*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_Set_SE_GEQ_Test_Begin,
1562*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_Set_SE_AVC_Test_Begin,
1563*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_Set_SE_SRS_THEATER_SOUND_Begin,
1564*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_Set_SE_SONICEMOTION_ABS3D_Begin,
1565*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_Set_SE_BONGIOVI_DPS_Begin,
1566*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_Set_Debug_LOG_Level,
1567*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_Get_Dra_ChannelMode,
1568*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_Get_Max_DelayTime,
1569*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_Get_Min_DelayTime,
1570*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_Set_SE_DTS_STUDIOSOUND_3D_Begin,
1571*53ee8cc1Swenshuai.xi 
1572*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_AUDIO_Get_ADEC0_R2CodeType,
1573*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_AUDIO_Get_ADEC1_R2CodeType,
1574*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_AUDIO_GetDsp2CodeType,
1575*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_LFE_Channel_Info,
1576*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_DAC_Clock_OnOff,
1577*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_MMTS_KEEP_33bit_PTS_FLAG,
1578*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_AUDIO_CHUNK_PTS,
1579*53ee8cc1Swenshuai.xi     Audio_Comm_infoType_Get_AD_Cabability,
1580*53ee8cc1Swenshuai.xi 
1581*53ee8cc1Swenshuai.xi } Audio_COMM_infoType;
1582*53ee8cc1Swenshuai.xi 
1583*53ee8cc1Swenshuai.xi //================================================================
1584*53ee8cc1Swenshuai.xi //  Common PCM I/O ENUM
1585*53ee8cc1Swenshuai.xi //================================================================
1586*53ee8cc1Swenshuai.xi typedef enum
1587*53ee8cc1Swenshuai.xi {
1588*53ee8cc1Swenshuai.xi     AUDIO_PCM_CMD_ALL, /* GET */
1589*53ee8cc1Swenshuai.xi     AUDIO_PCM_CMD_NONBLOCKING, /* SET/GET */
1590*53ee8cc1Swenshuai.xi     AUDIO_PCM_CMD_MULTICH, /* GET */
1591*53ee8cc1Swenshuai.xi     AUDIO_PCM_CMD_MIXING, /* GET */
1592*53ee8cc1Swenshuai.xi     AUDIO_PCM_CMD_MIXINGGROUP, /* SET/GET */
1593*53ee8cc1Swenshuai.xi     AUDIO_PCM_CMD_BUFFER, /* GET only */
1594*53ee8cc1Swenshuai.xi     AUDIO_PCM_CMD_BUFFERDURATION, /* SET/GET */
1595*53ee8cc1Swenshuai.xi     AUDIO_PCM_CMD_READPTR, /* GET only */
1596*53ee8cc1Swenshuai.xi     AUDIO_PCM_CMD_WRITEPTR, /* GET only */
1597*53ee8cc1Swenshuai.xi     AUDIO_PCM_CMD_CHANNEL, /* SET/GET */
1598*53ee8cc1Swenshuai.xi     AUDIO_PCM_CMD_SAMPLERATE, /* SET/GET */
1599*53ee8cc1Swenshuai.xi     AUDIO_PCM_CMD_BITWIDTH, /* SET/GET */
1600*53ee8cc1Swenshuai.xi     AUDIO_PCM_CMD_BIGENDIAN, /* SET/GET */
1601*53ee8cc1Swenshuai.xi     AUDIO_PCM_CMD_TIMESTAMP, /* SET/GET */
1602*53ee8cc1Swenshuai.xi     AUDIO_PCM_CMD_WEIGHTING, /* SET/GET */
1603*53ee8cc1Swenshuai.xi     AUDIO_PCM_CMD_VOLUME, /* SET/GET */
1604*53ee8cc1Swenshuai.xi     AUDIO_PCM_CMD_BUFFERLEVEL, /* GET only */
1605*53ee8cc1Swenshuai.xi     AUDIO_PCM_CMD_MUTE, /* SET/GET */
1606*53ee8cc1Swenshuai.xi     AUDIO_PCM_CMD_BUFFERSIZE, /* GET only */
1607*53ee8cc1Swenshuai.xi } AUDIO_PCM_COMMAND;
1608*53ee8cc1Swenshuai.xi 
1609*53ee8cc1Swenshuai.xi // MPEG
1610*53ee8cc1Swenshuai.xi typedef enum
1611*53ee8cc1Swenshuai.xi {   //info Type name                    //Attibtue       //Parameter
1612*53ee8cc1Swenshuai.xi     Audio_MPEG_infoType_DecStatus,      //R              //0:unlock  1:lock
1613*53ee8cc1Swenshuai.xi     Audio_MPEG_infoType_SampleRate,     //R              //
1614*53ee8cc1Swenshuai.xi     Audio_MPEG_infoType_BitRate,        //R              //
1615*53ee8cc1Swenshuai.xi     Audio_MPEG_infoType_FrameNum,       //R              //
1616*53ee8cc1Swenshuai.xi     Audio_MPEG_infoType_SoundMode,      //W              //0: LR / 1:LL / 2:RR
1617*53ee8cc1Swenshuai.xi     Audio_MPEG_infoType_stereoMode,     //R              //0: Stereo / 1: / 2:RR
1618*53ee8cc1Swenshuai.xi     Audio_MPEG_infoType_Layer,          //R              //1 / 2 / 3
1619*53ee8cc1Swenshuai.xi     Audio_MPEG_infoType_Header,         //R              //
1620*53ee8cc1Swenshuai.xi     Audio_MPEG_infoType_FFSpeed,        //W              //
1621*53ee8cc1Swenshuai.xi     Audio_MPEG_infoType_MMFileSize,     //W              //enum FILE_SIZE
1622*53ee8cc1Swenshuai.xi     Audio_MPEG_infoType_Emphasis,       //R              //
1623*53ee8cc1Swenshuai.xi     Audio_MPEG_DTV_AVSYNC_OFFSET,       //W, unit= 33bits offset
1624*53ee8cc1Swenshuai.xi     Audio_MPEG_infoType_PCMBufLev,      //RW
1625*53ee8cc1Swenshuai.xi     Audio_MPEG_infoType_BufferDelay,    //RW
1626*53ee8cc1Swenshuai.xi     Audio_MPEG_DTV_AVSYNC_DISABLE_SETTING,
1627*53ee8cc1Swenshuai.xi     Audio_MPEG_MuteFrm_PcmHighLevel_Threshold_NumTimeOut,
1628*53ee8cc1Swenshuai.xi     Audio_MPEG_MuteFrm_PcmHighLevel_MuteNum,
1629*53ee8cc1Swenshuai.xi     Audio_MPEG_infoType_PcmHighLevel_Pcmdata
1630*53ee8cc1Swenshuai.xi } Audio_MPEG_infoType;
1631*53ee8cc1Swenshuai.xi 
1632*53ee8cc1Swenshuai.xi typedef enum
1633*53ee8cc1Swenshuai.xi {
1634*53ee8cc1Swenshuai.xi     AUD_MPEG_SOUNDMODE_LL,
1635*53ee8cc1Swenshuai.xi     AUD_MPEG_SOUNDMODE_RR,
1636*53ee8cc1Swenshuai.xi     AUD_MPEG_SOUNDMODE_LR,
1637*53ee8cc1Swenshuai.xi     AUD_MPEG_SOUNDMODE_MIX_LR
1638*53ee8cc1Swenshuai.xi }AUD_MPEG_SOUNDMODE;
1639*53ee8cc1Swenshuai.xi 
1640*53ee8cc1Swenshuai.xi typedef enum
1641*53ee8cc1Swenshuai.xi {
1642*53ee8cc1Swenshuai.xi     MPEG_SOUND_MODE_STEREO =0,
1643*53ee8cc1Swenshuai.xi     MPEG_SOUND_MODE_JOINT_STEREO,
1644*53ee8cc1Swenshuai.xi     MPEG_SOUND_MODE_DUAL_CHAN,
1645*53ee8cc1Swenshuai.xi     MPEG_SOUND_MODE_MONO
1646*53ee8cc1Swenshuai.xi }MPEG_SOUND_MODE;
1647*53ee8cc1Swenshuai.xi 
1648*53ee8cc1Swenshuai.xi /// MP3 Layer
1649*53ee8cc1Swenshuai.xi typedef enum
1650*53ee8cc1Swenshuai.xi {
1651*53ee8cc1Swenshuai.xi     Audio_MP3_LAYER_RESERVED            = 0x0,
1652*53ee8cc1Swenshuai.xi     Audio_MP3_LAYER_3                   = 0x1,
1653*53ee8cc1Swenshuai.xi     Audio_MP3_LAYER_2                   = 0x2,
1654*53ee8cc1Swenshuai.xi     Audio_MP3_LAYER_1                   = 0x3,
1655*53ee8cc1Swenshuai.xi     Audio_MP3_LAYER_NOT_DETERMINE_YET   = 0xFF,
1656*53ee8cc1Swenshuai.xi } Audio_MP3_LAYER;
1657*53ee8cc1Swenshuai.xi 
1658*53ee8cc1Swenshuai.xi // Dolby AC3
1659*53ee8cc1Swenshuai.xi typedef enum
1660*53ee8cc1Swenshuai.xi {   //info Type name                    //Attribute      //Parameter
1661*53ee8cc1Swenshuai.xi     Audio_AC3_infoType_DecStatus,       //R              //0:unlock  1:lock
1662*53ee8cc1Swenshuai.xi     Audio_AC3_infoType_SampleRate,      //R              //
1663*53ee8cc1Swenshuai.xi     Audio_AC3_infoType_BitRate,         //R              //
1664*53ee8cc1Swenshuai.xi     Audio_AC3_infoType_Dialnorm,        //R              //
1665*53ee8cc1Swenshuai.xi     Audio_AC3_infoType_Acmod,           //R              //
1666*53ee8cc1Swenshuai.xi     Audio_AC3_infoType_DrcMode,         //RW             //
1667*53ee8cc1Swenshuai.xi     Audio_AC3_infoType_DownmixMode,     //RW             //
1668*53ee8cc1Swenshuai.xi     Audio_AC3_infoType_MMFileSize,      //Not supported  //
1669*53ee8cc1Swenshuai.xi     Audio_AC3_infoType_PCMBufLevel,     //R              //
1670*53ee8cc1Swenshuai.xi     Audio_AC3_infoType_BufferDelay,     //RW             //
1671*53ee8cc1Swenshuai.xi     Audio_AC3_infoType_SyncwordFound_Count,
1672*53ee8cc1Swenshuai.xi     Audio_AC3_infoType_AD_Mixer_Balance,
1673*53ee8cc1Swenshuai.xi } Audio_AC3_infoType;
1674*53ee8cc1Swenshuai.xi 
1675*53ee8cc1Swenshuai.xi // Dolby AC3P
1676*53ee8cc1Swenshuai.xi typedef enum
1677*53ee8cc1Swenshuai.xi {   //info Type name                     //Attribute     //Parameter
1678*53ee8cc1Swenshuai.xi     Audio_AC3P_infoType_DecStatus,       //R             //
1679*53ee8cc1Swenshuai.xi     Audio_AC3P_infoType_SampleRate,      //R             //
1680*53ee8cc1Swenshuai.xi     Audio_AC3P_infoType_BitRate,         //R             //
1681*53ee8cc1Swenshuai.xi     Audio_AC3P_infoType_Dialnorm,        //R             //
1682*53ee8cc1Swenshuai.xi     Audio_AC3P_infoType_Acmod,           //R             //
1683*53ee8cc1Swenshuai.xi     Audio_AC3P_infoType_DrcMode,         //RW            //
1684*53ee8cc1Swenshuai.xi     Audio_AC3P_infoType_DownmixMode,     //RW            //
1685*53ee8cc1Swenshuai.xi     Audio_AC3P_infoType_MMFileSize,      //W             //
1686*53ee8cc1Swenshuai.xi     Audio_AC3P_infoType_syncSTC_in_mmTs, //W             //
1687*53ee8cc1Swenshuai.xi     Audio_AC3P_infoType_hdmiTxBypass_enable,
1688*53ee8cc1Swenshuai.xi     Audio_AC3P_infoType_AC3Type,
1689*53ee8cc1Swenshuai.xi     Audio_AC3P_infoType_FrameSize,
1690*53ee8cc1Swenshuai.xi     Audio_AC3P_infoType_BSMode,
1691*53ee8cc1Swenshuai.xi     Audio_AC3P_infoType_BYTESWAP,
1692*53ee8cc1Swenshuai.xi     Audio_AC3P_infoType_enableDolbyBulletin11,//W       // True or False          //default is enabled
1693*53ee8cc1Swenshuai.xi     Audio_AC3P_DTV_AVSYNC_OFFSET,        //W, unit= 33bits offset
1694*53ee8cc1Swenshuai.xi     Audio_AC3P_infoType_hdmiAC3inSE,
1695*53ee8cc1Swenshuai.xi     Audio_AC3P_DTV_AVSYNC_DISABLE_SETTING,
1696*53ee8cc1Swenshuai.xi     Audio_AC3P_infoType_hdmi_in_support_DDP,
1697*53ee8cc1Swenshuai.xi     Audio_AC3P_infoType_Drc_HighCutScale,
1698*53ee8cc1Swenshuai.xi     Audio_AC3P_infoType_Drc_LowBootScale,
1699*53ee8cc1Swenshuai.xi     Audio_AC3P_infoType_LoudnessMatching,
1700*53ee8cc1Swenshuai.xi     Audio_AC3P_infoType_ATMOS_support,
1701*53ee8cc1Swenshuai.xi     Audio_AC3P_infoType_Mixer_Balance,
1702*53ee8cc1Swenshuai.xi     Audio_AC3P_infoType_DDP_AD_Substream,
1703*53ee8cc1Swenshuai.xi     Audio_AC3P_infoType_AD_Mixer_Balance,
1704*53ee8cc1Swenshuai.xi     Audio_AC3P_infoType_DDPEnc_Mode,
1705*53ee8cc1Swenshuai.xi     Audio_AC3P_infoType_DDP_71_Stream,
1706*53ee8cc1Swenshuai.xi } Audio_AC3P_infoType;
1707*53ee8cc1Swenshuai.xi 
1708*53ee8cc1Swenshuai.xi  typedef enum
1709*53ee8cc1Swenshuai.xi  {
1710*53ee8cc1Swenshuai.xi     Audio_DDPEnc_DDP,
1711*53ee8cc1Swenshuai.xi     Audio_DDPEnc_DD,
1712*53ee8cc1Swenshuai.xi } Audio_DDPEnc_Mode;
1713*53ee8cc1Swenshuai.xi 
1714*53ee8cc1Swenshuai.xi typedef enum
1715*53ee8cc1Swenshuai.xi {
1716*53ee8cc1Swenshuai.xi     AUD_Dolby_SOUNDMODE_LR              = 0x0,
1717*53ee8cc1Swenshuai.xi     AUD_Dolby_SOUNDMODE_LL              = 0x1,
1718*53ee8cc1Swenshuai.xi     AUD_Dolby_SOUNDMODE_RR              = 0x2,
1719*53ee8cc1Swenshuai.xi }AUD_Dolby_SOUNDMODE;
1720*53ee8cc1Swenshuai.xi 
1721*53ee8cc1Swenshuai.xi typedef enum
1722*53ee8cc1Swenshuai.xi {
1723*53ee8cc1Swenshuai.xi     DOLBY_MONO,
1724*53ee8cc1Swenshuai.xi     DOLBY_STEREO,
1725*53ee8cc1Swenshuai.xi     DOLBY_MULTI_CHAN
1726*53ee8cc1Swenshuai.xi }DOLBY_AC_MODE;
1727*53ee8cc1Swenshuai.xi 
1728*53ee8cc1Swenshuai.xi typedef enum
1729*53ee8cc1Swenshuai.xi {
1730*53ee8cc1Swenshuai.xi     DOLBY_DOWNMIX_MODE_LTRT,
1731*53ee8cc1Swenshuai.xi     DOLBY_DOWNMIX_MODE_LORO,
1732*53ee8cc1Swenshuai.xi     DOLBY_DOWNMIX_MODE_AUTO
1733*53ee8cc1Swenshuai.xi }DOLBY_DOWNMIX_MODE;
1734*53ee8cc1Swenshuai.xi 
1735*53ee8cc1Swenshuai.xi typedef enum
1736*53ee8cc1Swenshuai.xi {
1737*53ee8cc1Swenshuai.xi     LINE_MODE,
1738*53ee8cc1Swenshuai.xi     RF_MODE,
1739*53ee8cc1Swenshuai.xi }DOLBY_DRC_MODE;
1740*53ee8cc1Swenshuai.xi 
1741*53ee8cc1Swenshuai.xi typedef enum
1742*53ee8cc1Swenshuai.xi {
1743*53ee8cc1Swenshuai.xi     DVB_MODE,
1744*53ee8cc1Swenshuai.xi     ATSC_MODE,
1745*53ee8cc1Swenshuai.xi     OTHER_MODE
1746*53ee8cc1Swenshuai.xi }DOLBY_LOUDNESS_MODE;
1747*53ee8cc1Swenshuai.xi 
1748*53ee8cc1Swenshuai.xi typedef enum
1749*53ee8cc1Swenshuai.xi {
1750*53ee8cc1Swenshuai.xi     BALANCE_EQUAL = 0,
1751*53ee8cc1Swenshuai.xi     BALANCE_MAIN_0 = 1,
1752*53ee8cc1Swenshuai.xi     BALANCE_MAIN_25 = 2,
1753*53ee8cc1Swenshuai.xi     BALANCE_MAIN_75 = 3,
1754*53ee8cc1Swenshuai.xi     BALANCE_MAIN_100 = 4,
1755*53ee8cc1Swenshuai.xi }DOLBY_MIXER_BALANCE_MODE;
1756*53ee8cc1Swenshuai.xi 
1757*53ee8cc1Swenshuai.xi typedef enum
1758*53ee8cc1Swenshuai.xi {
1759*53ee8cc1Swenshuai.xi     AC3_ENABLE,
1760*53ee8cc1Swenshuai.xi     AC3_DISABLE
1761*53ee8cc1Swenshuai.xi }AC3_DIS_EN;
1762*53ee8cc1Swenshuai.xi 
1763*53ee8cc1Swenshuai.xi 
1764*53ee8cc1Swenshuai.xi // DTS
1765*53ee8cc1Swenshuai.xi typedef enum
1766*53ee8cc1Swenshuai.xi {   //info Type name                     //Attribute    //Parameter
1767*53ee8cc1Swenshuai.xi     Audio_DTS_infoType_DecStatus,        //R            //
1768*53ee8cc1Swenshuai.xi     Audio_DTS_infoType_KernelVersion,    //R            //
1769*53ee8cc1Swenshuai.xi     Audio_DTS_infoType_SampleRate,       //R            //
1770*53ee8cc1Swenshuai.xi     Audio_DTS_infoType_BitRate,          //R            //
1771*53ee8cc1Swenshuai.xi     Audio_DTS_infoType_CD_MODE,          //R            //
1772*53ee8cc1Swenshuai.xi     Audio_DTS_infoType_Amode,            //R            //
1773*53ee8cc1Swenshuai.xi     Audio_DTS_infoType_DMIX_LFE_EN,      //RW           //
1774*53ee8cc1Swenshuai.xi     Audio_DTS_infoType_DrcMode,          //RW           //
1775*53ee8cc1Swenshuai.xi     Audio_DTS_infoType_DownmixMode,      //RW           //
1776*53ee8cc1Swenshuai.xi     Audio_DTS_infoType_Dialnorm_EN,      //RW           //
1777*53ee8cc1Swenshuai.xi     Audio_DTS_infoType_ESDataServiceMode,//RW           //
1778*53ee8cc1Swenshuai.xi     Audio_DTS_infoType_MMFileSize,       //W            //
1779*53ee8cc1Swenshuai.xi     Audio_DTS_infoType_syncSTC_in_mmTs,  //W            //
1780*53ee8cc1Swenshuai.xi     Audio_DTS_infoType_ESData_ByteSwap,  //W            //
1781*53ee8cc1Swenshuai.xi     Audio_DTS_infoType_CertMode,         //W            //
1782*53ee8cc1Swenshuai.xi     Audio_DTS_infoType_HDMI_DSP_SEL,
1783*53ee8cc1Swenshuai.xi     Audio_DTS_infoType_DTSHD_HDMITxBypass_Enable,  //W            //
1784*53ee8cc1Swenshuai.xi } Audio_DTS_infoType;
1785*53ee8cc1Swenshuai.xi 
1786*53ee8cc1Swenshuai.xi typedef enum
1787*53ee8cc1Swenshuai.xi {   //ctrl Type name                     //Attribute
1788*53ee8cc1Swenshuai.xi     Audio_DTS_Ctrl_DMIX_LFE_OFF         = 0x0,
1789*53ee8cc1Swenshuai.xi     Audio_DTS_Ctrl_DMIX_LFE_ON          = 0x1,
1790*53ee8cc1Swenshuai.xi     Audio_DTS_Ctrl_Drc_OFF              = 0x0,
1791*53ee8cc1Swenshuai.xi     Audio_DTS_Ctrl_Drc_50               = 0x1,
1792*53ee8cc1Swenshuai.xi     Audio_DTS_Ctrl_Drc_100              = 0x2,
1793*53ee8cc1Swenshuai.xi     Audio_DTS_Ctrl_Downmix_LoRo         = 0x0,
1794*53ee8cc1Swenshuai.xi     Audio_DTS_Ctrl_Downmix_LtRt         = 0x1,
1795*53ee8cc1Swenshuai.xi     Audio_DTS_Ctrl_Dialnorm_OFF         = 0x0,
1796*53ee8cc1Swenshuai.xi     Audio_DTS_Ctrl_Dialnorm_ON          = 0x1,
1797*53ee8cc1Swenshuai.xi     Audio_DTS_Ctrl_POLLINGMode          = 0x0,
1798*53ee8cc1Swenshuai.xi     Audio_DTS_Ctrl_INTRPTMode           = 0x1,
1799*53ee8cc1Swenshuai.xi     Audio_DTS_Ctrl_ByteSwap_OFF         = 0x0,
1800*53ee8cc1Swenshuai.xi     Audio_DTS_Ctrl_ByteSwap_ON          = 0x1,
1801*53ee8cc1Swenshuai.xi     Audio_DTS_Ctrl_CertMode_OFF         = 0x0,
1802*53ee8cc1Swenshuai.xi     Audio_DTS_Ctrl_CertMode_ON          = 0x1,
1803*53ee8cc1Swenshuai.xi     Audio_DTS_Ctrl_DTSHDBypass_OFF      = 0x0,
1804*53ee8cc1Swenshuai.xi     Audio_DTS_Ctrl_DTSHDBypass_ON       = 0x1,
1805*53ee8cc1Swenshuai.xi } Audio_DTS_CtrlType;
1806*53ee8cc1Swenshuai.xi 
1807*53ee8cc1Swenshuai.xi 
1808*53ee8cc1Swenshuai.xi typedef enum
1809*53ee8cc1Swenshuai.xi {
1810*53ee8cc1Swenshuai.xi     Audio_WMA_infoType_DecStatus,
1811*53ee8cc1Swenshuai.xi     Audio_WMA_infoType_SampleRate,
1812*53ee8cc1Swenshuai.xi     Audio_WMA_infoType_BitRate,
1813*53ee8cc1Swenshuai.xi     Audio_WMA_infoType_Asf_Param,
1814*53ee8cc1Swenshuai.xi     Audio_WMA_infoType_FFSpeed,
1815*53ee8cc1Swenshuai.xi     Audio_WMA_infoType_MMFileSize
1816*53ee8cc1Swenshuai.xi } Audio_WMA_infoType;
1817*53ee8cc1Swenshuai.xi 
1818*53ee8cc1Swenshuai.xi typedef enum
1819*53ee8cc1Swenshuai.xi {   //info Type name                    //Attibtue      //Parameter
1820*53ee8cc1Swenshuai.xi     Audio_AAC_error_count,              //R             //
1821*53ee8cc1Swenshuai.xi     Audio_AAC_infoType_DrcMode,         //RW            //
1822*53ee8cc1Swenshuai.xi     Audio_AAC_infoType_DownmixMode,     //RW            //
1823*53ee8cc1Swenshuai.xi     Audio_AAC_dec_unsupported,          //R             //
1824*53ee8cc1Swenshuai.xi     Audio_AAC_ts_file_end_ntfi,         //R
1825*53ee8cc1Swenshuai.xi     Audio_AAC_infoType_MMFileSize,      //W
1826*53ee8cc1Swenshuai.xi     Audio_AAC_DTV_AVSYNC_OFFSET,        //W, unit= 33bits offset
1827*53ee8cc1Swenshuai.xi     Audio_AAC_DTV_AVSYNC_DISABLE_SETTING,
1828*53ee8cc1Swenshuai.xi     Audio_AAC_mm_single_frame_mode,
1829*53ee8cc1Swenshuai.xi     Audio_AAC_type,                      //0: AAC-LC, 1: HEAAC_V1, 2: HEAAC_V2
1830*53ee8cc1Swenshuai.xi     Audio_AAC_AD_Mixer_Balance,
1831*53ee8cc1Swenshuai.xi     Audio_AAC_infoType_Bypass_Enable,
1832*53ee8cc1Swenshuai.xi } Audio_AAC_infoType;
1833*53ee8cc1Swenshuai.xi 
1834*53ee8cc1Swenshuai.xi typedef enum
1835*53ee8cc1Swenshuai.xi {   //info Type name                    //Attibtue      //Parameter
1836*53ee8cc1Swenshuai.xi     Audio_RA8LBR_NumCodes,              //w
1837*53ee8cc1Swenshuai.xi     Audio_RA8LBR_Samples,               //w
1838*53ee8cc1Swenshuai.xi     Audio_RA8LBR_SampleRate,            //w
1839*53ee8cc1Swenshuai.xi 
1840*53ee8cc1Swenshuai.xi     Audio_RA8LBR_Channels1,             //w
1841*53ee8cc1Swenshuai.xi     Audio_RA8LBR_Regions1,              //w
1842*53ee8cc1Swenshuai.xi     Audio_RA8LBR_cplStart1,             //w
1843*53ee8cc1Swenshuai.xi     Audio_RA8LBR_cplQbits1,             //w
1844*53ee8cc1Swenshuai.xi     Audio_RA8LBR_FrameSize1,            //w
1845*53ee8cc1Swenshuai.xi 
1846*53ee8cc1Swenshuai.xi     Audio_RA8LBR_Channels2,             //w
1847*53ee8cc1Swenshuai.xi     Audio_RA8LBR_Regions2,              //w
1848*53ee8cc1Swenshuai.xi     Audio_RA8LBR_cplStart2,             //w
1849*53ee8cc1Swenshuai.xi     Audio_RA8LBR_cplQbits2,             //w
1850*53ee8cc1Swenshuai.xi     Audio_RA8LBR_FrameSize2,            //w
1851*53ee8cc1Swenshuai.xi 
1852*53ee8cc1Swenshuai.xi     Audio_RA8LBR_Channels3,             //w
1853*53ee8cc1Swenshuai.xi     Audio_RA8LBR_Regions3,              //w
1854*53ee8cc1Swenshuai.xi     Audio_RA8LBR_cplStart3,             //w
1855*53ee8cc1Swenshuai.xi     Audio_RA8LBR_cplQbits3,             //w
1856*53ee8cc1Swenshuai.xi     Audio_RA8LBR_FrameSize3,            //w
1857*53ee8cc1Swenshuai.xi 
1858*53ee8cc1Swenshuai.xi     Audio_RA8LBR_Channels4,             //w
1859*53ee8cc1Swenshuai.xi     Audio_RA8LBR_Regions4,              //w
1860*53ee8cc1Swenshuai.xi     Audio_RA8LBR_cplStart4,             //w
1861*53ee8cc1Swenshuai.xi     Audio_RA8LBR_cplQbits4,             //w
1862*53ee8cc1Swenshuai.xi     Audio_RA8LBR_FrameSize4,            //w
1863*53ee8cc1Swenshuai.xi 
1864*53ee8cc1Swenshuai.xi     Audio_RA8LBR_Channels5,             //w
1865*53ee8cc1Swenshuai.xi     Audio_RA8LBR_Regions5,              //w
1866*53ee8cc1Swenshuai.xi     Audio_RA8LBR_cplStart5,             //w
1867*53ee8cc1Swenshuai.xi     Audio_RA8LBR_cplQbits5,             //w
1868*53ee8cc1Swenshuai.xi     Audio_RA8LBR_FrameSize5,            //w
1869*53ee8cc1Swenshuai.xi 
1870*53ee8cc1Swenshuai.xi     Audio_RA8LBR_infoType_DecStatus,    //R
1871*53ee8cc1Swenshuai.xi } Audio_RA8LBR_infoType;
1872*53ee8cc1Swenshuai.xi 
1873*53ee8cc1Swenshuai.xi typedef enum
1874*53ee8cc1Swenshuai.xi {
1875*53ee8cc1Swenshuai.xi     DRA_Mono,
1876*53ee8cc1Swenshuai.xi     DRA_Stereo,
1877*53ee8cc1Swenshuai.xi     DRA_2_1,
1878*53ee8cc1Swenshuai.xi     DRA_3_0,
1879*53ee8cc1Swenshuai.xi     DRA_3_1,
1880*53ee8cc1Swenshuai.xi     DRA_4_0,
1881*53ee8cc1Swenshuai.xi     DRA_4_1,
1882*53ee8cc1Swenshuai.xi     DRA_5_0,
1883*53ee8cc1Swenshuai.xi     DRA_5_1,
1884*53ee8cc1Swenshuai.xi     DRA_6_0,
1885*53ee8cc1Swenshuai.xi     DRA_6_1,
1886*53ee8cc1Swenshuai.xi     DRA_7_0,
1887*53ee8cc1Swenshuai.xi     DRA_7_1,
1888*53ee8cc1Swenshuai.xi     DRA_CH_MODE_NONE,
1889*53ee8cc1Swenshuai.xi } DRA_CH_MODE;
1890*53ee8cc1Swenshuai.xi 
1891*53ee8cc1Swenshuai.xi typedef enum
1892*53ee8cc1Swenshuai.xi {
1893*53ee8cc1Swenshuai.xi     LPCM                                = 1,
1894*53ee8cc1Swenshuai.xi     MS_ADPCM                            = 2,
1895*53ee8cc1Swenshuai.xi     G711_A_LAW                          = 6,
1896*53ee8cc1Swenshuai.xi     G711_u_LAW                          = 7,
1897*53ee8cc1Swenshuai.xi     DVD_LPCM                            = 8,
1898*53ee8cc1Swenshuai.xi     PRIVATE1_LPCM                       = 9,
1899*53ee8cc1Swenshuai.xi     IMA_ADPCM                           = 17,
1900*53ee8cc1Swenshuai.xi     IMA_ADPCM_APPLE                     = 18, // apple IMA4
1901*53ee8cc1Swenshuai.xi }XPCM_TYPE;
1902*53ee8cc1Swenshuai.xi 
1903*53ee8cc1Swenshuai.xi typedef enum
1904*53ee8cc1Swenshuai.xi {
1905*53ee8cc1Swenshuai.xi     SAMPLE_RATE_48000,
1906*53ee8cc1Swenshuai.xi     SAMPLE_RATE_44100,
1907*53ee8cc1Swenshuai.xi     SAMPLE_RATE_32000,
1908*53ee8cc1Swenshuai.xi     SAMPLE_RATE_24000,
1909*53ee8cc1Swenshuai.xi     SAMPLE_RATE_22050,
1910*53ee8cc1Swenshuai.xi     SAMPLE_RATE_16000,
1911*53ee8cc1Swenshuai.xi     SAMPLE_RATE_12000,
1912*53ee8cc1Swenshuai.xi     SAMPLE_RATE_11025,
1913*53ee8cc1Swenshuai.xi     SAMPLE_RATE_8000,
1914*53ee8cc1Swenshuai.xi     SAMPLE_RATE_4000,
1915*53ee8cc1Swenshuai.xi     SAMPLE_RATE_96000,
1916*53ee8cc1Swenshuai.xi }SAMPLE_RATE;
1917*53ee8cc1Swenshuai.xi 
1918*53ee8cc1Swenshuai.xi // AD & Mixer
1919*53ee8cc1Swenshuai.xi typedef enum
1920*53ee8cc1Swenshuai.xi {
1921*53ee8cc1Swenshuai.xi     MAIN_MIX_AD,
1922*53ee8cc1Swenshuai.xi     AD_MIX_MAIN,
1923*53ee8cc1Swenshuai.xi }AD_MIX_MODE;
1924*53ee8cc1Swenshuai.xi 
1925*53ee8cc1Swenshuai.xi typedef enum
1926*53ee8cc1Swenshuai.xi {
1927*53ee8cc1Swenshuai.xi     MIX_OFF,
1928*53ee8cc1Swenshuai.xi     MIX_ON,
1929*53ee8cc1Swenshuai.xi }MIX_ONOFF;
1930*53ee8cc1Swenshuai.xi 
1931*53ee8cc1Swenshuai.xi typedef enum
1932*53ee8cc1Swenshuai.xi {
1933*53ee8cc1Swenshuai.xi     AUDIO_DOLBY_TYPE_DD,
1934*53ee8cc1Swenshuai.xi     AUDIO_DOLBY_TYPE_DDP,
1935*53ee8cc1Swenshuai.xi     AUDIO_DOLBY_TYPE_ATMOS,
1936*53ee8cc1Swenshuai.xi } AUDIO_DOLBY_TYPE;
1937*53ee8cc1Swenshuai.xi 
1938*53ee8cc1Swenshuai.xi typedef enum
1939*53ee8cc1Swenshuai.xi {
1940*53ee8cc1Swenshuai.xi     AUDIO_AC3_TYPE_DD,
1941*53ee8cc1Swenshuai.xi     AUDIO_AC3_TYPE_DDP,
1942*53ee8cc1Swenshuai.xi     AUDIO_AC3_TYPE_ATMOS,
1943*53ee8cc1Swenshuai.xi } AUDIO_AC3_TYPE;
1944*53ee8cc1Swenshuai.xi 
1945*53ee8cc1Swenshuai.xi typedef enum
1946*53ee8cc1Swenshuai.xi {
1947*53ee8cc1Swenshuai.xi     AUDIO_AAC_TYPE_GENERIC_AAC,
1948*53ee8cc1Swenshuai.xi     AUDIO_AAC_TYPE_GENERIC_HEAACv1,
1949*53ee8cc1Swenshuai.xi     AUDIO_AAC_TYPE_GENERIC_HEAACv2,
1950*53ee8cc1Swenshuai.xi     AUDIO_AAC_TYPE_DOLBY_AAC,
1951*53ee8cc1Swenshuai.xi     AUDIO_AAC_TYPE_DOLBY_HEAACv1,
1952*53ee8cc1Swenshuai.xi     AUDIO_AAC_TYPE_DOLBY_HEAACv2,
1953*53ee8cc1Swenshuai.xi } AUDIO_AAC_TYPE;
1954*53ee8cc1Swenshuai.xi 
1955*53ee8cc1Swenshuai.xi typedef enum
1956*53ee8cc1Swenshuai.xi {
1957*53ee8cc1Swenshuai.xi     AUDIO_DTS_TYPE_CORE,
1958*53ee8cc1Swenshuai.xi     AUDIO_DTS_TYPE_LBR,
1959*53ee8cc1Swenshuai.xi     AUDIO_DTS_TYPE_HD,
1960*53ee8cc1Swenshuai.xi } AUDIO_DTS_TYPE;
1961*53ee8cc1Swenshuai.xi 
1962*53ee8cc1Swenshuai.xi typedef enum
1963*53ee8cc1Swenshuai.xi {
1964*53ee8cc1Swenshuai.xi     FILE_SIZE_1KB,
1965*53ee8cc1Swenshuai.xi     FILE_SIZE_2KB,
1966*53ee8cc1Swenshuai.xi     FILE_SIZE_4KB,
1967*53ee8cc1Swenshuai.xi     FILE_SIZE_8KB,
1968*53ee8cc1Swenshuai.xi     FILE_SIZE_16KB,
1969*53ee8cc1Swenshuai.xi     FILE_SIZE_32KB,
1970*53ee8cc1Swenshuai.xi     FILE_SIZE_64KB,
1971*53ee8cc1Swenshuai.xi     FILE_SIZE_256,
1972*53ee8cc1Swenshuai.xi     FILE_SIZE_512,
1973*53ee8cc1Swenshuai.xi     FILE_SIZE_64,
1974*53ee8cc1Swenshuai.xi     FILE_SIZE_128
1975*53ee8cc1Swenshuai.xi }FILE_SIZE;
1976*53ee8cc1Swenshuai.xi 
1977*53ee8cc1Swenshuai.xi 
1978*53ee8cc1Swenshuai.xi typedef enum
1979*53ee8cc1Swenshuai.xi {
1980*53ee8cc1Swenshuai.xi     AU_DVB_MODE_STEREO,                 ///< 0:STEREO
1981*53ee8cc1Swenshuai.xi     AU_DVB_MODE_LL,                     ///< 1: LL
1982*53ee8cc1Swenshuai.xi     AU_DVB_MODE_RR,                     ///< 2: RR
1983*53ee8cc1Swenshuai.xi     AU_DVB_MODE_MIXED_LR                ///< 3:(L+R)/2
1984*53ee8cc1Swenshuai.xi }AU_DVB_MODE;
1985*53ee8cc1Swenshuai.xi 
1986*53ee8cc1Swenshuai.xi //  enum for dvb decoder command
1987*53ee8cc1Swenshuai.xi typedef enum
1988*53ee8cc1Swenshuai.xi {
1989*53ee8cc1Swenshuai.xi     AU_DVB_DECCMD_STOP                  = 0,
1990*53ee8cc1Swenshuai.xi     AU_DVB_DECCMD_PLAY                  = 1,
1991*53ee8cc1Swenshuai.xi     AU_DVB_DECCMD_PLAYFILETSP           = 2,
1992*53ee8cc1Swenshuai.xi     AU_DVB_DECCMD_RESYNC                = 3,
1993*53ee8cc1Swenshuai.xi     AU_DVB_DECCMD_PLAYFILE              = 4,
1994*53ee8cc1Swenshuai.xi     AU_DVB_DECCMD_STARTBROWSE           = 5,
1995*53ee8cc1Swenshuai.xi     AU_DVB_DECCMD_PAUSE                 = 6,
1996*53ee8cc1Swenshuai.xi     AU_DVB_DECCMD_PLAYFRAME             = 8,            // Uniplayer, Mstreamer for TSP input
1997*53ee8cc1Swenshuai.xi     AU_DVB_DECCMD_PLAYFRAME_STAGE       = 9,            // Stagecraft
1998*53ee8cc1Swenshuai.xi     AU_DVB_DECCMD_PLAYFRAME_GS          = 10,           // Uniplayer, Gstreamer for ES copy
1999*53ee8cc1Swenshuai.xi     AU_DVB_DECCMD_PLAYFILE2_PTS         = 11,
2000*53ee8cc1Swenshuai.xi     AU_DVB_DECCMD_PLAY_AD               = 12,
2001*53ee8cc1Swenshuai.xi     AU_DVB_DECCMD_STOP_AD               = 13,
2002*53ee8cc1Swenshuai.xi     AU_DVB_DECCMD_SKIP                  = 15,
2003*53ee8cc1Swenshuai.xi     AU_DVB_DECCMD_AVSYNC                = 0x10,
2004*53ee8cc1Swenshuai.xi     AU_DVB_DECCMD_FREERUN               = 0x20,
2005*53ee8cc1Swenshuai.xi } AU_DVB_DECCMD;
2006*53ee8cc1Swenshuai.xi 
2007*53ee8cc1Swenshuai.xi typedef enum
2008*53ee8cc1Swenshuai.xi {
2009*53ee8cc1Swenshuai.xi     AU_DVB_ENCCMD_STOP,   // 0
2010*53ee8cc1Swenshuai.xi     AU_DVB_ENCCMD_START   // 1
2011*53ee8cc1Swenshuai.xi } AU_DVB_ENCCMD;
2012*53ee8cc1Swenshuai.xi 
2013*53ee8cc1Swenshuai.xi typedef enum
2014*53ee8cc1Swenshuai.xi {
2015*53ee8cc1Swenshuai.xi     AU_DVB_ENCBR_192K,                  // 0
2016*53ee8cc1Swenshuai.xi     AU_DVB_ENCBR_384K,                  // 1
2017*53ee8cc1Swenshuai.xi     AU_DVB_ENCBR_128K,                  // 2
2018*53ee8cc1Swenshuai.xi     AU_DVB_ENCBR_64K                    // 3
2019*53ee8cc1Swenshuai.xi } AU_DVB_ENCBR;
2020*53ee8cc1Swenshuai.xi 
2021*53ee8cc1Swenshuai.xi typedef enum
2022*53ee8cc1Swenshuai.xi {
2023*53ee8cc1Swenshuai.xi     WMA_PARAMTYPE_VERSION,
2024*53ee8cc1Swenshuai.xi     WMA_PARAMTYPE_CHANNELS,
2025*53ee8cc1Swenshuai.xi     WMA_PARAMTYPE_SAMPLERATE,
2026*53ee8cc1Swenshuai.xi     WMA_PARAMTYPE_BYTERATE,
2027*53ee8cc1Swenshuai.xi     WMA_PARAMTYPE_BLOCKALIGN,
2028*53ee8cc1Swenshuai.xi     WMA_PARAMTYPE_ENCOPT,
2029*53ee8cc1Swenshuai.xi     WMA_PARAMTYPE_PARSINGBYAPP,
2030*53ee8cc1Swenshuai.xi     WMA_PARAMTYPE_BITS_PER_SAMPLE,
2031*53ee8cc1Swenshuai.xi     WMA_PARAMTYPE_CHANNELMASK,
2032*53ee8cc1Swenshuai.xi     WMA_PARAMTYPE_DRC_PARAM_EXIST,
2033*53ee8cc1Swenshuai.xi     WMA_PARAMTYPE_DRC_RMS_AMP_REF,
2034*53ee8cc1Swenshuai.xi     WMA_PARAMTYPE_DRC_RMS_AMP_TARGET,
2035*53ee8cc1Swenshuai.xi     WMA_PARAMTYPE_DRC_PEAK_AMP_REF,
2036*53ee8cc1Swenshuai.xi     WMA_PARAMTYPE_DRC_PEAK_AMP_TARGET,
2037*53ee8cc1Swenshuai.xi     WMA_PARAMTYPE_MAX_PACKET_SIZE,
2038*53ee8cc1Swenshuai.xi     WMA_PARAMTYPE_ADVANCEDENCODEOPT,
2039*53ee8cc1Swenshuai.xi     WMA_PARAMTYPE_ADVANCEDENCODEOPT2,
2040*53ee8cc1Swenshuai.xi }WMA_ASF_PARMTYPE;
2041*53ee8cc1Swenshuai.xi 
2042*53ee8cc1Swenshuai.xi enum
2043*53ee8cc1Swenshuai.xi {
2044*53ee8cc1Swenshuai.xi     DSP_INIT_FINISH_ACK,
2045*53ee8cc1Swenshuai.xi     DSP_READY_FOR_RELOAD_ACK,
2046*53ee8cc1Swenshuai.xi     DSP_RELOAD_FINISH_ACK,
2047*53ee8cc1Swenshuai.xi     MCU_START_TO_RUN_CMD,
2048*53ee8cc1Swenshuai.xi     MCU_START_RELOAD_CMD,
2049*53ee8cc1Swenshuai.xi     MCU_RELOAD_FINISH_CMD
2050*53ee8cc1Swenshuai.xi };
2051*53ee8cc1Swenshuai.xi 
2052*53ee8cc1Swenshuai.xi typedef struct
2053*53ee8cc1Swenshuai.xi {
2054*53ee8cc1Swenshuai.xi     MS_U8 u8StrCmd[64];
2055*53ee8cc1Swenshuai.xi     void *pData;
2056*53ee8cc1Swenshuai.xi } AUDIO_COMMON_CMD_t;
2057*53ee8cc1Swenshuai.xi 
2058*53ee8cc1Swenshuai.xi //--------------------------Start of SetAudioOutputDeviceSelection Command------------------------
2059*53ee8cc1Swenshuai.xi 
2060*53ee8cc1Swenshuai.xi typedef struct __attribute__((packed))
2061*53ee8cc1Swenshuai.xi {
2062*53ee8cc1Swenshuai.xi     MS_U32 u32StructVersion;    //AUDIO_OUTPUT_DEVICE_SELECTION_VERSION
2063*53ee8cc1Swenshuai.xi     MS_U32 u32StructSize;    //sizeof(AUDIO_OUTPUT_DEVICE_SELECTION_t)
2064*53ee8cc1Swenshuai.xi     MS_U32 u32OutputDeviceSelection;    //AUDIO OUTPUT DEVICE SELECTION
2065*53ee8cc1Swenshuai.xi } AUDIO_OUTPUT_DEVICE_SELECTION_t;
2066*53ee8cc1Swenshuai.xi #define AUDIO_OUTPUT_DEVICE_SELECTION_VERSION    0x00010001    //[31:16]major version; [15:0]minor version
2067*53ee8cc1Swenshuai.xi 
2068*53ee8cc1Swenshuai.xi //--------------------------End of SetAudioOutputDeviceSelection Command-------------------------
2069*53ee8cc1Swenshuai.xi 
2070*53ee8cc1Swenshuai.xi //--------------------------Start of SpecifyDigitalOutputCodec Command------------------------
2071*53ee8cc1Swenshuai.xi 
2072*53ee8cc1Swenshuai.xi typedef struct __attribute__((packed))
2073*53ee8cc1Swenshuai.xi {
2074*53ee8cc1Swenshuai.xi     MS_U32 u32StructVersion;    //AUDIO_SPECIFIED_DIGITAL_OUTPUT_VERSION
2075*53ee8cc1Swenshuai.xi     MS_U32 u32StructSize;   //sizeof(AUDIO_SPECIFIED_DIGITAL_OUTPUT_t)
2076*53ee8cc1Swenshuai.xi     MS_U32 u32SpdifOutputCodec;    //SPECIFIED CODEC OF SPDIF
2077*53ee8cc1Swenshuai.xi     MS_U32 u32HdmiArcOutputCodec;    //SPECIFIED CODEC OF HDMI ARC
2078*53ee8cc1Swenshuai.xi     MS_U32 u32HdmiTxOutputCodec;    //SPECIFIED CODEC OF HDMI TX
2079*53ee8cc1Swenshuai.xi } AUDIO_SPECIFIED_DIGITAL_OUTPUT_t;
2080*53ee8cc1Swenshuai.xi #define AUDIO_SPECIFIED_DIGITAL_OUTPUT_VERSION    0x00010001    //[31:16]major version; [15:0]minor version
2081*53ee8cc1Swenshuai.xi 
2082*53ee8cc1Swenshuai.xi //--------------------------End of SpecifyDigitalOutputCodec Command-------------------------
2083*53ee8cc1Swenshuai.xi 
2084*53ee8cc1Swenshuai.xi //--------------------------Start of DapControl Command------------------------
2085*53ee8cc1Swenshuai.xi 
2086*53ee8cc1Swenshuai.xi typedef struct __attribute__((packed))
2087*53ee8cc1Swenshuai.xi {
2088*53ee8cc1Swenshuai.xi     MS_U32 u32StructVersion;    //AUDIO_DAP_CONTROL_VERSION
2089*53ee8cc1Swenshuai.xi     MS_U32 u32StructSize;   //sizeof(AUDIO_DAP_CONTROL_t)
2090*53ee8cc1Swenshuai.xi     MS_U32 u32McuCtrlEnable;    //DAP control by MCU enable
2091*53ee8cc1Swenshuai.xi     MS_U32 u32MultiChannelEnable;    //multi-channel input enable
2092*53ee8cc1Swenshuai.xi } AUDIO_DAP_CONTROL_t;
2093*53ee8cc1Swenshuai.xi #define AUDIO_DAP_CONTROL_VERSION    0x00010001    //[31:16]major version; [15:0]minor version
2094*53ee8cc1Swenshuai.xi 
2095*53ee8cc1Swenshuai.xi //--------------------------End of DapControl Command-------------------------
2096*53ee8cc1Swenshuai.xi 
2097*53ee8cc1Swenshuai.xi //--------------------------Start of GetDecoderInfo Command------------------------
2098*53ee8cc1Swenshuai.xi 
2099*53ee8cc1Swenshuai.xi typedef struct __attribute__((packed))
2100*53ee8cc1Swenshuai.xi {
2101*53ee8cc1Swenshuai.xi     MS_U32 u32StructVersion;    //AUDIO_DECODER_INFO_VERSION
2102*53ee8cc1Swenshuai.xi     MS_U32 u32StructSize;    //sizeof(AUDIO_DECODER_INFO_t)
2103*53ee8cc1Swenshuai.xi     MS_U8 u8DecId;    //decoder id
2104*53ee8cc1Swenshuai.xi     MS_BOOL bForceMchOutput;    //to use force multi-channel output mode or not
2105*53ee8cc1Swenshuai.xi     MS_U32 u32PcmOutputType;    //the pcm output type
2106*53ee8cc1Swenshuai.xi } AUDIO_DECODER_INFO_t;
2107*53ee8cc1Swenshuai.xi #define AUDIO_DECODER_INFO_VERSION    0x00010001    //[31:16]major version; [15:0]minor version
2108*53ee8cc1Swenshuai.xi 
2109*53ee8cc1Swenshuai.xi //--------------------------End of GetDecoderInfo Command-------------------------
2110*53ee8cc1Swenshuai.xi 
2111*53ee8cc1Swenshuai.xi typedef struct
2112*53ee8cc1Swenshuai.xi {
2113*53ee8cc1Swenshuai.xi     MS_U32 u32StructVersion;     //AUDIO_CODEC_CAPABILITY_VERSION
2114*53ee8cc1Swenshuai.xi     MS_U32 u32StructSize;       //sizeof(AUDIO_CODEC_CAPABILITY_t)
2115*53ee8cc1Swenshuai.xi     MS_U32 CodecType;       //use the Define for CodecType in AUDIO_CODEC_CAPABILITY_t
2116*53ee8cc1Swenshuai.xi     MS_U32 SupportChannel;
2117*53ee8cc1Swenshuai.xi } AUDIO_CODEC_CAPABILITY_t;
2118*53ee8cc1Swenshuai.xi #define AUDIO_CODEC_CAPABILITY_VERSION    0x00010001    //[31:16]major version; [15:0]minor version
2119*53ee8cc1Swenshuai.xi 
2120*53ee8cc1Swenshuai.xi //================================================================
2121*53ee8cc1Swenshuai.xi //  MAD2
2122*53ee8cc1Swenshuai.xi //================================================================
2123*53ee8cc1Swenshuai.xi enum
2124*53ee8cc1Swenshuai.xi {
2125*53ee8cc1Swenshuai.xi     DSP_DEC,                            //0
2126*53ee8cc1Swenshuai.xi     DSP_SE,                             //1
2127*53ee8cc1Swenshuai.xi     DSP_ADV,                              //2
2128*53ee8cc1Swenshuai.xi     DSP_MAD                             //3
2129*53ee8cc1Swenshuai.xi };
2130*53ee8cc1Swenshuai.xi 
2131*53ee8cc1Swenshuai.xi // DTV decoder sample rate definition
2132*53ee8cc1Swenshuai.xi typedef enum
2133*53ee8cc1Swenshuai.xi {
2134*53ee8cc1Swenshuai.xi     AUDIO_FS_NONE,
2135*53ee8cc1Swenshuai.xi     AUDIO_FS_8KHZ,
2136*53ee8cc1Swenshuai.xi     AUDIO_FS_11KHZ,
2137*53ee8cc1Swenshuai.xi     AUDIO_FS_12KHZ,
2138*53ee8cc1Swenshuai.xi     AUDIO_FS_16KHZ,
2139*53ee8cc1Swenshuai.xi     AUDIO_FS_22KHZ,
2140*53ee8cc1Swenshuai.xi     AUDIO_FS_24KHZ,
2141*53ee8cc1Swenshuai.xi     AUDIO_FS_32KHZ,
2142*53ee8cc1Swenshuai.xi     AUDIO_FS_44KHZ,
2143*53ee8cc1Swenshuai.xi     AUDIO_FS_48KHZ,
2144*53ee8cc1Swenshuai.xi     AUDIO_FS_64KHZ,
2145*53ee8cc1Swenshuai.xi     AUDIO_FS_88KHZ,
2146*53ee8cc1Swenshuai.xi     AUDIO_FS_96KHZ,
2147*53ee8cc1Swenshuai.xi     AUDIO_FS_176KHZ,
2148*53ee8cc1Swenshuai.xi     AUDIO_FS_192KHZ,
2149*53ee8cc1Swenshuai.xi     AUDIO_FS_UNSUPPORT                  = 0xFF,
2150*53ee8cc1Swenshuai.xi } AUDIO_FS_TYPE;
2151*53ee8cc1Swenshuai.xi 
2152*53ee8cc1Swenshuai.xi typedef struct
2153*53ee8cc1Swenshuai.xi {
2154*53ee8cc1Swenshuai.xi     AUDIO_HDMI_RX_TYPE      audio_type;
2155*53ee8cc1Swenshuai.xi     AUDIO_FS_TYPE           sampleRate;
2156*53ee8cc1Swenshuai.xi } ST_HDMI_AUDIO_STATUS;
2157*53ee8cc1Swenshuai.xi // DTV decoder sound mode type definition
2158*53ee8cc1Swenshuai.xi typedef enum
2159*53ee8cc1Swenshuai.xi {
2160*53ee8cc1Swenshuai.xi     AUD_CH_MODE_DUAL_MONO                       = 0x0,              //MPEG/Dolby
2161*53ee8cc1Swenshuai.xi     AUD_CH_MODE_MONO                            = 0x1,              //MPEG/Dolby
2162*53ee8cc1Swenshuai.xi     AUD_CH_MODE_STEREO                          = 0x2,              //MPEG/Dolby
2163*53ee8cc1Swenshuai.xi     AUD_CH_MODE_3_0_MODE                        = 0x3,              //     Dolby
2164*53ee8cc1Swenshuai.xi     AUD_CH_MODE_2_1_MODE                        = 0x4,              //     Dolby
2165*53ee8cc1Swenshuai.xi     AUD_CH_MODE_3_1_MODE                        = 0x5,              //     Dolby
2166*53ee8cc1Swenshuai.xi     AUD_CH_MODE_2_2_MODE                        = 0x6,              //     Dolby
2167*53ee8cc1Swenshuai.xi     AUD_CH_MODE_3_2_MODE                        = 0x7,              //     Dolby
2168*53ee8cc1Swenshuai.xi     AUD_CH_MODE_JOINT_STEREO                    = 0x8,              //MPEG/
2169*53ee8cc1Swenshuai.xi     AUD_CH_MODE_3_3_MODE                        = 0x9,              //DRA
2170*53ee8cc1Swenshuai.xi     AUD_CH_MODE_3_2_2_MODE                      = 0xA,              //Dolby/DRA
2171*53ee8cc1Swenshuai.xi     AUD_CH_MODE_3_2_3_MODE                      = 0xB,              //DRA
2172*53ee8cc1Swenshuai.xi     AUD_CH_MODE_NONE,
2173*53ee8cc1Swenshuai.xi } AUD_CH_MODE_TYPE;
2174*53ee8cc1Swenshuai.xi 
2175*53ee8cc1Swenshuai.xi //================================================================
2176*53ee8cc1Swenshuai.xi //  KTV
2177*53ee8cc1Swenshuai.xi //================================================================
2178*53ee8cc1Swenshuai.xi typedef enum
2179*53ee8cc1Swenshuai.xi {
2180*53ee8cc1Swenshuai.xi     AUD_KTV_MODEL1,
2181*53ee8cc1Swenshuai.xi     AUD_KTV_MODEL2,
2182*53ee8cc1Swenshuai.xi     AUD_KTV_MODEL3,
2183*53ee8cc1Swenshuai.xi     AUD_KTV_MODEL4,
2184*53ee8cc1Swenshuai.xi }AUDIO_KTV_MODEL;
2185*53ee8cc1Swenshuai.xi 
2186*53ee8cc1Swenshuai.xi typedef enum
2187*53ee8cc1Swenshuai.xi {   /*  Model               AUD_KTV_MODEL1    AUD_KTV_MODEL2    AUD_KTV_MODEL3  *
2188*53ee8cc1Swenshuai.xi      *  Chip                T3-iSing99        U3-Multak                         *
2189*53ee8cc1Swenshuai.xi      *--------------------------------------------------------------------------*/
2190*53ee8cc1Swenshuai.xi     AUD_KTV_infoType1,                  // ScoringCommand
2191*53ee8cc1Swenshuai.xi     AUD_KTV_infoType2,                  // EchoLevel
2192*53ee8cc1Swenshuai.xi     AUD_KTV_infoType3,                  // EchoDeep
2193*53ee8cc1Swenshuai.xi     AUD_KTV_infoType4,                  // MICGain
2194*53ee8cc1Swenshuai.xi     AUD_KTV_infoType5,                  // (TBD)
2195*53ee8cc1Swenshuai.xi     AUD_KTV_infoType6,                  // (TBD)
2196*53ee8cc1Swenshuai.xi     AUD_KTV_infoType7,                  // (TBD)
2197*53ee8cc1Swenshuai.xi     AUD_KTV_infoType8,                  // (TBD)
2198*53ee8cc1Swenshuai.xi     AUD_KTV_infoType9,                  // (TBD)
2199*53ee8cc1Swenshuai.xi     AUD_KTV_infoType10,                 // (TBD)
2200*53ee8cc1Swenshuai.xi     AUD_KTV_infoType11,                 // (TBD)
2201*53ee8cc1Swenshuai.xi     AUD_KTV_infoType12,                 // (TBD)
2202*53ee8cc1Swenshuai.xi     AUD_KTV_infoType13,                 // (TBD)
2203*53ee8cc1Swenshuai.xi     AUD_KTV_infoType14,                 // (TBD)
2204*53ee8cc1Swenshuai.xi     AUD_KTV_infoType15,                 // (TBD)
2205*53ee8cc1Swenshuai.xi     AUD_KTV_infoType16,                 // (TBD)
2206*53ee8cc1Swenshuai.xi }AUDIO_KTV_INFOTYPE;
2207*53ee8cc1Swenshuai.xi 
2208*53ee8cc1Swenshuai.xi typedef enum
2209*53ee8cc1Swenshuai.xi {   /*  Model             AUD_KTV_MODEL1    AUD_KTV_MODEL2    AUD_KTV_MODEL3    *
2210*53ee8cc1Swenshuai.xi      *  Chip              T3-iSing99        U3-Multak                           *
2211*53ee8cc1Swenshuai.xi      *--------------------------------------------------------------------------*/
2212*53ee8cc1Swenshuai.xi     AUD_KTV_ParamType1,                 // AvMICVol
2213*53ee8cc1Swenshuai.xi     AUD_KTV_ParamType2,                 // PitchCnt
2214*53ee8cc1Swenshuai.xi     AUD_KTV_ParamType3,                 // Pitch
2215*53ee8cc1Swenshuai.xi     AUD_KTV_ParamType4,                 // Energy
2216*53ee8cc1Swenshuai.xi     AUD_KTV_ParamType5,                 // (TBD)
2217*53ee8cc1Swenshuai.xi     AUD_KTV_ParamType6,                 // (TBD)
2218*53ee8cc1Swenshuai.xi     AUD_KTV_ParamType7,
2219*53ee8cc1Swenshuai.xi     AUD_KTV_ParamType8,
2220*53ee8cc1Swenshuai.xi     AUD_KTV_ParamType9,
2221*53ee8cc1Swenshuai.xi     AUD_KTV_ParamType10,
2222*53ee8cc1Swenshuai.xi     AUD_KTV_ParamType11,
2223*53ee8cc1Swenshuai.xi     AUD_KTV_ParamType12,
2224*53ee8cc1Swenshuai.xi     AUD_KTV_ParamType13,
2225*53ee8cc1Swenshuai.xi     AUD_KTV_ParamType14,
2226*53ee8cc1Swenshuai.xi     AUD_KTV_ParamType15,
2227*53ee8cc1Swenshuai.xi     AUD_KTV_ParamType16,
2228*53ee8cc1Swenshuai.xi }AUDIO_KTV_PARAMTYPE;
2229*53ee8cc1Swenshuai.xi 
2230*53ee8cc1Swenshuai.xi typedef enum
2231*53ee8cc1Swenshuai.xi {
2232*53ee8cc1Swenshuai.xi     PCM_VOL,
2233*53ee8cc1Swenshuai.xi     MIC_VOL,
2234*53ee8cc1Swenshuai.xi     MP3_VOL,
2235*53ee8cc1Swenshuai.xi     GAME1_VOL,
2236*53ee8cc1Swenshuai.xi     GAME2_VOL,
2237*53ee8cc1Swenshuai.xi     ECHO1_VOL,
2238*53ee8cc1Swenshuai.xi     ECHO2_VOL,
2239*53ee8cc1Swenshuai.xi }AUDIO_MIX_VOL_TYPE;
2240*53ee8cc1Swenshuai.xi 
2241*53ee8cc1Swenshuai.xi #define code
2242*53ee8cc1Swenshuai.xi ///< Threshold table structure
2243*53ee8cc1Swenshuai.xi typedef struct
2244*53ee8cc1Swenshuai.xi {
2245*53ee8cc1Swenshuai.xi     MS_U8  HiByteValue;                 ///< Threshold high-byte
2246*53ee8cc1Swenshuai.xi     MS_U8  LowByteValue;                ///< Threshold low-byte
2247*53ee8cc1Swenshuai.xi } THR_TBL_TYPE;
2248*53ee8cc1Swenshuai.xi 
2249*53ee8cc1Swenshuai.xi //================================================================
2250*53ee8cc1Swenshuai.xi //  Sound Enum
2251*53ee8cc1Swenshuai.xi //================================================================
2252*53ee8cc1Swenshuai.xi // ADC Input Gain Type Definition
2253*53ee8cc1Swenshuai.xi typedef enum
2254*53ee8cc1Swenshuai.xi {
2255*53ee8cc1Swenshuai.xi     AUD_ADC_GAIN_0dB = 0,               //  0dB
2256*53ee8cc1Swenshuai.xi     AUD_ADC_GAIN_NEG_3dB,               // -3dB
2257*53ee8cc1Swenshuai.xi     AUD_ADC_GAIN_NEG_6dB,               // -6dB
2258*53ee8cc1Swenshuai.xi     AUD_ADC_GAIN_3dB,                   //  3dB
2259*53ee8cc1Swenshuai.xi     AUD_ADC_GAIN_6dB,                   //  6dB
2260*53ee8cc1Swenshuai.xi     AUD_ADC_GAIN_9dB,                   //  9dB
2261*53ee8cc1Swenshuai.xi     AUD_ADC_GAIN_12dB,                  // 12dB
2262*53ee8cc1Swenshuai.xi     AUD_ADC_GAIN_15dB,                  // 15dB
2263*53ee8cc1Swenshuai.xi } AUD_ADC_GAIN_TYPE;
2264*53ee8cc1Swenshuai.xi 
2265*53ee8cc1Swenshuai.xi typedef struct
2266*53ee8cc1Swenshuai.xi {
2267*53ee8cc1Swenshuai.xi     MS_U8  param1;                      ///< param1
2268*53ee8cc1Swenshuai.xi     MS_U8  param2;                      ///< param2
2269*53ee8cc1Swenshuai.xi     MS_U8  param3;                      ///< param1
2270*53ee8cc1Swenshuai.xi     MS_U8  param4;                      ///< param2
2271*53ee8cc1Swenshuai.xi } Sound_SET_Param;
2272*53ee8cc1Swenshuai.xi 
2273*53ee8cc1Swenshuai.xi typedef struct
2274*53ee8cc1Swenshuai.xi {
2275*53ee8cc1Swenshuai.xi     MS_U8  AvcThreshold;                ///< AvcThreshold
2276*53ee8cc1Swenshuai.xi     MS_U8  AvcMode;                     ///< AvcMode
2277*53ee8cc1Swenshuai.xi     MS_U8  AvcAT;                       ///< AvcAT
2278*53ee8cc1Swenshuai.xi     MS_U8  AvcRT;                       ///< AvcRT
2279*53ee8cc1Swenshuai.xi } Sound_AVC_param;
2280*53ee8cc1Swenshuai.xi 
2281*53ee8cc1Swenshuai.xi typedef struct
2282*53ee8cc1Swenshuai.xi {
2283*53ee8cc1Swenshuai.xi     MS_U8  SurroundXA;                  ///< SurroundXA
2284*53ee8cc1Swenshuai.xi     MS_U8  SurroundXB;                  ///< SurroundXB
2285*53ee8cc1Swenshuai.xi     MS_U8  SurroundXK;                  ///< SurroundXK
2286*53ee8cc1Swenshuai.xi     MS_U8  SurroundLPFGain;             ///< SurroundLPFGain
2287*53ee8cc1Swenshuai.xi } Sound_SURR_param;
2288*53ee8cc1Swenshuai.xi 
2289*53ee8cc1Swenshuai.xi typedef enum
2290*53ee8cc1Swenshuai.xi {
2291*53ee8cc1Swenshuai.xi     Sound_SET_Type_SetPreScale,
2292*53ee8cc1Swenshuai.xi     Sound_SET_Type_SetMute,
2293*53ee8cc1Swenshuai.xi     Sound_SET_Type_SetBalance,
2294*53ee8cc1Swenshuai.xi     Sound_SET_Type_EnableEQ,
2295*53ee8cc1Swenshuai.xi     Sound_SET_Type_EnablePEQ,
2296*53ee8cc1Swenshuai.xi     Sound_SET_Type_EnableTone,
2297*53ee8cc1Swenshuai.xi     Sound_SET_Type_EnableAutoVolume,
2298*53ee8cc1Swenshuai.xi     Sound_SET_Type_EnableSurround,
2299*53ee8cc1Swenshuai.xi     Sound_SET_Type_SetBass,
2300*53ee8cc1Swenshuai.xi     Sound_SET_Type_EnableBalance,
2301*53ee8cc1Swenshuai.xi     Sound_SET_Type_AbsoluteBass,
2302*53ee8cc1Swenshuai.xi     Sound_SET_Type_SetTreble,
2303*53ee8cc1Swenshuai.xi     Sound_SET_Type_SetEq,
2304*53ee8cc1Swenshuai.xi     Sound_SET_Type_SetEq_7band,
2305*53ee8cc1Swenshuai.xi     Sound_SET_Type_SetAvc,
2306*53ee8cc1Swenshuai.xi     Sound_SET_Type_SetAudioDelay,
2307*53ee8cc1Swenshuai.xi     Sound_SET_Type_SetSurround,
2308*53ee8cc1Swenshuai.xi     Sound_SET_Type_ConvertVolumeUnit,
2309*53ee8cc1Swenshuai.xi     Sound_SET_Type_SetDCOffet,
2310*53ee8cc1Swenshuai.xi     Sound_SET_Type_EnableSineTone,
2311*53ee8cc1Swenshuai.xi } Sound_SET_Type;
2312*53ee8cc1Swenshuai.xi 
2313*53ee8cc1Swenshuai.xi typedef enum
2314*53ee8cc1Swenshuai.xi {
2315*53ee8cc1Swenshuai.xi     Sound_SET_PARAM_PreScale,
2316*53ee8cc1Swenshuai.xi     Sound_SET_PARAM_Balance,
2317*53ee8cc1Swenshuai.xi     Sound_SET_PARAM_EQ,
2318*53ee8cc1Swenshuai.xi     Sound_SET_PARAM_Surround_XA,
2319*53ee8cc1Swenshuai.xi     Sound_SET_PARAM_Surround_XB,
2320*53ee8cc1Swenshuai.xi     Sound_SET_PARAM_Surround_XK,
2321*53ee8cc1Swenshuai.xi     Sound_SET_PARAM_Surround_LPFGAIN,
2322*53ee8cc1Swenshuai.xi     Sound_SET_PARAM_Treble,
2323*53ee8cc1Swenshuai.xi     Sound_SET_PARAM_Bass,
2324*53ee8cc1Swenshuai.xi     Sound_SET_PARAM_AbsoluteBass,
2325*53ee8cc1Swenshuai.xi     Sound_SET_PARAM_Avc_Mode,
2326*53ee8cc1Swenshuai.xi     Sound_SET_PARAM_NR_Threshold,
2327*53ee8cc1Swenshuai.xi     Sound_SET_PARAM_Avc_Threshold,
2328*53ee8cc1Swenshuai.xi     Sound_SET_PARAM_Avc_AT,
2329*53ee8cc1Swenshuai.xi     Sound_SET_PARAM_Avc_RT,
2330*53ee8cc1Swenshuai.xi     Sound_SET_PARAM_AudioDelay,
2331*53ee8cc1Swenshuai.xi     Sound_SET_PARAM_DCOffet,
2332*53ee8cc1Swenshuai.xi     Sound_SET_PARAM_PEQ_48K_A0,
2333*53ee8cc1Swenshuai.xi     Sound_SET_PARAM_PEQ_48K_A1,
2334*53ee8cc1Swenshuai.xi     Sound_SET_PARAM_PEQ_48K_A2,
2335*53ee8cc1Swenshuai.xi     Sound_SET_PARAM_PEQ_48K_B1,
2336*53ee8cc1Swenshuai.xi     Sound_SET_PARAM_PEQ_48K_B2,
2337*53ee8cc1Swenshuai.xi     Sound_SET_PARAM_PEQ_32K_A0,
2338*53ee8cc1Swenshuai.xi     Sound_SET_PARAM_PEQ_32K_A1,
2339*53ee8cc1Swenshuai.xi     Sound_SET_PARAM_PEQ_32K_A2,
2340*53ee8cc1Swenshuai.xi     Sound_SET_PARAM_PEQ_32K_B1,
2341*53ee8cc1Swenshuai.xi     Sound_SET_PARAM_PEQ_32K_B2,
2342*53ee8cc1Swenshuai.xi     Sound_SET_PARAM_PEQ_SCALE,
2343*53ee8cc1Swenshuai.xi     Sound_SET_PARAM_AbsoluteEQ,
2344*53ee8cc1Swenshuai.xi     Sound_SET_PARAM_Drc_Threshold,
2345*53ee8cc1Swenshuai.xi     Sound_SET_PARAM_DMAReader,
2346*53ee8cc1Swenshuai.xi     Sound_SET_PARAM_AVC_S_Offset,
2347*53ee8cc1Swenshuai.xi     Sound_SET_PARAM_Tone_Test_Fs,
2348*53ee8cc1Swenshuai.xi     Sound_SET_PARAM_Tone_Test_Gain,
2349*53ee8cc1Swenshuai.xi     Sound_SET_PARAM_AbsoluteBalance,
2350*53ee8cc1Swenshuai.xi     Sound_SET_PARAM_AbsoluteTreble,
2351*53ee8cc1Swenshuai.xi     Sound_SET_PARAM_Ease_Type_A,
2352*53ee8cc1Swenshuai.xi     Sound_SET_PARAM_Ease_Duration_A,
2353*53ee8cc1Swenshuai.xi     Sound_SET_PARAM_Ease_Gain_A,
2354*53ee8cc1Swenshuai.xi     Sound_SET_PARAM_Ease_Target_Channel_A,
2355*53ee8cc1Swenshuai.xi     Sound_SET_PARAM_Ease_Type_B,
2356*53ee8cc1Swenshuai.xi     Sound_SET_PARAM_Ease_Duration_B,
2357*53ee8cc1Swenshuai.xi     Sound_SET_PARAM_Ease_Gain_B,
2358*53ee8cc1Swenshuai.xi     Sound_SET_PARAM_Ease_Target_Channel_B,
2359*53ee8cc1Swenshuai.xi     Sound_SET_PARAM_Drc_Entry,
2360*53ee8cc1Swenshuai.xi     Sound_SET_PARAM_Mixer_AD_Volume,
2361*53ee8cc1Swenshuai.xi     Sound_SET_PARAM_Mixer_Main_Volume,
2362*53ee8cc1Swenshuai.xi     Sound_SET_PARAM_LG_EQ,
2363*53ee8cc1Swenshuai.xi     Sound_SET_PARAM_LG_Balance_L,
2364*53ee8cc1Swenshuai.xi     Sound_SET_PARAM_LG_Balance_R,
2365*53ee8cc1Swenshuai.xi     Sound_SET_PARAM_VolFadingStep,
2366*53ee8cc1Swenshuai.xi     Sound_SET_PARAM_VolFadingCtrl,
2367*53ee8cc1Swenshuai.xi     Sound_SET_PARAM_BalanceMask,
2368*53ee8cc1Swenshuai.xi     Sound_SET_PARAM_PhaseShiftMask,
2369*53ee8cc1Swenshuai.xi     Sound_SET_PARAM_InternalDelay_Ch1,
2370*53ee8cc1Swenshuai.xi     Sound_SET_PARAM_InternalDelay_Ch2,
2371*53ee8cc1Swenshuai.xi     Sound_SET_PARAM_InternalDelay_Ch3,
2372*53ee8cc1Swenshuai.xi     Sound_SET_PARAM_InternalDelay_Ch4,
2373*53ee8cc1Swenshuai.xi     Sound_SET_PARAM_InternalDelay_Ch5,
2374*53ee8cc1Swenshuai.xi     Sound_SET_PARAM_InternalDelay_Ch6,
2375*53ee8cc1Swenshuai.xi     Sound_SET_PARAM_InternalDelay_Ch7,
2376*53ee8cc1Swenshuai.xi     Sound_SET_PARAM_InternalDelay_Ch8,
2377*53ee8cc1Swenshuai.xi     Sound_SET_PARAM_KTVEcho_XA,
2378*53ee8cc1Swenshuai.xi     Sound_SET_PARAM_KTVEcho_XB,
2379*53ee8cc1Swenshuai.xi     Sound_SET_PARAM_KTVEcho_ReverbStep,
2380*53ee8cc1Swenshuai.xi     Sound_SET_PARAM_Avc_R_Begin,
2381*53ee8cc1Swenshuai.xi     Sound_SET_PARAM_Avc_R_End,
2382*53ee8cc1Swenshuai.xi     Sound_SET_PARAM_Avc_R_Slope,
2383*53ee8cc1Swenshuai.xi     Sound_SET_PARAM_Sinetone_StartFreq,
2384*53ee8cc1Swenshuai.xi     Sound_SET_PARAM_Sinetone_EndFreq,
2385*53ee8cc1Swenshuai.xi     Sound_SET_PARAM_Sinetone_Duration,
2386*53ee8cc1Swenshuai.xi     Sound_SET_PARAM_Sinetone_Mode,
2387*53ee8cc1Swenshuai.xi     Sound_SET_PARAM_Sinetone_Ctrl,
2388*53ee8cc1Swenshuai.xi } Sound_SET_PARAM_Type;
2389*53ee8cc1Swenshuai.xi 
2390*53ee8cc1Swenshuai.xi typedef enum
2391*53ee8cc1Swenshuai.xi {
2392*53ee8cc1Swenshuai.xi     Sound_GET_PARAM_PreScale,
2393*53ee8cc1Swenshuai.xi     Sound_GET_PARAM_Balance_L,
2394*53ee8cc1Swenshuai.xi     Sound_GET_PARAM_Balance_R,
2395*53ee8cc1Swenshuai.xi     Sound_GET_PARAM_EQ,
2396*53ee8cc1Swenshuai.xi     Sound_GET_PARAM_Surround_XA,
2397*53ee8cc1Swenshuai.xi     Sound_GET_PARAM_Surround_XB,
2398*53ee8cc1Swenshuai.xi     Sound_GET_PARAM_Surround_XK,
2399*53ee8cc1Swenshuai.xi     Sound_GET_PARAM_Surround_LPFGAIN,
2400*53ee8cc1Swenshuai.xi     Sound_GET_PARAM_Treble,
2401*53ee8cc1Swenshuai.xi     Sound_GET_PARAM_Bass,
2402*53ee8cc1Swenshuai.xi     Sound_GET_PARAM_Avc_Mode,
2403*53ee8cc1Swenshuai.xi     Sound_GET_PARAM_Avc_Threshold,
2404*53ee8cc1Swenshuai.xi     Sound_GET_PARAM_Avc_AT,
2405*53ee8cc1Swenshuai.xi     Sound_GET_PARAM_Avc_RT,
2406*53ee8cc1Swenshuai.xi     Sound_GET_PARAM_AudioDelay,
2407*53ee8cc1Swenshuai.xi     Sound_GET_PARAM_DCOffet,
2408*53ee8cc1Swenshuai.xi     Sound_GET_PARAM_NR_Threshold,
2409*53ee8cc1Swenshuai.xi     Sound_GET_PARAM_NR_Status,
2410*53ee8cc1Swenshuai.xi     Sound_GET_PARAM_getSignal_Energy,
2411*53ee8cc1Swenshuai.xi     Sound_GET_PARAM_EQ_Status,
2412*53ee8cc1Swenshuai.xi     Sound_GET_PARAM_PEQ_Status,
2413*53ee8cc1Swenshuai.xi     Sound_GET_PARAM_Tone_Status,
2414*53ee8cc1Swenshuai.xi     Sound_GET_PARAM_AutoVolume_Status,
2415*53ee8cc1Swenshuai.xi     Sound_GET_PARAM_Surround_Status,
2416*53ee8cc1Swenshuai.xi     Sound_GET_PARAM_HPF_Status,
2417*53ee8cc1Swenshuai.xi     Sound_GET_PARAM_Drc_Threshold,
2418*53ee8cc1Swenshuai.xi     Sound_GET_PARAM_DMAReader_Buffer_Addr,
2419*53ee8cc1Swenshuai.xi     Sound_GET_PARAM_ToneTest_LEVEL,
2420*53ee8cc1Swenshuai.xi     Sound_GET_PARAM_FPC_Lpeak,
2421*53ee8cc1Swenshuai.xi     Sound_GET_PARAM_FPC_Rpeak,
2422*53ee8cc1Swenshuai.xi     Sound_GET_PARAM_Ease_Type_A,
2423*53ee8cc1Swenshuai.xi     Sound_GET_PARAM_Ease_Duration_A,
2424*53ee8cc1Swenshuai.xi     Sound_GET_PARAM_Ease_Gain_A,
2425*53ee8cc1Swenshuai.xi     Sound_GET_PARAM_Ease_Type_B,
2426*53ee8cc1Swenshuai.xi     Sound_GET_PARAM_Ease_Duration_B,
2427*53ee8cc1Swenshuai.xi     Sound_GET_PARAM_Ease_Gain_B,
2428*53ee8cc1Swenshuai.xi     Sound_GET_PARAM_InternalDelay_Ch1,
2429*53ee8cc1Swenshuai.xi     Sound_GET_PARAM_InternalDelay_Ch2,
2430*53ee8cc1Swenshuai.xi     Sound_GET_PARAM_InternalDelay_Ch3,
2431*53ee8cc1Swenshuai.xi     Sound_GET_PARAM_InternalDelay_Ch4,
2432*53ee8cc1Swenshuai.xi     Sound_GET_PARAM_InternalDelay_Ch5,
2433*53ee8cc1Swenshuai.xi     Sound_GET_PARAM_InternalDelay_Ch6,
2434*53ee8cc1Swenshuai.xi     Sound_GET_PARAM_InternalDelay_Ch7,
2435*53ee8cc1Swenshuai.xi     Sound_GET_PARAM_InternalDelay_Ch8,
2436*53ee8cc1Swenshuai.xi     Sound_GET_PARAM_KTVEcho_XA,
2437*53ee8cc1Swenshuai.xi     Sound_GET_PARAM_KTVEcho_XB,
2438*53ee8cc1Swenshuai.xi     Sound_GET_PARAM_KTVEcho_ReverbStep,
2439*53ee8cc1Swenshuai.xi     Sound_GET_PARAM_Avc_R_Begin,
2440*53ee8cc1Swenshuai.xi     Sound_GET_PARAM_Avc_R_End,
2441*53ee8cc1Swenshuai.xi     Sound_GET_PARAM_Avc_R_Slope,
2442*53ee8cc1Swenshuai.xi     Sound_GET_PARAM_Sinetone_StartFreq,
2443*53ee8cc1Swenshuai.xi     Sound_GET_PARAM_Sinetone_EndFreq,
2444*53ee8cc1Swenshuai.xi     Sound_GET_PARAM_Sinetone_Duration,
2445*53ee8cc1Swenshuai.xi     Sound_GET_PARAM_Sinetone_Mode,
2446*53ee8cc1Swenshuai.xi     Sound_GET_PARAM_Sinetone_Ctrl,
2447*53ee8cc1Swenshuai.xi } Sound_GET_PARAM_Type;
2448*53ee8cc1Swenshuai.xi 
2449*53ee8cc1Swenshuai.xi typedef enum
2450*53ee8cc1Swenshuai.xi {
2451*53ee8cc1Swenshuai.xi //  Sound_ENABL_Type_PreScale,
2452*53ee8cc1Swenshuai.xi     Sound_ENABL_Type_EQ,
2453*53ee8cc1Swenshuai.xi     Sound_ENABL_Type_PEQ,
2454*53ee8cc1Swenshuai.xi     Sound_ENABL_Type_Tone,               //treble/bass
2455*53ee8cc1Swenshuai.xi     Sound_ENABL_Type_AutoVolume,
2456*53ee8cc1Swenshuai.xi     Sound_ENABL_Type_Surround,
2457*53ee8cc1Swenshuai.xi     Sound_ENABL_Type_Balance,
2458*53ee8cc1Swenshuai.xi     Sound_ENABL_Type_DRC,
2459*53ee8cc1Swenshuai.xi     Sound_ENABL_Type_KTVEcho,
2460*53ee8cc1Swenshuai.xi     Sound_ENABL_Type_Hpf,
2461*53ee8cc1Swenshuai.xi     Sound_ENABL_Type_FPC,
2462*53ee8cc1Swenshuai.xi     Sound_ENABL_Type_DcRemove,
2463*53ee8cc1Swenshuai.xi     Sound_ENABL_Type_EaseVol,
2464*53ee8cc1Swenshuai.xi     Sound_ENABL_Type_HeadPhoneSoundEffect,
2465*53ee8cc1Swenshuai.xi     Sound_ENABL_Type_DRC2,
2466*53ee8cc1Swenshuai.xi     Sound_ENABL_Type_SineTone,
2467*53ee8cc1Swenshuai.xi } Sound_ENABLE_Type;
2468*53ee8cc1Swenshuai.xi 
2469*53ee8cc1Swenshuai.xi typedef enum
2470*53ee8cc1Swenshuai.xi {
2471*53ee8cc1Swenshuai.xi     AdvSound_SET_Type_VDS_Enable,
2472*53ee8cc1Swenshuai.xi     AdvSound_SET_Type_VSPK_Enable,
2473*53ee8cc1Swenshuai.xi     AdvSound_SET_Type_VSPK_SetWMod,
2474*53ee8cc1Swenshuai.xi     AdvSound_SET_Type_VSPK_SetSMod,
2475*53ee8cc1Swenshuai.xi     AdvSound_SET_Type_SRS_Enable,
2476*53ee8cc1Swenshuai.xi     AdvSound_SET_Type_SRS_DC,
2477*53ee8cc1Swenshuai.xi     AdvSound_SET_Type_SRS_TruBass,
2478*53ee8cc1Swenshuai.xi     AdvSound_SET_Type_SRS_SetTsxtPara,
2479*53ee8cc1Swenshuai.xi     AdvSound_SET_Type_TSHD_Enable,
2480*53ee8cc1Swenshuai.xi     AdvSound_SET_Type_TSHD_TruBass,
2481*53ee8cc1Swenshuai.xi     AdvSound_SET_Type_TSHD_Definition,
2482*53ee8cc1Swenshuai.xi     AdvSound_SET_Type_TSHD_Clarity,
2483*53ee8cc1Swenshuai.xi     AdvSound_SET_Type_TSHD_TruSurr,
2484*53ee8cc1Swenshuai.xi     AdvSound_SET_Type_TSHD_Limiter,
2485*53ee8cc1Swenshuai.xi     AdvSound_SET_Type_TSHD_SRS3D,
2486*53ee8cc1Swenshuai.xi     AdvSound_SET_Type_SRS_SetTshdPara,
2487*53ee8cc1Swenshuai.xi     AdvSound_SET_Type_TruVolume_Enable,
2488*53ee8cc1Swenshuai.xi     AdvSound_SET_Type_BBE_SetBbeMode,
2489*53ee8cc1Swenshuai.xi     AdvSound_SET_CV2_Enable,
2490*53ee8cc1Swenshuai.xi     AdvSound_SET_CV2_SetPara,
2491*53ee8cc1Swenshuai.xi     AdvSound_SET_CV_SetPara,
2492*53ee8cc1Swenshuai.xi     AdvSound_SET_AV_SetPara,
2493*53ee8cc1Swenshuai.xi     AdvSound_SET_SetEQPara,
2494*53ee8cc1Swenshuai.xi     AdvSound_SET_CV_SetLevel,
2495*53ee8cc1Swenshuai.xi     AdvSound_SET_ADSY_SetPara,
2496*53ee8cc1Swenshuai.xi } AdvSound_SET_Type;
2497*53ee8cc1Swenshuai.xi 
2498*53ee8cc1Swenshuai.xi typedef enum
2499*53ee8cc1Swenshuai.xi {
2500*53ee8cc1Swenshuai.xi     ADVSOUND_EN_TYPE,
2501*53ee8cc1Swenshuai.xi     ADVSOUND_INFO_DV258_ENABLE,
2502*53ee8cc1Swenshuai.xi     ADVSOUND_INFO_DV258_LCL_ENABLE,
2503*53ee8cc1Swenshuai.xi     ADVSOUND_INFO_DV258_LCL_LEVELER_ENABLE,
2504*53ee8cc1Swenshuai.xi     ADVSOUND_INFO_DV258_LCL_MODELER_ENABLE,
2505*53ee8cc1Swenshuai.xi     ADVSOUND_INFO_DV258_LCL_MODELER_HALF_MODE,
2506*53ee8cc1Swenshuai.xi     ADVSOUND_INFO_DV258_LCL_AMOUNT,
2507*53ee8cc1Swenshuai.xi     ADVSOUND_INFO_DV258_LCL_AVM,
2508*53ee8cc1Swenshuai.xi     ADVSOUND_INFO_DV258_LCL_DVM,
2509*53ee8cc1Swenshuai.xi     ADVSOUND_INFO_DV258_LCL_IRL,
2510*53ee8cc1Swenshuai.xi     ADVSOUND_INFO_DV258_LCL_ORL,
2511*53ee8cc1Swenshuai.xi     ADVSOUND_INFO_DV258_LCL_PREGAIN,
2512*53ee8cc1Swenshuai.xi     ADVSOUND_INFO_DV258_LCL_GAIN,
2513*53ee8cc1Swenshuai.xi     ADVSOUND_INFO_DV258_LIMITER_ENABLE,
2514*53ee8cc1Swenshuai.xi     ADVSOUND_INFO_DV258_LIMITER_PEAK,
2515*53ee8cc1Swenshuai.xi     ADVSOUND_INFO_DV258_LIMITER_BOOST,
2516*53ee8cc1Swenshuai.xi     ADVSOUND_INFO_DV258_LIMITER_RMS,
2517*53ee8cc1Swenshuai.xi } AdvSound_GET_Type;
2518*53ee8cc1Swenshuai.xi 
2519*53ee8cc1Swenshuai.xi 
2520*53ee8cc1Swenshuai.xi //================================================================
2521*53ee8cc1Swenshuai.xi //  Advance Sound Enum
2522*53ee8cc1Swenshuai.xi //================================================================
2523*53ee8cc1Swenshuai.xi 
2524*53ee8cc1Swenshuai.xi //SRS APOLLO
2525*53ee8cc1Swenshuai.xi typedef enum
2526*53ee8cc1Swenshuai.xi {
2527*53ee8cc1Swenshuai.xi     AU_SRS_APOLLO_EN,
2528*53ee8cc1Swenshuai.xi     AU_SRS_TSHD_EN,
2529*53ee8cc1Swenshuai.xi     AU_SRS_TRUBASS_FRONT_EN,
2530*53ee8cc1Swenshuai.xi     AU_SRS_DEFINITION_FRONT_EN,
2531*53ee8cc1Swenshuai.xi     AU_SRS_DIALOG_CLARITY_EN,
2532*53ee8cc1Swenshuai.xi     AU_SRS_SURROUND_LEVEL_CTRL,
2533*53ee8cc1Swenshuai.xi     AU_SRS_TSHD_INPUT_GAIN,
2534*53ee8cc1Swenshuai.xi     AU_SRS_DEFINITION_FRONT_CTRL,
2535*53ee8cc1Swenshuai.xi     AU_SRS_DIALOG_CLARITY_CTRL,
2536*53ee8cc1Swenshuai.xi     AU_SRS_TRUBASS_FRONT_CTRL,
2537*53ee8cc1Swenshuai.xi     AU_SRS_LOW_END_FRONT_SPEAKER_FREQ,
2538*53ee8cc1Swenshuai.xi     AU_SRS_HL_EN,
2539*53ee8cc1Swenshuai.xi     AU_SRS_HL_LIMIT_LEVEL,
2540*53ee8cc1Swenshuai.xi     AU_SRS_HL_BOOST_GAIN,
2541*53ee8cc1Swenshuai.xi     AU_SRS_APOLLO_HEADROOM_GAIN,
2542*53ee8cc1Swenshuai.xi     AU_SRS_AEQ_PEQ_EN,
2543*53ee8cc1Swenshuai.xi     AU_SRS_AEQ_HPF_EN,
2544*53ee8cc1Swenshuai.xi     AU_SRS_AEQ_GEQ_EN,
2545*53ee8cc1Swenshuai.xi     AU_SRS_VIQ_EN,
2546*53ee8cc1Swenshuai.xi     AU_SRS_VIQ_MODE,
2547*53ee8cc1Swenshuai.xi     AU_SRS_VIQ_VOL_REF_LEVEL,
2548*53ee8cc1Swenshuai.xi     AU_SRS_VIQ_MAX_GAIN,
2549*53ee8cc1Swenshuai.xi     AU_SRS_VIQ_NOISE_MNGR_THLD,
2550*53ee8cc1Swenshuai.xi     AU_SRS_VIQ_CALIBRATE,
2551*53ee8cc1Swenshuai.xi     AU_SRS_VIQ_NOISE_MNGR_EN,
2552*53ee8cc1Swenshuai.xi     AU_SRS_AEQ_HPF_FC,
2553*53ee8cc1Swenshuai.xi     AU_SRS_VIQ_INPUT_GAIN,
2554*53ee8cc1Swenshuai.xi     AU_SRS_VIQ_OUTPUT_GAIN,
2555*53ee8cc1Swenshuai.xi 
2556*53ee8cc1Swenshuai.xi 
2557*53ee8cc1Swenshuai.xi     AU_SRS_FTB_LVL_INDPDT_ENABLE,
2558*53ee8cc1Swenshuai.xi     AU_SRS_FTB_COMPRESSOR_CONTROL,
2559*53ee8cc1Swenshuai.xi     AU_SRS_FTB_MODE,
2560*53ee8cc1Swenshuai.xi     AU_SRS_FTB_SPEAKER_AUDIO,
2561*53ee8cc1Swenshuai.xi     AU_SRS_FTB_SPEAKER_ANALYSIS,
2562*53ee8cc1Swenshuai.xi     AU_SRS_TVOLHD_EN,
2563*53ee8cc1Swenshuai.xi     AU_SRS_TVOLHD_OUTPUT_GAIN,
2564*53ee8cc1Swenshuai.xi     AU_SRS_TVOLHD_INPUT_GAIN,
2565*53ee8cc1Swenshuai.xi     AU_SRS_TVOLHD_BYPASS_GAIN,
2566*53ee8cc1Swenshuai.xi     AU_SRS_TVOLHD_MODE,
2567*53ee8cc1Swenshuai.xi     AU_SRS_TVOLHD_MAX_GAIN,
2568*53ee8cc1Swenshuai.xi     AU_SRS_TVOLHD_NORMALIZER_EN,
2569*53ee8cc1Swenshuai.xi     AU_SRS_TVOLHD_NORMTHRESH,
2570*53ee8cc1Swenshuai.xi     AU_SRS_TVOLHD_SMOOTH_EN,
2571*53ee8cc1Swenshuai.xi     AU_SRS_TVOLHD_LKFS,
2572*53ee8cc1Swenshuai.xi     AU_SRS_AEQ_PEQ_INPUT_GAIN,
2573*53ee8cc1Swenshuai.xi } AU_SRS_APOLLO_TYPE;
2574*53ee8cc1Swenshuai.xi 
2575*53ee8cc1Swenshuai.xi 
2576*53ee8cc1Swenshuai.xi ////////////////////////////////////////////////////////
2577*53ee8cc1Swenshuai.xi /** Total Sonics modes for DBXTV_SetMode() */
2578*53ee8cc1Swenshuai.xi typedef enum _DBXTV_TotSonMode
2579*53ee8cc1Swenshuai.xi {
2580*53ee8cc1Swenshuai.xi     E_TOTSON_ON        = 0,
2581*53ee8cc1Swenshuai.xi     E_TOTSON_OFF,
2582*53ee8cc1Swenshuai.xi } EN_DBXTV_TotSonMode;
2583*53ee8cc1Swenshuai.xi 
2584*53ee8cc1Swenshuai.xi /** Total Volume modes for DBXTV_SetMode() */
2585*53ee8cc1Swenshuai.xi typedef enum _DBXTV_TotVolMode
2586*53ee8cc1Swenshuai.xi {
2587*53ee8cc1Swenshuai.xi     E_TOTVOL_NORMAL     = 0,
2588*53ee8cc1Swenshuai.xi     E_TOTVOL_NIGHT,
2589*53ee8cc1Swenshuai.xi     E_TOTVOL_OFF,
2590*53ee8cc1Swenshuai.xi } EN_DBXTV_TotVolMode;
2591*53ee8cc1Swenshuai.xi 
2592*53ee8cc1Swenshuai.xi /** Total Surround modes for DBXTV_SetMode() */
2593*53ee8cc1Swenshuai.xi typedef enum _DBXTV_TotSurMode
2594*53ee8cc1Swenshuai.xi {
2595*53ee8cc1Swenshuai.xi     E_TOTSUR_ON     = 0,
2596*53ee8cc1Swenshuai.xi     E_TOTSUR_OFF,
2597*53ee8cc1Swenshuai.xi } EN_DBXTV_TotSurMode;
2598*53ee8cc1Swenshuai.xi 
2599*53ee8cc1Swenshuai.xi /** Total Surround modes for HAL_DBXTV_SetOnOff() */
2600*53ee8cc1Swenshuai.xi typedef enum _DBXTV_TurnOnOff
2601*53ee8cc1Swenshuai.xi {
2602*53ee8cc1Swenshuai.xi     E_DBXTV_TurnOff     = 0,
2603*53ee8cc1Swenshuai.xi     E_DBXTV_TurnOn,
2604*53ee8cc1Swenshuai.xi } EN_DBXTV_TurnOnOff;
2605*53ee8cc1Swenshuai.xi 
2606*53ee8cc1Swenshuai.xi ////////////////////////////////////////////////////////
2607*53ee8cc1Swenshuai.xi 
2608*53ee8cc1Swenshuai.xi 
2609*53ee8cc1Swenshuai.xi typedef enum
2610*53ee8cc1Swenshuai.xi {
2611*53ee8cc1Swenshuai.xi     AU_SRS_THEATER_EN,
2612*53ee8cc1Swenshuai.xi     AU_SRS_THEATER_HPF_EN,
2613*53ee8cc1Swenshuai.xi     AU_SRS_THEATER_VIQ_EN,
2614*53ee8cc1Swenshuai.xi     AU_SRS_THEATER_CS_EN,
2615*53ee8cc1Swenshuai.xi     AU_SRS_THEATER_TRUDIALOG_EN,
2616*53ee8cc1Swenshuai.xi     AU_SRS_THEATER_INPUT_GAIN,
2617*53ee8cc1Swenshuai.xi     AU_SRS_THEATER_OUTPUT_GAIN,
2618*53ee8cc1Swenshuai.xi     AU_SRS_THEATER_BYPASS_GAIN,
2619*53ee8cc1Swenshuai.xi     AU_SRS_THEATER_HEADROOM_GAIN,
2620*53ee8cc1Swenshuai.xi     AU_SRS_THEATER_INPUT_MODE,
2621*53ee8cc1Swenshuai.xi     AU_SRS_THEATER_VIQ_INPUT_GAIN,
2622*53ee8cc1Swenshuai.xi     AU_SRS_THEATER_VIQ_OUTPUT_GAIN,
2623*53ee8cc1Swenshuai.xi     AU_SRS_THEATER_VIQ_BYPASS_GAIN,
2624*53ee8cc1Swenshuai.xi     AU_SRS_THEATER_VIQ_VOLUME_MODE,
2625*53ee8cc1Swenshuai.xi     AU_SRS_THEATER_VOLHD_MAXGAIN_CONTROL,
2626*53ee8cc1Swenshuai.xi     AU_SRS_THEATER_VOLHD_NORMALIZER_EN,
2627*53ee8cc1Swenshuai.xi     AU_SRS_THEATER_VOLHD_NORMTHRESH,
2628*53ee8cc1Swenshuai.xi     AU_SRS_THEATER_VOLHD_SMOOTH_EN,
2629*53ee8cc1Swenshuai.xi     AU_SRS_THEATER_VOLHD_LKFS,
2630*53ee8cc1Swenshuai.xi     AU_SRS_THEATER_CS_INPUT_GAIN,
2631*53ee8cc1Swenshuai.xi     AU_SRS_THEATER_CS_PROCESSING_MODE,
2632*53ee8cc1Swenshuai.xi     AU_SRS_THEATER_CS_LR_OUTPUT_GAIN,
2633*53ee8cc1Swenshuai.xi     AU_SRS_THEATER_CS_LSRS_OUTPUT_GAIN,
2634*53ee8cc1Swenshuai.xi     AU_SRS_THEATER_CS_CENTER_OUTPUT_GAIN,
2635*53ee8cc1Swenshuai.xi     AU_SRS_THEATER_TRUDIALOG_INPUT_GAIN,
2636*53ee8cc1Swenshuai.xi     AU_SRS_THEATER_TRUDIALOG_OUTPUT_GAIN,
2637*53ee8cc1Swenshuai.xi     AU_SRS_THEATER_TRUDIALOG_BYPASS_GAIN,
2638*53ee8cc1Swenshuai.xi     AU_SRS_THEATER_TRUDIALOG_PROCESS_GAIN,
2639*53ee8cc1Swenshuai.xi     AU_SRS_THEATER_TRUDIALOG_CLARITY_GAIN,
2640*53ee8cc1Swenshuai.xi     AU_SRS_THEATER_HPF_ORDER,
2641*53ee8cc1Swenshuai.xi     AU_SRS_THEATER_HPF_COEFS,
2642*53ee8cc1Swenshuai.xi     AU_SRS_THEATER_TSHD_EN,
2643*53ee8cc1Swenshuai.xi     AU_SRS_THEATER_TSHD_SURR_EN,
2644*53ee8cc1Swenshuai.xi     AU_SRS_THEATER_TSHD_TRUBASS_FRONT_EN,
2645*53ee8cc1Swenshuai.xi     AU_SRS_THEATER_TSHD_DEFINITION_FRONT_EN,
2646*53ee8cc1Swenshuai.xi     AU_SRS_THEATER_TSHD_DIALOG_CLARITY_EN,
2647*53ee8cc1Swenshuai.xi     AU_SRS_THEATER_TSHD_TRUBASS_LEVEL_INDEPENDENT_EN,
2648*53ee8cc1Swenshuai.xi     AU_SRS_THEATER_HPF_END_EN,
2649*53ee8cc1Swenshuai.xi     AU_SRS_THEATER_HL_EN,
2650*53ee8cc1Swenshuai.xi     AU_SRS_THEATER_TSHD_SURROUND_LEVEL_CTRL,
2651*53ee8cc1Swenshuai.xi     AU_SRS_THEATER_TSHD_INPUT_GAIN,
2652*53ee8cc1Swenshuai.xi     AU_SRS_THEATER_TSHD_OUTPUT_GAIN,
2653*53ee8cc1Swenshuai.xi     AU_SRS_THEATER_TSHD_DEFINITION_FRONT_CTRL,
2654*53ee8cc1Swenshuai.xi     AU_SRS_THEATER_TSHD_DIALOG_CLARITY_CTRL,
2655*53ee8cc1Swenshuai.xi     AU_SRS_THEATER_TSHD_TRUBASS_FRONT_CTRL,
2656*53ee8cc1Swenshuai.xi     AU_SRS_THEATER_TSHD_TRUBASS_SPEAKER_SIZE,
2657*53ee8cc1Swenshuai.xi     AU_SRS_THEATER_TSHD_TRUBASS_COMPRESSOR_CTRL,
2658*53ee8cc1Swenshuai.xi     AU_SRS_THEATER_TSHD_TRUBASS_PROCESS_MODE,
2659*53ee8cc1Swenshuai.xi     AU_SRS_THEATER_TSHD_TRUBASS_SPEAKER_AUDIO,
2660*53ee8cc1Swenshuai.xi     AU_SRS_THEATER_TSHD_TRUBASS_SPEAKER_ANALYSIS,
2661*53ee8cc1Swenshuai.xi     AU_SRS_THEATER_HL_LIMIT_LEVEL_CTRL,
2662*53ee8cc1Swenshuai.xi     AU_SRS_THEATER_HL_BOOST_GAIN,
2663*53ee8cc1Swenshuai.xi     AU_SRS_THEATER_HPF_CUTOFF,
2664*53ee8cc1Swenshuai.xi     AU_SRS_THEATER_HPF_END_CUTOFF,
2665*53ee8cc1Swenshuai.xi     AU_SRS_THEATER_CC3D_EN,//param54
2666*53ee8cc1Swenshuai.xi     AU_SRS_THEATER_CC3D_DEPTH_PROCESS_EN,//param55
2667*53ee8cc1Swenshuai.xi     AU_SRS_THEATER_CC3D_3D_SURR_BOOST_EN,//param56
2668*53ee8cc1Swenshuai.xi     AU_SRS_THEATER_CC3D_FADE_EN,//param57
2669*53ee8cc1Swenshuai.xi     AU_SRS_THEATER_CC3D_TSHD_MIX_EN,//param58
2670*53ee8cc1Swenshuai.xi     AU_SRS_THEATER_CC3D_TBHDX_EN,//param59
2671*53ee8cc1Swenshuai.xi     AU_SRS_THEATER_CC3D_INPUT_GAIN,//param60
2672*53ee8cc1Swenshuai.xi     AU_SRS_THEATER_CC3D_OUTPUT_GAIN,//param61
2673*53ee8cc1Swenshuai.xi     AU_SRS_THEATER_CC3D_BYPASS_GAIN,//param62
2674*53ee8cc1Swenshuai.xi     AU_SRS_THEATER_CC3D_APERTURE,//param63
2675*53ee8cc1Swenshuai.xi     AU_SRS_THEATER_CC3D_GAINLIMIT,//param64
2676*53ee8cc1Swenshuai.xi     AU_SRS_THEATER_CC3D_FF_DEPTH,//param65
2677*53ee8cc1Swenshuai.xi     AU_SRS_THEATER_CC3D_NF_DEPTH,//param66
2678*53ee8cc1Swenshuai.xi 
2679*53ee8cc1Swenshuai.xi     AU_SRS_THEATER_CC3D_TSHD_SURR_MODE,//param67
2680*53ee8cc1Swenshuai.xi     AU_SRS_THEATER_CC3D_TSHD_MIX_FADE_CTRL,//param68
2681*53ee8cc1Swenshuai.xi 
2682*53ee8cc1Swenshuai.xi     AU_SRS_THEATER_CC3D_TBHDX_INPUT_GAIN,//param69
2683*53ee8cc1Swenshuai.xi     AU_SRS_THEATER_CC3D_TBHDX_BASSLEVEL,//param70
2684*53ee8cc1Swenshuai.xi     AU_SRS_THEATER_CC3D_TBHDX_SPEAKERSIZE,//param71
2685*53ee8cc1Swenshuai.xi     AU_SRS_THEATER_CC3D_TBHDX_MODE,//param72
2686*53ee8cc1Swenshuai.xi     AU_SRS_THEATER_CC3D_TBHDX_DYNAMICS,//param73
2687*53ee8cc1Swenshuai.xi     AU_SRS_THEATER_CC3D_TBHDX_HP_ORDER,//param74
2688*53ee8cc1Swenshuai.xi     AU_SRS_THEATER_CC3D_TBHDX_CUSTOM_FILTER,
2689*53ee8cc1Swenshuai.xi     AU_SRS_THEATER_CC3D_GEQ_EN,//param75
2690*53ee8cc1Swenshuai.xi     AU_SRS_THEATER_CC3D_GEQ_INPUT_GAIN,
2691*53ee8cc1Swenshuai.xi     AU_SRS_THEATER_CC3D_GEQ_BAND0_GAIN,
2692*53ee8cc1Swenshuai.xi     AU_SRS_THEATER_CC3D_GEQ_BAND1_GAIN,
2693*53ee8cc1Swenshuai.xi     AU_SRS_THEATER_CC3D_GEQ_BAND2_GAIN,
2694*53ee8cc1Swenshuai.xi     AU_SRS_THEATER_CC3D_GEQ_BAND3_GAIN,
2695*53ee8cc1Swenshuai.xi     AU_SRS_THEATER_CC3D_GEQ_BAND4_GAIN,
2696*53ee8cc1Swenshuai.xi     AU_SRS_THEATER_CC3D_PROCESS_PATH,
2697*53ee8cc1Swenshuai.xi     AU_SRS_THEATER_TSHD_BYPASS_GAIN,
2698*53ee8cc1Swenshuai.xi 
2699*53ee8cc1Swenshuai.xi     AU_SRS_R2_MAX=100,
2700*53ee8cc1Swenshuai.xi 
2701*53ee8cc1Swenshuai.xi     AU_SRS_PURESOUND_HL_EN,//param101
2702*53ee8cc1Swenshuai.xi     AU_SRS_PURESOUND_HL_INPUT_GAIN,//param102
2703*53ee8cc1Swenshuai.xi     AU_SRS_PURESOUND_HL_OUTPUT_GAIN,//param103
2704*53ee8cc1Swenshuai.xi     AU_SRS_PURESOUND_HL_BYPASS_GAIN,//param104
2705*53ee8cc1Swenshuai.xi     AU_SRS_PURESOUND_HL_LIMITERBOOST,//param105
2706*53ee8cc1Swenshuai.xi     AU_SRS_PURESOUND_HL_HARDLIMIT,//param106
2707*53ee8cc1Swenshuai.xi     AU_SRS_PURESOUND_HL_DELAYLEN,//param107
2708*53ee8cc1Swenshuai.xi 
2709*53ee8cc1Swenshuai.xi     AU_SRS_PURESOUND_AEQ_EN,//param108
2710*53ee8cc1Swenshuai.xi     AU_SRS_PURESOUND_AEQ_INPUT_GAIN,//param109
2711*53ee8cc1Swenshuai.xi     AU_SRS_PURESOUND_AEQ_OUTPUT_GAIN,//param110
2712*53ee8cc1Swenshuai.xi     AU_SRS_PURESOUND_AEQ_BYPASS_GAIN,//param111
2713*53ee8cc1Swenshuai.xi     AU_SRS_PURESOUND_FILTER_CONFIG,//param112
2714*53ee8cc1Swenshuai.xi 
2715*53ee8cc1Swenshuai.xi     AU_SRS_PURESOUND_HPF_EN,//param113
2716*53ee8cc1Swenshuai.xi     AU_SRS_PURESOUND_HPF_FREQUENCY,//param114
2717*53ee8cc1Swenshuai.xi     AU_SRS_PURESOUND_TBHD_EN,
2718*53ee8cc1Swenshuai.xi     AU_SRS_PURESOUND_TBHD_TRUBASS_LEVEL,
2719*53ee8cc1Swenshuai.xi     AU_SRS_PURESOUND_TBHD_SPEAKER_SIZE,
2720*53ee8cc1Swenshuai.xi     AU_SRS_PURESOUND_TBHD_LEVEL_INDEPENDENT_EN,
2721*53ee8cc1Swenshuai.xi     AU_SRS_PURESOUND_TBHD_COMPRESSOR_LEVEL,
2722*53ee8cc1Swenshuai.xi     AU_SRS_PURESOUND_TBHD_MODE,
2723*53ee8cc1Swenshuai.xi     AU_SRS_PURESOUND_TBHD_SPEAKER_AUDIO,
2724*53ee8cc1Swenshuai.xi     AU_SRS_PURESOUND_TBHD_SPEAKER_ANALYSIS,
2725*53ee8cc1Swenshuai.xi 
2726*53ee8cc1Swenshuai.xi     AU_SRS_PURESOUND_INPUT_GAIN,
2727*53ee8cc1Swenshuai.xi     AU_SRS_PURESOUND_OUTPUT_GAIN,
2728*53ee8cc1Swenshuai.xi 
2729*53ee8cc1Swenshuai.xi } AU_SRS_THEATERSOUND_TYPE;
2730*53ee8cc1Swenshuai.xi 
2731*53ee8cc1Swenshuai.xi #if defined(UFO_PUBLIC_HEADER_500) || defined(UFO_PUBLIC_HEADER_700)
2732*53ee8cc1Swenshuai.xi 
2733*53ee8cc1Swenshuai.xi typedef char* ADVSND_TYPE;
2734*53ee8cc1Swenshuai.xi #define DOLBY_PL2VDS                                   ((ADVSND_TYPE)"DOLBY_PL2VDS")
2735*53ee8cc1Swenshuai.xi #define DOLBY_PL2VDPK                                  ((ADVSND_TYPE)"DOLBY_PL2VDPK")
2736*53ee8cc1Swenshuai.xi #define BBE                                            ((ADVSND_TYPE)"BBE")
2737*53ee8cc1Swenshuai.xi #define SRS_TSXT                                       ((ADVSND_TYPE)"SRS_TSXT")
2738*53ee8cc1Swenshuai.xi #define SRS_TSHD                                       ((ADVSND_TYPE)"SRS_TSHD")
2739*53ee8cc1Swenshuai.xi #define SRS_THEATERSOUND                               ((ADVSND_TYPE)"SRS_THEATERSOUND")
2740*53ee8cc1Swenshuai.xi #define DTS_ULTRATV                                    ((ADVSND_TYPE)"DTS_ULTRATV")
2741*53ee8cc1Swenshuai.xi #define AUDYSSEY                                       ((ADVSND_TYPE)"AUDYSSEY")
2742*53ee8cc1Swenshuai.xi #define SUPER_VOICE                                    ((ADVSND_TYPE)"SUPER_VOICE")
2743*53ee8cc1Swenshuai.xi #define DBX                                            ((ADVSND_TYPE)"DBX")
2744*53ee8cc1Swenshuai.xi #define SRS_PURESND                                    ((ADVSND_TYPE)"SRS_PURESND")
2745*53ee8cc1Swenshuai.xi #define DTS_STUDIOSOUND_3D                             ((ADVSND_TYPE)"DTS_STUDIOSOUND_3D")
2746*53ee8cc1Swenshuai.xi #define BONGIOVI_DPS                                   ((ADVSND_TYPE)"BONGIOVI_DPS")
2747*53ee8cc1Swenshuai.xi #define SONICMOTION_ABS3D                              ((ADVSND_TYPE)"SONICMOTION_ABS3D")
2748*53ee8cc1Swenshuai.xi #define DOLBY_DAP                                      ((ADVSND_TYPE)"DOLBY_DAP")
2749*53ee8cc1Swenshuai.xi #define ADV_NONE                                       ((ADVSND_TYPE)"ADV_NONE")
2750*53ee8cc1Swenshuai.xi 
2751*53ee8cc1Swenshuai.xi typedef char* ADVFUNC;
2752*53ee8cc1Swenshuai.xi //SRS_TSXT
2753*53ee8cc1Swenshuai.xi #define SRS_TSXT_TRUBASS                               ((ADVFUNC)"TSXT_TRUBASS")
2754*53ee8cc1Swenshuai.xi #define SRS_TSXT_DC                                    ((ADVFUNC)"TSXT_DC")
2755*53ee8cc1Swenshuai.xi //SRS_TSHD
2756*53ee8cc1Swenshuai.xi #define SRS_TSHD_TRUBASS                               ((ADVFUNC)"TSHD_TRUBASS")
2757*53ee8cc1Swenshuai.xi #define SRS_TSHD_DC                                    ((ADVFUNC)"TSHD_DC")
2758*53ee8cc1Swenshuai.xi #define SRS_TSHD_DEFINITION                            ((ADVFUNC)"TSHD_DEFINITION")
2759*53ee8cc1Swenshuai.xi #define SRS_TSHD_SRS3D                                 ((ADVFUNC)"TSHD_SRS3D")
2760*53ee8cc1Swenshuai.xi //SRS_THEATERSOUND
2761*53ee8cc1Swenshuai.xi #define SRS_THEATERSOUND_TSHD                          ((ADVFUNC)"THSND_TSHD")
2762*53ee8cc1Swenshuai.xi #define SRS_THEATERSOUND_TRUBASS                       ((ADVFUNC)"THSND_TRUBASS")
2763*53ee8cc1Swenshuai.xi #define SRS_THEATERSOUND_DC                            ((ADVFUNC)"THSND_DC")
2764*53ee8cc1Swenshuai.xi #define SRS_THEATERSOUND_DEFINITION                    ((ADVFUNC)"THSND_DEFINITION")
2765*53ee8cc1Swenshuai.xi #define SRS_THEATERSOUND_TRUVOLUME                     ((ADVFUNC)"THSND_TRUVOLUME")
2766*53ee8cc1Swenshuai.xi #define SRS_THEATERSOUND_HARDLIMITER                   ((ADVFUNC)"THSND_HARDLIMITER")
2767*53ee8cc1Swenshuai.xi #define SRS_THEATERSOUND_HPF                           ((ADVFUNC)"THSND_HPF")
2768*53ee8cc1Swenshuai.xi #define SRS_THEATERSOUND_TRUEQ                         ((ADVFUNC)"THSND_TRUEQ")
2769*53ee8cc1Swenshuai.xi #define SRS_THEATERSOUND_TRUVOLUME_NOISE_MNGR          ((ADVFUNC)"THSND_TRUVOLUME_NOISE_MNGR")
2770*53ee8cc1Swenshuai.xi //DTS_ULTRATV
2771*53ee8cc1Swenshuai.xi #define DTS_ULTRATV_EVO                                ((ADVFUNC)"ULTRATV_EVO")
2772*53ee8cc1Swenshuai.xi #define DTS_ULTRATV_SYM                                ((ADVFUNC)"ULTRATV_SYM")
2773*53ee8cc1Swenshuai.xi //AUDYSSEY
2774*53ee8cc1Swenshuai.xi #define AUDYSSEY_DYNAMICVOL                            ((ADVFUNC)"AUDYSSEY_DYNAMICVOL")
2775*53ee8cc1Swenshuai.xi #define AUDYSSEY_DYNAMICEQ                             ((ADVFUNC)"AUDYSSEY_DYNAMICEQ")
2776*53ee8cc1Swenshuai.xi #define AUDYSSEY_EQ                                    ((ADVFUNC)"AUDYSSEY_EQ")
2777*53ee8cc1Swenshuai.xi #define AUDYSSEY_ABX                                   ((ADVFUNC)"AUDYSSEY_ABX")
2778*53ee8cc1Swenshuai.xi //SRS_TSHD
2779*53ee8cc1Swenshuai.xi #define SRS_THEATERSOUND_TSHD_SURR                     ((ADVFUNC)"THSND_TSHD_SURR")
2780*53ee8cc1Swenshuai.xi #define SRS_THEATERSOUND_TSHD_LEVEL_INDPT              ((ADVFUNC)"THSND_TSHD_LEVEL_INDPT")
2781*53ee8cc1Swenshuai.xi #define SRS_THEATERSOUND_CS                            ((ADVFUNC)"THSND_CS")
2782*53ee8cc1Swenshuai.xi #define SRS_THEATERSOUND_TRUDIALOG                     ((ADVFUNC)"THSND_TRUDIALOG")
2783*53ee8cc1Swenshuai.xi #define SRS_THEATERSOUND_TRUVOLUME_NORMALIZER          ((ADVFUNC)"THSND_TRUVOLUME_NORMALIZER")
2784*53ee8cc1Swenshuai.xi #define SRS_THEATERSOUND_TRUVOLUME_SMOOTH              ((ADVFUNC)"THSND_TRUVOLUME_SMOOTH")
2785*53ee8cc1Swenshuai.xi #define SRS_THEATERSOUND_HPF_END                       ((ADVFUNC)"THSND_HPF_END")
2786*53ee8cc1Swenshuai.xi #define SRS_THEATERSOUND_TOTAL                         ((ADVFUNC)"THSND_TOTAL")
2787*53ee8cc1Swenshuai.xi // SRS_PURESOUND
2788*53ee8cc1Swenshuai.xi #define SRS_PURESOUND_HL                               ((ADVFUNC)"PURESND_HL")
2789*53ee8cc1Swenshuai.xi #define SRS_PURESOUND_AEQ                              ((ADVFUNC)"PURESND_AEQ")
2790*53ee8cc1Swenshuai.xi #define SRS_PURESOUND_HPF                              ((ADVFUNC)"PURESND_HPF")
2791*53ee8cc1Swenshuai.xi #define SRS_PURESOUND_TBHD                             ((ADVFUNC)"PURESND_TBHD")
2792*53ee8cc1Swenshuai.xi #define SRS_THEATERSOUND_CC3D_EN                       ((ADVFUNC)"THSND_CC3D_EN")
2793*53ee8cc1Swenshuai.xi #define SRS_THEATERSOUND_CC3D_DEPTH_PROCESS_EN         ((ADVFUNC)"THSND_CC3D_DEPTH_PROCESS_EN")
2794*53ee8cc1Swenshuai.xi #define SRS_THEATERSOUND_CC3D_3D_SURR_BOOST_EN         ((ADVFUNC)"THSND_CC3D_3D_SURR_BOOST_EN")
2795*53ee8cc1Swenshuai.xi #define SRS_THEATERSOUND_CC3D_FADE_EN                  ((ADVFUNC)"THSND_CC3D_FADE_EN")
2796*53ee8cc1Swenshuai.xi #define SRS_THEATERSOUND_CC3D_TSHD_MIX_EN              ((ADVFUNC)"THSND_CC3D_TSHD_MIX_EN")
2797*53ee8cc1Swenshuai.xi #define SRS_THEATERSOUND_CC3D_TBHDX_EN                 ((ADVFUNC)"THSND_CC3D_TBHDX_EN")
2798*53ee8cc1Swenshuai.xi #define SRS_THEATERSOUND_GEQ_EN                        ((ADVFUNC)"THSND_GEQ_EN")
2799*53ee8cc1Swenshuai.xi #define SRS_THEATERSOUND_3D_EN                         ((ADVFUNC)"THSND_3D_EN")
2800*53ee8cc1Swenshuai.xi // BONGIOVI DPS
2801*53ee8cc1Swenshuai.xi #define BONGIOVI_DPS_SURR_EN                           ((ADVFUNC)"DPS_SURR_EN")
2802*53ee8cc1Swenshuai.xi // SONICEMOTION_ABS3D
2803*53ee8cc1Swenshuai.xi #define SONICEMOTION_ABS3D_EN                          ((ADVFUNC)"ABS3D_EN")
2804*53ee8cc1Swenshuai.xi // DOLBY DAP
2805*53ee8cc1Swenshuai.xi #define DOLBY_DAP_EN                                   ((ADVFUNC)"DAP_EN")
2806*53ee8cc1Swenshuai.xi 
2807*53ee8cc1Swenshuai.xi typedef char* ADVSND_PARAM;
2808*53ee8cc1Swenshuai.xi //BBE
2809*53ee8cc1Swenshuai.xi #define BBE_MODE_SET                                  ((ADVSND_PARAM)"BBE_MODE_SET")
2810*53ee8cc1Swenshuai.xi // DOLBY
2811*53ee8cc1Swenshuai.xi #define DOLBY_PL2VDPK_SMOD                            ((ADVSND_PARAM)"PL2VDPK_SMOD")
2812*53ee8cc1Swenshuai.xi #define DOLBY_PL2VDPK_WMOD                            ((ADVSND_PARAM)"PL2VDPK_WMOD")
2813*53ee8cc1Swenshuai.xi //SRS TSXT
2814*53ee8cc1Swenshuai.xi #define SRS_TSXT_SET_INPUT_GAIN                       ((ADVSND_PARAM)"TSXT_SET_INPUT_GAIN")
2815*53ee8cc1Swenshuai.xi #define SRS_TSXT_SET_DC_GAIN                          ((ADVSND_PARAM)"TSXT_SET_DC_GAIN")
2816*53ee8cc1Swenshuai.xi #define SRS_TSXT_SET_TRUBASS_GAIN                     ((ADVSND_PARAM)"TSXT_SET_TRUBASS_GAIN")
2817*53ee8cc1Swenshuai.xi #define SRS_TSXT_SET_SPEAKERSIZE                      ((ADVSND_PARAM)"TSXT_SET_SPEAKERSIZE")
2818*53ee8cc1Swenshuai.xi #define SRS_TSXT_SET_INPUT_MODE                       ((ADVSND_PARAM)"TSXT_SET_INPUT_MODE")
2819*53ee8cc1Swenshuai.xi #define SRS_TSXT_SET_OUTPUT_GAIN                      ((ADVSND_PARAM)"TSXT_SET_OUTPUT_GAIN")
2820*53ee8cc1Swenshuai.xi 
2821*53ee8cc1Swenshuai.xi //SRS TSHD in SE-DSP
2822*53ee8cc1Swenshuai.xi #define SRS_TSHD_SET_INPUT_MODE                       ((ADVSND_PARAM)"TSHD_SET_INPUT_MODE")
2823*53ee8cc1Swenshuai.xi #define SRS_TSHD_SET_OUTPUT_MODE                      ((ADVSND_PARAM)"TSHD_SET_OUTPUT_MODE")
2824*53ee8cc1Swenshuai.xi #define SRS_TSHD_SET_SPEAKERSIZE                      ((ADVSND_PARAM)"TSHD_SET_SPEAKERSIZE")
2825*53ee8cc1Swenshuai.xi #define SRS_TSHD_SET_TRUBASS_CONTROL                  ((ADVSND_PARAM)"TSHD_SET_TRUBASS_CONTROL")
2826*53ee8cc1Swenshuai.xi #define SRS_TSHD_SET_DEFINITION_CONTROL               ((ADVSND_PARAM)"TSHD_SET_DEFINITION_CONTROL")
2827*53ee8cc1Swenshuai.xi #define SRS_TSHD_SET_DC_CONTROL                       ((ADVSND_PARAM)"TSHD_SET_DC_CONTROL")
2828*53ee8cc1Swenshuai.xi #define SRS_TSHD_SET_SURROUND_LEVEL                   ((ADVSND_PARAM)"TSHD_SET_SURROUND_LEVEL")
2829*53ee8cc1Swenshuai.xi #define SRS_TSHD_SET_INPUT_GAIN                       ((ADVSND_PARAM)"TSHD_SET_INPUT_GAIN")
2830*53ee8cc1Swenshuai.xi #define SRS_TSHD_SET_WOWSPACE_CONTROL                 ((ADVSND_PARAM)"TSHD_SET_WOWSPACE_CONTROL")
2831*53ee8cc1Swenshuai.xi #define SRS_TSHD_SET_WOWCENTER_CONTROL                ((ADVSND_PARAM)"TSHD_SET_WOWCENTER_CONTROL")
2832*53ee8cc1Swenshuai.xi #define SRS_TSHD_SET_WOWHDSRS3DMODE                   ((ADVSND_PARAM)"TSHD_SET_WOWHDSRS3DMODE")
2833*53ee8cc1Swenshuai.xi #define SRS_TSHD_SET_LIMITERCONTROL                   ((ADVSND_PARAM)"TSHD_SET_LIMITERCONTROL")
2834*53ee8cc1Swenshuai.xi #define SRS_TSHD_SET_OUTPUT_GAIN                      ((ADVSND_PARAM)"TSHD_SET_OUTPUT_GAIN")
2835*53ee8cc1Swenshuai.xi // SRS_THEATERSOUND
2836*53ee8cc1Swenshuai.xi #define SRS_THEATERSOUND_INPUT_GAIN                   ((ADVSND_PARAM)"THSND_INPUT_GAIN")
2837*53ee8cc1Swenshuai.xi #define SRS_THEATERSOUND_DEFINITION_CONTROL           ((ADVSND_PARAM)"THSND_DEFINITION_CONTROL")
2838*53ee8cc1Swenshuai.xi #define SRS_THEATERSOUND_DC_CONTROL                   ((ADVSND_PARAM)"THSND_DC_CONTROL")
2839*53ee8cc1Swenshuai.xi #define SRS_THEATERSOUND_TRUBASS_CONTROL              ((ADVSND_PARAM)"THSND_TRUBASS_CONTROL")
2840*53ee8cc1Swenshuai.xi #define SRS_THEATERSOUND_SPEAKERSIZE                  ((ADVSND_PARAM)"THSND_SPEAKERSIZE")
2841*53ee8cc1Swenshuai.xi #define SRS_THEATERSOUND_HARDLIMITER_LEVEL            ((ADVSND_PARAM)"THSND_HARDLIMITER_LEVEL")
2842*53ee8cc1Swenshuai.xi #define SRS_THEATERSOUND_HARDLIMITER_BOOST_GAIN       ((ADVSND_PARAM)"THSND_HARDLIMITER_BOOST_GAIN")
2843*53ee8cc1Swenshuai.xi #define SRS_THEATERSOUND_HEADROOM_GAIN                ((ADVSND_PARAM)"THSND_HEADROOM_GAIN")
2844*53ee8cc1Swenshuai.xi #define SRS_THEATERSOUND_TRUVOLUME_MODE               ((ADVSND_PARAM)"THSND_TRUVOLUME_MODE")
2845*53ee8cc1Swenshuai.xi 
2846*53ee8cc1Swenshuai.xi #define SRS_THEATERSOUND_TRUVOLUME_REF_LEVEL          ((ADVSND_PARAM)"THSND_TRUVOLUME_REF_LEVEL")
2847*53ee8cc1Swenshuai.xi #define SRS_THEATERSOUND_TRUVOLUME_MAX_GAIN           ((ADVSND_PARAM)"THSND_TRUVOLUME_MAX_GAIN")
2848*53ee8cc1Swenshuai.xi #define SRS_THEATERSOUND_TRUVOLUME_NOISE_MNGR_THLD    ((ADVSND_PARAM)"THSND_TRUVOLUME_NOISE_MNGR_THLD")
2849*53ee8cc1Swenshuai.xi #define SRS_THEATERSOUND_TRUVOLUME_CALIBRATE          ((ADVSND_PARAM)"THSND_TRUVOLUME_CALIBRATE")
2850*53ee8cc1Swenshuai.xi #define SRS_THEATERSOUND_TRUVOLUME_INPUT_GAIN         ((ADVSND_PARAM)"THSND_TRUVOLUME_INPUT_GAIN")
2851*53ee8cc1Swenshuai.xi #define SRS_THEATERSOUND_TRUVOLUME_OUTPUT_GAIN        ((ADVSND_PARAM)"THSND_TRUVOLUME_OUTPUT_GAIN")
2852*53ee8cc1Swenshuai.xi #define SRS_THEATERSOUND_HPF_FC                       ((ADVSND_PARAM)"THSND_HPF_FC")
2853*53ee8cc1Swenshuai.xi #define SRS_THEATERSOUND_TSHD_INPUT_GAIN              ((ADVSND_PARAM)"THSND_TSHD_INPUT_GAIN")
2854*53ee8cc1Swenshuai.xi #define SRS_THEATERSOUND_TSHD_OUTPUT_GAIN             ((ADVSND_PARAM)"THSND_TSHD_OUTPUT_GAIN")
2855*53ee8cc1Swenshuai.xi #define SRS_THEATERSOUND_SURR_LEVEL_CONTROL           ((ADVSND_PARAM)"THSND_SURR_LEVEL_CONTROL")
2856*53ee8cc1Swenshuai.xi #define SRS_THEATERSOUND_TRUBASS_COMPRESSOR_CONTROL   ((ADVSND_PARAM)"THSND_TRUBASS_COMPRESSOR_CONTROL")
2857*53ee8cc1Swenshuai.xi #define SRS_THEATERSOUND_TRUBASS_PROCESS_MODE         ((ADVSND_PARAM)"THSND_TRUBASS_PROCESS_MODE")
2858*53ee8cc1Swenshuai.xi #define SRS_THEATERSOUND_TRUBASS_SPEAKER_AUDIO        ((ADVSND_PARAM)"THSND_TRUBASS_SPEAKER_AUDIO")
2859*53ee8cc1Swenshuai.xi #define SRS_THEATERSOUND_TRUBASS_SPEAKER_ANALYSIS     ((ADVSND_PARAM)"THSND_TRUBASS_SPEAKER_ANALYSIS")
2860*53ee8cc1Swenshuai.xi #define SRS_THEATERSOUND_OUTPUT_GAIN                  ((ADVSND_PARAM)"THSND_OUTPUT_GAIN")
2861*53ee8cc1Swenshuai.xi #define SRS_THEATERSOUND_BYPASS_GAIN                  ((ADVSND_PARAM)"THSND_BYPASS_GAIN")
2862*53ee8cc1Swenshuai.xi #define SRS_THEATERSOUND_INPUT_MODE                   ((ADVSND_PARAM)"THSND_INPUT_MODE")
2863*53ee8cc1Swenshuai.xi #define SRS_THEATERSOUND_TRUVOLUME_BYPASS_GAIN        ((ADVSND_PARAM)"THSND_TRUVOLUME_BYPASS_GAIN")
2864*53ee8cc1Swenshuai.xi #define SRS_THEATERSOUND_CS_INPUT_GAIN                ((ADVSND_PARAM)"THSND_CS_INPUT_GAIN")
2865*53ee8cc1Swenshuai.xi 
2866*53ee8cc1Swenshuai.xi // DTS_ULTRATV
2867*53ee8cc1Swenshuai.xi #define DTS_ULTRATV_EVO_MONOINPUT                     ((ADVSND_PARAM)"ULTRATV_EVO_MONOINPUT")
2868*53ee8cc1Swenshuai.xi #define DTS_ULTRATV_EVO_WIDENINGON                    ((ADVSND_PARAM)"ULTRATV_EVO_WIDENINGON")
2869*53ee8cc1Swenshuai.xi #define DTS_ULTRATV_EVO_ADD3DBON                      ((ADVSND_PARAM)"ULTRATV_EVO_ADD3DBON")
2870*53ee8cc1Swenshuai.xi #define DTS_ULTRATV_EVO_PCELEVEL                      ((ADVSND_PARAM)"ULTRATV_EVO_PCELEVEL")
2871*53ee8cc1Swenshuai.xi #define DTS_ULTRATV_EVO_VLFELEVEL                     ((ADVSND_PARAM)"ULTRATV_EVO_VLFELEVEL")
2872*53ee8cc1Swenshuai.xi #define DTS_ULTRATV_SYM_DEFAULT                       ((ADVSND_PARAM)"ULTRATV_SYM_DEFAULT")
2873*53ee8cc1Swenshuai.xi #define DTS_ULTRATV_SYM_MODE                          ((ADVSND_PARAM)"ULTRATV_SYM_MODE")
2874*53ee8cc1Swenshuai.xi #define DTS_ULTRATV_SYM_LEVEL                         ((ADVSND_PARAM)"ULTRATV_SYM_LEVEL")
2875*53ee8cc1Swenshuai.xi #define DTS_ULTRATV_SYM_RESET                         ((ADVSND_PARAM)"ULTRATV_SYM_RESET")
2876*53ee8cc1Swenshuai.xi // AUDYSSEY
2877*53ee8cc1Swenshuai.xi #define AUDYSSEY_DYNAMICVOL_COMPRESS_MODE             ((ADVSND_PARAM)"AUDYSSEY_DYNAMICVOL_COMPRESS_MODE")
2878*53ee8cc1Swenshuai.xi #define AUDYSSEY_DYNAMICVOL_GC                        ((ADVSND_PARAM)"AUDYSSEY_DYNAMICVOL_GC")
2879*53ee8cc1Swenshuai.xi #define AUDYSSEY_DYNAMICVOL_VOLSETTING                ((ADVSND_PARAM)"AUDYSSEY_DYNAMICVOL_VOLSETTING")
2880*53ee8cc1Swenshuai.xi #define AUDYSSEY_DYNAMICEQ_EQOFFSET                   ((ADVSND_PARAM)"AUDYSSEY_DYNAMICEQ_EQOFFSET")
2881*53ee8cc1Swenshuai.xi #define AUDYSSEY_ABX_GWET                             ((ADVSND_PARAM)"AUDYSSEY_ABX_GWET")
2882*53ee8cc1Swenshuai.xi #define AUDYSSEY_ABX_GDRY                             ((ADVSND_PARAM)"AUDYSSEY_ABX_GDRY")
2883*53ee8cc1Swenshuai.xi #define AUDYSSEY_ABX_FILSET                           ((ADVSND_PARAM)"AUDYSSEY_ABX_FILSET")
2884*53ee8cc1Swenshuai.xi // DBX
2885*53ee8cc1Swenshuai.xi #define DBX_MODE_SET                                  ((ADVSND_PARAM)"DBX_MODE_SET")
2886*53ee8cc1Swenshuai.xi #define DBX_LOAD_PM                                   ((ADVSND_PARAM)"DBX_LOAD_PM")
2887*53ee8cc1Swenshuai.xi #define DBX_LOAD_DM                                   ((ADVSND_PARAM)"DBX_LOAD_DM")
2888*53ee8cc1Swenshuai.xi #define DBX_COPY_TotSonDM                             ((ADVSND_PARAM)"DBX_COPY_TotSonDM")
2889*53ee8cc1Swenshuai.xi #define DBX_COPY_TotSonPM                             ((ADVSND_PARAM)"DBX_COPY_TotSonPM")
2890*53ee8cc1Swenshuai.xi #define DBX_COPY_TotVolDM                             ((ADVSND_PARAM)"DBX_COPY_TotVolDM")
2891*53ee8cc1Swenshuai.xi #define DBX_COPY_TotVolPM                             ((ADVSND_PARAM)"DBX_COPY_TotVolPM")
2892*53ee8cc1Swenshuai.xi #define DBX_COPY_TotSurDM                             ((ADVSND_PARAM)"DBX_COPY_TotSurDM")
2893*53ee8cc1Swenshuai.xi #define DBX_COPY_TotSurPM                             ((ADVSND_PARAM)"DBX_COPY_TotSurPM")
2894*53ee8cc1Swenshuai.xi 
2895*53ee8cc1Swenshuai.xi #define SRS_THEATERSOUND_CS_PROCESS_MODE              ((ADVSND_PARAM)"THSND_CS_PROCESS_MODE")
2896*53ee8cc1Swenshuai.xi #define SRS_THEATERSOUND_CS_LR_OUTPUT_GAIN            ((ADVSND_PARAM)"THSND_CS_LR_OUTPUT_GAIN")
2897*53ee8cc1Swenshuai.xi #define SRS_THEATERSOUND_CS_LsRs_OUTPUT_GAIN          ((ADVSND_PARAM)"THSND_CS_LsRs_OUTPUT_GAIN")
2898*53ee8cc1Swenshuai.xi #define SRS_THEATERSOUND_CS_Center_OUTPUT_GAIN        ((ADVSND_PARAM)"THSND_CS_Center_OUTPUT_GAIN")
2899*53ee8cc1Swenshuai.xi #define SRS_THEATERSOUND_TRUDIALOG_INPUT_GAIN         ((ADVSND_PARAM)"THSND_TRUDIALOG_INPUT_GAIN")
2900*53ee8cc1Swenshuai.xi #define SRS_THEATERSOUND_TRUDIALOG_OUTPUT_GAIN        ((ADVSND_PARAM)"THSND_TRUDIALOG_OUTPUT_GAIN")
2901*53ee8cc1Swenshuai.xi #define SRS_THEATERSOUND_TRUDIALOG_BYPASS_GAIN        ((ADVSND_PARAM)"THSND_TRUDIALOG_BYPASS_GAIN")
2902*53ee8cc1Swenshuai.xi #define SRS_THEATERSOUND_TRUDIALOG_PROCESS_GAIN       ((ADVSND_PARAM)"THSND_TRUDIALOG_PROCESS_GAIN")
2903*53ee8cc1Swenshuai.xi #define SRS_THEATERSOUND_TRUDIALOG_CLARITY_GAIN       ((ADVSND_PARAM)"THSND_TRUDIALOG_CLARITY_GAIN")
2904*53ee8cc1Swenshuai.xi #define SRS_THEATERSOUND_TRUVOLUME_NORMALIZE_THRESH   ((ADVSND_PARAM)"THSND_TRUVOLUME_NORMALIZE_THRESH")
2905*53ee8cc1Swenshuai.xi #define SRS_THEATERSOUND_HPF_CUTOFF                   ((ADVSND_PARAM)"THSND_HPF_CUTOFF")
2906*53ee8cc1Swenshuai.xi #define SRS_THEATERSOUND_HPF_END_CUTOFF               ((ADVSND_PARAM)"THSND_HPF_END_CUTOFF")
2907*53ee8cc1Swenshuai.xi // SRS PURESOUND
2908*53ee8cc1Swenshuai.xi #define SRS_PURESOUND_HL_INPUT_GAIN                   ((ADVSND_PARAM)"PURESND_HL_INPUT_GAIN")
2909*53ee8cc1Swenshuai.xi #define SRS_PURESOUND_HL_OUTPUT_GAIN                  ((ADVSND_PARAM)"PURESND_HL_OUTPUT_GAIN")
2910*53ee8cc1Swenshuai.xi #define SRS_PURESOUND_HL_BYPASS_GAIN                  ((ADVSND_PARAM)"PURESND_HL_BYPASS_GAIN")
2911*53ee8cc1Swenshuai.xi #define SRS_PURESOUND_HL_LIMITERBOOST                 ((ADVSND_PARAM)"PURESND_HL_LIMITERBOOST")
2912*53ee8cc1Swenshuai.xi #define SRS_PURESOUND_HL_HARDLIMIT                    ((ADVSND_PARAM)"PURESND_HL_HARDLIMIT")
2913*53ee8cc1Swenshuai.xi #define SRS_PURESOUND_HL_DELAYLEN                     ((ADVSND_PARAM)"PURESND_HL_DELAYLEN")
2914*53ee8cc1Swenshuai.xi #define SRS_PURESOUND_AEQ_INPUT_GAIN                  ((ADVSND_PARAM)"PURESND_AEQ_INPUT_GAIN")
2915*53ee8cc1Swenshuai.xi #define SRS_PURESOUND_AEQ_OUTPUT_GAIN                 ((ADVSND_PARAM)"PURESND_AEQ_OUTPUT_GAIN")
2916*53ee8cc1Swenshuai.xi #define SRS_PURESOUND_AEQ_BYPASS_GAIN                 ((ADVSND_PARAM)"PURESND_AEQ_BYPASS_GAIN")
2917*53ee8cc1Swenshuai.xi #define SRS_PURESOUND_FILTER_CONFIG                   ((ADVSND_PARAM)"PURESND_FILTER_CONFIG")
2918*53ee8cc1Swenshuai.xi #define SRS_PURESOUND_HPF_FREQUENCY                   ((ADVSND_PARAM)"PURESND_HPF_FREQUENCY")
2919*53ee8cc1Swenshuai.xi #define SRS_PURESOUND_TBHD_TRUBASS_LEVEL              ((ADVSND_PARAM)"PURESND_TBHD_TRUBASS_LEVEL")
2920*53ee8cc1Swenshuai.xi #define SRS_PURESOUND_TBHD_SPEAKER_SIZE               ((ADVSND_PARAM)"PURESND_TBHD_SPEAKER_SIZE")
2921*53ee8cc1Swenshuai.xi #define SRS_PURESOUND_TBHD_LEVEL_INDEPENDENT_EN       ((ADVSND_PARAM)"PURESND_TBHD_LEVEL_INDEPENDENT_EN")
2922*53ee8cc1Swenshuai.xi #define SRS_PURESOUND_TBHD_COMPRESSOR_LEVEL           ((ADVSND_PARAM)"PURESND_TBHD_COMPRESSOR_LEVEL")
2923*53ee8cc1Swenshuai.xi #define SRS_PURESOUND_TBHD_MODE                       ((ADVSND_PARAM)"PURESND_TBHD_MODE")
2924*53ee8cc1Swenshuai.xi #define SRS_PURESOUND_TBHD_SPEAKER_AUDIO              ((ADVSND_PARAM)"PURESND_TBHD_SPEAKER_AUDIO")
2925*53ee8cc1Swenshuai.xi #define SRS_PURESOUND_TBHD_SPEAKER_ANALYSIS           ((ADVSND_PARAM)"PURESND_TBHD_SPEAKER_ANALYSIS")
2926*53ee8cc1Swenshuai.xi #define SRS_PURESOUND_INPUT_GAIN                      ((ADVSND_PARAM)"PURESND_INPUT_GAIN")
2927*53ee8cc1Swenshuai.xi #define SRS_PURESOUND_OUTPUT_GAIN                     ((ADVSND_PARAM)"PURESND_OUTPUT_GAIN")
2928*53ee8cc1Swenshuai.xi //SRS_THEATERSOUND_3D
2929*53ee8cc1Swenshuai.xi #define SRS_THEATERSOUND_CC3D_INPUT_GAIN              ((ADVSND_PARAM)"THSND_CC3D_INPUT_GAIN")
2930*53ee8cc1Swenshuai.xi #define SRS_THEATERSOUND_CC3D_OUTPUT_GAIN             ((ADVSND_PARAM)"THSND_CC3D_OUTPUT_GAIN")
2931*53ee8cc1Swenshuai.xi #define SRS_THEATERSOUND_CC3D_BYPASS_GAIN             ((ADVSND_PARAM)"THSND_CC3D_BYPASS_GAIN")
2932*53ee8cc1Swenshuai.xi #define SRS_THEATERSOUND_CC3D_APERTURE                ((ADVSND_PARAM)"THSND_CC3D_APERTURE")
2933*53ee8cc1Swenshuai.xi #define SRS_THEATERSOUND_CC3D_GAINLIMIT               ((ADVSND_PARAM)"THSND_CC3D_GAINLIMIT")
2934*53ee8cc1Swenshuai.xi #define SRS_THEATERSOUND_CC3D_FF_DEPTH                ((ADVSND_PARAM)"THSND_CC3D_FF_DEPTH")
2935*53ee8cc1Swenshuai.xi #define SRS_THEATERSOUND_CC3D_NF_DEPTH                ((ADVSND_PARAM)"THSND_CC3D_NF_DEPTH")
2936*53ee8cc1Swenshuai.xi #define SRS_THEATERSOUND_CC3D_TSHD_SURR_MODE          ((ADVSND_PARAM)"THSND_CC3D_TSHD_SURR_MODE")
2937*53ee8cc1Swenshuai.xi #define SRS_THEATERSOUND_CC3D_TSHD_MIX_FADE_CTRL      ((ADVSND_PARAM)"THSND_CC3D_TSHD_MIX_FADE_CTRL")
2938*53ee8cc1Swenshuai.xi 
2939*53ee8cc1Swenshuai.xi #define SRS_THEATERSOUND_CC3D_TBHDX_INPUT_GAIN        ((ADVSND_PARAM)"THSND_CC3D_TBHDX_INPUT_GAIN")
2940*53ee8cc1Swenshuai.xi #define SRS_THEATERSOUND_CC3D_TBHDX_BASSLEVEL         ((ADVSND_PARAM)"THSND_CC3D_TBHDX_BASSLEVEL")
2941*53ee8cc1Swenshuai.xi #define SRS_THEATERSOUND_CC3D_TBHDX_SPEAKERSIZE       ((ADVSND_PARAM)"THSND_CC3D_TBHDX_SPEAKERSIZE")
2942*53ee8cc1Swenshuai.xi #define SRS_THEATERSOUND_CC3D_TBHDX_MODE              ((ADVSND_PARAM)"THSND_CC3D_TBHDX_MODE")
2943*53ee8cc1Swenshuai.xi #define SRS_THEATERSOUND_CC3D_TBHDX_DYNAMICS          ((ADVSND_PARAM)"THSND_CC3D_TBHDX_DYNAMICS")
2944*53ee8cc1Swenshuai.xi #define SRS_THEATERSOUND_CC3D_TBHDX_HP_ORDER          ((ADVSND_PARAM)"THSND_CC3D_TBHDX_HP_ORDER")
2945*53ee8cc1Swenshuai.xi #define SRS_THEATERSOUND_CC3D_TBHDX_CUSTOM_FILTER     ((ADVSND_PARAM)"THSND_CC3D_TBHDX_CUSTOM_FILTER")
2946*53ee8cc1Swenshuai.xi #define SRS_THEATERSOUND_GEQ_INPUT_GAIN               ((ADVSND_PARAM)"THSND_GEQ_INPUT_GAIN")
2947*53ee8cc1Swenshuai.xi #define SRS_THEATERSOUND_GEQ_BAND0_GAIN               ((ADVSND_PARAM)"THSND_GEQ_BAND0_GAIN")
2948*53ee8cc1Swenshuai.xi #define SRS_THEATERSOUND_GEQ_BAND1_GAIN               ((ADVSND_PARAM)"THSND_GEQ_BAND1_GAIN")
2949*53ee8cc1Swenshuai.xi #define SRS_THEATERSOUND_GEQ_BAND2_GAIN               ((ADVSND_PARAM)"THSND_GEQ_BAND2_GAIN")
2950*53ee8cc1Swenshuai.xi #define SRS_THEATERSOUND_GEQ_BAND3_GAIN               ((ADVSND_PARAM)"THSND_GEQ_BAND3_GAIN")
2951*53ee8cc1Swenshuai.xi #define SRS_THEATERSOUND_GEQ_BAND4_GAIN               ((ADVSND_PARAM)"THSND_GEQ_BAND4_GAIN")
2952*53ee8cc1Swenshuai.xi #define SRS_THEATERSOUND_CC3D_PROCESS_PATH            ((ADVSND_PARAM)"THSND_CC3D_PROCESS_PATH")
2953*53ee8cc1Swenshuai.xi #define SRS_THEATERSOUND_TSHD_BYPASS_GAIN             ((ADVSND_PARAM)"THSND_TSHD_BYPASS_GAIN")
2954*53ee8cc1Swenshuai.xi // BONGIOVI_DPS
2955*53ee8cc1Swenshuai.xi #define BONGIOVI_DPS_SET_PARAMS                       ((ADVSND_PARAM)"DPS_SET_PARAMS")
2956*53ee8cc1Swenshuai.xi #define BONGIOVI_DPS_SET_GLOBAL_INPUT_GAIN            ((ADVSND_PARAM)"DPS_SET_GLOBAL_INPUT_GAIN")
2957*53ee8cc1Swenshuai.xi #define BONGIOVI_DPS_SET_GLOBAL_OUTPUT_GAIN           ((ADVSND_PARAM)"DPS_SET_GLOBAL_OUTPUT_GAIN")
2958*53ee8cc1Swenshuai.xi #define BONGIOVI_DPS_SET_STEREO_WIDENER_MGAIN         ((ADVSND_PARAM)"DPS_SET_STEREO_WIDENER_MGAIN")
2959*53ee8cc1Swenshuai.xi #define BONGIOVI_DPS_SET_STEREO_WIDENER_SGAIN         ((ADVSND_PARAM)"DPS_SET_STEREO_WIDENER_SGAIN")
2960*53ee8cc1Swenshuai.xi // SONICEMOTION ABS3D
2961*53ee8cc1Swenshuai.xi #define SONICEMOTION_ABS3D_SET_PARAMS                 ((ADVSND_PARAM)"ABS3D_SET_PARAMS")
2962*53ee8cc1Swenshuai.xi // DOLBY DAP
2963*53ee8cc1Swenshuai.xi #define DOLBY_DAP_SET_PARAMS                          ((ADVSND_PARAM)"DAP_SET_PARAMS")
2964*53ee8cc1Swenshuai.xi 
2965*53ee8cc1Swenshuai.xi #define DBXTV_SET_MODE                                ((ADVSND_PARAM)"DBXTV_SET_MODE")
2966*53ee8cc1Swenshuai.xi 
2967*53ee8cc1Swenshuai.xi // THESE ARE DUMMY DEFINITIONS WHICH ARE DEFINED TO PREVENT SN COMPILE ERROR AND THESE WOULD BE DELETED IN THE FUTURE.
2968*53ee8cc1Swenshuai.xi #define ADVSND_PARAM_DUMMY   "ADVSND_PARAM_DUMMY"
2969*53ee8cc1Swenshuai.xi #define SRS_TSXT_RESERVE1                             ((ADVSND_PARAM)ADVSND_PARAM_DUMMY)
2970*53ee8cc1Swenshuai.xi #define SRS_TSXT_RESERVE2                             ((ADVSND_PARAM)ADVSND_PARAM_DUMMY)
2971*53ee8cc1Swenshuai.xi #define SRS_TSXT_RESERVE3                             ((ADVSND_PARAM)ADVSND_PARAM_DUMMY)
2972*53ee8cc1Swenshuai.xi #define SRS_TSHD_RESERVE1                             ((ADVSND_PARAM)ADVSND_PARAM_DUMMY)
2973*53ee8cc1Swenshuai.xi #define SRS_TSHD_RESERVE2                             ((ADVSND_PARAM)ADVSND_PARAM_DUMMY)
2974*53ee8cc1Swenshuai.xi #define SRS_TSHD_RESERVE3                             ((ADVSND_PARAM)ADVSND_PARAM_DUMMY)
2975*53ee8cc1Swenshuai.xi #define DTS_ULTRATV_RESERVE1                          ((ADVSND_PARAM)ADVSND_PARAM_DUMMY)
2976*53ee8cc1Swenshuai.xi #define DTS_ULTRATV_RESERVE2                          ((ADVSND_PARAM)ADVSND_PARAM_DUMMY)
2977*53ee8cc1Swenshuai.xi #define DTS_ULTRATV_RESERVE3                          ((ADVSND_PARAM)ADVSND_PARAM_DUMMY)
2978*53ee8cc1Swenshuai.xi #define DTS_ULTRATV_RESERVE4                          ((ADVSND_PARAM)ADVSND_PARAM_DUMMY)
2979*53ee8cc1Swenshuai.xi #define DTS_ULTRATV_RESERVE5                          ((ADVSND_PARAM)ADVSND_PARAM_DUMMY)
2980*53ee8cc1Swenshuai.xi #define DTS_ULTRATV_RESERVE6                          ((ADVSND_PARAM)ADVSND_PARAM_DUMMY)
2981*53ee8cc1Swenshuai.xi #define DTS_ULTRATV_RESERVE7                          ((ADVSND_PARAM)ADVSND_PARAM_DUMMY)
2982*53ee8cc1Swenshuai.xi #define DTS_ULTRATV_RESERVE8                          ((ADVSND_PARAM)ADVSND_PARAM_DUMMY)
2983*53ee8cc1Swenshuai.xi #define DTS_ULTRATV_RESERVE9                          ((ADVSND_PARAM)ADVSND_PARAM_DUMMY)
2984*53ee8cc1Swenshuai.xi #define AUDYSSEY_RESERVE1                             ((ADVSND_PARAM)ADVSND_PARAM_DUMMY)
2985*53ee8cc1Swenshuai.xi #define AUDYSSEY_RESERVE2                             ((ADVSND_PARAM)ADVSND_PARAM_DUMMY)
2986*53ee8cc1Swenshuai.xi #define AUDYSSEY_RESERVE3                             ((ADVSND_PARAM)ADVSND_PARAM_DUMMY)
2987*53ee8cc1Swenshuai.xi #define AUDYSSEY_RESERVE4                             ((ADVSND_PARAM)ADVSND_PARAM_DUMMY)
2988*53ee8cc1Swenshuai.xi #define AUDYSSEY_RESERVE5                             ((ADVSND_PARAM)ADVSND_PARAM_DUMMY)
2989*53ee8cc1Swenshuai.xi #define AUDYSSEY_RESERVE6                             ((ADVSND_PARAM)ADVSND_PARAM_DUMMY)
2990*53ee8cc1Swenshuai.xi #define OTHERS_RESERVE9                               ((ADVSND_PARAM)ADVSND_PARAM_DUMMY)
2991*53ee8cc1Swenshuai.xi #define OTHERS_RESERVE10                              ((ADVSND_PARAM)ADVSND_PARAM_DUMMY)
2992*53ee8cc1Swenshuai.xi #define OTHERS_RESERVE11                              ((ADVSND_PARAM)ADVSND_PARAM_DUMMY)
2993*53ee8cc1Swenshuai.xi #define OTHERS_RESERVE12                              ((ADVSND_PARAM)ADVSND_PARAM_DUMMY)
2994*53ee8cc1Swenshuai.xi #define OTHERS_RESERVE13                              ((ADVSND_PARAM)ADVSND_PARAM_DUMMY)
2995*53ee8cc1Swenshuai.xi #define OTHERS_RESERVE14                              ((ADVSND_PARAM)ADVSND_PARAM_DUMMY)
2996*53ee8cc1Swenshuai.xi #define OTHERS_RESERVE15                              ((ADVSND_PARAM)ADVSND_PARAM_DUMMY)
2997*53ee8cc1Swenshuai.xi #define OTHERS_RESERVE16                              ((ADVSND_PARAM)ADVSND_PARAM_DUMMY)
2998*53ee8cc1Swenshuai.xi #define OTHERS_RESERVE17                              ((ADVSND_PARAM)ADVSND_PARAM_DUMMY)
2999*53ee8cc1Swenshuai.xi #define OTHERS_RESERVE18                              ((ADVSND_PARAM)ADVSND_PARAM_DUMMY)
3000*53ee8cc1Swenshuai.xi #define OTHERS_RESERVE19                              ((ADVSND_PARAM)ADVSND_PARAM_DUMMY)
3001*53ee8cc1Swenshuai.xi #define OTHERS_RESERVE20                              ((ADVSND_PARAM)ADVSND_PARAM_DUMMY)
3002*53ee8cc1Swenshuai.xi #define OTHERS_RESERVE21                              ((ADVSND_PARAM)ADVSND_PARAM_DUMMY)
3003*53ee8cc1Swenshuai.xi #define OTHERS_RESERVE22                              ((ADVSND_PARAM)ADVSND_PARAM_DUMMY)
3004*53ee8cc1Swenshuai.xi #define OTHERS_RESERVE23                              ((ADVSND_PARAM)ADVSND_PARAM_DUMMY)
3005*53ee8cc1Swenshuai.xi #define OTHERS_RESERVE24                              ((ADVSND_PARAM)ADVSND_PARAM_DUMMY)
3006*53ee8cc1Swenshuai.xi #define OTHERS_RESERVE25                              ((ADVSND_PARAM)ADVSND_PARAM_DUMMY)
3007*53ee8cc1Swenshuai.xi #define OTHERS_RESERVE26                              ((ADVSND_PARAM)ADVSND_PARAM_DUMMY)
3008*53ee8cc1Swenshuai.xi #define OTHERS_RESERVE27                              ((ADVSND_PARAM)ADVSND_PARAM_DUMMY)
3009*53ee8cc1Swenshuai.xi #define OTHERS_RESERVE28                              ((ADVSND_PARAM)ADVSND_PARAM_DUMMY)
3010*53ee8cc1Swenshuai.xi #define OTHERS_RESERVE29                              ((ADVSND_PARAM)ADVSND_PARAM_DUMMY)
3011*53ee8cc1Swenshuai.xi #define OTHERS_RESERVE30                              ((ADVSND_PARAM)ADVSND_PARAM_DUMMY)
3012*53ee8cc1Swenshuai.xi 
3013*53ee8cc1Swenshuai.xi #else
3014*53ee8cc1Swenshuai.xi 
3015*53ee8cc1Swenshuai.xi typedef enum
3016*53ee8cc1Swenshuai.xi {
3017*53ee8cc1Swenshuai.xi     DOLBY_PL2VDS,
3018*53ee8cc1Swenshuai.xi     DOLBY_PL2VDPK,
3019*53ee8cc1Swenshuai.xi     BBE,
3020*53ee8cc1Swenshuai.xi     SRS_TSXT,
3021*53ee8cc1Swenshuai.xi     SRS_TSHD,
3022*53ee8cc1Swenshuai.xi     SRS_THEATERSOUND,
3023*53ee8cc1Swenshuai.xi     DTS_ULTRATV,
3024*53ee8cc1Swenshuai.xi     AUDYSSEY,
3025*53ee8cc1Swenshuai.xi     SUPER_VOICE,
3026*53ee8cc1Swenshuai.xi     DBX,
3027*53ee8cc1Swenshuai.xi     SRS_PURESND,
3028*53ee8cc1Swenshuai.xi     DTS_STUDIOSOUND_3D,
3029*53ee8cc1Swenshuai.xi     BONGIOVI_DPS,
3030*53ee8cc1Swenshuai.xi     CV3,
3031*53ee8cc1Swenshuai.xi     SONICMOTION_ABS3D,
3032*53ee8cc1Swenshuai.xi     DOLBY_DAP,
3033*53ee8cc1Swenshuai.xi     ADV_NONE,
3034*53ee8cc1Swenshuai.xi } ADVSND_TYPE;
3035*53ee8cc1Swenshuai.xi 
3036*53ee8cc1Swenshuai.xi typedef enum
3037*53ee8cc1Swenshuai.xi {
3038*53ee8cc1Swenshuai.xi     //SRS_TSXT
3039*53ee8cc1Swenshuai.xi     SRS_TSXT_TRUBASS,
3040*53ee8cc1Swenshuai.xi     SRS_TSXT_DC,
3041*53ee8cc1Swenshuai.xi 
3042*53ee8cc1Swenshuai.xi     //SRS_TSHD
3043*53ee8cc1Swenshuai.xi     SRS_TSHD_TRUBASS,
3044*53ee8cc1Swenshuai.xi     SRS_TSHD_DC,
3045*53ee8cc1Swenshuai.xi     SRS_TSHD_DEFINITION,
3046*53ee8cc1Swenshuai.xi     SRS_TSHD_SRS3D,
3047*53ee8cc1Swenshuai.xi 
3048*53ee8cc1Swenshuai.xi     //SRS_THEATERSOUND
3049*53ee8cc1Swenshuai.xi     SRS_THEATERSOUND_TSHD,
3050*53ee8cc1Swenshuai.xi     SRS_THEATERSOUND_TRUBASS,
3051*53ee8cc1Swenshuai.xi     SRS_THEATERSOUND_DC,
3052*53ee8cc1Swenshuai.xi     SRS_THEATERSOUND_DEFINITION,
3053*53ee8cc1Swenshuai.xi     SRS_THEATERSOUND_TRUVOLUME,
3054*53ee8cc1Swenshuai.xi     SRS_THEATERSOUND_HARDLIMITER,
3055*53ee8cc1Swenshuai.xi     SRS_THEATERSOUND_HPF,
3056*53ee8cc1Swenshuai.xi     SRS_THEATERSOUND_TRUEQ,
3057*53ee8cc1Swenshuai.xi     SRS_THEATERSOUND_TRUVOLUME_NOISE_MNGR,
3058*53ee8cc1Swenshuai.xi 
3059*53ee8cc1Swenshuai.xi     //DTS_ULTRATV
3060*53ee8cc1Swenshuai.xi     DTS_ULTRATV_EVO,
3061*53ee8cc1Swenshuai.xi     DTS_ULTRATV_SYM,
3062*53ee8cc1Swenshuai.xi 
3063*53ee8cc1Swenshuai.xi     //AUDYSSEY
3064*53ee8cc1Swenshuai.xi     AUDYSSEY_DYNAMICVOL,
3065*53ee8cc1Swenshuai.xi     AUDYSSEY_DYNAMICEQ,
3066*53ee8cc1Swenshuai.xi     AUDYSSEY_EQ,
3067*53ee8cc1Swenshuai.xi     AUDYSSEY_ABX,
3068*53ee8cc1Swenshuai.xi 
3069*53ee8cc1Swenshuai.xi     SRS_THEATERSOUND_TSHD_SURR,
3070*53ee8cc1Swenshuai.xi     SRS_THEATERSOUND_TSHD_LEVEL_INDPT,
3071*53ee8cc1Swenshuai.xi     SRS_THEATERSOUND_CS,
3072*53ee8cc1Swenshuai.xi     SRS_THEATERSOUND_TRUDIALOG,
3073*53ee8cc1Swenshuai.xi     SRS_THEATERSOUND_TRUVOLUME_NORMALIZER,
3074*53ee8cc1Swenshuai.xi     SRS_THEATERSOUND_TRUVOLUME_SMOOTH,
3075*53ee8cc1Swenshuai.xi     SRS_THEATERSOUND_HPF_END,
3076*53ee8cc1Swenshuai.xi     SRS_THEATERSOUND_TOTAL,
3077*53ee8cc1Swenshuai.xi 
3078*53ee8cc1Swenshuai.xi     SRS_PURESOUND_HL,
3079*53ee8cc1Swenshuai.xi     SRS_PURESOUND_AEQ,
3080*53ee8cc1Swenshuai.xi     SRS_PURESOUND_HPF,
3081*53ee8cc1Swenshuai.xi     SRS_PURESOUND_TBHD,
3082*53ee8cc1Swenshuai.xi     SRS_THEATERSOUND_CC3D_EN,
3083*53ee8cc1Swenshuai.xi     SRS_THEATERSOUND_CC3D_DEPTH_PROCESS_EN,
3084*53ee8cc1Swenshuai.xi     SRS_THEATERSOUND_CC3D_3D_SURR_BOOST_EN,
3085*53ee8cc1Swenshuai.xi     SRS_THEATERSOUND_CC3D_FADE_EN,
3086*53ee8cc1Swenshuai.xi     SRS_THEATERSOUND_CC3D_TSHD_MIX_EN,
3087*53ee8cc1Swenshuai.xi     SRS_THEATERSOUND_CC3D_TBHDX_EN,
3088*53ee8cc1Swenshuai.xi     SRS_THEATERSOUND_GEQ_EN,
3089*53ee8cc1Swenshuai.xi     SRS_THEATERSOUND_3D_EN,
3090*53ee8cc1Swenshuai.xi 
3091*53ee8cc1Swenshuai.xi     // BONGIOVI DPS
3092*53ee8cc1Swenshuai.xi     BONGIOVI_DPS_SURR_EN,
3093*53ee8cc1Swenshuai.xi 
3094*53ee8cc1Swenshuai.xi     // SONICEMOTOIN_ABS3D
3095*53ee8cc1Swenshuai.xi     SONICEMOTION_ABS3D_EN,
3096*53ee8cc1Swenshuai.xi 
3097*53ee8cc1Swenshuai.xi     // DOLBY_DAP
3098*53ee8cc1Swenshuai.xi     DOLBY_DAP_EN,
3099*53ee8cc1Swenshuai.xi } ADVFUNC;
3100*53ee8cc1Swenshuai.xi 
3101*53ee8cc1Swenshuai.xi typedef enum
3102*53ee8cc1Swenshuai.xi {
3103*53ee8cc1Swenshuai.xi     //BBE
3104*53ee8cc1Swenshuai.xi     BBE_MODE_SET,
3105*53ee8cc1Swenshuai.xi 
3106*53ee8cc1Swenshuai.xi     //DOLBY
3107*53ee8cc1Swenshuai.xi     DOLBY_PL2VDPK_SMOD,
3108*53ee8cc1Swenshuai.xi     DOLBY_PL2VDPK_WMOD,
3109*53ee8cc1Swenshuai.xi 
3110*53ee8cc1Swenshuai.xi     //SRS TSXT
3111*53ee8cc1Swenshuai.xi     SRS_TSXT_SET_INPUT_GAIN,
3112*53ee8cc1Swenshuai.xi     SRS_TSXT_SET_DC_GAIN,
3113*53ee8cc1Swenshuai.xi     SRS_TSXT_SET_TRUBASS_GAIN,
3114*53ee8cc1Swenshuai.xi     SRS_TSXT_SET_SPEAKERSIZE,
3115*53ee8cc1Swenshuai.xi     SRS_TSXT_SET_INPUT_MODE,
3116*53ee8cc1Swenshuai.xi     SRS_TSXT_SET_OUTPUT_GAIN,
3117*53ee8cc1Swenshuai.xi     SRS_TSXT_RESERVE1,
3118*53ee8cc1Swenshuai.xi     SRS_TSXT_RESERVE2,
3119*53ee8cc1Swenshuai.xi     SRS_TSXT_RESERVE3,
3120*53ee8cc1Swenshuai.xi 
3121*53ee8cc1Swenshuai.xi     //SRS TSHD in SE-DSP
3122*53ee8cc1Swenshuai.xi     SRS_TSHD_SET_INPUT_MODE,
3123*53ee8cc1Swenshuai.xi     SRS_TSHD_SET_OUTPUT_MODE,
3124*53ee8cc1Swenshuai.xi     SRS_TSHD_SET_SPEAKERSIZE,
3125*53ee8cc1Swenshuai.xi     SRS_TSHD_SET_TRUBASS_CONTROL,
3126*53ee8cc1Swenshuai.xi     SRS_TSHD_SET_DEFINITION_CONTROL,
3127*53ee8cc1Swenshuai.xi     SRS_TSHD_SET_DC_CONTROL,
3128*53ee8cc1Swenshuai.xi     SRS_TSHD_SET_SURROUND_LEVEL,
3129*53ee8cc1Swenshuai.xi     SRS_TSHD_SET_INPUT_GAIN,
3130*53ee8cc1Swenshuai.xi     SRS_TSHD_SET_WOWSPACE_CONTROL,
3131*53ee8cc1Swenshuai.xi     SRS_TSHD_SET_WOWCENTER_CONTROL,
3132*53ee8cc1Swenshuai.xi     SRS_TSHD_SET_WOWHDSRS3DMODE,
3133*53ee8cc1Swenshuai.xi     SRS_TSHD_SET_LIMITERCONTROL,
3134*53ee8cc1Swenshuai.xi     SRS_TSHD_SET_OUTPUT_GAIN,
3135*53ee8cc1Swenshuai.xi     SRS_TSHD_RESERVE1,
3136*53ee8cc1Swenshuai.xi     SRS_TSHD_RESERVE2,
3137*53ee8cc1Swenshuai.xi     SRS_TSHD_RESERVE3,
3138*53ee8cc1Swenshuai.xi 
3139*53ee8cc1Swenshuai.xi     //SRS_THEATERSOUND
3140*53ee8cc1Swenshuai.xi     SRS_THEATERSOUND_INPUT_GAIN,
3141*53ee8cc1Swenshuai.xi     SRS_THEATERSOUND_DEFINITION_CONTROL,
3142*53ee8cc1Swenshuai.xi     SRS_THEATERSOUND_DC_CONTROL,
3143*53ee8cc1Swenshuai.xi     SRS_THEATERSOUND_TRUBASS_CONTROL,
3144*53ee8cc1Swenshuai.xi     SRS_THEATERSOUND_SPEAKERSIZE,
3145*53ee8cc1Swenshuai.xi     SRS_THEATERSOUND_HARDLIMITER_LEVEL,
3146*53ee8cc1Swenshuai.xi     SRS_THEATERSOUND_HARDLIMITER_BOOST_GAIN,
3147*53ee8cc1Swenshuai.xi     SRS_THEATERSOUND_HEADROOM_GAIN,
3148*53ee8cc1Swenshuai.xi     SRS_THEATERSOUND_TRUVOLUME_MODE,
3149*53ee8cc1Swenshuai.xi     SRS_THEATERSOUND_TRUVOLUME_REF_LEVEL,
3150*53ee8cc1Swenshuai.xi     SRS_THEATERSOUND_TRUVOLUME_MAX_GAIN,
3151*53ee8cc1Swenshuai.xi     SRS_THEATERSOUND_TRUVOLUME_NOISE_MNGR_THLD,
3152*53ee8cc1Swenshuai.xi     SRS_THEATERSOUND_TRUVOLUME_CALIBRATE,
3153*53ee8cc1Swenshuai.xi     SRS_THEATERSOUND_TRUVOLUME_INPUT_GAIN,
3154*53ee8cc1Swenshuai.xi     SRS_THEATERSOUND_TRUVOLUME_OUTPUT_GAIN,
3155*53ee8cc1Swenshuai.xi     SRS_THEATERSOUND_HPF_FC,
3156*53ee8cc1Swenshuai.xi     SRS_THEATERSOUND_TSHD_INPUT_GAIN,
3157*53ee8cc1Swenshuai.xi     SRS_THEATERSOUND_TSHD_OUTPUT_GAIN,
3158*53ee8cc1Swenshuai.xi     SRS_THEATERSOUND_SURR_LEVEL_CONTROL,
3159*53ee8cc1Swenshuai.xi     SRS_THEATERSOUND_TRUBASS_COMPRESSOR_CONTROL,
3160*53ee8cc1Swenshuai.xi     SRS_THEATERSOUND_TRUBASS_PROCESS_MODE,
3161*53ee8cc1Swenshuai.xi     SRS_THEATERSOUND_TRUBASS_SPEAKER_AUDIO,
3162*53ee8cc1Swenshuai.xi     SRS_THEATERSOUND_TRUBASS_SPEAKER_ANALYSIS,
3163*53ee8cc1Swenshuai.xi     SRS_THEATERSOUND_OUTPUT_GAIN,
3164*53ee8cc1Swenshuai.xi     SRS_THEATERSOUND_BYPASS_GAIN,
3165*53ee8cc1Swenshuai.xi     SRS_THEATERSOUND_INPUT_MODE,
3166*53ee8cc1Swenshuai.xi     SRS_THEATERSOUND_TRUVOLUME_BYPASS_GAIN,
3167*53ee8cc1Swenshuai.xi     SRS_THEATERSOUND_CS_INPUT_GAIN,
3168*53ee8cc1Swenshuai.xi 
3169*53ee8cc1Swenshuai.xi     //DTS_ULTRATV
3170*53ee8cc1Swenshuai.xi     DTS_ULTRATV_EVO_MONOINPUT,
3171*53ee8cc1Swenshuai.xi     DTS_ULTRATV_EVO_WIDENINGON,
3172*53ee8cc1Swenshuai.xi     DTS_ULTRATV_EVO_ADD3DBON,
3173*53ee8cc1Swenshuai.xi     DTS_ULTRATV_EVO_PCELEVEL,
3174*53ee8cc1Swenshuai.xi     DTS_ULTRATV_EVO_VLFELEVEL,
3175*53ee8cc1Swenshuai.xi     DTS_ULTRATV_RESERVE1,
3176*53ee8cc1Swenshuai.xi     DTS_ULTRATV_RESERVE2,
3177*53ee8cc1Swenshuai.xi     DTS_ULTRATV_RESERVE3,
3178*53ee8cc1Swenshuai.xi     DTS_ULTRATV_RESERVE4,
3179*53ee8cc1Swenshuai.xi     DTS_ULTRATV_RESERVE5,
3180*53ee8cc1Swenshuai.xi     DTS_ULTRATV_RESERVE6,
3181*53ee8cc1Swenshuai.xi 
3182*53ee8cc1Swenshuai.xi     DTS_ULTRATV_SYM_DEFAULT,
3183*53ee8cc1Swenshuai.xi     DTS_ULTRATV_SYM_MODE,
3184*53ee8cc1Swenshuai.xi     DTS_ULTRATV_SYM_LEVEL,
3185*53ee8cc1Swenshuai.xi     DTS_ULTRATV_SYM_RESET,
3186*53ee8cc1Swenshuai.xi     DTS_ULTRATV_RESERVE7,
3187*53ee8cc1Swenshuai.xi     DTS_ULTRATV_RESERVE8,
3188*53ee8cc1Swenshuai.xi     DTS_ULTRATV_RESERVE9,
3189*53ee8cc1Swenshuai.xi 
3190*53ee8cc1Swenshuai.xi     //AUDYSSEY
3191*53ee8cc1Swenshuai.xi     AUDYSSEY_DYNAMICVOL_COMPRESS_MODE,
3192*53ee8cc1Swenshuai.xi     AUDYSSEY_DYNAMICVOL_GC,
3193*53ee8cc1Swenshuai.xi     AUDYSSEY_DYNAMICVOL_VOLSETTING,
3194*53ee8cc1Swenshuai.xi     AUDYSSEY_DYNAMICEQ_EQOFFSET,
3195*53ee8cc1Swenshuai.xi     AUDYSSEY_ABX_GWET,
3196*53ee8cc1Swenshuai.xi     AUDYSSEY_ABX_GDRY,
3197*53ee8cc1Swenshuai.xi     AUDYSSEY_ABX_FILSET,
3198*53ee8cc1Swenshuai.xi     AUDYSSEY_RESERVE1,
3199*53ee8cc1Swenshuai.xi     AUDYSSEY_RESERVE2,
3200*53ee8cc1Swenshuai.xi     AUDYSSEY_RESERVE3,
3201*53ee8cc1Swenshuai.xi     AUDYSSEY_RESERVE4,
3202*53ee8cc1Swenshuai.xi     AUDYSSEY_RESERVE5,
3203*53ee8cc1Swenshuai.xi     AUDYSSEY_RESERVE6,
3204*53ee8cc1Swenshuai.xi 
3205*53ee8cc1Swenshuai.xi     //DBX
3206*53ee8cc1Swenshuai.xi     DBX_MODE_SET,
3207*53ee8cc1Swenshuai.xi     DBX_LOAD_PM,
3208*53ee8cc1Swenshuai.xi     DBX_LOAD_DM,
3209*53ee8cc1Swenshuai.xi     DBX_COPY_TotSonDM,
3210*53ee8cc1Swenshuai.xi     DBX_COPY_TotSonPM,
3211*53ee8cc1Swenshuai.xi     DBX_COPY_TotVolDM,
3212*53ee8cc1Swenshuai.xi     DBX_COPY_TotVolPM,
3213*53ee8cc1Swenshuai.xi     DBX_COPY_TotSurDM,
3214*53ee8cc1Swenshuai.xi     DBX_COPY_TotSurPM,
3215*53ee8cc1Swenshuai.xi     OTHERS_RESERVE9,
3216*53ee8cc1Swenshuai.xi     OTHERS_RESERVE10,
3217*53ee8cc1Swenshuai.xi     OTHERS_RESERVE11,
3218*53ee8cc1Swenshuai.xi     OTHERS_RESERVE12,
3219*53ee8cc1Swenshuai.xi     OTHERS_RESERVE13,
3220*53ee8cc1Swenshuai.xi     OTHERS_RESERVE14,
3221*53ee8cc1Swenshuai.xi     OTHERS_RESERVE15,
3222*53ee8cc1Swenshuai.xi     OTHERS_RESERVE16,
3223*53ee8cc1Swenshuai.xi     OTHERS_RESERVE17,
3224*53ee8cc1Swenshuai.xi     OTHERS_RESERVE18,
3225*53ee8cc1Swenshuai.xi     OTHERS_RESERVE19,
3226*53ee8cc1Swenshuai.xi     OTHERS_RESERVE20,
3227*53ee8cc1Swenshuai.xi     OTHERS_RESERVE21,
3228*53ee8cc1Swenshuai.xi     OTHERS_RESERVE22,
3229*53ee8cc1Swenshuai.xi     OTHERS_RESERVE23,
3230*53ee8cc1Swenshuai.xi     OTHERS_RESERVE24,
3231*53ee8cc1Swenshuai.xi     OTHERS_RESERVE25,
3232*53ee8cc1Swenshuai.xi     OTHERS_RESERVE26,
3233*53ee8cc1Swenshuai.xi     OTHERS_RESERVE27,
3234*53ee8cc1Swenshuai.xi     OTHERS_RESERVE28,
3235*53ee8cc1Swenshuai.xi     OTHERS_RESERVE29,
3236*53ee8cc1Swenshuai.xi     OTHERS_RESERVE30,
3237*53ee8cc1Swenshuai.xi 
3238*53ee8cc1Swenshuai.xi     SRS_THEATERSOUND_CS_PROCESS_MODE,
3239*53ee8cc1Swenshuai.xi     SRS_THEATERSOUND_CS_LR_OUTPUT_GAIN,
3240*53ee8cc1Swenshuai.xi     SRS_THEATERSOUND_CS_LsRs_OUTPUT_GAIN,
3241*53ee8cc1Swenshuai.xi     SRS_THEATERSOUND_CS_Center_OUTPUT_GAIN,
3242*53ee8cc1Swenshuai.xi     SRS_THEATERSOUND_TRUDIALOG_INPUT_GAIN,
3243*53ee8cc1Swenshuai.xi     SRS_THEATERSOUND_TRUDIALOG_OUTPUT_GAIN,
3244*53ee8cc1Swenshuai.xi     SRS_THEATERSOUND_TRUDIALOG_BYPASS_GAIN,
3245*53ee8cc1Swenshuai.xi     SRS_THEATERSOUND_TRUDIALOG_PROCESS_GAIN,
3246*53ee8cc1Swenshuai.xi     SRS_THEATERSOUND_TRUDIALOG_CLARITY_GAIN,
3247*53ee8cc1Swenshuai.xi     SRS_THEATERSOUND_TRUVOLUME_NORMALIZE_THRESH,
3248*53ee8cc1Swenshuai.xi     SRS_THEATERSOUND_HPF_CUTOFF,
3249*53ee8cc1Swenshuai.xi     SRS_THEATERSOUND_HPF_END_CUTOFF,
3250*53ee8cc1Swenshuai.xi 
3251*53ee8cc1Swenshuai.xi 
3252*53ee8cc1Swenshuai.xi     //SRS PURESOUND
3253*53ee8cc1Swenshuai.xi     SRS_PURESOUND_HL_INPUT_GAIN,
3254*53ee8cc1Swenshuai.xi     SRS_PURESOUND_HL_OUTPUT_GAIN,
3255*53ee8cc1Swenshuai.xi     SRS_PURESOUND_HL_BYPASS_GAIN,
3256*53ee8cc1Swenshuai.xi     SRS_PURESOUND_HL_LIMITERBOOST,
3257*53ee8cc1Swenshuai.xi     SRS_PURESOUND_HL_HARDLIMIT,
3258*53ee8cc1Swenshuai.xi     SRS_PURESOUND_HL_DELAYLEN,
3259*53ee8cc1Swenshuai.xi     SRS_PURESOUND_AEQ_INPUT_GAIN,
3260*53ee8cc1Swenshuai.xi     SRS_PURESOUND_AEQ_OUTPUT_GAIN,
3261*53ee8cc1Swenshuai.xi     SRS_PURESOUND_AEQ_BYPASS_GAIN,
3262*53ee8cc1Swenshuai.xi     SRS_PURESOUND_FILTER_CONFIG,
3263*53ee8cc1Swenshuai.xi     SRS_PURESOUND_HPF_FREQUENCY,
3264*53ee8cc1Swenshuai.xi     SRS_PURESOUND_TBHD_TRUBASS_LEVEL,
3265*53ee8cc1Swenshuai.xi     SRS_PURESOUND_TBHD_SPEAKER_SIZE,
3266*53ee8cc1Swenshuai.xi     SRS_PURESOUND_TBHD_LEVEL_INDEPENDENT_EN,
3267*53ee8cc1Swenshuai.xi     SRS_PURESOUND_TBHD_COMPRESSOR_LEVEL,
3268*53ee8cc1Swenshuai.xi     SRS_PURESOUND_TBHD_MODE,
3269*53ee8cc1Swenshuai.xi     SRS_PURESOUND_TBHD_SPEAKER_AUDIO,
3270*53ee8cc1Swenshuai.xi     SRS_PURESOUND_TBHD_SPEAKER_ANALYSIS,
3271*53ee8cc1Swenshuai.xi     SRS_PURESOUND_INPUT_GAIN,
3272*53ee8cc1Swenshuai.xi     SRS_PURESOUND_OUTPUT_GAIN,
3273*53ee8cc1Swenshuai.xi 
3274*53ee8cc1Swenshuai.xi     //SRS_THEATERSOUND_3D
3275*53ee8cc1Swenshuai.xi     SRS_THEATERSOUND_CC3D_INPUT_GAIN,
3276*53ee8cc1Swenshuai.xi     SRS_THEATERSOUND_CC3D_OUTPUT_GAIN,
3277*53ee8cc1Swenshuai.xi     SRS_THEATERSOUND_CC3D_BYPASS_GAIN,
3278*53ee8cc1Swenshuai.xi     SRS_THEATERSOUND_CC3D_APERTURE,
3279*53ee8cc1Swenshuai.xi     SRS_THEATERSOUND_CC3D_GAINLIMIT,
3280*53ee8cc1Swenshuai.xi     SRS_THEATERSOUND_CC3D_FF_DEPTH,
3281*53ee8cc1Swenshuai.xi     SRS_THEATERSOUND_CC3D_NF_DEPTH,
3282*53ee8cc1Swenshuai.xi 
3283*53ee8cc1Swenshuai.xi     SRS_THEATERSOUND_CC3D_TSHD_SURR_MODE,
3284*53ee8cc1Swenshuai.xi     SRS_THEATERSOUND_CC3D_TSHD_MIX_FADE_CTRL,
3285*53ee8cc1Swenshuai.xi 
3286*53ee8cc1Swenshuai.xi     SRS_THEATERSOUND_CC3D_TBHDX_INPUT_GAIN,
3287*53ee8cc1Swenshuai.xi     SRS_THEATERSOUND_CC3D_TBHDX_BASSLEVEL,
3288*53ee8cc1Swenshuai.xi     SRS_THEATERSOUND_CC3D_TBHDX_SPEAKERSIZE,
3289*53ee8cc1Swenshuai.xi     SRS_THEATERSOUND_CC3D_TBHDX_MODE,
3290*53ee8cc1Swenshuai.xi     SRS_THEATERSOUND_CC3D_TBHDX_DYNAMICS,
3291*53ee8cc1Swenshuai.xi     SRS_THEATERSOUND_CC3D_TBHDX_HP_ORDER,
3292*53ee8cc1Swenshuai.xi     SRS_THEATERSOUND_CC3D_TBHDX_CUSTOM_FILTER,
3293*53ee8cc1Swenshuai.xi     SRS_THEATERSOUND_GEQ_INPUT_GAIN,
3294*53ee8cc1Swenshuai.xi     SRS_THEATERSOUND_GEQ_BAND0_GAIN,
3295*53ee8cc1Swenshuai.xi     SRS_THEATERSOUND_GEQ_BAND1_GAIN,
3296*53ee8cc1Swenshuai.xi     SRS_THEATERSOUND_GEQ_BAND2_GAIN,
3297*53ee8cc1Swenshuai.xi     SRS_THEATERSOUND_GEQ_BAND3_GAIN,
3298*53ee8cc1Swenshuai.xi     SRS_THEATERSOUND_GEQ_BAND4_GAIN,
3299*53ee8cc1Swenshuai.xi     SRS_THEATERSOUND_CC3D_PROCESS_PATH,
3300*53ee8cc1Swenshuai.xi     SRS_THEATERSOUND_TSHD_BYPASS_GAIN,
3301*53ee8cc1Swenshuai.xi 
3302*53ee8cc1Swenshuai.xi     //Dolby Volume
3303*53ee8cc1Swenshuai.xi     DV258_ENABLE,
3304*53ee8cc1Swenshuai.xi     DV258_LCL_ENABLE,
3305*53ee8cc1Swenshuai.xi     DV258_LCL_LEVELER_ENABLE,
3306*53ee8cc1Swenshuai.xi     DV258_LCL_MODELER_ENABLE,
3307*53ee8cc1Swenshuai.xi     DV258_LCL_MODELER_HALF_MODE,
3308*53ee8cc1Swenshuai.xi     DV258_LCL_AMOUNT,
3309*53ee8cc1Swenshuai.xi     DV258_LCL_AVM,
3310*53ee8cc1Swenshuai.xi     DV258_LCL_DVM,
3311*53ee8cc1Swenshuai.xi     DV258_LCL_IRL,
3312*53ee8cc1Swenshuai.xi     DV258_LCL_ORL,
3313*53ee8cc1Swenshuai.xi     DV258_LCL_PREGAIN,
3314*53ee8cc1Swenshuai.xi     DV258_LCL_GAIN,
3315*53ee8cc1Swenshuai.xi 
3316*53ee8cc1Swenshuai.xi     DV258_LIMITER_ENABLE,
3317*53ee8cc1Swenshuai.xi     DV258_LIMITER_PEAK,
3318*53ee8cc1Swenshuai.xi     DV258_LIMITER_BOOST,
3319*53ee8cc1Swenshuai.xi     DV258_LIMITER_RMS,
3320*53ee8cc1Swenshuai.xi 
3321*53ee8cc1Swenshuai.xi     // BONGIOVI_DPS
3322*53ee8cc1Swenshuai.xi     BONGIOVI_DPS_SET_PARAMS,
3323*53ee8cc1Swenshuai.xi     BONGIOVI_DPS_SET_GLOBAL_INPUT_GAIN,
3324*53ee8cc1Swenshuai.xi     BONGIOVI_DPS_SET_GLOBAL_OUTPUT_GAIN,
3325*53ee8cc1Swenshuai.xi     BONGIOVI_DPS_SET_STEREO_WIDENER_MGAIN,
3326*53ee8cc1Swenshuai.xi     BONGIOVI_DPS_SET_STEREO_WIDENER_SGAIN,
3327*53ee8cc1Swenshuai.xi 
3328*53ee8cc1Swenshuai.xi     // SONICEMOTION ABS3D
3329*53ee8cc1Swenshuai.xi     SONICEMOTION_ABS3D_SET_PARAMS,
3330*53ee8cc1Swenshuai.xi 
3331*53ee8cc1Swenshuai.xi     // DOLBY_DAP
3332*53ee8cc1Swenshuai.xi     DOLBY_DAP_SET_PARAMS,
3333*53ee8cc1Swenshuai.xi 
3334*53ee8cc1Swenshuai.xi     // DBX
3335*53ee8cc1Swenshuai.xi     DBXTV_SET_MODE,
3336*53ee8cc1Swenshuai.xi } ADVSND_PARAM;
3337*53ee8cc1Swenshuai.xi 
3338*53ee8cc1Swenshuai.xi #endif
3339*53ee8cc1Swenshuai.xi 
3340*53ee8cc1Swenshuai.xi //====== Certification Mode TYPE========
3341*53ee8cc1Swenshuai.xi typedef enum
3342*53ee8cc1Swenshuai.xi {
3343*53ee8cc1Swenshuai.xi     AUDIO_DOLBY_DD_Cert,                ///<
3344*53ee8cc1Swenshuai.xi     AUDIO_DOLBY_DDP_Cert,               ///<
3345*53ee8cc1Swenshuai.xi     AUDIO_DOLBY_PULSE_Cert,             ///<
3346*53ee8cc1Swenshuai.xi     AUDIO_DOLBY_DDCO_Cert,              ///<
3347*53ee8cc1Swenshuai.xi     AUDIO_DOLBY_MS10_Cert,              ///<
3348*53ee8cc1Swenshuai.xi     AUDIO_DOLBY_RESERVE1,               ///<
3349*53ee8cc1Swenshuai.xi     AUDIO_DOLBY_RESERVE2,               ///<
3350*53ee8cc1Swenshuai.xi     AUDIO_DOLBY_RESERVE3,               ///<
3351*53ee8cc1Swenshuai.xi     AUDIO_DTS_DMP_Cert,                 ///<
3352*53ee8cc1Swenshuai.xi     AUDIO_DTS_BC_Cert,                  ///<
3353*53ee8cc1Swenshuai.xi     AUDIO_DTS_PremiumTV_Cert,           ///<
3354*53ee8cc1Swenshuai.xi     AUDIO_DTS_SYMMETRY_Cert,            ///<
3355*53ee8cc1Swenshuai.xi     AUDIO_DTS_ENVELO_Cert,              ///<
3356*53ee8cc1Swenshuai.xi     AUDIO_DTS_RESERVE1,                 ///<
3357*53ee8cc1Swenshuai.xi     AUDIO_DTS_RESERVE2,                 ///<
3358*53ee8cc1Swenshuai.xi     AUDIO_DTS_RESERVE3,                 ///<
3359*53ee8cc1Swenshuai.xi     AUDIO_SRS_XT_Cert,                  ///<
3360*53ee8cc1Swenshuai.xi     AUDIO_SRS_RESERVE1,                 ///<
3361*53ee8cc1Swenshuai.xi     AUDIO_SRS_RESERVE2,                 ///<
3362*53ee8cc1Swenshuai.xi     AUDIO_SRS_RESERVE3,                 ///<
3363*53ee8cc1Swenshuai.xi } Audio_CertMode;
3364*53ee8cc1Swenshuai.xi 
3365*53ee8cc1Swenshuai.xi typedef enum
3366*53ee8cc1Swenshuai.xi {
3367*53ee8cc1Swenshuai.xi     AUDIO_CERT_Enable,
3368*53ee8cc1Swenshuai.xi     AUDIO_CERT_Disable
3369*53ee8cc1Swenshuai.xi }Audio_CertEnable;
3370*53ee8cc1Swenshuai.xi 
3371*53ee8cc1Swenshuai.xi //====== VoIP Applications ========
3372*53ee8cc1Swenshuai.xi typedef enum
3373*53ee8cc1Swenshuai.xi {
3374*53ee8cc1Swenshuai.xi     /* VoIP Application CallBack */
3375*53ee8cc1Swenshuai.xi     AUDIO_VoIP_CONFIG_REGISTER_DEC_CB,
3376*53ee8cc1Swenshuai.xi     AUDIO_VoIP_CONFIG_REGISTER_SE_CB,
3377*53ee8cc1Swenshuai.xi 
3378*53ee8cc1Swenshuai.xi     /* VoIP Application Audio In/Out */
3379*53ee8cc1Swenshuai.xi     AUDIO_VoIP_CONFIG_ALSA_PLAYBACK,
3380*53ee8cc1Swenshuai.xi 
3381*53ee8cc1Swenshuai.xi     /* Voip Application setup pcm upload and config SRC */
3382*53ee8cc1Swenshuai.xi     AUDIO_VOIP_CONFIG_PCM_UPLOAD,
3383*53ee8cc1Swenshuai.xi 
3384*53ee8cc1Swenshuai.xi }AUDIO_VoIP_CONFIG_TYPE;
3385*53ee8cc1Swenshuai.xi 
3386*53ee8cc1Swenshuai.xi 
3387*53ee8cc1Swenshuai.xi //====== STAOS PIP START 2012/02/01 ========
3388*53ee8cc1Swenshuai.xi 
3389*53ee8cc1Swenshuai.xi typedef struct
3390*53ee8cc1Swenshuai.xi {
3391*53ee8cc1Swenshuai.xi     XPCM_TYPE audioType;
3392*53ee8cc1Swenshuai.xi #if defined(UFO_PUBLIC_HEADER_212) ||defined(UFO_PUBLIC_HEADER_500_3)
3393*53ee8cc1Swenshuai.xi     MS_U32    sampleRate;
3394*53ee8cc1Swenshuai.xi #else
3395*53ee8cc1Swenshuai.xi     MS_U16    sampleRate;
3396*53ee8cc1Swenshuai.xi #endif
3397*53ee8cc1Swenshuai.xi     MS_U16    blockSize;
3398*53ee8cc1Swenshuai.xi     MS_U16    samplePerBlock;
3399*53ee8cc1Swenshuai.xi     MS_U8     channels;
3400*53ee8cc1Swenshuai.xi     MS_U8     bitsPerSample;
3401*53ee8cc1Swenshuai.xi 
3402*53ee8cc1Swenshuai.xi } Audio_XPCM_Param;
3403*53ee8cc1Swenshuai.xi 
3404*53ee8cc1Swenshuai.xi typedef struct
3405*53ee8cc1Swenshuai.xi {
3406*53ee8cc1Swenshuai.xi     #define  MAX_NUM_CODECS  5
3407*53ee8cc1Swenshuai.xi 
3408*53ee8cc1Swenshuai.xi     MS_U16 Channels[MAX_NUM_CODECS];
3409*53ee8cc1Swenshuai.xi     MS_U16 Regions[MAX_NUM_CODECS];
3410*53ee8cc1Swenshuai.xi     MS_U16 cplStart[MAX_NUM_CODECS];
3411*53ee8cc1Swenshuai.xi     MS_U16 cplQbits[MAX_NUM_CODECS];
3412*53ee8cc1Swenshuai.xi     MS_U16 FrameSize[MAX_NUM_CODECS];
3413*53ee8cc1Swenshuai.xi 
3414*53ee8cc1Swenshuai.xi     MS_U16 mNumCodecs;
3415*53ee8cc1Swenshuai.xi     MS_U16 mSamples;
3416*53ee8cc1Swenshuai.xi     MS_U16 mSampleRate;
3417*53ee8cc1Swenshuai.xi 
3418*53ee8cc1Swenshuai.xi } Audio_COOK_Param;
3419*53ee8cc1Swenshuai.xi 
3420*53ee8cc1Swenshuai.xi typedef struct
3421*53ee8cc1Swenshuai.xi {
3422*53ee8cc1Swenshuai.xi     MS_U32    u32Version;
3423*53ee8cc1Swenshuai.xi     MS_U32    u32Channels;
3424*53ee8cc1Swenshuai.xi     MS_U32    u32SampleRate;
3425*53ee8cc1Swenshuai.xi     MS_U32    u32ByteRate;
3426*53ee8cc1Swenshuai.xi     MS_U32    u32BlockAlign;
3427*53ee8cc1Swenshuai.xi     MS_U32    u32Encopt;
3428*53ee8cc1Swenshuai.xi     MS_U32    u32ParsingByApp;
3429*53ee8cc1Swenshuai.xi     MS_U32    u32BitsPerSample;
3430*53ee8cc1Swenshuai.xi     MS_U32    u32ChannelMask;
3431*53ee8cc1Swenshuai.xi     MS_U32    u32DrcParamExist;
3432*53ee8cc1Swenshuai.xi     MS_U32    u32DrcRmsAmpRef;
3433*53ee8cc1Swenshuai.xi     MS_U32    u32DrcRmsAmpTarget;
3434*53ee8cc1Swenshuai.xi     MS_U32    u32DrcPeakAmpRef;
3435*53ee8cc1Swenshuai.xi     MS_U32    u32DrcPeakAmpTarget;
3436*53ee8cc1Swenshuai.xi     MS_U32    u32MaxPacketSize;
3437*53ee8cc1Swenshuai.xi 
3438*53ee8cc1Swenshuai.xi } Audio_ASF_Param;
3439*53ee8cc1Swenshuai.xi 
3440*53ee8cc1Swenshuai.xi typedef struct
3441*53ee8cc1Swenshuai.xi {
3442*53ee8cc1Swenshuai.xi     MS_U32 U32WrtAddr;
3443*53ee8cc1Swenshuai.xi     MS_U32 U32WrtBytes;
3444*53ee8cc1Swenshuai.xi 
3445*53ee8cc1Swenshuai.xi } Audio_MM_Data_Request;
3446*53ee8cc1Swenshuai.xi 
3447*53ee8cc1Swenshuai.xi typedef struct
3448*53ee8cc1Swenshuai.xi {
3449*53ee8cc1Swenshuai.xi     MS_U32  U32DecodeFrame;
3450*53ee8cc1Swenshuai.xi     MS_U32  U32WrtAddr;
3451*53ee8cc1Swenshuai.xi     MS_U32  U32WrtBytes;
3452*53ee8cc1Swenshuai.xi     /* TVOS2.0 DTV */
3453*53ee8cc1Swenshuai.xi     MS_S64  S64CPTS;
3454*53ee8cc1Swenshuai.xi     MS_U32  U32FrameSize;
3455*53ee8cc1Swenshuai.xi     MS_U32  U32ReadAddr;
3456*53ee8cc1Swenshuai.xi     MS_U32  U32Channels;
3457*53ee8cc1Swenshuai.xi     MS_U32  U32Bps;
3458*53ee8cc1Swenshuai.xi     MS_U32  U32SampleRate;
3459*53ee8cc1Swenshuai.xi     MS_U32  U32WriteAddr;
3460*53ee8cc1Swenshuai.xi } Audio_MM_PCM_Info;
3461*53ee8cc1Swenshuai.xi 
3462*53ee8cc1Swenshuai.xi typedef struct
3463*53ee8cc1Swenshuai.xi {
3464*53ee8cc1Swenshuai.xi     MS_U32  U32Name;
3465*53ee8cc1Swenshuai.xi     MS_U32  U32IsHashkeySupported;
3466*53ee8cc1Swenshuai.xi 
3467*53ee8cc1Swenshuai.xi } Audio_Hashkey_Info;
3468*53ee8cc1Swenshuai.xi 
3469*53ee8cc1Swenshuai.xi /// Audio Decoder ID Information
3470*53ee8cc1Swenshuai.xi typedef enum
3471*53ee8cc1Swenshuai.xi {
3472*53ee8cc1Swenshuai.xi     /// Audio Decoder ID invalid
3473*53ee8cc1Swenshuai.xi     AU_DEC_INVALID                       = -1,
3474*53ee8cc1Swenshuai.xi     /// Audio 1-Decoder ID
3475*53ee8cc1Swenshuai.xi     AU_DEC_ID1                           =  0,
3476*53ee8cc1Swenshuai.xi     /// Audio 2-Decoder ID
3477*53ee8cc1Swenshuai.xi     AU_DEC_ID2                           =  1,
3478*53ee8cc1Swenshuai.xi     /// Audio 3-Decoder ID
3479*53ee8cc1Swenshuai.xi     AU_DEC_ID3                           =  2,
3480*53ee8cc1Swenshuai.xi     AU_DEC_MAX                           =  3
3481*53ee8cc1Swenshuai.xi 
3482*53ee8cc1Swenshuai.xi } AUDIO_DEC_ID;
3483*53ee8cc1Swenshuai.xi 
3484*53ee8cc1Swenshuai.xi typedef enum
3485*53ee8cc1Swenshuai.xi {
3486*53ee8cc1Swenshuai.xi     AUDIO_DSP_ID_DEC = 0x00,
3487*53ee8cc1Swenshuai.xi     AUDIO_DSP_ID_SND,
3488*53ee8cc1Swenshuai.xi     AUDIO_DSP_ID_R2,
3489*53ee8cc1Swenshuai.xi 
3490*53ee8cc1Swenshuai.xi     AUDIO_DSP_ID_ALL = 0xFF
3491*53ee8cc1Swenshuai.xi } AUDIO_DSP_ID;
3492*53ee8cc1Swenshuai.xi 
3493*53ee8cc1Swenshuai.xi typedef enum
3494*53ee8cc1Swenshuai.xi {
3495*53ee8cc1Swenshuai.xi     AUDIO_MM_OMX = 0x00,
3496*53ee8cc1Swenshuai.xi     AUDIO_MM_VD,
3497*53ee8cc1Swenshuai.xi     AUDIO_MM_MAX = 0xFF
3498*53ee8cc1Swenshuai.xi } AUDIO_MM_TYPE;
3499*53ee8cc1Swenshuai.xi 
3500*53ee8cc1Swenshuai.xi typedef enum
3501*53ee8cc1Swenshuai.xi {
3502*53ee8cc1Swenshuai.xi     FILTER_TYPE_AUDIO_1 = 0,
3503*53ee8cc1Swenshuai.xi     FILTER_TYPE_AUDIO_2,
3504*53ee8cc1Swenshuai.xi     FILTER_TYPE_AUDIO_INVALID,
3505*53ee8cc1Swenshuai.xi 
3506*53ee8cc1Swenshuai.xi } AUDIO_FILTER_TYPE;
3507*53ee8cc1Swenshuai.xi 
3508*53ee8cc1Swenshuai.xi typedef enum
3509*53ee8cc1Swenshuai.xi {
3510*53ee8cc1Swenshuai.xi     Audio_ParamType_SoundMode = 0,
3511*53ee8cc1Swenshuai.xi     Audio_ParamType_syncSTC,
3512*53ee8cc1Swenshuai.xi     Audio_ParamType_PTS_info,
3513*53ee8cc1Swenshuai.xi     Audio_ParamType_setAudioDecoder,
3514*53ee8cc1Swenshuai.xi     Audio_ParamType_acMode,
3515*53ee8cc1Swenshuai.xi     Audio_ParamType_MM_FFx2,
3516*53ee8cc1Swenshuai.xi     Audio_ParamType_reqDataSize,
3517*53ee8cc1Swenshuai.xi     Audio_ParamType_esBuf_informDataRdy,      // new
3518*53ee8cc1Swenshuai.xi     Audio_ParamType_playControl,
3519*53ee8cc1Swenshuai.xi     Audio_ParamType_mute,
3520*53ee8cc1Swenshuai.xi     Audio_ParamType_predecode,                // for KTV
3521*53ee8cc1Swenshuai.xi     Audio_ParamType_setWMADecParam,
3522*53ee8cc1Swenshuai.xi     Audio_ParamType_setCOOKDecParam,
3523*53ee8cc1Swenshuai.xi     Audio_ParamType_setXPCMDecParam,
3524*53ee8cc1Swenshuai.xi     Audio_ParamType_UNI_PCM3_Input_Addr,
3525*53ee8cc1Swenshuai.xi     Audio_ParamType_UNI_NEED_DECODE_FRMCNT,
3526*53ee8cc1Swenshuai.xi     Audio_ParamType_UNI_ES_Wptr,
3527*53ee8cc1Swenshuai.xi     Audio_ParamType_UNI_PCMOutCnt,
3528*53ee8cc1Swenshuai.xi     Audio_ParamType_AllocDecoder,
3529*53ee8cc1Swenshuai.xi     Audio_ParamType_FreeDecoder,
3530*53ee8cc1Swenshuai.xi     Audio_ParamType_omx_spdif_mode,
3531*53ee8cc1Swenshuai.xi     Audio_ParamType_omx_spdif_play,
3532*53ee8cc1Swenshuai.xi     Audio_ParamType_omx_spdif_pcmLevel,
3533*53ee8cc1Swenshuai.xi     Audio_ParamType_setExtSynth,
3534*53ee8cc1Swenshuai.xi     Audio_ParamType_trueHD_bypass_enable,
3535*53ee8cc1Swenshuai.xi     Audio_ParamType_tvos2_PCM_rdPtr,     //  byte pointer        // update when change       //range : 0 ~ PCM1_DRAM_SIZE
3536*53ee8cc1Swenshuai.xi     Audio_ParamType_tvos2_DTV_SyncType,  // 0: Normal type, 1: TVOS2.0
3537*53ee8cc1Swenshuai.xi     Audio_ParamType_CommonCmd,
3538*53ee8cc1Swenshuai.xi     Audio_ParamType_Multi_Channel,
3539*53ee8cc1Swenshuai.xi     Audio_ParamType_omx_spdif_pause,
3540*53ee8cc1Swenshuai.xi     Audio_ParamType_omx_spdif_flush,
3541*53ee8cc1Swenshuai.xi     Audio_ParamType_omx_spdif_allowed_sampleSize,
3542*53ee8cc1Swenshuai.xi     Audio_R2_SHM_PARAM_DOLBY_DRC_MODE,
3543*53ee8cc1Swenshuai.xi     Audio_R2_SHM_PARAM_DOLBY_DMX_MODE,
3544*53ee8cc1Swenshuai.xi     Audio_R2_SHM_PARAM_DOLBY_HIGH_CUT,
3545*53ee8cc1Swenshuai.xi     Audio_R2_SHM_PARAM_DOLBY_LOW_BOOST,
3546*53ee8cc1Swenshuai.xi     Audio_R2_SHM_PARAM_AD_Volume,
3547*53ee8cc1Swenshuai.xi     Audio_R2_Set_NonPcm_Sel,
3548*53ee8cc1Swenshuai.xi     Audio_ParamType_Abs_ReadReg_Target,
3549*53ee8cc1Swenshuai.xi     Audio_ParamType_Abs_WriteReg_Target,
3550*53ee8cc1Swenshuai.xi     Audio_ParamType_Abs_WriteReg_Value,
3551*53ee8cc1Swenshuai.xi     Audio_ParamType_ReadDM_Target,
3552*53ee8cc1Swenshuai.xi     Audio_ParamType_WriteDM_Target,
3553*53ee8cc1Swenshuai.xi     Audio_ParamType_WriteDM_Value,
3554*53ee8cc1Swenshuai.xi     Audio_ParamType_ReadPM_Target,
3555*53ee8cc1Swenshuai.xi     Audio_ParamType_WritePM_Target,
3556*53ee8cc1Swenshuai.xi     Audio_ParamType_WritePM_Value,
3557*53ee8cc1Swenshuai.xi     Audio_ParamType_Abs_ReadXbox_Target,
3558*53ee8cc1Swenshuai.xi     Audio_ParamType_Abs_WriteXbox_Target,
3559*53ee8cc1Swenshuai.xi     Audio_ParamType_Abs_WriteXbox_Value,
3560*53ee8cc1Swenshuai.xi     Audio_ParamType_Audio_AAC_mm_single_frame_mode,
3561*53ee8cc1Swenshuai.xi 
3562*53ee8cc1Swenshuai.xi     Audio_R2_SHM_PARAM_ES_Limiter_EN,
3563*53ee8cc1Swenshuai.xi     Audio_R2_SHM_PARAM_ES_Limiter_Threshold,
3564*53ee8cc1Swenshuai.xi     Audio_R2_SHM_PARAM_PCM_Limiter_EN,
3565*53ee8cc1Swenshuai.xi     Audio_R2_SHM_PARAM_PCM_Limiter_Threshold,
3566*53ee8cc1Swenshuai.xi     Audio_SE_Set_PCM_Capture_Volume,
3567*53ee8cc1Swenshuai.xi     Audio_SE_Set_PCM_Capture2_Volume,
3568*53ee8cc1Swenshuai.xi     Audio_infoType_Abs_ReadReg_Target,
3569*53ee8cc1Swenshuai.xi     Audio_infoType_Abs_WriteReg_Target,
3570*53ee8cc1Swenshuai.xi     Audio_infoType_Abs_WriteReg_Value,
3571*53ee8cc1Swenshuai.xi     Audio_infoType_ReadDM_Target,
3572*53ee8cc1Swenshuai.xi     Audio_infoType_WriteDM_Target,
3573*53ee8cc1Swenshuai.xi     Audio_infoType_WriteDM_Value,
3574*53ee8cc1Swenshuai.xi     Audio_infoType_ReadPM_Target,
3575*53ee8cc1Swenshuai.xi     Audio_infoType_WritePM_Target,
3576*53ee8cc1Swenshuai.xi     Audio_infoType_WritePM_Value,
3577*53ee8cc1Swenshuai.xi     Audio_ParamType_UNI_TrickMode,
3578*53ee8cc1Swenshuai.xi     Audio_ParamType_MPG_AVOFFSET,
3579*53ee8cc1Swenshuai.xi     Audio_ParamType_AC3_AVOFFSET,
3580*53ee8cc1Swenshuai.xi     Audio_ParamType_AAC_AVOFFSET,
3581*53ee8cc1Swenshuai.xi     Audio_ParamType_SE_Set_I2S_OutNumber,
3582*53ee8cc1Swenshuai.xi     Audio_ParamType_SE_Set_HP_Delay,
3583*53ee8cc1Swenshuai.xi     Audio_ParamType_SE_Set_ADEC0_Input_delay,
3584*53ee8cc1Swenshuai.xi     Audio_ParamType_SE_Set_ADEC1_Input_delay,
3585*53ee8cc1Swenshuai.xi     Audio_ParamType_R2_Set_NonPcm_Sel,
3586*53ee8cc1Swenshuai.xi     Audio_ParamType_Low_Latency_Limiter_ES_enable,
3587*53ee8cc1Swenshuai.xi     Audio_ParamType_Low_Latency_Limiter_ES_Threshold,
3588*53ee8cc1Swenshuai.xi     Audio_ParamType_Low_Latency_Limiter_PCM_Threshold,
3589*53ee8cc1Swenshuai.xi     Audio_ParamType_Low_Latency_Limiter_PCM_Skip_Target,
3590*53ee8cc1Swenshuai.xi     Audio_ParamType_ES2_IsUsedBy_Dual,
3591*53ee8cc1Swenshuai.xi     Audio_ParamType_ddp_disable_atmos,
3592*53ee8cc1Swenshuai.xi     Audio_ParamType_Decoder_RepeatPlay,
3593*53ee8cc1Swenshuai.xi     Audio_ParamType_SetEDIDOutputInterface,
3594*53ee8cc1Swenshuai.xi } Audio_ParamType;
3595*53ee8cc1Swenshuai.xi 
3596*53ee8cc1Swenshuai.xi typedef enum
3597*53ee8cc1Swenshuai.xi {
3598*53ee8cc1Swenshuai.xi     Audio_infoType_Unknow = -1,
3599*53ee8cc1Swenshuai.xi     Audio_infoType_DecStatus = 0,
3600*53ee8cc1Swenshuai.xi     Audio_infoType_SampleRate,
3601*53ee8cc1Swenshuai.xi     Audio_infoType_SoundMode,
3602*53ee8cc1Swenshuai.xi     Audio_infoType_capability,
3603*53ee8cc1Swenshuai.xi     Audio_infoType_AudioSyncStatus,   // 1 : AV-Sync  0: Free-run
3604*53ee8cc1Swenshuai.xi     Audio_infoType_bitRate,
3605*53ee8cc1Swenshuai.xi     Audio_infoType_acmod,
3606*53ee8cc1Swenshuai.xi     Audio_infoType_okFrmCnt,
3607*53ee8cc1Swenshuai.xi     Audio_infoType_errFrmCnt,
3608*53ee8cc1Swenshuai.xi     Audio_infoType_1ms_timeStamp,
3609*53ee8cc1Swenshuai.xi     Audio_infoType_33bit_PTS          = 10,
3610*53ee8cc1Swenshuai.xi     Audio_infoType_33bit_STCPTS_DIFF,
3611*53ee8cc1Swenshuai.xi     Audio_infoType_esBuf_req,
3612*53ee8cc1Swenshuai.xi     Audio_infoType_BufferSize,
3613*53ee8cc1Swenshuai.xi     Audio_infoType_BufferAddr,
3614*53ee8cc1Swenshuai.xi     Audio_infoType_esBuf_currLevel,
3615*53ee8cc1Swenshuai.xi     Audio_infoType_pcmBuf_currLevel,
3616*53ee8cc1Swenshuai.xi     Audio_infoType_get_audio_filter,
3617*53ee8cc1Swenshuai.xi     Audio_infoType_audio_unsupported,
3618*53ee8cc1Swenshuai.xi     Audio_infoType_getDecInfo1,
3619*53ee8cc1Swenshuai.xi     Audio_infoType_UNI_PCM1_Info      = 20,
3620*53ee8cc1Swenshuai.xi     Audio_infoType_UNI_PCM3_Level,
3621*53ee8cc1Swenshuai.xi     Audio_infoType_UNI_ES_Level,
3622*53ee8cc1Swenshuai.xi     Audio_infoType_UNI_ES_Base,
3623*53ee8cc1Swenshuai.xi     Audio_infoType_UNI_ES_Size,
3624*53ee8cc1Swenshuai.xi     Audio_infoType_UNI_PCM_Base,
3625*53ee8cc1Swenshuai.xi     Audio_infoType_UNI_PCM_Size,
3626*53ee8cc1Swenshuai.xi     Audio_infoType_Decoder_ID,
3627*53ee8cc1Swenshuai.xi     Audio_infoType_AccumEsCnt,
3628*53ee8cc1Swenshuai.xi     Audio_infoType_MadBaseAddr,
3629*53ee8cc1Swenshuai.xi     Audio_infoType_hashkey,
3630*53ee8cc1Swenshuai.xi     Audio_infoType_UNI_PCM3_Base,
3631*53ee8cc1Swenshuai.xi     Audio_infoType_UNI_PCM3_Size,
3632*53ee8cc1Swenshuai.xi     Audio_infoType_AC3_BSID,
3633*53ee8cc1Swenshuai.xi     Audio_infoType_get_trueHD_bypass_enable,
3634*53ee8cc1Swenshuai.xi     Audio_infoType_syncSTC_in_mmTs,
3635*53ee8cc1Swenshuai.xi     Audio_infoType_Pcm_Output_Channel,
3636*53ee8cc1Swenshuai.xi     Audio_R2_SHM_INFO_PCM_LEVEL,
3637*53ee8cc1Swenshuai.xi     Audio_R2_SHM_INFO_DEC_STAUS,
3638*53ee8cc1Swenshuai.xi     Audio_R2_SHM_INFO_CURR_PTS,
3639*53ee8cc1Swenshuai.xi     Audio_R2_SHM_INFO_TP_ES_FreeSize,
3640*53ee8cc1Swenshuai.xi     Audio_infoType_Abs_ReadReg,
3641*53ee8cc1Swenshuai.xi     Audio_infoType_ReadDM_Value,
3642*53ee8cc1Swenshuai.xi     Audio_infoType_ReadPM_Value,
3643*53ee8cc1Swenshuai.xi     Audio_infoType_Abs_ReadXbox,
3644*53ee8cc1Swenshuai.xi     Audio_infoType_omx_no_mixing,
3645*53ee8cc1Swenshuai.xi     Audio_infoType_omx_ES_bypass,
3646*53ee8cc1Swenshuai.xi     Audio_infoType_Decoder_Type,
3647*53ee8cc1Swenshuai.xi     Audio_infoType_33bit_latestPTS,
3648*53ee8cc1Swenshuai.xi     Audio_infoType_tvos2_PCM1_Info,
3649*53ee8cc1Swenshuai.xi     Audio_infoType_tvos2_pcm_rdpt,
3650*53ee8cc1Swenshuai.xi     Audio_infoType_tvos2_pcm_wrpt,
3651*53ee8cc1Swenshuai.xi     Audio_infoType_tvos2_cpts,
3652*53ee8cc1Swenshuai.xi     Audio_infoType_tvos2_pcm_framesize,
3653*53ee8cc1Swenshuai.xi     Audio_infoType_Dec_Channel_Mode,
3654*53ee8cc1Swenshuai.xi     Audio_infoType_DRA_Channel_Mapping,
3655*53ee8cc1Swenshuai.xi     Audio_infoType_Smp_Rate,
3656*53ee8cc1Swenshuai.xi     Audio_infoType_Bit_Rate,
3657*53ee8cc1Swenshuai.xi     Audio_infoType_DOLBY_BS_Mode,
3658*53ee8cc1Swenshuai.xi     Audio_infoType_DOLBY_AAC_type,
3659*53ee8cc1Swenshuai.xi     Audio_infoType_DTS_CD_Mode,
3660*53ee8cc1Swenshuai.xi     Audio_infoType_DTS_PCM_Frame_Size,
3661*53ee8cc1Swenshuai.xi     Audio_infoType_DTS_ES_Type,
3662*53ee8cc1Swenshuai.xi     Audio_infoType_SPDIF_info_flag,
3663*53ee8cc1Swenshuai.xi     Audio_infoType_MPEG_Layer,
3664*53ee8cc1Swenshuai.xi     Audio_infoType_MPEG_Stereo_Mode,
3665*53ee8cc1Swenshuai.xi     Audio_infoType_MPEG_Header,
3666*53ee8cc1Swenshuai.xi     Audio_infoType_SE_Decoder_Delay,
3667*53ee8cc1Swenshuai.xi     Audio_infoType_SE_HpOut_Delay,
3668*53ee8cc1Swenshuai.xi     Audio_infoType_R2_Dec_Type,
3669*53ee8cc1Swenshuai.xi     Audio_infoType_get_parser_info,
3670*53ee8cc1Swenshuai.xi     Audio_infoType_Is_Audio_Sync,
3671*53ee8cc1Swenshuai.xi     Audio_infoType_R2_uart_buf_base,
3672*53ee8cc1Swenshuai.xi     Audio_infoType_R2_uart_buf_size,
3673*53ee8cc1Swenshuai.xi     Audio_infoType_R2_uart_buf_wptr,
3674*53ee8cc1Swenshuai.xi     Audio_infoType_Get_DDPEnc_Status,
3675*53ee8cc1Swenshuai.xi     Audio_infoType_Is_DDP_8ch_Stream,
3676*53ee8cc1Swenshuai.xi } Audio_InfoType;
3677*53ee8cc1Swenshuai.xi 
3678*53ee8cc1Swenshuai.xi typedef MS_BOOL (*pFuncPtr_SetAudioParam2)(AUDIO_DEC_ID DecId, Audio_ParamType paramType, MS_VIRT Param);
3679*53ee8cc1Swenshuai.xi typedef MS_BOOL (*pFuncPtr_GetAudioInfo2)(AUDIO_DEC_ID DecId, Audio_InfoType paramType, void * pInfo);
3680*53ee8cc1Swenshuai.xi 
3681*53ee8cc1Swenshuai.xi //====== STAOS PIP END 2012/02/01 ========
3682*53ee8cc1Swenshuai.xi 
3683*53ee8cc1Swenshuai.xi typedef enum
3684*53ee8cc1Swenshuai.xi {
3685*53ee8cc1Swenshuai.xi     Audio_DumpInfo_Off          = 0x0,
3686*53ee8cc1Swenshuai.xi     Audio_DumpInfo_Avsync       = 0x1,
3687*53ee8cc1Swenshuai.xi     Audio_DumpInfo_Dec1         = 0x2,
3688*53ee8cc1Swenshuai.xi     Audio_DumpInfo_IoInfo       = 0x4,
3689*53ee8cc1Swenshuai.xi     Audio_DumpInfo_mmFileAVsync = 0x8,
3690*53ee8cc1Swenshuai.xi     Audio_DumpInfo_All          = 0x15,
3691*53ee8cc1Swenshuai.xi     Audio_DumpInfo_AutoTest     = 0x80,
3692*53ee8cc1Swenshuai.xi }Audio_DumpInfo_Type;
3693*53ee8cc1Swenshuai.xi 
3694*53ee8cc1Swenshuai.xi typedef enum
3695*53ee8cc1Swenshuai.xi {
3696*53ee8cc1Swenshuai.xi     Audio_OMX_SPDIF_OFF,
3697*53ee8cc1Swenshuai.xi     Audio_OMX_SPDIF_ON,
3698*53ee8cc1Swenshuai.xi     Audio_OMX_SPDIF_STOP,
3699*53ee8cc1Swenshuai.xi     Audio_OMX_SPDIF_PLAY,
3700*53ee8cc1Swenshuai.xi 
3701*53ee8cc1Swenshuai.xi } Audio_OMX_SPDIF_Param;
3702*53ee8cc1Swenshuai.xi 
3703*53ee8cc1Swenshuai.xi typedef enum
3704*53ee8cc1Swenshuai.xi {
3705*53ee8cc1Swenshuai.xi     AUDIO_USAGE_TYPE_NONE,
3706*53ee8cc1Swenshuai.xi     AUDIO_USAGE_TYPE_DTV,
3707*53ee8cc1Swenshuai.xi     AUDIO_USAGE_TYPE_ATV,
3708*53ee8cc1Swenshuai.xi     AUDIO_USAGE_TYPE_HDMI,
3709*53ee8cc1Swenshuai.xi     AUDIO_USAGE_TYPE_ADC,
3710*53ee8cc1Swenshuai.xi     AUDIO_USAGE_TYPE_MM,
3711*53ee8cc1Swenshuai.xi     AUDIO_USAGE_TYPE_SPDIF,
3712*53ee8cc1Swenshuai.xi     AUDIO_USAGE_TYPE_KTV,
3713*53ee8cc1Swenshuai.xi     AUDIO_USAGE_TYPE_GAME,
3714*53ee8cc1Swenshuai.xi 
3715*53ee8cc1Swenshuai.xi } AUDIO_USAGE_TYPE;
3716*53ee8cc1Swenshuai.xi 
3717*53ee8cc1Swenshuai.xi ///<Audio output port source type
3718*53ee8cc1Swenshuai.xi typedef enum
3719*53ee8cc1Swenshuai.xi {
3720*53ee8cc1Swenshuai.xi     E_CONNECT_MAIN,                   ///< output connect to main source
3721*53ee8cc1Swenshuai.xi     E_CONNECT_SUB,                     ///< output connect to sub source
3722*53ee8cc1Swenshuai.xi     E_CONNECT_SCART,                 ///< output connect to scart source
3723*53ee8cc1Swenshuai.xi     E_CONNECT_DATA_CAPTURE,  ///< output connect to data capture source
3724*53ee8cc1Swenshuai.xi     E_CONNECT_KTV,                     ///< output connect to KTV source
3725*53ee8cc1Swenshuai.xi     E_CONNECT_NULL,                   ///< Disable output port
3726*53ee8cc1Swenshuai.xi } AUDIO_OUTPORT_SOURCE_TYPE;
3727*53ee8cc1Swenshuai.xi 
3728*53ee8cc1Swenshuai.xi // TEE Capability
3729*53ee8cc1Swenshuai.xi typedef enum
3730*53ee8cc1Swenshuai.xi {
3731*53ee8cc1Swenshuai.xi     Audio_TEE_None                            = 0x00,
3732*53ee8cc1Swenshuai.xi     Audio_TEE_Setup,
3733*53ee8cc1Swenshuai.xi     Audio_TEE_Set_DSP_Secure_Accessed,
3734*53ee8cc1Swenshuai.xi     Audio_TEE_Set_DSP_Normal_Accessed,
3735*53ee8cc1Swenshuai.xi 
3736*53ee8cc1Swenshuai.xi     Audio_TEE_Setup_and_ALL_DSP_Secure_Accessed   = 0xFF
3737*53ee8cc1Swenshuai.xi } Audio_TEE_Capability;
3738*53ee8cc1Swenshuai.xi 
3739*53ee8cc1Swenshuai.xi ///<Enum for Audio Ease Type
3740*53ee8cc1Swenshuai.xi typedef enum
3741*53ee8cc1Swenshuai.xi {
3742*53ee8cc1Swenshuai.xi     E_AUDIO_EASE_TYPE_LINEAR,
3743*53ee8cc1Swenshuai.xi     E_AUDIO_EASE_TYPE_INCUBIC,
3744*53ee8cc1Swenshuai.xi     E_AUDIO_EASE_TYPE_OUTCUBIC,
3745*53ee8cc1Swenshuai.xi     E_AUDIO_EASE_TYPE_INOUTCUBIC,
3746*53ee8cc1Swenshuai.xi }AUDIO_EASE_TYPE;
3747*53ee8cc1Swenshuai.xi 
3748*53ee8cc1Swenshuai.xi ///<Enum for Audio Menu Sound Control
3749*53ee8cc1Swenshuai.xi typedef enum
3750*53ee8cc1Swenshuai.xi {
3751*53ee8cc1Swenshuai.xi     E_AUDIO_SINETONE_CTRL_RIGHTMUTE,
3752*53ee8cc1Swenshuai.xi     E_AUDIO_SINETONE_CTRL_LEFTMUTE,
3753*53ee8cc1Swenshuai.xi     E_AUDIO_SINETONE_CTRL_PAUSE,
3754*53ee8cc1Swenshuai.xi     E_AUDIO_SINETONE_CTRL_PLAY,
3755*53ee8cc1Swenshuai.xi }AUDIO_SINETONE_CTRL;
3756*53ee8cc1Swenshuai.xi 
3757*53ee8cc1Swenshuai.xi typedef enum
3758*53ee8cc1Swenshuai.xi {
3759*53ee8cc1Swenshuai.xi     E_AUDIO_SINETONE_MODE_MONO,
3760*53ee8cc1Swenshuai.xi     E_AUDIO_SINETONE_MODE_SWEEP,
3761*53ee8cc1Swenshuai.xi     E_AUDIO_SINETONE_MODE_300TO800,
3762*53ee8cc1Swenshuai.xi     E_AUDIO_SINETONE_MODE_800TO300,
3763*53ee8cc1Swenshuai.xi }AUDIO_SINETONE_MODE;
3764*53ee8cc1Swenshuai.xi 
3765*53ee8cc1Swenshuai.xi //=======================================
3766*53ee8cc1Swenshuai.xi /// Init structure for audio
3767*53ee8cc1Swenshuai.xi typedef struct __attribute__((packed))
3768*53ee8cc1Swenshuai.xi {
3769*53ee8cc1Swenshuai.xi     MS_U8      miu;               ///< MIU
3770*53ee8cc1Swenshuai.xi     MS_U8      tv_system;        ///< TV system
3771*53ee8cc1Swenshuai.xi     MS_U8      dtv_system;       ///< DTV system
3772*53ee8cc1Swenshuai.xi     MS_U8      au_system_sel;   ///< Audio system type
3773*53ee8cc1Swenshuai.xi 
3774*53ee8cc1Swenshuai.xi     //sif threshold
3775*53ee8cc1Swenshuai.xi     AUDIO_SIF_SET_STANDARD        standard_u8Type;   ///< SIF standard type
3776*53ee8cc1Swenshuai.xi     AUDIO_SIF_THRESHOLD_TYPE      threshold_u8Type;  ///< SIF Threshold type
3777*53ee8cc1Swenshuai.xi     MS_U16                        threshold_value;   ///< SIF Threshold value
3778*53ee8cc1Swenshuai.xi 
3779*53ee8cc1Swenshuai.xi } AUDIO_INIT_INFO, *PAUDIO_INIT_INFO;
3780*53ee8cc1Swenshuai.xi 
3781*53ee8cc1Swenshuai.xi //=======================================
3782*53ee8cc1Swenshuai.xi /// structure for audio output setting
3783*53ee8cc1Swenshuai.xi typedef struct __attribute__((packed))
3784*53ee8cc1Swenshuai.xi {
3785*53ee8cc1Swenshuai.xi     AUDIO_OUTPUT_TYPE   SpeakerOut;  ///< Audio output port for Speaker
3786*53ee8cc1Swenshuai.xi     AUDIO_OUTPUT_TYPE   HpOut;       ///< Audio output port for HP
3787*53ee8cc1Swenshuai.xi     AUDIO_OUTPUT_TYPE   MonitorOut;  ///< Audio output port for Monitor out
3788*53ee8cc1Swenshuai.xi     AUDIO_OUTPUT_TYPE   ScartOut;    ///< Audio output port for Scart out
3789*53ee8cc1Swenshuai.xi     AUDIO_OUTPUT_TYPE   SpdifOut;    ///< Audio output port for S/PDIF out
3790*53ee8cc1Swenshuai.xi     AUDIO_OUTPUT_TYPE   ArcOut;      ///< Audio output port for ARC(HDMI_Rx) out
3791*53ee8cc1Swenshuai.xi     AUDIO_OUTPUT_TYPE   HDMIOut;     ///< Audio output port for HDMI_Tx out
3792*53ee8cc1Swenshuai.xi } AUDIO_OUT_INFO, *PAUDIO_OUT_INFO;
3793*53ee8cc1Swenshuai.xi 
3794*53ee8cc1Swenshuai.xi //=======================================
3795*53ee8cc1Swenshuai.xi /// structure for audio DSP path setting
3796*53ee8cc1Swenshuai.xi typedef struct __attribute__((packed))
3797*53ee8cc1Swenshuai.xi {
3798*53ee8cc1Swenshuai.xi     AUDIO_PATH_TYPE   SpeakerOut;     ///< Audio DSP path for Speaker
3799*53ee8cc1Swenshuai.xi     AUDIO_PATH_TYPE   HpOut;          ///< Audio DSP path for HP
3800*53ee8cc1Swenshuai.xi     AUDIO_PATH_TYPE   MonitorOut;     ///< Audio DSP path for Monitor out
3801*53ee8cc1Swenshuai.xi     AUDIO_PATH_TYPE   ScartOut;       ///< Audio DSP path for Scart out
3802*53ee8cc1Swenshuai.xi     AUDIO_PATH_TYPE   SpdifOut;       ///< Audio DSP path for Spdif
3803*53ee8cc1Swenshuai.xi     AUDIO_PATH_TYPE   ArcOut;         ///< Audio output port for ARC(HDMI_Rx) out
3804*53ee8cc1Swenshuai.xi     AUDIO_PATH_TYPE   HDMIOut;        ///< Audio output port for HDMI out
3805*53ee8cc1Swenshuai.xi } AUDIO_PATH_INFO, *PAUDIO_PATH_INFO;
3806*53ee8cc1Swenshuai.xi 
3807*53ee8cc1Swenshuai.xi //=======================================
3808*53ee8cc1Swenshuai.xi /// structure for output port connection setting
3809*53ee8cc1Swenshuai.xi typedef struct __attribute__((packed))
3810*53ee8cc1Swenshuai.xi {
3811*53ee8cc1Swenshuai.xi     AUDIO_OUTPORT_SOURCE_TYPE   SpeakerOut;     ///<  for Speaker
3812*53ee8cc1Swenshuai.xi     AUDIO_OUTPORT_SOURCE_TYPE   HpOut;          ///<  for HP
3813*53ee8cc1Swenshuai.xi     AUDIO_OUTPORT_SOURCE_TYPE   MonitorOut;     ///<  for Monitor out
3814*53ee8cc1Swenshuai.xi     AUDIO_OUTPORT_SOURCE_TYPE   ScartOut;       ///<  for Scart out
3815*53ee8cc1Swenshuai.xi     AUDIO_OUTPORT_SOURCE_TYPE   SpdifOut;       ///<  for Spdif
3816*53ee8cc1Swenshuai.xi     AUDIO_OUTPORT_SOURCE_TYPE   ArcOut;         ///<  for ARC(HDMI_Rx)
3817*53ee8cc1Swenshuai.xi     AUDIO_OUTPORT_SOURCE_TYPE   HDMIOut;        ///<  for HDMI_Tx
3818*53ee8cc1Swenshuai.xi } OUTPUT_SOURCE_INFO, *POUTPUT_SOURCE_INFO;
3819*53ee8cc1Swenshuai.xi 
3820*53ee8cc1Swenshuai.xi //=======================================
3821*53ee8cc1Swenshuai.xi /// structure for AES info in new MM mode
3822*53ee8cc1Swenshuai.xi typedef struct
3823*53ee8cc1Swenshuai.xi {
3824*53ee8cc1Swenshuai.xi     MS_U32 aes_base_addr;       ///<  base address of ES buffer
3825*53ee8cc1Swenshuai.xi     MS_U32 aes_end_addr;        ///<  end address of ES buffer
3826*53ee8cc1Swenshuai.xi     MS_U32 aes_BufSize;         ///<  ES buffer size
3827*53ee8cc1Swenshuai.xi     MS_U32 aes_write_addr;      ///<  write pointer
3828*53ee8cc1Swenshuai.xi     MS_U32 aes_read_addr;       ///<  read pointer
3829*53ee8cc1Swenshuai.xi     MS_U32 aes_freeSpace;       ///<  free space of ES buffer
3830*53ee8cc1Swenshuai.xi     MS_U32 aes_level;           ///<  level of ES buffer
3831*53ee8cc1Swenshuai.xi     MS_U32 aes_ptsCnt;          ///<  count of total received PTS
3832*53ee8cc1Swenshuai.xi     MS_U64 aes_lastPTS;         ///<  last received PTS
3833*53ee8cc1Swenshuai.xi } AES_INFO;
3834*53ee8cc1Swenshuai.xi 
3835*53ee8cc1Swenshuai.xi 
3836*53ee8cc1Swenshuai.xi typedef enum
3837*53ee8cc1Swenshuai.xi {
3838*53ee8cc1Swenshuai.xi     E_TSP_0,
3839*53ee8cc1Swenshuai.xi     E_TSP_1,
3840*53ee8cc1Swenshuai.xi     E_TSP_2,
3841*53ee8cc1Swenshuai.xi     E_TSP_3,
3842*53ee8cc1Swenshuai.xi     E_TSP_MAX,
3843*53ee8cc1Swenshuai.xi } AUDIO_STC_SOURCE;
3844*53ee8cc1Swenshuai.xi 
3845*53ee8cc1Swenshuai.xi typedef enum
3846*53ee8cc1Swenshuai.xi {
3847*53ee8cc1Swenshuai.xi     E_AUD_3_PARSER = 0x0,
3848*53ee8cc1Swenshuai.xi     E_AUD_4_PARSER_type1 = 0x1,    ///<K3S_type (2 AFIFO & 4 audio parser arch)
3849*53ee8cc1Swenshuai.xi     E_AUD_4_PARSER_type2 = 0x2,    ///<eiffle_type (4 AFIFO & 4 audio parser arch)
3850*53ee8cc1Swenshuai.xi     E_AUD_1_PARSER = 0x3,
3851*53ee8cc1Swenshuai.xi     E_AUD_2_PARSER = 0x4,
3852*53ee8cc1Swenshuai.xi     E_AUD_MAX_PARSER = 0x5,
3853*53ee8cc1Swenshuai.xi }AUDIO_PARSER_Architecture;
3854*53ee8cc1Swenshuai.xi 
3855*53ee8cc1Swenshuai.xi typedef enum
3856*53ee8cc1Swenshuai.xi {
3857*53ee8cc1Swenshuai.xi     E_AFIFO_0,
3858*53ee8cc1Swenshuai.xi     E_AFIFO_1,
3859*53ee8cc1Swenshuai.xi     E_AFIFO_2,
3860*53ee8cc1Swenshuai.xi     E_AFIFO_MAX,
3861*53ee8cc1Swenshuai.xi } AUDIO_AFIFO_SOURCE;
3862*53ee8cc1Swenshuai.xi 
3863*53ee8cc1Swenshuai.xi typedef enum
3864*53ee8cc1Swenshuai.xi {
3865*53ee8cc1Swenshuai.xi     AUDIO_FORCE_INVALID = -1,
3866*53ee8cc1Swenshuai.xi     AUDIO_FORCE_ID1 = 0,
3867*53ee8cc1Swenshuai.xi     AUDIO_FORCE_ID2 = 1,
3868*53ee8cc1Swenshuai.xi     AUDIO_FORCE_ID3 = 2,
3869*53ee8cc1Swenshuai.xi     AUDIO_FORCE_MAX = 3,
3870*53ee8cc1Swenshuai.xi } AUDIO_FORCE_ADEC_ID;
3871*53ee8cc1Swenshuai.xi 
3872*53ee8cc1Swenshuai.xi typedef struct __attribute__((packed))
3873*53ee8cc1Swenshuai.xi {
3874*53ee8cc1Swenshuai.xi     MS_BOOL bStart;
3875*53ee8cc1Swenshuai.xi     MS_BOOL bConnect;
3876*53ee8cc1Swenshuai.xi     MS_BOOL bAVSyncOn;
3877*53ee8cc1Swenshuai.xi     MS_BOOL bIsAD;
3878*53ee8cc1Swenshuai.xi     AUDIO_OUTPORT_SOURCE_TYPE eGroup;
3879*53ee8cc1Swenshuai.xi     AUDIO_DSP_ID eDSPId;
3880*53ee8cc1Swenshuai.xi     AUDIO_SOURCE_INFO_TYPE eSourceType;
3881*53ee8cc1Swenshuai.xi     En_DVB_decSystemType eAudFormat;
3882*53ee8cc1Swenshuai.xi     AUDIO_STC_SOURCE eStcSource;
3883*53ee8cc1Swenshuai.xi     AUDIO_AFIFO_SOURCE eAfifoSource;
3884*53ee8cc1Swenshuai.xi     AUDIO_MM_TYPE eMMType;
3885*53ee8cc1Swenshuai.xi     AUDIO_FORCE_ADEC_ID eAudio_Force_ID;
3886*53ee8cc1Swenshuai.xi } AudioDecStatus_t;
3887*53ee8cc1Swenshuai.xi 
3888*53ee8cc1Swenshuai.xi typedef struct __attribute__((packed))
3889*53ee8cc1Swenshuai.xi {
3890*53ee8cc1Swenshuai.xi     AUDIO_OUTPORT_SOURCE_TYPE eGroup;
3891*53ee8cc1Swenshuai.xi     AUDIO_DSP_ID u8NonPcmPath;
3892*53ee8cc1Swenshuai.xi     AUDIO_SOURCE_INFO_TYPE eSourceType;
3893*53ee8cc1Swenshuai.xi     AUDIO_DIGITAL_OUTPUT_TYPE eDigitalOutfMode;
3894*53ee8cc1Swenshuai.xi     MS_U8 u8R2NonPcmSetting;
3895*53ee8cc1Swenshuai.xi } DigitalOutSetting_t;
3896*53ee8cc1Swenshuai.xi 
3897*53ee8cc1Swenshuai.xi typedef struct __attribute__((packed))
3898*53ee8cc1Swenshuai.xi {
3899*53ee8cc1Swenshuai.xi     MS_BOOL   CBit;
3900*53ee8cc1Swenshuai.xi     MS_BOOL   LBit;
3901*53ee8cc1Swenshuai.xi } Digital_Out_Copy_Righr_t;
3902*53ee8cc1Swenshuai.xi 
3903*53ee8cc1Swenshuai.xi typedef struct __attribute__((packed))
3904*53ee8cc1Swenshuai.xi {
3905*53ee8cc1Swenshuai.xi     MS_U8   u8PcmFormatControl  ;                     // byte 0, [0:7]
3906*53ee8cc1Swenshuai.xi     MS_U8   u8Category;                                      // byte 1, [8:14]
3907*53ee8cc1Swenshuai.xi     Digital_Out_Copy_Righr_t    stCopyRight;         // byte 0[1],  byte 1[15]
3908*53ee8cc1Swenshuai.xi 
3909*53ee8cc1Swenshuai.xi     MS_U8   u8SourceNumber;                            // byte 2, [16:19]
3910*53ee8cc1Swenshuai.xi     MS_U8   u8ChannelNumber;                          // byte 2, [20:23]
3911*53ee8cc1Swenshuai.xi 
3912*53ee8cc1Swenshuai.xi     MS_U8   u8SamplingRate;                              // byte 3, bit[24:27]
3913*53ee8cc1Swenshuai.xi     MS_U8   u8ClockPrecision;                            // byte 3, bit[28:31]
3914*53ee8cc1Swenshuai.xi 
3915*53ee8cc1Swenshuai.xi     MS_U8   u8WordLength;                                // byte 4, bit[32:35]
3916*53ee8cc1Swenshuai.xi     MS_U8   u8OriginalSamplingRate;                // byte 4, bit[36:39]
3917*53ee8cc1Swenshuai.xi 
3918*53ee8cc1Swenshuai.xi     MS_U8   u8CGMS_A;                                      // byte 5, bit[40:41]
3919*53ee8cc1Swenshuai.xi } Digital_Out_Channel_Status_t;
3920*53ee8cc1Swenshuai.xi 
3921*53ee8cc1Swenshuai.xi typedef struct __attribute__((packed))
3922*53ee8cc1Swenshuai.xi {
3923*53ee8cc1Swenshuai.xi     MS_U8   support_codec;              // Short_Audio_Descriptor Byte1 [3:6], 0: default, 1: support, 2: not suppot
3924*53ee8cc1Swenshuai.xi     MS_U8   support_ch;                 // Short_Audio_Descriptor Byte1 [0:2]
3925*53ee8cc1Swenshuai.xi     MS_U8   support_samplerate;         // Short_Audio_Descriptor Byte2 [0:6]
3926*53ee8cc1Swenshuai.xi     MS_U8   support_SAD_byte3;          // Short_Audio_Descriptor Byte3 [0:7]
3927*53ee8cc1Swenshuai.xi } Digital_Out_Device_Capability_t;
3928*53ee8cc1Swenshuai.xi 
3929*53ee8cc1Swenshuai.xi //=======================================
3930*53ee8cc1Swenshuai.xi /// enum for audio DDR Info
3931*53ee8cc1Swenshuai.xi typedef enum
3932*53ee8cc1Swenshuai.xi {
3933*53ee8cc1Swenshuai.xi     E_AUD_MEMORY_BASE = 0x0, ///< for audio DDR Base
3934*53ee8cc1Swenshuai.xi     E_AUD_MEMORY_SIZE = 0x1, ///< for audio DDR Size
3935*53ee8cc1Swenshuai.xi } EN_AUDIO_DDRINFO;
3936*53ee8cc1Swenshuai.xi 
3937*53ee8cc1Swenshuai.xi #ifdef __cplusplus
3938*53ee8cc1Swenshuai.xi }
3939*53ee8cc1Swenshuai.xi #endif
3940*53ee8cc1Swenshuai.xi 
3941*53ee8cc1Swenshuai.xi #endif // _DRV_AUDIO_IF_H_
3942