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