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 100 #ifdef __cplusplus 101 extern "C" 102 { 103 #endif 104 105 //------------------------------------------------------------------------------------------------- 106 // Macro and Define 107 //------------------------------------------------------------------------------------------------- 108 //CathyRemove #define drvMAD_STOP 0x0 109 110 #define AUD_CAP_VERSION 1 111 #define AUDIO_BIFROST_TEST_SUPPORT_VERSION 2 112 113 #define HDMI_Tx_HD 1 114 #define HDMI_Tx_DTS_HD 1 115 116 //================================================================ 117 // HDMI PC Define 118 //================================================================ 119 #define AU_HDMI_AC3 0x01 120 #define AU_HDMI_AC3P 0x15 121 #define AU_HDMI_DTS_TYPE1 0x0B 122 #define AU_HDMI_DTS_TYPE2 0x0C 123 #define AU_HDMI_DTS_TYPE3 0x0D 124 125 //================================================================ 126 // Common PCM I/O DEFINE 127 //================================================================ 128 #define AUDIO_PCM_INFO_VERSION 2 129 130 #define AUDIO_HW_DMA_READER1 "HW DMA Reader1" 131 #define AUDIO_HW_DMA_READER2 "HW DMA Reader2" 132 #define AUDIO_SW_DMA_READER1 "SW DMA Reader1" 133 #define AUDIO_R2_DMA_READER1 "R2 DMA Reader1" 134 #define AUDIO_R2_DMA_READER2 "R2 DMA Reader2" 135 #define AUDIO_PCM_CAPTURE1 "PCM Capture1" 136 #define AUDIO_PCM_CAPTURE2 "PCM Capture2" 137 #define AUDIO_HW_DMA_WRITER1 "HW DMA Writer1" 138 139 #define A_EPERM 1 /* Operation not permitted */ 140 #define A_ENOMEM 12 /* Out of memory */ 141 #define A_EFAULT 14 /* Bad address */ 142 #define A_EBUSY 16 /* Device or resource busy */ 143 #define A_ENODEV 19 /* No such device */ 144 #define A_EINVAL 22 /* Invalid argument */ 145 146 //================================================================ 147 // Structure 148 //================================================================ 149 150 typedef struct 151 { 152 MS_U32 u32Addr; 153 MS_U32 u32Size; 154 MS_U64 u64Idx; 155 }AU_DVB_ENC_FRAME_INFO, *PAU_DVB_ENC_FRAME_INFO; 156 157 typedef struct 158 { 159 MS_U32 u32Addr; 160 MS_U32 u32Size; 161 MS_U32 u32Idx; 162 }AUDIO_UPLOAD_INFO, *PAUDIO_UPLOAD_INFO; 163 164 typedef enum 165 { 166 AUDIO_COEF_PREVER_PEQ, //for compatible with PEQ of previous version 167 AUDIO_COEF_PEQ, 168 AUDIO_COEF_HPF, 169 AUDIO_COEF_BASS, 170 AUDIO_COEF_TREBLE, 171 }AUDIO_COEF_TYPE; 172 173 typedef enum 174 { 175 AUDIO_SINGLE_PRECISION, 176 AUDIO_DOUBLE_PRECISION, 177 }AUDIO_PRECISION_TYPE; 178 179 180 typedef struct 181 { 182 MS_U8 band; ///< band 183 MS_U8 sfs; ///< fs 184 MS_U8 scale; ///< scale 185 MS_U32 a0; ///< a0 186 MS_U32 a1; ///< a1 187 MS_U32 a2; ///< a2 188 MS_U32 b1; ///< b1 189 MS_U32 b2; ///< b2 190 AUDIO_COEF_TYPE type; /// PEQ, HPF or tone 191 MS_BOOL enable; /// PEQ band enable 192 AUDIO_PRECISION_TYPE precision; /// PEQ filter precision 193 } AUDIO_PEQ_COEF, *PAUDIO_PEQ_COEF; 194 195 typedef struct __attribute__((packed)) 196 { 197 MS_U32 u32AudioCapsVersion; 198 MS_U32 u32AudioCapsStructSize; 199 MS_U8 u8MaxDecoderNum; 200 MS_U8 u8MaxDmaReaderNum; 201 MS_BOOL bIsADSupported; 202 MS_BOOL bIsPusiDetectSupported; 203 MS_BOOL bIsMpegSupported; 204 MS_BOOL bIsAc3Supported; 205 MS_BOOL bIsAc3pSupported; 206 MS_BOOL bIsAacSupported; 207 MS_BOOL bIsMp3Supported; 208 MS_BOOL bIsWmaSupported; 209 MS_BOOL bIsRa8LbrSupported; 210 MS_BOOL bIsXpcmSupported; 211 MS_BOOL bIsDtsSupported; 212 MS_BOOL bIsWmaProSupported; 213 MS_BOOL bIsFlacSupported; 214 MS_BOOL bIsVorbisSupported; 215 MS_BOOL bIsDtsLbrSupported; 216 MS_BOOL bIsAmrNbSupported; 217 MS_BOOL bIsAmrWbSupported; 218 MS_BOOL bIsDraSupported; 219 220 /* 221 * Note!!! 222 * 223 * 1. No matter what kind of modification in this structure, "AUD_CAP_VERSION" must be updated as well!!! 224 * 225 * 2. The element in this structure can only be added, never removed!!! 226 * 227 */ 228 } AUDIO_CAPABILITIES; 229 230 typedef struct 231 { 232 MS_U32 u32StructVersion; /* version number of this data structure */ 233 MS_U32 u32StructSize; /* size of this data structure */ 234 MS_U8 u8ConnectFlag; /* it is TRUE when opened */ 235 MS_U8 u8StartFlag; /* it is TRUE when started and opened */ 236 MS_U8 u8Name[32]; /* The PCM name requested (only 32 bytes, if change this length, must change u8Name of AUDIO_PCM_INFO_t as well!) */ 237 MS_U8 u8NonBlockingFlag; /* it is TRUE when request for nonblocking mode */ 238 MS_U8 u8MultiChFlag; /* it is TRUE when request for a multi-channel PCM IO */ 239 MS_U8 u8MixingFlag; /* it is TRUE when request for a mixing PCM IO */ 240 MS_U32 u32MixingGroup; /* PCM mixing group, i.e. AUDIO_PCMMIXER_GROUP_ALL */ 241 MS_S8 *pBuffer; /* PCM buffer address */ 242 MS_S8 *pReadPtr; /* PCM read pointer */ 243 MS_S8 *pWritePtr; /* PCM write pointer */ 244 MS_U32 u32BufferDuration; /* PCM buffer size in mini-second unit, and up to a maximun size */ 245 MS_U32 u32Channel; /* PCM channel number */ 246 MS_U32 u32SampleRate; /* PCM sample rate */ 247 MS_U32 u32BitWidth; /* PCM sample's bit width of each channel */ 248 MS_U32 u32BigEndien; /* PCM endien, TRUE means Big Endien, FALSE means Little Endien */ 249 MS_U32 u32Timestamp; /* PCM timestamp */ 250 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 */ 251 MS_U32 u32Volume; /* PCM volume, the range is 0 ~ 1016, and 96 means 0dB */ 252 MS_U32 u32BufferLevel; /* PCM bufffer level in byte unit */ 253 254 /* 255 * Note!!! 256 * 257 * 1. No matter what kind of modification in this structure, "AUDIO_PCM_INFO_VERSION" must be updated as well!!! 258 * 259 * 2. The element in this structure can only be added, never removed!!! 260 * 261 */ 262 } AUDIO_PCM_INFO_t; 263 264 //================================================================ 265 // Enum 266 //================================================================ 267 268 //================================================================ 269 // AuCommon 270 //================================================================ 271 typedef enum 272 { 273 AUDIO_PATH_GROUP_1, 274 AUDIO_PATH_GROUP_2, 275 AUDIO_PATH_GROUP_3, 276 }AUDIO_PATH_GROUP_TYPE; 277 278 279 ///<Audio source info type 280 typedef enum 281 { 282 E_AUDIO_INFO_DTV_IN, 283 E_AUDIO_INFO_ATV_IN, 284 E_AUDIO_INFO_HDMI_IN, 285 E_AUDIO_INFO_ADC_IN, 286 E_AUDIO_INFO_MM_IN, 287 E_AUDIO_INFO_SPDIF_IN, 288 E_AUDIO_INFO_KTV_IN, 289 E_AUDIO_INFO_GAME_IN, 290 E_AUDIO_INFO_KTV_STB_IN ///< Iuput source type for STB KTV mode 291 }AUDIO_SOURCE_INFO_TYPE; 292 293 ///<Enum for Audio data capture source selection 294 typedef enum 295 { 296 E_CAPTURE_CH1, ///< Data from DIG1 input port 297 E_CAPTURE_CH2, ///< Data from DIG2 input port 298 E_CAPTURE_CH3, ///< Data from DIG3 input port 299 E_CAPTURE_CH4, ///< Data from DIG4 input port 300 E_CAPTURE_CH5, ///< Data from DIG5 input port 301 E_CAPTURE_CH6, ///< Data from DIG6 input port 302 E_CAPTURE_CH7, ///< Data from DIG7 input port 303 E_CAPTURE_CH8, ///< Data from DIG8 input port 304 E_CAPTURE_PCM, ///< Pure PCM out =Data CH5 305 E_CAPTURE_PCM_DELAY, ///< PCM + Delay out 306 E_CAPTURE_PCM_SE, ///< PCM + Delay +SE out 307 E_CAPTURE_ADC, ///< Data from ADC1 input port 308 E_CAPTURE_AUOUT0, ///< Data for DAC0 output port 309 E_CAPTURE_AUOUT1, ///< Data for DAC1 output port 310 E_CAPTURE_AUOUT2, ///< Data for DAC2 output port 311 E_CAPTURE_AUOUT3, ///< Data for DAC3 output port 312 E_CAPTURE_I2S_OUT, ///< Data for I2S output port 313 E_CAPTURE_SPDIF_OUT, ///< Data for SPDIF output port 314 E_CAPTURE_MIXER, ///< Data for audio data Mixer 315 E_CAPTURE_ADC2, ///< Data from ADC2 input port 316 E_CAPTURE_ADC1_AUIN0_INPUT, /// ADC1-Line-in[0] 317 E_CAPTURE_ADC1_AUIN1_INPUT, /// ADC1-Line-in[1] 318 E_CAPTURE_ADC1_AUIN2_INPUT, /// ADC1-Line-in[2] 319 E_CAPTURE_ADC1_AUIN3_INPUT, /// ADC1-Line-in[3] 320 E_CAPTURE_ADC1_AUIN4_INPUT, /// ADC1-Line-in[4] 321 E_CAPTURE_ADC1_AUIN5_INPUT, /// ADC1-Line-in[5] 322 E_CAPTURE_ADC1_AUMIC_INPUT, /// ADC1-Micphone-in 323 E_CAPTURE_ADC2_AUIN0_INPUT, /// ADC2-Line-in[0] 324 E_CAPTURE_ADC2_AUIN1_INPUT, /// ADC2-Line-in[1] 325 E_CAPTURE_ADC2_AUIN2_INPUT, /// ADC2-Line-in[2] 326 E_CAPTURE_ADC2_AUIN3_INPUT, /// ADC2-Line-in[3] 327 E_CAPTURE_ADC2_AUIN4_INPUT, /// ADC2-Line-in[4] 328 E_CAPTURE_ADC2_AUIN5_INPUT, /// ADC2-Line-in[5] 329 E_CAPTURE_ADC2_AUMIC_INPUT, /// ADC2-Micphone-in 330 E_CAPTURE_MAX_NUM, ///< MAX capture source number 331 E_CAPTURE_NULL = 0xFF, ///< No caupure source 332 }AUDIO_CAPTURE_SOURCE_TYPE; // Audio capture type selection 333 334 ///<Enum for Multi-Audio Device 335 typedef enum 336 { 337 E_DEVICE0, ///< 1st audio device 338 E_DEVICE1, ///< 2nd audio device 339 E_DEVICE2, ///< 3rd audio device 340 E_DEVICE3, ///< 4th audio device 341 E_DEVICE4, ///< 5th audio device 342 E_DEVICE5, ///< 6th audio device 343 }AUDIO_DEVICE_TYPE; // Audio device type 344 345 ///====== Audio Path Mode TYPE======== 346 enum 347 { 348 AUDIO_DSP1_INPUT, ///< 0: DSP Decoder1 Input 349 AUDIO_DSP2_INPUT, ///< 1: DSP Decoder2 Input 350 AUDIO_ADC_INPUT, ///< 2: ADC Input 351 AUDIO_DSP3_INPUT = 0x06, ///< 6: DSP Decoder3 Input 352 AUDIO_DSP4_INPUT = 0x08, ///< 8: DSP Decoder4 Input 353 AUDIO_ADC2_INPUT = 0x09, ///< 9: ADC2 Input 354 AUDIO_DMA_INPUT = 0x0E, ///< E: DMA Input 355 }; 356 357 typedef enum 358 { 359 AUDIO_PATH_0, ///< 0: PATH 0 360 AUDIO_PATH_1, ///< 1: PATH 1 361 AUDIO_PATH_2, ///< 2: PATH 2 362 AUDIO_PATH_3, ///< 3: PATH 3 363 AUDIO_PATH_4, 364 AUDIO_PATH_5, 365 AUDIO_PATH_6, 366 AUDIO_PATH_7, ///< 7: New add in T3 367 AUDIO_PATH_MAIN = 4, 368 369 AUDIO_T3_PATH_AUOUT0 = 0x30, ///< T3 volume path : AUOUT0 370 AUDIO_T3_PATH_AUOUT1 = 0x31, ///< T3 volume path : AUOUT1 371 AUDIO_T3_PATH_AUOUT2 = 0x32, ///< T3 volume path : AUOUT2 372 AUDIO_T3_PATH_AUOUT3 = 0x33, ///< T3 volume path : AUOUT3 373 AUDIO_T3_PATH_I2S = 0x34, ///< T3 volume path : I2S 374 AUDIO_T3_PATH_SPDIF = 0x35, ///< T3 volume path : SPDIF 375 AUDIO_T3_PATH_I2S2 = 0x36, ///< T3 volume path : SPDIF 376 AUDIO_T3_PATH_HDMI = 0x37, ///< T3 volume path : HDMI 377 AUDIO_T3_PATH_LR = 0x38, 378 AUDIO_T3_PATH_PCM_CAPTURE1 = 0x39, ///< T3 volume path : PCM Capture1 379 AUDIO_T3_PATH_PCM_CAPTURE2 = 0x3A, ///< T3 volume path : PCM Capture2 380 AUDIO_T3_PATH_DMA_WRITER1 = 0x3B, ///< T3 volume path : HW DMA Writer1 381 382 AUDIO_T3_PATH_MIXER_MAIN = 0x40, ///< Internal volume path for Mixer 1st port (CH5 in) 383 AUDIO_T3_PATH_MIXER_SECONDARY = 0x41, ///< Internal volume path for Mixer 2nd port (CH6 in) 384 AUDIO_T3_PATH_MIXER_DMA_IN = 0x42, ///< Internal volume path for Mixer 3rd port (CH8 in) 385 386 AUDIO_PATH_NULL = 0xFF 387 }AUDIO_PATH_TYPE; 388 389 typedef enum 390 { 391 INTERNAL_MULTI_1, ///< 0: For Multi-channel only 392 INTERNAL_MULTI_2, ///< 1 For Multi-channel only 393 INTERNAL_MULTI_3, ///< 2: For Multi-channel only 394 INTERNAL_MULTI_4, ///< 3: For Multi-channel only 395 INTERNAL_PCM, ///< 4: Pure PCM out 396 INTERNAL_PCM_DELAY, ///< 5: PCM + Delay out 397 INTERNAL_PCM_SE, ///< 6: PCM + Delay +SE out 398 INTERNAL_SCART, ///< 7: SCART data 399 INTERNAL_MIXER, ///< 8: SCART data 400 INTERNAL_CH6, ///< 9: CH6 data 401 INTERNAL_TEST, ///< A: Test data 402 INTERNAL_LRDIV2, ///< B: I2S (L+R)/2 data 403 INTERNAL_TONE, ///< C: 1KHz Tone 404 INTERNAL_CH8, ///< D: Data from CH8 405 INTERNAL_ATVENC, ///< E: Data from ATV Encoder. 406 INTERNAL_MAX_NUM, ///< MAX Internal path number 407 INTERNAL_PATH_NULL = 0xFF, 408 }AUDIO_INTERNAL_PATH_TYPE; // for T3 only 409 410 //====== Audio input Mode TYPE======== 411 typedef enum 412 { 413 AUDIO_SPDIF_INPUT = 3, ///< 3: SPDIF INPUT 414 AUDIO_I2S_INPUT = 4, ///< 4: I2S INPUT 415 AUDIO_HDMI_INPUT = 5, ///< 5: HDMI INPUT 416 AUDIO_SRC_INPUT = 7, 417 418 AUDIO_DSP1_DVB_INPUT = 0x00, 419 AUDIO_DSP1_DVB1_INPUT = 0x10, 420 AUDIO_DSP1_SPDIF_INPUT = 0x20, 421 AUDIO_DSP1_SPDIFx1_INPUT = 0x30, 422 AUDIO_DSP1_HDMI_INPUT = 0x40, 423 AUDIO_DSP1_HDMIx1_INPUT = 0x50, 424 AUDIO_DSP1_CardRD_INPUT = 0x60, 425 AUDIO_DSP1_SIF_INPUT = 0x70, 426 AUDIO_DSP1_MM_INPUT = 0x80, 427 428 AUDIO_DSP2_DVB_INPUT = 0x01, 429 AUDIO_DSP2_DVB1_INPUT = 0x11, 430 AUDIO_DSP2_SPDIF_INPUT = 0x21, 431 AUDIO_DSP2_SPDIFx1_INPUT = 0x31, 432 AUDIO_DSP2_HDMI_INPUT = 0x41, 433 AUDIO_DSP2_HDMIx1_INPUT = 0x51, 434 AUDIO_DSP2_CardRD_INPUT = 0x61, 435 AUDIO_DSP2_SIF_INPUT = 0x71, 436 437 AUDIO_DSP3_DVB_INPUT = 0x06, 438 AUDIO_DSP3_DVB1_INPUT = 0x16, 439 AUDIO_DSP3_SPDIF_INPUT = 0x26, 440 AUDIO_DSP3_SPDIFx1_INPUT = 0x36, 441 AUDIO_DSP3_HDMI_INPUT = 0x46, 442 AUDIO_DSP3_HDMIx1_INPUT = 0x56, 443 AUDIO_DSP3_CardRD_INPUT = 0x66, 444 AUDIO_DSP3_SIF_INPUT = 0x76, 445 446 AUDIO_DSP4_DVB_INPUT = 0x08, 447 AUDIO_DSP4_DMARD_INPUT = 0x58, /// New add in T3 448 AUDIO_DSP4_SIF_INPUT = 0x78, /// For T3 SIF input 449 450 AUDIO_AUIN0_INPUT = 0x02, /// Line-in[0] 451 AUDIO_AUIN1_INPUT = 0x12, /// Line-in[1] 452 AUDIO_AUIN2_INPUT = 0x22, /// Line-in[2] 453 AUDIO_AUIN3_INPUT = 0x32, /// Line-in[3] 454 AUDIO_AUIN4_INPUT = 0xA2, /// Line-in[4] 455 AUDIO_AUIN5_INPUT = 0xB2, /// Line-in[5] 456 AUDIO_AUMIC_INPUT = 0x72, /// Micphone-in 457 458 AUDIO_ADC2_AUIN0_INPUT = 0x09, /// Line-in[0] 459 AUDIO_ADC2_AUIN1_INPUT = 0x19, /// Line-in[1] 460 AUDIO_ADC2_AUIN2_INPUT = 0x29, /// Line-in[2] 461 AUDIO_ADC2_AUIN3_INPUT = 0x39, /// Line-in[3] 462 AUDIO_ADC2_AUIN4_INPUT = 0xA9, /// Line-in[4] 463 AUDIO_ADC2_AUIN5_INPUT = 0xB9, /// Line-in[5] 464 AUDIO_ADC2_AUMIC_INPUT = 0x79, /// Micphone-in 465 466 AUDIO_DMA_READER_INPUT = 0x0E, ///<0x0E : DMA Reader INPUT 467 468 AUDIO_NULL_INPUT = 0xFF, 469 } AUDIO_INPUT_TYPE; 470 471 //================================================================ 472 // HDMI ENUM 473 //================================================================ 474 475 //====== HDMI Rx Mode TYPE======== 476 typedef enum 477 { 478 HDMI_RX_PCM = 0x0, ///< HDMI RX PCM Mode 479 HDMI_RX_DD = 0x1, ///< HDMI RX Dolby Mode 480 HDMI_RX_DTS = 0x2, ///< HDMI RX DTS Mode 481 HDMI_RX_DDP = 0x3, ///< HDMI RX DDP Mode 482 HDMI_RX_Other = 0x4, ///< HDMI RX Other Mode 483 } AUDIO_HDMI_RX_TYPE; 484 485 typedef enum 486 { 487 CODEC_NONE = 0x0, 488 CODEC_LPCM = 0x1, ///< Support LPCM 489 CODEC_DD = 0x2, ///< Support DD 490 CODEC_MPEG1 = 0x3, ///< Support MPEG1 491 CODEC_MP3 = 0x4, ///< Support MP3 492 CODEC_MPEG2 = 0x5, ///< Support MPEG2 493 CODEC_AAC = 0x6, ///< Support AAC 494 CODEC_DTS = 0x7, ///< Support DTS 495 CODEC_ATRAC = 0x8, ///< Support ATRAC 496 CODEC_ONEBITAUDIO = 0x9, ///< Support One-Bit Audio 497 CODEC_DDP = 0xA, ///< Support DDP 498 CODEC_DTSHD = 0xB, ///< Support DTSHD 499 CODEC_TRUEHD = 0xC, ///< Support MLP/TRUE-HD 500 CODEC_DST = 0xD, ///< Support DST 501 CODEC_WMAPRO = 0xE, ///< Support WMA-Pro 502 CODEC_MAX = 0xF, 503 } AUDIO_FORMAT_CODE; 504 505 //====== HDMI Tx Mode TYPE======== 506 typedef enum 507 { 508 HDMI_OUT_PCM, ///< HDMI OUTPUT PCM 509 HDMI_OUT_NONPCM, ///< HDMI OUTPUT non-PCM 510 HDMI_OUT_8CH_NONPCM, ///< HDMI OUTPUT non-PCM with 8 Channel output 511 } HDMI_TX_OUTPUT_TYPE; 512 513 //====== Audio output Mode TYPE======== 514 typedef enum 515 { 516 AUDIO_AUOUT0_OUTPUT, ///< 0: DAC0 OUTPUT 517 AUDIO_AUOUT1_OUTPUT, ///< 1: T2=>AA0 OUTPUT T3=>HP OUTPUT 518 AUDIO_AUOUT2_OUTPUT, ///< 2: T2=>AA1 OUTPUT T3=>DAC2 OUTPUT 519 AUDIO_AUOUT3_OUTPUT, ///< 3: T2=>NULL T3=>AA OUTPUT 520 AUDIO_SPDIF_OUTPUT, ///< 4: SPDIF OUTPUT 521 AUDIO_I2S_OUTPUT, ///< 5: I2S OUTPUT 522 AUDIO_HP_OUTPUT, ///< 6: OUTPUT with headphone driver 523 AUDIO_I2S2_OUTPUT, ///< 7: I2S2 OUTPUT 524 AUDIO_HDMI_ARC_OUTPUT, ///< 8: HDMI ARC OUTPUT(HDMI_Rx,TV) 525 AUDIO_HDMI_OUTPUT, ///< 9: HDMI Tx OUTPUT(HDMI_Tx,STB) 526 AUDIO_NULL_OUTPUT = 0xFF, 527 } AUDIO_OUTPUT_TYPE; 528 529 typedef enum 530 { 531 DIGITAL_SPDIF_OUTPUT, ///< 0: SPDIF 532 DIGITAL_HDMI_ARC_OUTPUT, ///< 1: HDMI ARC 533 DIGITAL_HDMI_OUTPUT, ///< 2: HDMI 534 DIGITAL_I2S_OUTPUT, ///< 3: I2S 535 DIGITAL_MAX_OUTPUT, 536 } DIGITAL_OUTPUT_TYPE; 537 538 //================================================================ 539 // I2S ENUM 540 //================================================================ 541 //====== I2S OUTPUT Mode TYPE======== 542 typedef enum 543 { 544 AUDIO_I2S_MCLK, ///< I2S MCLK 545 AUDIO_I2S_WORD_WIDTH, ///< I2S Word-width 546 AUDIO_I2S_SOURCE_CH, ///< I2S Source 547 AUDIO_I2S_FORMAT, ///< I2S format 548 AUDIO_I2S_RXMODE, ///< I2S RxMode 549 AUDIO_I2S_TXMODE, ///< I2S TxMode 550 } AUDIO_I2S_MODE_TYPE; 551 552 553 typedef enum 554 { 555 I2S_MCLK_64FS = 0x04, 556 I2S_MCLK_128FS = 0x05, 557 I2S_MCLK_256FS = 0x06, ///< 256 Fs ==>default setting 558 I2S_MCLK_384FS = 0x07, 559 560 I2S_WORD_WIDTH_16BIT = 0x4, 561 I2S_WORD_WIDTH_24BIT = 0x5, 562 I2S_WORD_WIDTH_32BIT = 0x6, ///< 32-bit ==> default setting 563 564 I2S_FORMAT_STANDARD = 0, 565 I2S_FORMAT_LEFT_JUSTIFIED = 1, 566 567 I2S_MASTER_MODE = 0, ///< MASTER_MODE ==> default setting 568 I2S_SLAVE_MODE = 1, 569 } AUDIO_I2S_MODE_VALUE; 570 571 //================================================================ 572 // SPDIF ENUM 573 //================================================================ 574 //====== SPDIF OUTPUT PATH======== 575 typedef enum 576 { 577 MPEG_ENCODE, 578 DTS_ENCODE_2CH, 579 DTS_ENCODE_MULTI, 580 MP3_ENCODE, 581 DD_DDENCODE, 582 DD_DDCO, 583 }AUDIO_ENCODE_TYPE; 584 585 //====== DIGITAL OUTPUT Mode TYPE======== 586 typedef enum 587 { 588 DIGITAL_OUT_PCM, 589 DIGITAL_OUT_DOLBYDIGITAL, 590 DIGITAL_OUT_DTS, 591 DIGITAL_OUT_AAC_LC, 592 DIGITAL_OUT_NONE, 593 } AUDIO_DIGITAL_OUTPUT_TYPE; 594 595 //====== SPDIF OUTPUT Mode TYPE======== 596 typedef enum 597 { 598 SPDIF_OUT_PCM = 0x0, ///< S/PDIF always output PCM 599 SPDIF_OUT_AUTO = 0x2, ///< S/PDIF OUTPUT PCM or non-PCM automatic 600 SPDIF_OUT_NONPCM = 0x2, ///< S/PDIF OUTPUT non-PCM 601 SPDIF_OUT_BYPASS, ///< S/PDIF OUTPUT by-pass from HDMI 602 SPDIF_OUT_TRANSCODE, ///< S/PDIF OUTPUT always transcode 603 SPDIF_OUT_NONE, ///< S/PDIF OUTPUT nothing 604 } AUDIO_SPDIF_OUTPUT_TYPE; 605 606 //====== SPDIF OUTPUT CS TYPE ========= 607 typedef enum 608 { 609 SPDIF_CS_CategoryCode = 0x0, ///< 610 SPDIF_CS_CopyRight = 0x1, ///< 611 SPDIF_CS_SourceNumber = 0x2, ///< 612 SPDIF_CS_ChannelNumber = 0x3, ///< 613 SPDIF_CS_SmpFreq = 0x4, ///< 614 SPDIF_CS_ClockAcc = 0x5, ///< 615 SPDIF_ChannelAB = 0x6, ///< 616 SPDIF_CS_CopyProtect = 0x7, ///< 617 } AUDIO_SPDIF_CS_TYPE; 618 619 //====== SPDIF OUTPUT CS Status ======= 620 typedef enum 621 { 622 SPDIF_CS_Category_BroadCast = 0x00, ///< 623 SPDIF_CS_Category_General = 0x01, ///< 624 SPDIF_CS_Category_BroadCast_JP = 0x02, ///< 625 SPDIF_CS_Category_BroadCast_EU = 0x03, ///< 626 SPDIF_CS_Category_BroadCast_USA = 0x04, ///< 627 SPDIF_CS_Category_Rev4 = 0x05, ///< 628 SPDIF_CS_Category_Rev5 = 0x06, ///< 629 SPDIF_CS_Category_Rev6 = 0x07, ///< 630 SPDIF_CS_CopyRight_CP = 0x08, ///< 631 SPDIF_CS_CopyRight_NonCP = 0x09, ///<SPDIF_CS_ChannelNumber_Right 632 SPDIF_CS_SourceNumber_2 = 0x0A, ///< 633 SPDIF_CS_SourceNumber_5 = 0x0B, ///< 634 SPDIF_CS_SourceNumber_6 = 0x0C, ///< 635 SPDIF_CS_SourceNumber_Rev1 = 0x0D, ///< 636 SPDIF_CS_SourceNumber_Rev2 = 0x0E, ///< 637 SPDIF_CS_SourceNumber_Rev3 = 0x0F, ///< 638 SPDIF_CS_ChannelNumber_A_Left = 0x10, ///< 639 SPDIF_CS_ChannelNumber_B_Right = 0x11, ///< 640 SPDIF_CS_ChannelNumber_C = 0x12, ///< 641 SPDIF_CS_ChannelNumber_D = 0x13, ///< 642 SPDIF_CS_ChannelNumber_E = 0x14, ///< 643 SPDIF_CS_ChannelNumber_F = 0x15, ///< 644 SPDIF_CS_ChannelNumber_G = 0x16, ///< 645 SPDIF_CS_ChannelNumber_H = 0x17, ///< 646 SPDIF_CS_ChannelNumber_I = 0x18, ///< 647 SPDIF_CS_ChannelNumber_J = 0x19, ///< 648 SPDIF_CS_ChannelNumber_K = 0x1A, ///< 649 SPDIF_CS_SmpFreq_192 = 0x1B, ///< 650 SPDIF_CS_SmpFreq_176 = 0x1C, ///< 651 SPDIF_CS_SmpFreq_128 = 0x1D, ///< 652 SPDIF_CS_SmpFreq_96 = 0x1E, ///< 653 SPDIF_CS_SmpFreq_88 = 0x1F, ///< 654 SPDIF_CS_SmpFreq_64 = 0x20, ///< 655 SPDIF_CS_SmpFreq_48 = 0x21, ///< 656 SPDIF_CS_SmpFreq_44 = 0x22, ///< 657 SPDIF_CS_SmpFreq_32 = 0x23, ///< 658 SPDIF_CS_SmpFreq_24 = 0x24, ///< 659 SPDIF_CS_SmpFreq_22 = 0x25, ///< 660 SPDIF_CS_SmpFreq_16 = 0x26, ///< 661 SPDIF_CS_SmpFreq_Rev1 = 0x27, ///< 662 SPDIF_CS_SmpFreq_Rev2 = 0x28, ///< 663 SPDIF_CS_SmpFreq_Rev3 = 0x29, ///< 664 SPDIF_CS_SmpFreq_Rev4 = 0x2A, ///< 665 SPDIF_CS_SmpFreq_Rev5 = 0x2B, ///< 666 SPDIF_CS_ClockAcc_Lev1 = 0x2C, ///< 667 SPDIF_CS_ClockAcc_Lev2 = 0x2D, ///< 668 SPDIF_CS_ClockAcc_Lev3 = 0x2E, ///< 669 SPDIF_CS_ClockAcc_NotMatch = 0x2F, ///< 670 SPDIF_ChannelAB_Invalid_ON = 0x30, ///< 671 SPDIF_ChannelAB_Invalid_OFF = 0x31, ///< 672 SPDIF_CS_CopyProtect_CopyFree = 0x32, ///< 673 SPDIF_CS_CopyProtect_CopyOnce = 0x33, ///< 674 SPDIF_CS_CopyProtect_CopyNever = 0x34, ///< 675 } AUDIO_SPDIF_CS_TYPE_STATUS; 676 677 //====== SPDIF OUTPUT CS Mode TYPE======== 678 typedef enum 679 { 680 SPDIF_CHANNEL_STATUS_FS, ///< Set sampling rate in CS3 681 SPDIF_CHANNEL_STATUS_CATEGORY, ///< Set Category code in CS1 682 SPDIF_CHANNEL_STATUS_PCM_FORMAT, ///< Set PCM/NonPCM mode in CS0 683 SPDIF_CHANNEL_STATUS_SOURCE_NUMBER, ///< Set source number in CS2 684 SPDIF_CHANNEL_STATUS_CHANNEL_NUMBER, ///< Set Channel number in CS2 685 } SPDIF_CS_MODE_TYPE; 686 687 typedef enum 688 { 689 SPDIF_CS_FS_32K = 0xC0, 690 SPDIF_CS_FS_44K = 0x00, 691 SPDIF_CS_FS_48K = 0x40, ///< ==>default setting 692 SPDIF_CS_CATEGORY_NONE = 0x00, 693 SPDIF_CS_CATEGORY_DVB = 0x30, 694 SPDIF_CS_CATEGORY_ATSC = 0x26, 695 SPDIF_CS_FORMAT_PCM = 0x00, 696 SPDIF_CS_FORMAT_NONPCM = 0x40, 697 }SPDIF_CS_MODE_VALUE; 698 699 //================================================================ 700 // SIF ENUM 701 //================================================================ 702 //======SIF Standard======== 703 typedef enum 704 { 705 AU_SYS_NOT_READY, // 0 706 AU_SYS_M_BTSC, // 1 707 AU_SYS_M_EIAJ, // 2 708 AU_SYS_M_A2, // 3 709 710 AU_SYS_BG_A2, // 4 711 AU_SYS_DK1_A2, // 5 712 AU_SYS_DK2_A2, // 6 713 AU_SYS_DK3_A2, // 7 714 715 AU_SYS_BG_NICAM, // 8 716 AU_SYS_DK_NICAM, // 9 717 AU_SYS_I_NICAM, // 10 718 AU_SYS_L_NICAM, // 11 719 AU_SYS_FM_RADIO, // 12 720 AU_SYS_HI_DEV = 0x10, 721 AU_SYS_BUSY = 0x80, 722 STD_SEL_AUTO = 0xE0 723 }AUDIO_SIF_SET_STANDARD; 724 725 //======SIF System Type======== 726 typedef enum 727 { 728 A2_M_STANDARD = 0x00, 729 A2_BG_STANDARD, 730 A2_DK_STANDARD, 731 A2_I_STANDARD, 732 AM_STANDARD, 733 NICAM_BG_STANDARD, 734 NICAM_I_STANDARD, 735 HIDEV_M_STANDARD, 736 HIDEV_BG_STANDARD, 737 HIDEV_DK_STANDARD, 738 HIDEV_I_STANDARD, 739 BTSC_STANDARD, 740 FM_RADIO_STANDARD, 741 WRITE_THRESHOLD = 0x10 742 }AUDIO_SIF_SYSTEM_TYPE; 743 744 745 //======SIF Threshold Type======== 746 typedef enum 747 { 748 CARRIER1_ON_AMP = 0x00, 749 CARRIER1_OFF_AMP, 750 CARRIER1_ON_NSR, 751 CARRIER1_OFF_NSR, 752 CARRIER2_ON_AMP, 753 CARRIER2_OFF_AMP, 754 CARRIER2_ON_NSR, 755 CARRIER2_OFF_NSR, 756 A2_PILOT_ON_AMP, 757 A2_PILOT_OFF_AMP, 758 759 NICAM_ON_SIGERR = 0x0, 760 NICAM_OFF_SIGERR = 0x1, 761 762 BTSC_MONO_ON_NSR_RATIO = 0x0, 763 BTSC_MONO_OFF_NSR_RATIO = 0x1, 764 BTSC_PILOT_AMPLITUDE_ON = 0x2, 765 BTSC_PILOT_AMPLITUDE_OFF = 0x3, 766 BTSC_SAP_ON_NSR_RATIO = 0x4, 767 BTSC_SAP_OFF_NSR_RATIO = 0x5, 768 BTSC_STEREO_ON_RATIO = 0x6, 769 BTSC_STEREO_OFF_NSR_RATIO = 0x7, 770 BTSC_SAP_AMPLITUDE_ON = 0x8, 771 BTSC_SAP_AMPLITUDE_OFF = 0x9, 772 BTSC_HIDEV_ON_NSR_RATIO = 0xA, 773 BTSC_HIDEV_OFF_NSR_RATIO = 0xB 774 }AUDIO_SIF_THRESHOLD_TYPE; 775 776 //======SIF Gain Type======== 777 typedef enum 778 { 779 PRESCALE_STEP_ONE_DB = 0x04, 780 SET_PRESCALE_A2_FM = 0x00, 781 SET_PRESCALE_NICAM = 0x01, 782 SET_PRESCALE_AM = 0x02, 783 SET_PRESCALE_HIDEV = 0x03, 784 SET_PRESCALE_FM_M = 0x04, 785 SET_PRESCALE_HIDEV_M = 0x05, 786 787 SET_PRESCALE_BTSC = 0x00, 788 SET_PRESCALE_BTSC_MONO = 0x01, 789 SET_PRESCALE_BTSC_STEREO = 0x02, 790 SET_PRESCALE_BTSC_SAP = 0x03, 791 792 SET_PRESCALE_FM_RADIO = 0x00, 793 SET_PRESCALE_FM_RADIO_MONO = 0x01, 794 SET_PRESCALE_FM_RADIO_STEREO = 0x02 795 796 }AUDIO_SIF_GAIN_TYPE; 797 798 enum 799 { 800 AU_STATUS_MUTE = 0x00, 801 AU_STATUS_MONO = 0x01, // Primary Mono 802 AU_STATUS_STEREO = 0x02, // Primary Stereo 803 AU_STATUS_SAP = 0x04, // Second Audio Program 804 AU_STATUS_NICAM = 0x08, // Second Audio Program 805 AU_STATUS_NICAM_MONO = 0x10 806 }; 807 808 // enum for sif command 809 typedef enum 810 { 811 // need to compatible with En_AUD_SIF_CmdType at apiAUDIO.h 812 AU_SIF_CMD_SET_STOP = 0x00, 813 AU_SIF_CMD_SET_PLAY = 0x01, 814 AU_SIF_CMD_ENABLE_HIDEV = 0x02, 815 AU_SIF_CMD_SET_HIDEV_FILTER_BW_LEVEL= 0x03, 816 AU_SIF_CMD_RESET_FC_TRACKING = 0x04, 817 AU_SIF_CMD_ENABLE_FC_TRACKING = 0x05, 818 AU_SIF_CMD_SET_ADC_FROM_VIF_PATH = 0x06, 819 AU_SIF_CMD_ENABLE_AUTO_MUTE = 0x07, 820 AU_SIF_CMD_ENABLE_BEEPER_FUNCTION = 0x08, 821 AU_SIF_CMD_SET_BEEPER_TONE = 0x09, 822 AU_SIF_CMD_ENABLE_AGC = 0x0A, 823 AU_SIF_CMD_RESET_AGC = 0x0B, 824 AU_SIF_CMD_STANDARD_RESET = 0x0C, 825 AU_SIF_CMD_DETECT_MAIN_STD_ONLY = 0x0D, 826 AU_SIF_CMD_ENABLE_AUTO_SOUNDMODE = 0x0E, 827 AU_SIF_CMD_SET_FM_RADIO_DeEmp = 0x0F, 828 AU_SIF_CMD_SET_FM_RADIO_FC_TRACK = 0x10, 829 AU_SIF_CMD_FM_RADIO_RESET = 0x11, 830 AU_SIF_CMD_FMTX_SET_PREEMP = 0x12, 831 AU_SIF_CMD_SET_ENC_CMD = 0x13, 832 AU_SIF_CMD_SET_ENC_Input_attenuation = 0x14, 833 AU_SIF_CMD_SET_ENC_Output_scaling = 0x15, 834 AU_SIF_CMD_SET_BTSC_Enc_M_Gain =0x16, 835 AU_SIF_CMD_SET_BTSC_Enc_D_Gain = 0x17, 836 AU_SIF_CMD_SET_BTSC_Enc_SAP_Gain = 0x18, 837 838 // internal used at sif driver. 839 AU_SIF_CMD_SET_STD = 0x40, 840 AU_SIF_CMD_SET_SUB_CARRIER_STD = 0x41, 841 AU_SIF_CMD_SET_CARRIER_DEBOUNCE = 0x42, 842 AU_SIF_CMD_ENABLE_SIF_SYNTHESIZER = 0x43, 843 AU_SIF_CMD_ENABLE_CHANNEL = 0x44, 844 AU_SIF_CMD_SET_SIFFIFO_MODE = 0x45, 845 AU_SIF_CMD_DK123_MONITOR = 0x46, 846 847 // internal used at sif driver. 848 AU_SIF_CMD_GET_HIDEV_ENABLE = 0x80, 849 AU_SIF_CMD_GET_HIDEV_FILTER_BW_LEVEL= 0x81, 850 AU_SIF_CMD_GET_ADC_FROM_VIF_PATH = 0x82, 851 AU_SIF_CMD_GET_FM_A2_MODE_STATUS = 0x83, 852 AU_SIF_CMD_GET_BTSC_MODE_STATUS = 0x84, 853 AU_SIF_CMD_GET_NICAM_MODE_STATUS = 0x85, 854 AU_SIF_CMD_GET_STANDARD_STATUS = 0x86, 855 AU_SIF_CMD_GET_STANDARD_CMD = 0x87, 856 AU_SIF_CMD_GET_NSR_CMD = 0x88, 857 AU_SIF_CMD_GET_AMP_CMD = 0x89, 858 AU_SIF_CMD_GET_FM_RADIO_MODE_STATUS = 0x8A, 859 AU_SIF_CMD_GET_FM_RADIO_DC_AMP = 0x8B, 860 AU_SIF_CMD_GET_FM_RADIO_NSR = 0x8C, 861 AU_SIF_CMD_GET_VIF_PATCH_ENABLE = 0x90, 862 AU_SIF_CMD_SET_SIF_SHIFT_CLK = 0x91, 863 864 AU_SIF_CMD2_ADC_VIA_VIF_PIN = 0x01 865 } AU_SIF_CMD; 866 867 //====== DSP code Type======== 868 typedef enum 869 { 870 AU_DVB_STANDARD_INVALID = 0xFF, 871 AU_DVB_STANDARD_DEC_DSP = 0x00, // define for dsp load code 872 AU_DVB_STANDARD_DEC_DSP_EXT = 0x10, // define for dsp load code 873 AU_DVB_NONE = 0x00, //0x00 874 AU_DVB_DEC_NONE, //0x01 875 AU_DVB_ENC_NONE, //0x02 876 AU_DVB_STANDARD_MPEG, //0x03 877 AU_DVB_STANDARD_AC3, //0x04 878 AU_DVB_STANDARD_AC3P, //0x05 879 AU_DVB_STANDARD_AAC, //0x06 880 AU_DVB_STANDARD_MP3, //0x07 881 AU_DVB_STANDARD_WMA, //0x08 882 AU_DVB_STANDARD_RESERVE3, //0x09 883 AU_DVB_STANDARD_RA8LBR, //0x0A 884 AU_DVB_STANDARD_XPCM, //0x0B 885 AU_DVB_STANDARD_TONE, //0x0C 886 AU_DVB_STANDARD_DTS, //0x0D 887 AU_DVB_STANDARD_MS10_DDT, //0x0E 888 AU_DVB_STANDARD_MS10_DDC, //0x0F 889 AU_DVB_STANDARD_WMA_PRO, //0x10 890 AU_DVB_STANDARD_FLAC, //0x11 891 AU_DVB_STANDARD_VORBIS, //0x12 892 AU_DVB_STANDARD_DTSLBR, //0x13 893 AU_DVB_STANDARD_AMR_NB, //0x14 894 AU_DVB_STANDARD_AMR_WB, //0x15 895 AU_DVB_STANDARD_DRA, //0x16 896 AU_DVB_STANDARD_MPEG_AD, //0x17 897 AU_DVB_STANDARD_DolbyTrueHD_Bypass, //0x18 898 AU_DVB_STANDARD_DTSHD_ADO, //0x19 899 AU_DVB_STANDARD_MAX, 900 901 AU_DVB_STANDARD_ENC = 0x20, // define for dsp load code 902 AU_DVB_STANDARD_MPEG_EN = 0x20, 903 904 AU_DVB2_STANDARD_SE_DSP = 0x30, // define for dsp load code 905 //AU_DVB2_STANDARD_SE_DSP_EXT = 0x40, // need to refine ADV judgement first. 906 AU_DVB2_NONE = 0x30, 907 AU_DVB2_STANDARD_MPEG_AD , 908 AU_DVB2_STANDARD_AC3_AD, 909 AU_DVB2_STANDARD_AC3P_AD, 910 AU_DVB2_STANDARD_AAC_AD, 911 AU_DVB2_STANDARD_DDE, 912 AU_DVB2_STANDARD_GAAC_AD, 913 AU_DVB2_STANDARD_MP3, 914 AU_DVB2_STANDARD_MPEG_EN, 915 AU_DVB2_STANDARD_XPCM, 916 AU_DVB2_STANDARD_KTV, 917 AU_DVB2_STANDARD_KTV2, 918 AU_DVB2_STANDARD_DTS, 919 AU_DVB2_STANDARD_TONEGEN, 920 AU_DVB2_STANDARD_DolbyTrueHD_Bypass, 921 AU_DVB2_STANDARD_DTSHD_ADO, 922 AU_DVB2_STANDARD_MAX, 923 924 AU_DVB2_ADVSND = 0x40, // define for dsp load code 925 AU_DVB2_ADVSND_PL2 = 0x40, 926 AU_DVB2_ADVSND_BBE, 927 AU_DVB2_ADVSND_SRS, 928 AU_DVB2_ADVSND_VDS, 929 AU_DVB2_ADVSND_VSPK, 930 AU_DVB2_ADVSND_SUPV, 931 AU_DVB2_ADVSND_TSHD, 932 AU_DVB2_ADVSND_DTS_ULTRA_TV, 933 AU_DVB2_ADVSND_TSHDVIQ, 934 AU_DVB2_ADVSND_AUDSY, 935 AU_DVB2_ADVSND_DBX, 936 AU_DVB2_ADVSND_THEATERSOUND, 937 AU_DVB2_ADVSND_PURESND, 938 AU_DVB2_ADVSND_STUDIOSOUND_3D, 939 AU_DVB2_ADVSND_BONGIOVI_DPS, 940 AU_DVB2_ADVSND_MAX, 941 942 AU_DEC_SYSTEM = 0x50, 943 AU_SE_SYSTEM = 0x60, 944 945 AU_KTV_ENC = 0x70, 946 AU_KTV_FUNC = 0x80, 947 AU_KTV_SYSTEM = 0x90, 948 949 AU_SND_EFFECT = 0xa0, 950 951 AU_STANDARD_SIF_TYPE = 0xb0, 952 AU_SIF_NONE = 0xb0, 953 AU_SIF_BTSC , 954 AU_SIF_EIAJ, 955 AU_SIF_PALSUM, 956 AU_SIF_FM_RADIO, 957 958 AU_ATVENC_NONE = 0xc0, 959 AU_ATVENC_FMTx, 960 AU_ATVENC_BTSC, 961 962 }AUDIO_DSP_CODE_TYPE; 963 964 typedef enum 965 { 966 AU_SIF_PAL_MONO, 967 AU_SIF_PAL_HIDEV, 968 AU_SIF_PAL_A2, 969 AU_SIF_PAL_NICAM 970 }AUDIO_SIF_PAL_TYPE; 971 972 typedef enum 973 { 974 AU_MODE_MONO, ///< MONO 975 AU_MODE_STEREO, ///< STEREO 976 AU_MODE_SAP, ///< SAP 977 AU_MODE_LANG_A, ///< LANG_A 978 AU_MODE_LANG_B, ///< LANG_B 979 AU_MODE_LANG_AB, ///< LANG_AB 980 AU_MODE_FORCE_NICAM, ///< FORCE_NICAM 981 AU_MODE_NICAM_MONO, 982 AU_MODE_AUTO = 0x80 ///< auto switch to mono & mute 983 } AUDIO_SIF_SOUND_MODE; 984 985 986 //================================================================ 987 // DVB/MAD ENUM 988 //================================================================ 989 //====== DSP Running Counter Type======== 990 typedef enum 991 { 992 DSP_DEC_MAIN_COUNTER, /// Main counter for 1st DSP 993 DSP_DEC_TIMER_COUNTER, /// Timer counter for 1st DSP 994 DSP_SE_MAIN_COUNTER, /// Main counter for 2nd DSP 995 DSP_SE_TIMER_COUNTER, /// Timer counter for 2nd DSP 996 DSP_SE_ISR_COUNTER, /// ISR counter for 2nd DSP 997 DEC_R2_MAIN_COUNTER, /// Main counter for DEC R2 998 DEC_R2_TIMER_COUNTER, /// Timer counter for DEC R2 999 SND_R2_MAIN_COUNTER, /// Main counter for SND R2 1000 SND_R2_TIMER_COUNTER /// Timer counter for SND R2 1001 } AUDIO_DSP_COUNTER_TYPE; 1002 1003 ///< Audio decoder system (1st & 2nd) type 1004 typedef enum 1005 { 1006 MSAPI_AUD_DVB_INVALID = 0xFF, ///< 0xFF: System=Invalid 1007 1008 //DTV / MM Audio main decoder 1009 MSAPI_AUD_DVB_NONE = 0x00, ///< 0x00: System=None 1010 MSAPI_AUD_DVB_MPEG, ///< 0x01: System=MPEG 1011 MSAPI_AUD_DVB_AC3, ///< 0x02: System=AC3 1012 MSAPI_AUD_DVB_AC3P, ///< 0x03: System=AC3+ 1013 MSAPI_AUD_DVB_AAC, ///< 0x04: System=AAC 1014 MSAPI_AUD_DVB_MP3, ///< 0x05: System=MP3 1015 MSAPI_AUD_DVB_WMA, ///< 0x06: System=WMA 1016 MSAPI_AUD_DVB_CDLPCM, ///< 0x07: System=LPCM 1017 MSAPI_AUD_DVB_RA8LBR, ///< 0x08: System=RA8 LBR 1018 MSAPI_AUD_DVB_XPCM, ///< 0x09: System=XPCM 1019 MSAPI_AUD_DVB_TONE, ///< 0x0A: System=TONE 1020 MSAPI_AUD_DVB_DTS, ///< 0x0B: System=DTS 1021 MSAPI_AUD_DVB_MS10_DDT, ///< 0x0C: System=MS10 DDT 1022 MSAPI_AUD_DVB_MS10_DDC, ///< 0x0D: System=MS10 DDC 1023 MSAPI_AUD_DVB_WMA_PRO, ///< 0x0E: System=WMA PRO 1024 MSAPI_AUD_DVB_FLAC, ///< 0x0F: System=FLAC 1025 MSAPI_AUD_DVB_VORBIS, // 0x10 1026 MSAPI_AUD_DVB_DTSLBR, // 0x11 1027 MSAPI_AUD_DVB_AMR_NB, // 0x12 1028 MSAPI_AUD_DVB_AMR_WB, // 0x13 1029 MSAPI_AUD_DVB_DRA, // 0x14 1030 MSAPI_AUD_DVB_DolbyTrueHDBypass, ///< 0x15: Dolby TruHD bypass 1031 MSAPI_AUD_DVB_DTSHDADO, //0x16: 1032 MSAPI_AUD_DVB_MAX, 1033 1034 //DTV Audio decoder 2 (for AD) 1035 MSAPI_AUD_DVB2_NONE = 0x30, ///< 0x30: System=None 1036 MSAPI_AUD_DVB2_MPEG, ///< 0x31: System=MPEG AD 1037 MSAPI_AUD_DVB2_AC3, ///< 0x32: System=AC3 AD 1038 MSAPI_AUD_DVB2_MP3, ///< 0x33: System=2nd MP3 1039 MSAPI_AUD_DVB2_AAC, ///< 0x34: System=AAC AD 1040 MSAPI_AUD_DVB2_GAAC, ///< 0x35: System=GAAC AD 1041 MSAPI_AUD_DVB2_AC3P, ///< 0x36: System=AC3P AD 1042 MSAPI_AUD_DVB2_DDE, ///< 0x37: System=AC3 Encoder 1043 MSAPI_AUD_DVB2_DTSE, ///< 0x38: System=DTS Encoder 1044 MSAPI_AUD_DVB2_XPCM, 1045 MSAPI_AUD_DVB2_KTV, 1046 MSAPI_AUD_DVB2_KTV2, 1047 MSAPI_AUD_DVB2_DTS, 1048 MSAPI_AUD_DVB2_TONEGEN, 1049 MSAPI_AUD_DVB2_DolbyTrueHDBypass, ///< 0x15: Dolby TruHD bypass 1050 MSAPI_AUD_DVB2_DTSHDADO, //0x16: 1051 MSAPI_AUD_DVB2_MAX, 1052 1053 //ATV SIF 1054 MSAPI_AUD_ATV_NONE = 0xB0, ///< 0xB0: System=None 1055 MSAPI_AUD_ATV_BTSC, ///< 0xB1: System=BTSC 1056 MSAPI_AUD_ATV_EIAJ, 1057 MSAPI_AUD_ATV_PAL, ///< 0xB3: System=PALSUM 1058 MSAPI_AUD_ATV_FM_RADIO, ///< 0xB4: System=FM_RADIO 1059 MSAPI_AUD_ATV_MAX, 1060 1061 //ATV ENC 1062 MSAPI_AUD_ATVENC_NONE = 0xC0, ///< 0xC0: System=None 1063 MSAPI_AUD_ATVENC_FMTX, ///< 0xC1: System=FM_Tx 1064 MSAPI_AUD_ATVENC_BTSC, ///< 0xC2: System=BTSC_Enc 1065 MSAPI_AUD_ATVENC_MAX 1066 } En_DVB_decSystemType; 1067 1068 typedef enum 1069 { 1070 Audio_DEC_PCM = 0x00000001, 1071 Audio_DEC_XPCM = 0x00000002, 1072 Audio_DEC_MPEG = 0x00000004, 1073 Audio_DEC_MP3 = 0x00000008, 1074 Audio_DEC_AC3 = 0x00000010, 1075 Audio_DEC_AC3P = 0x00000020, 1076 Audio_DEC_AAC_LC = 0x00000040, 1077 Audio_DEC_HEAAC_V1 = 0x00000080, 1078 Audio_DEC_HEAAC_V2 = 0x00000100, 1079 Audio_DEC_DOLBYPULSE = 0x00000200, 1080 Audio_DEC_WMA = 0x00000400, 1081 Audio_DEC_WMAPRO = 0x00000800, 1082 Audio_DEC_RA8 = 0x00001000, 1083 Audio_DEC_DTS = 0x00002000, 1084 Audio_DEC_FLAC = 0x00004000, 1085 Audio_DEC_VORBIS = 0x00008000, 1086 Audio_DEC_KTV = 0x00010000, 1087 Audio_DEC_KTV2 = 0x00020000, 1088 Audio_DEC_AMR_NB = 0x00040000, 1089 Audio_DEC_AMR_WB = 0x00080000, 1090 Audio_DEC_DRA = 0x00100000, 1091 Audio_DEC_DTSLBR = 0x00200000, 1092 Audio_DEC_Dolby_TrueHD_Bypass_R2 = 0x00400000, 1093 Audio_DEC_DTS_HD_ADO_R2 = 0x00800000, 1094 Audio_DEC_NULL = 0xFFFFFFFF 1095 1096 } MMA_AudioType; 1097 1098 //====== MMA ======== 1099 typedef enum 1100 { 1101 MMA_STOP, 1102 MMA_PLAY, 1103 MMA_PLAY_FILETSP, 1104 MMA_RESYNC, 1105 MMA_PLAY_FILE, 1106 MMA_BROWSE, 1107 MMA_PAUSE, 1108 MMA_PLAY_FRAME, 1109 MMA_PLAY_FRAME_GS, 1110 1111 } MMA_AUDIO_CONTROL; 1112 1113 typedef enum 1114 { 1115 /********* New Interface ********/ 1116 Audio_Comm_infoType_MMA_init = 0x60, 1117 Audio_Comm_infoType_MMA_finish, 1118 1119 /*******************************************************************/ 1120 /* If you want add new cmd below, */ 1121 /* Please make sure ADEC 1 / 2/ 3 have "same" cmd in "same" order" */ 1122 /*******************************************************************/ 1123 Audio_Comm_infoType_ADEC1_capability = 0x70, 1124 Audio_Comm_infoType_ADEC1_setAudioDecoder, 1125 Audio_Comm_infoType_ADEC1_currAudDecStatus, 1126 Audio_Comm_infoType_ADEC1_AudioSyncStatus, // 1 : AV-Sync 0: Free-run 1127 Audio_Comm_infoType_ADEC1_sampleRate, 1128 Audio_Comm_infoType_ADEC1_bitRate, 1129 Audio_Comm_infoType_ADEC1_acmod, 1130 Audio_Comm_infoType_ADEC1_soundmod, 1131 Audio_Comm_infoType_ADEC1_reqDataSize, 1132 Audio_Comm_infoType_ADEC1_okFrmCnt, 1133 Audio_Comm_infoType_ADEC1_errFrmCnt, 1134 Audio_Comm_infoType_ADEC1_1ms_timeStamp, 1135 Audio_Comm_infoType_ADEC1_33bit_PTS, 1136 Audio_Comm_infoType_ADEC1_33bit_STCPTS_DIFF, 1137 Audio_Comm_infoType_ADEC1_esBuf_reqFlag, //new 1138 Audio_Comm_infoType_ADEC1_esBuf_reqAddr, 1139 Audio_Comm_infoType_ADEC1_esBuf_reqSize, 1140 Audio_Comm_infoType_ADEC1_esBuf_informDataRdy, //new 1141 Audio_Comm_infoType_ADEC1_esBuf_currLevel, 1142 Audio_Comm_infoType_ADEC1_pcmBuf_currLevel, 1143 Audio_Comm_infoType_ADEC1_playControl, 1144 Audio_Comm_infoType_ADEC1_FF2X, 1145 Audio_Comm_infoType_ADEC1_mute, 1146 Audio_Comm_infoType_syncSTC_in_mmTs, 1147 Audio_Comm_infoType_ADEC1_play_wo_output, 1148 Audio_Comm_infoType_ADEC1_audio_unsupported, 1149 Audio_Comm_infoType_ADEC1_UNI_PCMOutCnt, // UNI_DEC1_PCM1 -> MIPS out size 1150 Audio_Comm_infoType_ADEC1_UNI_pcm_wptr, // DEC1 -> UNI_DEC1_PCM1 wptr 1151 Audio_Comm_infoType_ADEC1_UNI_pcm_decSize, // DEC1 -> UNI_DEC1_PCM1 w_size 1152 Audio_Comm_infoType_ADEC1_UNI_PCMInput_Addr, // MISP -> UNI_DEC1_PCM3 wptr 1153 Audio_Comm_infoType_ADEC1_UNI_OutPCMLevel, // UNI_DEC1_PCM3 level count 1154 Audio_Comm_infoType_ADEC1_avSyncOffset, 1155 1156 Audio_Comm_infoType_ADEC1_Set_play_smpRate = 0x1000, 1157 Audio_Comm_infoType_ADEC1_Get_PTS_latency, 1158 Audio_Comm_infoType_ADEC1_Get_PCM_bufferEmpty, 1159 1160 /********************************************************************/ 1161 /* Please Add ADEC 1 cmd above */ 1162 /* Please make sure ADEC 1 / 2/ 3 have "same" cmd in "same" order" */ 1163 /********************************************************************/ 1164 Audio_Comm_infoType_ADEC1_setDecParam = 0x8F, 1165 Audio_Comm_infoType_ADEC1_getDecInfo1 = 0x90, 1166 Audio_Comm_infoType_ADEC1_getDecInfo2, 1167 Audio_Comm_infoType_ADEC1_getDecInfo3, 1168 Audio_Comm_infoType_ADEC1_getDecInfo4, 1169 Audio_Comm_infoType_ADEC1_getDecInfo5, 1170 Audio_Comm_infoType_ADEC1_getDecInfo6, 1171 Audio_Comm_infoType_ADEC1_getDecInfo7, 1172 Audio_Comm_infoType_ADEC1_getDecInfo8, 1173 Audio_Comm_infoType_ADEC1_getDecChannelInfo, 1174 1175 /********************************************************************/ 1176 /* If you want add new cmd below, */ 1177 /* Please make sure ADEC 1 / 2/ 3 have "same" cmd in "same" order" */ 1178 /********************************************************************/ 1179 Audio_Comm_infoType_ADEC2_capability = 0xA0, 1180 Audio_Comm_infoType_ADEC2_setAudioDecoder, 1181 Audio_Comm_infoType_ADEC2_currAudDecStatus, 1182 Audio_Comm_infoType_ADEC2_AudioSyncStatus, // 1 : AV-Sync 0: Free-run 1183 Audio_Comm_infoType_ADEC2_sampleRate, 1184 Audio_Comm_infoType_ADEC2_bitRate, 1185 Audio_Comm_infoType_ADEC2_acmod, 1186 Audio_Comm_infoType_ADEC2_soundmod, 1187 Audio_Comm_infoType_ADEC2_reqDataSize, 1188 Audio_Comm_infoType_ADEC2_okFrmCnt, 1189 Audio_Comm_infoType_ADEC2_errFrmCnt, 1190 Audio_Comm_infoType_ADEC2_1ms_timeStamp, 1191 Audio_Comm_infoType_ADEC2_33bit_PTS, 1192 Audio_Comm_infoType_ADEC2_33bit_STCPTS_DIFF, 1193 Audio_Comm_infoType_ADEC2_esBuf_reqFlag, 1194 Audio_Comm_infoType_ADEC2_esBuf_reqAddr, 1195 Audio_Comm_infoType_ADEC2_esBuf_reqSize, 1196 Audio_Comm_infoType_ADEC2_esBuf_informDataRdy, 1197 Audio_Comm_infoType_ADEC2_esBuf_currLevel, 1198 Audio_Comm_infoType_ADEC2_pcmBuf_currLevel, 1199 Audio_Comm_infoType_ADEC2_playControl, 1200 Audio_Comm_infoType_ADEC2_FF2X, 1201 Audio_Comm_infoType_ADEC2_mute, 1202 Audio_Comm_infoType_ADEC2_syncSTC_in_mmTs, 1203 Audio_Comm_infoType_ADEC2_play_wo_output, 1204 Audio_Comm_infoType_ADEC2_audio_unsupported, 1205 Audio_Comm_infoType_ADEC2_UNI_PCMOutCnt, // UNI_DEC2_PCM1 -> MIPS out size 1206 Audio_Comm_infoType_ADEC2_UNI_pcm_wptr, // DEC2 -> UNI_DEC2_PCM1 wptr 1207 Audio_Comm_infoType_ADEC2_UNI_pcm_decSize, // DEC2 -> UNI_DEC2_PCM1 w_size 1208 Audio_Comm_infoType_ADEC2_UNI_PCMInput_Addr, // MISP -> UNI_DEC2_PCM3 wptr 1209 Audio_Comm_infoType_ADEC2_UNI_OutPCMLevel, // UNI_DEC2_PCM3 level count 1210 Audio_Comm_infoType_ADEC2_avSyncOffset, 1211 1212 /********************************************************************/ 1213 /* Please Add ADEC 2 cmd above */ 1214 /* Please make sure ADEC 1 / 2/ 3 have "same" cmd in "same" order" */ 1215 /********************************************************************/ 1216 Audio_Comm_infoType_ADEC2_setDecParam = 0xBF, 1217 Audio_Comm_infoType_ADEC2_getDecInfo1 = 0xC0, 1218 Audio_Comm_infoType_ADEC2_getDecInfo2, 1219 Audio_Comm_infoType_ADEC2_getDecInfo3, 1220 Audio_Comm_infoType_ADEC2_getDecInfo4, 1221 Audio_Comm_infoType_ADEC2_getDecInfo5, 1222 Audio_Comm_infoType_ADEC2_getDecInfo6, 1223 Audio_Comm_infoType_ADEC2_getDecInfo7, 1224 Audio_Comm_infoType_ADEC2_getDecInfo8, 1225 Audio_Comm_infoType_ADEC2_getDecChannelInfo, 1226 1227 /**********************************************************************/ 1228 /* If you want add new cmd below, */ 1229 /* Please make sure ADEC 1 / 2/ 3 have "same" cmd in "same" order" */ 1230 /**********************************************************************/ 1231 Audio_Comm_infoType_ADEC3_capability = 0xD0, 1232 Audio_Comm_infoType_ADEC3_setAudioDecoder, 1233 Audio_Comm_infoType_ADEC3_currAudDecStatus, 1234 Audio_Comm_infoType_ADEC3_AudioSyncStatus, // 1 : AV-Sync 0: Free-run 1235 Audio_Comm_infoType_ADEC3_sampleRate, 1236 Audio_Comm_infoType_ADEC3_bitRate, 1237 Audio_Comm_infoType_ADEC3_acmod, 1238 Audio_Comm_infoType_ADEC3_soundmod, 1239 Audio_Comm_infoType_ADEC3_reqDataSize, 1240 Audio_Comm_infoType_ADEC3_okFrmCnt, 1241 Audio_Comm_infoType_ADEC3_errFrmCnt, 1242 Audio_Comm_infoType_ADEC3_1ms_timeStamp, 1243 Audio_Comm_infoType_ADEC3_33bit_PTS, 1244 Audio_Comm_infoType_ADEC3_33bit_STCPTS_DIFF, 1245 Audio_Comm_infoType_ADEC3_esBuf_reqFlag, 1246 Audio_Comm_infoType_ADEC3_esBuf_reqAddr, 1247 Audio_Comm_infoType_ADEC3_esBuf_reqSize, 1248 Audio_Comm_infoType_ADEC3_esBuf_informDataRdy, 1249 Audio_Comm_infoType_ADEC3_esBuf_currLevel, 1250 Audio_Comm_infoType_ADEC3_pcmBuf_currLevel, 1251 Audio_Comm_infoType_ADEC3_playControl, 1252 Audio_Comm_infoType_ADEC3_FF2X, 1253 Audio_Comm_infoType_ADEC3_mute, 1254 Audio_Comm_infoType_ADEC3_syncSTC_in_mmTs, 1255 Audio_Comm_infoType_ADEC3_play_wo_output, 1256 Audio_Comm_infoType_ADEC3_audio_unsupported, 1257 Audio_Comm_infoType_ADEC3_UNI_PCMOutCnt, // UNI_DEC3_PCM1 -> MIPS out size 1258 Audio_Comm_infoType_ADEC3_UNI_pcm_wptr, // DEC3 -> UNI_DEC3_PCM1 wptr 1259 Audio_Comm_infoType_ADEC3_UNI_pcm_decSize, // DEC3 -> UNI_DEC3_PCM1 w_size 1260 Audio_Comm_infoType_ADEC3_UNI_PCMInput_Addr, // MISP -> UNI_DEC3_PCM3 wptr 1261 Audio_Comm_infoType_ADEC3_UNI_OutPCMLevel, // UNI_DEC3_PCM3 level count 1262 Audio_Comm_infoType_ADEC3_avSyncOffset, 1263 1264 /**********************************************************************/ 1265 /* Please Add ADEC 3 cmd above */ 1266 /* Please make sure ADEC 1 / 2/ 3 have "same" cmd in "same" order" */ 1267 /**********************************************************************/ 1268 Audio_Comm_infoType_ADEC3_setDecParam = 0xEF, 1269 Audio_Comm_infoType_ADEC3_getDecInfo1 = 0xF0, 1270 Audio_Comm_infoType_ADEC3_getDecInfo2, 1271 Audio_Comm_infoType_ADEC3_getDecInfo3, 1272 Audio_Comm_infoType_ADEC3_getDecInfo4, 1273 Audio_Comm_infoType_ADEC3_getDecInfo5, 1274 Audio_Comm_infoType_ADEC3_getDecInfo6, 1275 Audio_Comm_infoType_ADEC3_getDecInfo7, 1276 Audio_Comm_infoType_ADEC3_getDecInfo8, 1277 Audio_Comm_infoType_ADEC3_getDecChannelInfo, 1278 1279 /****************************************************/ 1280 /* General audio cmd */ 1281 /****************************************************/ 1282 Audio_Comm_infoType_DecStatus = 0x00, 1283 Audio_Comm_infoType_SampleRate, 1284 Audio_Comm_infoType_SoundMode, 1285 Audio_Comm_infoType_DecOutMode, 1286 Audio_Comm_infoType_ChannelMode, 1287 Audio_Comm_infoType_MMFileSize, 1288 Audio_Comm_infoType_33Bit_PTS, 1289 Audio_Comm_infoType_33Bit_STCPTS_DIFF, 1290 Audio_Comm_infoType_1ms_PTS, 1291 Audio_Comm_infoType_DEC1_BufferSize, 1292 Audio_Comm_infoType_DEC1_BufferAddr, 1293 Audio_Comm_infoType_DEC1_MMTag, 1294 Audio_Comm_infoType_DEC1_MMResidualPCM, 1295 Audio_Comm_infoType_DEC1_ESBufferSize, 1296 Audio_Comm_infoType_DEC1_PCMBufferSize, 1297 Audio_Comm_infoType_DEC2_BufferSize, 1298 Audio_Comm_infoType_DEC2_BufferAddr = 0x10, 1299 Audio_Comm_infoType_DEC2_MMTag, 1300 Audio_Comm_infoType_DEC2_MMResidualPCM, 1301 Audio_Comm_infoType_DecodeErrorCnt, 1302 Audio_Comm_infoType_MM_FFx2, 1303 Audio_Comm_infoType_setBypassSPDIF_PAPB_chk, 1304 Audio_Comm_infoType_CompressBin_LoadCode, 1305 Audio_Comm_infoType_CompressBin_DDRAddress, 1306 Audio_Comm_infoType_DMAReader_BufferLevel, 1307 Audio_Comm_infoType_DMAReader_Command, 1308 Audio_Comm_infoType_SetSCMS, 1309 Audio_Comm_infoType_GetSCMS, 1310 Audio_Comm_infoType_ADC_InputGain, 1311 Audio_Comm_infoType_KTV_SetType, 1312 Audio_Comm_infoType_getSignal_Energy, 1313 Audio_Comm_infoType_getNR_Status, 1314 Audio_Comm_infoType_setNR_Threshold = 0x20, 1315 Audio_Comm_infoType_setSPDIF_FS, 1316 Audio_Comm_infoType_getSPDIF_FS, 1317 Audio_Comm_infoType_setSpdifDelay, 1318 Audio_Comm_infoType_ReadByte, 1319 Audio_Comm_infoType_WriteByte, 1320 Audio_Comm_infoType_hdmiTx_outType, 1321 Audio_Comm_infoType_hdmiTx_outFreq, 1322 Audio_Comm_infoType_PTS_info, 1323 Audio_Comm_infoType_RTSP_Mem, 1324 Audio_Comm_infoType_setSpdif_BufferProcess, 1325 Audio_Comm_infoType_DEC1_setBufferProcess, 1326 Audio_Comm_infoType_setES_REQ_SZ, 1327 Audio_Comm_infoType_AD_OutputStyle, 1328 Audio_Comm_infoType_getHDMI_CopyRight_C_Bit, 1329 Audio_Comm_infoType_getHDMI_CopyRight_L_Bit, 1330 Audio_Comm_infoType_Set_UNI_NEED_DECODE_FRMCNT = 0x30, 1331 Audio_Comm_infoType_Set_UNI_ES_Wptr, 1332 Audio_Comm_infoType_Get_UNI_ES_MEMCNT, 1333 Audio_Comm_infoType_Set_MENU_WT_PTR, 1334 Audio_Comm_infoType_Get_MENU_WT_PTR, 1335 Audio_Comm_infoType_Get_MENU_KEY_CNT, 1336 Audio_Comm_infoType_Get_CurSynthRate, 1337 Audio_Comm_infoType_ADC1_InputGain, 1338 Audio_Comm_infoType_mainpath_mute_status, 1339 Audio_Comm_infoType_spdif_mute_status, 1340 Audio_Comm_infoType_hdmiTX_mute_status, 1341 Audio_Comm_infoType_SRC_Compensation, 1342 Audio_Comm_infoType_Dump_Dsp_Info, 1343 Audio_Comm_infoType_Set_Video_STCPTS_DIFF, 1344 1345 Audio_Comm_infoType_Get_UNI_ES_Base, 1346 Audio_Comm_infoType_Get_UNI_ES_Size, 1347 Audio_Comm_infoType_Get_UNI_PCM_Base = 0x40, 1348 Audio_Comm_infoType_Get_UNI_PCM_Size, 1349 Audio_Comm_infoType_Get_AccumEsCnt, 1350 Audio_Comm_infoType_DSP_PLL_Setting, 1351 Audio_Comm_infoType_Set_CallBackFunc, 1352 Audio_Comm_infoType_Set_ALSA_Mode, /* For OMX Dual Mono Setting */ 1353 Audio_Comm_infoType_HDMI_Unstable_Protect, 1354 Audio_Comm_infoType_HDMI_Unstable_Threshold, 1355 Audio_Comm_infoType_Set_TEE_Capibility, 1356 Audio_Comm_infoType_Parser_Spec, /* Support ISO 11172-1 for MM */ 1357 Audio_Comm_infoType_Get_MultiPlayer_Capability, 1358 Audio_Comm_infoType_Get_Parser_Architecture, 1359 Audio_Comm_infoType_Set_CfgCtrlRegs_Lock, 1360 Audio_Comm_infoType_DMAReader_BufferSize, 1361 Audio_Comm_infoType_PUSI_disable_Info, /*For STB only PES file in tsp.(need disable PUSI)*/ 1362 Audio_Comm_infoType_Set_Parser, 1363 Audio_Comm_infoType_Parser_Info = 0x50, 1364 Audio_Comm_infoType_Get_Dolby_TrueHD_Bypass_Capability, 1365 Audio_Comm_infoType_Set_DFS_PowerSave, /*DFS setting for saving power*/ 1366 Audio_Comm_infoType_Is_Decoder_In_R2, /*For IC with R2 Decoder*/ 1367 Audio_comm_infoType_Get_audio_crash_status, 1368 Audio_Comm_infoType_Vorbis_header_size = 0x5F, 1369 /*******************************************************/ 1370 /* Please Add common audio cmd above */ 1371 /*******************************************************/ 1372 1373 Audio_Comm_infoType_Get_SE_Input_Main_BufferBase = 0x8000, 1374 Audio_Comm_infoType_Get_SE_Input_Main_BufferSize, 1375 Audio_Comm_infoType_Get_SE_Output_Main_BufferBase, 1376 Audio_Comm_infoType_Get_SE_Output_Main_BufferSize, 1377 Audio_Comm_infoType_Get_SE_PROCESS_FRAME_SMP_UNIT, 1378 Audio_Comm_infoType_Get_SE_PROCESS_FETCH_CHANNELS, 1379 Audio_Comm_infoType_Get_SE_PROCESS_STORE_CHANNELS, 1380 Audio_Comm_infoType_Get_SE_PROCESS_FETCH_FRAME_BYTE_SIZE, 1381 Audio_Comm_infoType_Get_SE_PROCESS_STORE_FRAME_BYTE_SIZE, 1382 1383 Audio_Comm_infoType_Set_SE_Input_Main_Buffer_Feed = 0x8100, 1384 Audio_Comm_infoType_Set_SE_Output_Main_Buffer_Consume, 1385 Audio_Comm_infoType_Set_SE_Test_Init, 1386 Audio_Comm_infoType_Set_SE_Test_End, 1387 Audio_Comm_infoType_Set_SE_TONE_Test_Begin, 1388 Audio_Comm_infoType_Set_SE_PEQ_Test_Begin, 1389 Audio_Comm_infoType_Set_SE_GEQ_Test_Begin, 1390 Audio_Comm_infoType_Set_SE_AVC_Test_Begin, 1391 Audio_Comm_infoType_Set_SE_SRS_THEATER_SOUND_Begin, 1392 } Audio_COMM_infoType; 1393 1394 //================================================================ 1395 // Common PCM I/O ENUM 1396 //================================================================ 1397 typedef enum 1398 { 1399 AUDIO_PCM_CMD_ALL, /* GET */ 1400 AUDIO_PCM_CMD_NONBLOCKING, /* SET/GET */ 1401 AUDIO_PCM_CMD_MULTICH, /* GET */ 1402 AUDIO_PCM_CMD_MIXING, /* GET */ 1403 AUDIO_PCM_CMD_MIXINGGROUP, /* SET/GET */ 1404 AUDIO_PCM_CMD_BUFFER, /* GET only */ 1405 AUDIO_PCM_CMD_BUFFERDURATION, /* SET/GET */ 1406 AUDIO_PCM_CMD_READPTR, /* GET only */ 1407 AUDIO_PCM_CMD_WRITEPTR, /* GET only */ 1408 AUDIO_PCM_CMD_CHANNEL, /* SET/GET */ 1409 AUDIO_PCM_CMD_SAMPLERATE, /* SET/GET */ 1410 AUDIO_PCM_CMD_BITWIDTH, /* SET/GET */ 1411 AUDIO_PCM_CMD_BIGENDIEN, /* SET/GET */ 1412 AUDIO_PCM_CMD_TIMESTAMP, /* SET/GET */ 1413 AUDIO_PCM_CMD_WEIGHTING, /* SET/GET */ 1414 AUDIO_PCM_CMD_VOLUME, /* SET/GET */ 1415 AUDIO_PCM_CMD_BUFFERLEVEL, /* GET only */ 1416 AUDIO_PCM_CMD_MUTE, /* SET/GET */ 1417 } AUDIO_PCM_COMMAND; 1418 1419 // MPEG 1420 typedef enum 1421 { //info Type name //Attibtue //Parameter 1422 Audio_MPEG_infoType_DecStatus, //R //0:unlock 1:lock 1423 Audio_MPEG_infoType_SampleRate, //R // 1424 Audio_MPEG_infoType_BitRate, //R // 1425 Audio_MPEG_infoType_FrameNum, //R // 1426 Audio_MPEG_infoType_SoundMode, //W //0: LR / 1:LL / 2:RR 1427 Audio_MPEG_infoType_stereoMode, //R //0: Stereo / 1: / 2:RR 1428 Audio_MPEG_infoType_Layer, //R //1 / 2 / 3 1429 Audio_MPEG_infoType_Header, //R // 1430 Audio_MPEG_infoType_FFSpeed, //W // 1431 Audio_MPEG_infoType_MMFileSize, //W //enum FILE_SIZE 1432 Audio_MPEG_infoType_Emphasis, //R // 1433 Audio_MPEG_DTV_AVSYNC_OFFSET, //W, unit= 33bits offset 1434 Audio_MPEG_infoType_PCMBufLev, //RW 1435 Audio_MPEG_infoType_BufferDelay, //RW 1436 Audio_MPEG_DTV_AVSYNC_DISABLE_SETTING, 1437 Audio_MPEG_MuteFrm_PcmHighLevel_Threshold_NumTimeOut, 1438 Audio_MPEG_MuteFrm_PcmHighLevel_MuteNum, 1439 Audio_MPEG_infoType_PcmHighLevel_Pcmdata 1440 } Audio_MPEG_infoType; 1441 1442 typedef enum 1443 { 1444 AUD_MPEG_SOUNDMODE_LL, 1445 AUD_MPEG_SOUNDMODE_RR, 1446 AUD_MPEG_SOUNDMODE_LR, 1447 AUD_MPEG_SOUNDMODE_MIX_LR 1448 }AUD_MPEG_SOUNDMODE; 1449 1450 typedef enum 1451 { 1452 MPEG_SOUND_MODE_STEREO =0, 1453 MPEG_SOUND_MODE_JOINT_STEREO, 1454 MPEG_SOUND_MODE_DUAL_CHAN, 1455 MPEG_SOUND_MODE_MONO 1456 }MPEG_SOUND_MODE; 1457 1458 /// MP3 Layer 1459 typedef enum 1460 { 1461 Audio_MP3_LAYER_RESERVED = 0x0, 1462 Audio_MP3_LAYER_3 = 0x1, 1463 Audio_MP3_LAYER_2 = 0x2, 1464 Audio_MP3_LAYER_1 = 0x3, 1465 Audio_MP3_LAYER_NOT_DETERMINE_YET = 0xFF, 1466 } Audio_MP3_LAYER; 1467 1468 // Dolby AC3 1469 typedef enum 1470 { //info Type name //Attribute //Parameter 1471 Audio_AC3_infoType_DecStatus, //R //0:unlock 1:lock 1472 Audio_AC3_infoType_SampleRate, //R // 1473 Audio_AC3_infoType_BitRate, //R // 1474 Audio_AC3_infoType_Dialnorm, //R // 1475 Audio_AC3_infoType_Acmod, //R // 1476 Audio_AC3_infoType_DrcMode, //RW // 1477 Audio_AC3_infoType_DownmixMode, //RW // 1478 Audio_AC3_infoType_MMFileSize, //Not supported // 1479 Audio_AC3_infoType_PCMBufLevel, //R // 1480 Audio_AC3_infoType_BufferDelay, //RW // 1481 Audio_AC3_infoType_SyncwordFound_Count, 1482 } Audio_AC3_infoType; 1483 1484 // Dolby AC3P 1485 typedef enum 1486 { //info Type name //Attribute //Parameter 1487 Audio_AC3P_infoType_DecStatus, //R // 1488 Audio_AC3P_infoType_SampleRate, //R // 1489 Audio_AC3P_infoType_BitRate, //R // 1490 Audio_AC3P_infoType_Dialnorm, //R // 1491 Audio_AC3P_infoType_Acmod, //R // 1492 Audio_AC3P_infoType_DrcMode, //RW // 1493 Audio_AC3P_infoType_DownmixMode, //RW // 1494 Audio_AC3P_infoType_MMFileSize, //W // 1495 Audio_AC3P_infoType_syncSTC_in_mmTs, //W // 1496 Audio_AC3P_infoType_hdmiTxBypass_enable, 1497 Audio_AC3P_infoType_AC3Type, 1498 Audio_AC3P_infoType_FrameSize, 1499 Audio_AC3P_infoType_BSMode, 1500 Audio_AC3P_infoType_BYTESWAP, 1501 Audio_AC3P_infoType_enableDolbyBulletin11,//W // True or False //default is enabled 1502 Audio_AC3P_DTV_AVSYNC_OFFSET, //W, unit= 33bits offset 1503 Audio_AC3P_infoType_hdmiAC3inSE, 1504 Audio_AC3P_DTV_AVSYNC_DISABLE_SETTING, 1505 Audio_AC3P_infoType_hdmi_in_support_DDP, 1506 Audio_AC3P_infoType_Drc_HighCutScale, 1507 Audio_AC3P_infoType_Drc_LowBootScale, 1508 Audio_AC3P_infoType_LoudnessMatching, 1509 Audio_AC3P_infoType_ATMOS_support, 1510 } Audio_AC3P_infoType; 1511 1512 typedef enum 1513 { 1514 AUD_Dolby_SOUNDMODE_LR = 0x0, 1515 AUD_Dolby_SOUNDMODE_LL = 0x1, 1516 AUD_Dolby_SOUNDMODE_RR = 0x2, 1517 }AUD_Dolby_SOUNDMODE; 1518 1519 typedef enum 1520 { 1521 DOLBY_MONO, 1522 DOLBY_STEREO, 1523 DOLBY_MULTI_CHAN 1524 }DOLBY_AC_MODE; 1525 1526 typedef enum 1527 { 1528 DOLBY_DOWNMIX_MODE_LTRT, 1529 DOLBY_DOWNMIX_MODE_LORO, 1530 DOLBY_DOWNMIX_MODE_AUTO 1531 }DOLBY_DOWNMIX_MODE; 1532 1533 typedef enum 1534 { 1535 LINE_MODE, 1536 RF_MODE, 1537 }DOLBY_DRC_MODE; 1538 1539 typedef enum 1540 { 1541 DVB_MODE, 1542 ATSC_MODE, 1543 OTHER_MODE 1544 }DOLBY_LOUDNESS_MODE; 1545 1546 typedef enum 1547 { 1548 AC3_ENABLE, 1549 AC3_DISABLE 1550 }AC3_DIS_EN; 1551 1552 1553 // DTS 1554 typedef enum 1555 { //info Type name //Attribute //Parameter 1556 Audio_DTS_infoType_DecStatus, //R // 1557 Audio_DTS_infoType_KernelVersion, //R // 1558 Audio_DTS_infoType_SampleRate, //R // 1559 Audio_DTS_infoType_BitRate, //R // 1560 Audio_DTS_infoType_CD_MODE, //R // 1561 Audio_DTS_infoType_Amode, //R // 1562 Audio_DTS_infoType_DMIX_LFE_EN, //RW // 1563 Audio_DTS_infoType_DrcMode, //RW // 1564 Audio_DTS_infoType_DownmixMode, //RW // 1565 Audio_DTS_infoType_Dialnorm_EN, //RW // 1566 Audio_DTS_infoType_ESDataServiceMode,//RW // 1567 Audio_DTS_infoType_MMFileSize, //W // 1568 Audio_DTS_infoType_syncSTC_in_mmTs, //W // 1569 Audio_DTS_infoType_ESData_ByteSwap, //W // 1570 Audio_DTS_infoType_CertMode, //W // 1571 Audio_DTS_infoType_HDMI_DSP_SEL, 1572 Audio_DTS_infoType_DTSHD_HDMITxBypass_Enable, //W // 1573 } Audio_DTS_infoType; 1574 1575 typedef enum 1576 { //ctrl Type name //Attribute 1577 Audio_DTS_Ctrl_DMIX_LFE_OFF = 0x0, 1578 Audio_DTS_Ctrl_DMIX_LFE_ON = 0x1, 1579 Audio_DTS_Ctrl_Drc_OFF = 0x0, 1580 Audio_DTS_Ctrl_Drc_50 = 0x1, 1581 Audio_DTS_Ctrl_Drc_100 = 0x2, 1582 Audio_DTS_Ctrl_Downmix_LoRo = 0x0, 1583 Audio_DTS_Ctrl_Downmix_LtRt = 0x1, 1584 Audio_DTS_Ctrl_Dialnorm_OFF = 0x0, 1585 Audio_DTS_Ctrl_Dialnorm_ON = 0x1, 1586 Audio_DTS_Ctrl_POLLINGMode = 0x0, 1587 Audio_DTS_Ctrl_INTRPTMode = 0x1, 1588 Audio_DTS_Ctrl_ByteSwap_OFF = 0x0, 1589 Audio_DTS_Ctrl_ByteSwap_ON = 0x1, 1590 Audio_DTS_Ctrl_CertMode_OFF = 0x0, 1591 Audio_DTS_Ctrl_CertMode_ON = 0x1, 1592 Audio_DTS_Ctrl_DTSHDBypass_OFF = 0x0, 1593 Audio_DTS_Ctrl_DTSHDBypass_ON = 0x1, 1594 } Audio_DTS_CtrlType; 1595 1596 1597 typedef enum 1598 { 1599 Audio_WMA_infoType_DecStatus, 1600 Audio_WMA_infoType_SampleRate, 1601 Audio_WMA_infoType_BitRate, 1602 Audio_WMA_infoType_Asf_Param, 1603 Audio_WMA_infoType_FFSpeed, 1604 Audio_WMA_infoType_MMFileSize 1605 } Audio_WMA_infoType; 1606 1607 typedef enum 1608 { 1609 //info Type name //Attibtue //Parameter 1610 Audio_AAC_error_count, //R // 1611 Audio_AAC_infoType_DrcMode, //RW // 1612 Audio_AAC_infoType_DownmixMode, //RW // 1613 Audio_AAC_dec_unsupported, //R // 1614 Audio_AAC_ts_file_end_ntfi, //R 1615 Audio_AAC_infoType_MMFileSize, //W 1616 Audio_AAC_DTV_AVSYNC_OFFSET, //W, unit= 33bits offset 1617 Audio_AAC_DTV_AVSYNC_DISABLE_SETTING, 1618 Audio_AAC_mm_single_frame_mode 1619 } Audio_AAC_infoType; 1620 1621 typedef enum 1622 { //info Type name //Attibtue //Parameter 1623 Audio_RA8LBR_NumCodes, //w 1624 Audio_RA8LBR_Samples, //w 1625 Audio_RA8LBR_SampleRate, //w 1626 1627 Audio_RA8LBR_Channels1, //w 1628 Audio_RA8LBR_Regions1, //w 1629 Audio_RA8LBR_cplStart1, //w 1630 Audio_RA8LBR_cplQbits1, //w 1631 Audio_RA8LBR_FrameSize1, //w 1632 1633 Audio_RA8LBR_Channels2, //w 1634 Audio_RA8LBR_Regions2, //w 1635 Audio_RA8LBR_cplStart2, //w 1636 Audio_RA8LBR_cplQbits2, //w 1637 Audio_RA8LBR_FrameSize2, //w 1638 1639 Audio_RA8LBR_Channels3, //w 1640 Audio_RA8LBR_Regions3, //w 1641 Audio_RA8LBR_cplStart3, //w 1642 Audio_RA8LBR_cplQbits3, //w 1643 Audio_RA8LBR_FrameSize3, //w 1644 1645 Audio_RA8LBR_Channels4, //w 1646 Audio_RA8LBR_Regions4, //w 1647 Audio_RA8LBR_cplStart4, //w 1648 Audio_RA8LBR_cplQbits4, //w 1649 Audio_RA8LBR_FrameSize4, //w 1650 1651 Audio_RA8LBR_Channels5, //w 1652 Audio_RA8LBR_Regions5, //w 1653 Audio_RA8LBR_cplStart5, //w 1654 Audio_RA8LBR_cplQbits5, //w 1655 Audio_RA8LBR_FrameSize5, //w 1656 1657 Audio_RA8LBR_infoType_DecStatus, //R 1658 } Audio_RA8LBR_infoType; 1659 1660 typedef enum 1661 { 1662 LPCM = 1, 1663 MS_ADPCM = 2, 1664 G711_A_LAW = 6, 1665 G711_u_LAW = 7, 1666 DVD_LPCM = 8, 1667 PRIVATE1_LPCM = 9, 1668 IMA_ADPCM = 17 1669 }XPCM_TYPE; 1670 1671 typedef enum 1672 { 1673 SAMPLE_RATE_48000, 1674 SAMPLE_RATE_44100, 1675 SAMPLE_RATE_32000, 1676 SAMPLE_RATE_24000, 1677 SAMPLE_RATE_22050, 1678 SAMPLE_RATE_16000, 1679 SAMPLE_RATE_12000, 1680 SAMPLE_RATE_11025, 1681 SAMPLE_RATE_8000, 1682 SAMPLE_RATE_4000, 1683 SAMPLE_RATE_96000, 1684 }SAMPLE_RATE; 1685 1686 // AD & Mixer 1687 typedef enum 1688 { 1689 MAIN_MIX_AD, 1690 AD_MIX_MAIN, 1691 }AD_MIX_MODE; 1692 1693 typedef enum 1694 { 1695 MIX_OFF, 1696 MIX_ON, 1697 }MIX_ONOFF; 1698 1699 typedef enum 1700 { 1701 FILE_SIZE_1KB, 1702 FILE_SIZE_2KB, 1703 FILE_SIZE_4KB, 1704 FILE_SIZE_8KB, 1705 FILE_SIZE_16KB, 1706 FILE_SIZE_32KB, 1707 FILE_SIZE_64KB, 1708 FILE_SIZE_256, 1709 FILE_SIZE_512, 1710 FILE_SIZE_64, 1711 FILE_SIZE_128 1712 }FILE_SIZE; 1713 1714 1715 typedef enum 1716 { 1717 AU_DVB_MODE_STEREO, ///< 0:STEREO 1718 AU_DVB_MODE_LL, ///< 1: LL 1719 AU_DVB_MODE_RR, ///< 2: RR 1720 AU_DVB_MODE_MIXED_LR ///< 3:(L+R)/2 1721 }AU_DVB_MODE; 1722 1723 // enum for dvb decoder command 1724 typedef enum 1725 { 1726 AU_DVB_DECCMD_STOP = 0, 1727 AU_DVB_DECCMD_PLAY = 1, 1728 AU_DVB_DECCMD_PLAYFILETSP = 2, 1729 AU_DVB_DECCMD_RESYNC = 3, 1730 AU_DVB_DECCMD_PLAYFILE = 4, 1731 AU_DVB_DECCMD_STARTBROWSE = 5, 1732 AU_DVB_DECCMD_PAUSE = 6, 1733 AU_DVB_DECCMD_PLAYFRAME = 8, // Uniplayer, Mstreamer for TSP input 1734 AU_DVB_DECCMD_PLAYFRAME_STAGE = 9, // Stagecraft 1735 AU_DVB_DECCMD_PLAYFRAME_GS = 10, // Uniplayer, Gstreamer for ES copy 1736 AU_DVB_DECCMD_PLAYFILE2_PTS = 11, 1737 AU_DVB_DECCMD_PLAY_AD = 12, 1738 AU_DVB_DECCMD_STOP_AD = 13, 1739 AU_DVB_DECCMD_SKIP = 15, 1740 AU_DVB_DECCMD_AVSYNC = 0x10, 1741 AU_DVB_DECCMD_FREERUN = 0x20, 1742 } AU_DVB_DECCMD; 1743 1744 typedef enum 1745 { 1746 AU_DVB_ENCCMD_STOP, // 0 1747 AU_DVB_ENCCMD_START // 1 1748 } AU_DVB_ENCCMD; 1749 1750 typedef enum 1751 { 1752 AU_DVB_ENCBR_192K, // 0 1753 AU_DVB_ENCBR_384K, // 1 1754 AU_DVB_ENCBR_128K, // 2 1755 AU_DVB_ENCBR_64K // 3 1756 } AU_DVB_ENCBR; 1757 1758 typedef enum 1759 { 1760 WMA_PARAMTYPE_VERSION, 1761 WMA_PARAMTYPE_CHANNELS, 1762 WMA_PARAMTYPE_SAMPLERATE, 1763 WMA_PARAMTYPE_BYTERATE, 1764 WMA_PARAMTYPE_BLOCKALIGN, 1765 WMA_PARAMTYPE_ENCOPT, 1766 WMA_PARAMTYPE_PARSINGBYAPP, 1767 WMA_PARAMTYPE_BITS_PER_SAMPLE, 1768 WMA_PARAMTYPE_CHANNELMASK, 1769 WMA_PARAMTYPE_DRC_PARAM_EXIST, 1770 WMA_PARAMTYPE_DRC_RMS_AMP_REF, 1771 WMA_PARAMTYPE_DRC_RMS_AMP_TARGET, 1772 WMA_PARAMTYPE_DRC_PEAK_AMP_REF, 1773 WMA_PARAMTYPE_DRC_PEAK_AMP_TARGET, 1774 WMA_PARAMTYPE_MAX_PACKET_SIZE 1775 }WMA_ASF_PARMTYPE; 1776 1777 enum 1778 { 1779 DSP_INIT_FINISH_ACK, 1780 DSP_READY_FOR_RELOAD_ACK, 1781 DSP_RELOAD_FINISH_ACK, 1782 MCU_START_TO_RUN_CMD, 1783 MCU_START_RELOAD_CMD, 1784 MCU_RELOAD_FINISH_CMD 1785 }; 1786 1787 //================================================================ 1788 // MAD2 1789 //================================================================ 1790 enum 1791 { 1792 DSP_DEC, //0 1793 DSP_SE, //1 1794 DSP_ADV, //2 1795 DSP_MAD //3 1796 }; 1797 1798 // DTV decoder sample rate definition 1799 typedef enum 1800 { 1801 AUDIO_FS_NONE, 1802 AUDIO_FS_8KHZ, 1803 AUDIO_FS_11KHZ, 1804 AUDIO_FS_12KHZ, 1805 AUDIO_FS_16KHZ, 1806 AUDIO_FS_22KHZ, 1807 AUDIO_FS_24KHZ, 1808 AUDIO_FS_32KHZ, 1809 AUDIO_FS_44KHZ, 1810 AUDIO_FS_48KHZ, 1811 AUDIO_FS_64KHZ, 1812 AUDIO_FS_88KHZ, 1813 AUDIO_FS_96KHZ, 1814 AUDIO_FS_176KHZ, 1815 AUDIO_FS_192KHZ, 1816 AUDIO_FS_UNSUPPORT = 0xFF, 1817 } AUDIO_FS_TYPE; 1818 1819 typedef struct 1820 { 1821 AUDIO_HDMI_RX_TYPE audio_type; 1822 AUDIO_FS_TYPE sampleRate; 1823 } ST_HDMI_AUDIO_STATUS; 1824 // DTV decoder sound mode type definition 1825 typedef enum 1826 { 1827 AUD_CH_MODE_DUAL_MONO = 0x0, //MPEG/DDP/MS10 1828 AUD_CH_MODE_MONO = 0x1, //MPEG/DDP/MS10 1829 AUD_CH_MODE_STEREO = 0x2, //MPEG/DDP/MS10 1830 AUD_CH_MODE_3_0_MODE = 0x3, // DDP/MS10 1831 AUD_CH_MODE_2_1_MODE = 0x4, // DDP/MS10 1832 AUD_CH_MODE_3_1_MODE = 0x5, // DDP/MS10 1833 AUD_CH_MODE_2_2_MODE = 0x6, // DDP/MS10 1834 AUD_CH_MODE_3_2_MODE = 0x7, // DDP/MS10 1835 AUD_CH_MODE_JOINT_STEREO,//MPEG 1836 AUD_CH_MODE_NONE, 1837 } AUD_CH_MODE_TYPE; 1838 1839 //================================================================ 1840 // KTV 1841 //================================================================ 1842 typedef enum 1843 { 1844 AUD_KTV_MODEL1, 1845 AUD_KTV_MODEL2, 1846 AUD_KTV_MODEL3, 1847 AUD_KTV_MODEL4, 1848 }AUDIO_KTV_MODEL; 1849 1850 typedef enum 1851 { /* Model AUD_KTV_MODEL1 AUD_KTV_MODEL2 AUD_KTV_MODEL3 * 1852 * Chip T3-iSing99 U3-Multak * 1853 *--------------------------------------------------------------------------*/ 1854 AUD_KTV_infoType1, // ScoringCommand 1855 AUD_KTV_infoType2, // EchoLevel 1856 AUD_KTV_infoType3, // EchoDeep 1857 AUD_KTV_infoType4, // MICGain 1858 AUD_KTV_infoType5, // (TBD) 1859 AUD_KTV_infoType6, // (TBD) 1860 AUD_KTV_infoType7, // (TBD) 1861 AUD_KTV_infoType8, // (TBD) 1862 AUD_KTV_infoType9, // (TBD) 1863 AUD_KTV_infoType10, // (TBD) 1864 AUD_KTV_infoType11, // (TBD) 1865 AUD_KTV_infoType12, // (TBD) 1866 AUD_KTV_infoType13, // (TBD) 1867 AUD_KTV_infoType14, // (TBD) 1868 AUD_KTV_infoType15, // (TBD) 1869 AUD_KTV_infoType16, // (TBD) 1870 }AUDIO_KTV_INFOTYPE; 1871 1872 typedef enum 1873 { /* Model AUD_KTV_MODEL1 AUD_KTV_MODEL2 AUD_KTV_MODEL3 * 1874 * Chip T3-iSing99 U3-Multak * 1875 *--------------------------------------------------------------------------*/ 1876 AUD_KTV_ParamType1, // AvMICVol 1877 AUD_KTV_ParamType2, // PitchCnt 1878 AUD_KTV_ParamType3, // Pitch 1879 AUD_KTV_ParamType4, // Energy 1880 AUD_KTV_ParamType5, // (TBD) 1881 AUD_KTV_ParamType6, // (TBD) 1882 AUD_KTV_ParamType7, 1883 AUD_KTV_ParamType8, 1884 AUD_KTV_ParamType9, 1885 AUD_KTV_ParamType10, 1886 AUD_KTV_ParamType11, 1887 AUD_KTV_ParamType12, 1888 AUD_KTV_ParamType13, 1889 AUD_KTV_ParamType14, 1890 AUD_KTV_ParamType15, 1891 AUD_KTV_ParamType16, 1892 }AUDIO_KTV_PARAMTYPE; 1893 1894 typedef enum 1895 { 1896 PCM_VOL, 1897 MIC_VOL, 1898 MP3_VOL, 1899 GAME1_VOL, 1900 GAME2_VOL, 1901 ECHO1_VOL, 1902 ECHO2_VOL, 1903 }AUDIO_MIX_VOL_TYPE; 1904 1905 #define code 1906 ///< Threshold table structure 1907 typedef struct 1908 { 1909 MS_U8 HiByteValue; ///< Threshold high-byte 1910 MS_U8 LowByteValue; ///< Threshold low-byte 1911 } THR_TBL_TYPE; 1912 1913 //================================================================ 1914 // Sound Enum 1915 //================================================================ 1916 // ADC Input Gain Type Definition 1917 typedef enum 1918 { 1919 AUD_ADC_GAIN_0dB = 0, // 0dB 1920 AUD_ADC_GAIN_NEG_3dB, // -3dB 1921 AUD_ADC_GAIN_NEG_6dB, // -6dB 1922 AUD_ADC_GAIN_3dB, // 3dB 1923 AUD_ADC_GAIN_6dB, // 6dB 1924 AUD_ADC_GAIN_9dB, // 9dB 1925 AUD_ADC_GAIN_12dB, // 12dB 1926 AUD_ADC_GAIN_15dB, // 15dB 1927 } AUD_ADC_GAIN_TYPE; 1928 1929 typedef struct 1930 { 1931 MS_U8 param1; ///< param1 1932 MS_U8 param2; ///< param2 1933 MS_U8 param3; ///< param1 1934 MS_U8 param4; ///< param2 1935 } Sound_SET_Param; 1936 1937 typedef struct 1938 { 1939 MS_U8 AvcThreshold; ///< AvcThreshold 1940 MS_U8 AvcMode; ///< AvcMode 1941 MS_U8 AvcAT; ///< AvcAT 1942 MS_U8 AvcRT; ///< AvcRT 1943 } Sound_AVC_param; 1944 1945 typedef struct 1946 { 1947 MS_U8 SurroundXA; ///< SurroundXA 1948 MS_U8 SurroundXB; ///< SurroundXB 1949 MS_U8 SurroundXK; ///< SurroundXK 1950 MS_U8 SurroundLPFGain; ///< SurroundLPFGain 1951 } Sound_SURR_param; 1952 1953 typedef enum 1954 { 1955 Sound_SET_Type_SetPreScale, 1956 Sound_SET_Type_SetMute, 1957 Sound_SET_Type_SetBalance, 1958 Sound_SET_Type_EnableEQ, 1959 Sound_SET_Type_EnablePEQ, 1960 Sound_SET_Type_EnableTone, 1961 Sound_SET_Type_EnableAutoVolume, 1962 Sound_SET_Type_EnableSurround, 1963 Sound_SET_Type_SetBass, 1964 Sound_SET_Type_EnableBalance, 1965 Sound_SET_Type_AbsoluteBass, 1966 Sound_SET_Type_SetTreble, 1967 Sound_SET_Type_SetEq, 1968 Sound_SET_Type_SetEq_7band, 1969 Sound_SET_Type_SetAvc, 1970 Sound_SET_Type_SetAudioDelay, 1971 Sound_SET_Type_SetSurround, 1972 Sound_SET_Type_ConvertVolumeUnit, 1973 Sound_SET_Type_SetDCOffet, 1974 Sound_SET_Type_EnableSineTone, 1975 } Sound_SET_Type; 1976 1977 typedef enum 1978 { 1979 Sound_SET_PARAM_PreScale, 1980 Sound_SET_PARAM_Balance, 1981 Sound_SET_PARAM_EQ, 1982 Sound_SET_PARAM_Surround_XA, 1983 Sound_SET_PARAM_Surround_XB, 1984 Sound_SET_PARAM_Surround_XK, 1985 Sound_SET_PARAM_Surround_LPFGAIN, 1986 Sound_SET_PARAM_Treble, 1987 Sound_SET_PARAM_Bass, 1988 Sound_SET_PARAM_AbsoluteBass, 1989 Sound_SET_PARAM_Avc_Mode, 1990 Sound_SET_PARAM_NR_Threshold, 1991 Sound_SET_PARAM_Avc_Threshold, 1992 Sound_SET_PARAM_Avc_AT, 1993 Sound_SET_PARAM_Avc_RT, 1994 Sound_SET_PARAM_AudioDelay, 1995 Sound_SET_PARAM_DCOffet, 1996 Sound_SET_PARAM_PEQ_48K_A0, 1997 Sound_SET_PARAM_PEQ_48K_A1, 1998 Sound_SET_PARAM_PEQ_48K_A2, 1999 Sound_SET_PARAM_PEQ_48K_B1, 2000 Sound_SET_PARAM_PEQ_48K_B2, 2001 Sound_SET_PARAM_PEQ_32K_A0, 2002 Sound_SET_PARAM_PEQ_32K_A1, 2003 Sound_SET_PARAM_PEQ_32K_A2, 2004 Sound_SET_PARAM_PEQ_32K_B1, 2005 Sound_SET_PARAM_PEQ_32K_B2, 2006 Sound_SET_PARAM_PEQ_SCALE, 2007 Sound_SET_PARAM_AbsoluteEQ, 2008 Sound_SET_PARAM_Drc_Threshold, 2009 Sound_SET_PARAM_DMAReader, 2010 Sound_SET_PARAM_AVC_S_Offset, 2011 Sound_SET_PARAM_Tone_Test_Fs, 2012 Sound_SET_PARAM_Tone_Test_Gain, 2013 Sound_SET_PARAM_AbsoluteBalance, 2014 Sound_SET_PARAM_AbsoluteTreble, 2015 Sound_SET_PARAM_Ease_Type_A, 2016 Sound_SET_PARAM_Ease_Duration_A, 2017 Sound_SET_PARAM_Ease_Gain_A, 2018 Sound_SET_PARAM_Ease_Target_Channel_A, 2019 Sound_SET_PARAM_Ease_Type_B, 2020 Sound_SET_PARAM_Ease_Duration_B, 2021 Sound_SET_PARAM_Ease_Gain_B, 2022 Sound_SET_PARAM_Ease_Target_Channel_B, 2023 } Sound_SET_PARAM_Type; 2024 2025 typedef enum 2026 { 2027 Sound_GET_PARAM_PreScale, 2028 Sound_GET_PARAM_Balance_L, 2029 Sound_GET_PARAM_Balance_R, 2030 Sound_GET_PARAM_EQ, 2031 Sound_GET_PARAM_Surround_XA, 2032 Sound_GET_PARAM_Surround_XB, 2033 Sound_GET_PARAM_Surround_XK, 2034 Sound_GET_PARAM_Surround_LPFGAIN, 2035 Sound_GET_PARAM_Treble, 2036 Sound_GET_PARAM_Bass, 2037 Sound_GET_PARAM_Avc_Mode, 2038 Sound_GET_PARAM_Avc_Threshold, 2039 Sound_GET_PARAM_Avc_AT, 2040 Sound_GET_PARAM_Avc_RT, 2041 Sound_GET_PARAM_AudioDelay, 2042 Sound_GET_PARAM_DCOffet, 2043 Sound_GET_PARAM_NR_Threshold, 2044 Sound_GET_PARAM_NR_Status, 2045 Sound_GET_PARAM_getSignal_Energy, 2046 Sound_GET_PARAM_EQ_Status, 2047 Sound_GET_PARAM_PEQ_Status, 2048 Sound_GET_PARAM_Tone_Status, 2049 Sound_GET_PARAM_AutoVolume_Status, 2050 Sound_GET_PARAM_Surround_Status, 2051 Sound_GET_PARAM_HPF_Status, 2052 Sound_GET_PARAM_Drc_Threshold, 2053 Sound_GET_PARAM_DMAReader_Buffer_Addr, 2054 Sound_GET_PARAM_ToneTest_LEVEL, 2055 Sound_GET_PARAM_FPC_Lpeak, 2056 Sound_GET_PARAM_FPC_Rpeak, 2057 Sound_GET_PARAM_Ease_Type_A, 2058 Sound_GET_PARAM_Ease_Duration_A, 2059 Sound_GET_PARAM_Ease_Gain_A, 2060 Sound_GET_PARAM_Ease_Type_B, 2061 Sound_GET_PARAM_Ease_Duration_B, 2062 Sound_GET_PARAM_Ease_Gain_B, 2063 } Sound_GET_PARAM_Type; 2064 2065 typedef enum 2066 { 2067 // Sound_ENABL_Type_PreScale, 2068 Sound_ENABL_Type_EQ, 2069 Sound_ENABL_Type_PEQ, 2070 Sound_ENABL_Type_Tone, //treble/bass 2071 Sound_ENABL_Type_AutoVolume, 2072 Sound_ENABL_Type_Surround, 2073 Sound_ENABL_Type_Balance, 2074 Sound_ENABL_Type_DRC, 2075 Sound_ENABL_Type_KTVEcho, 2076 Sound_ENABL_Type_Hpf, 2077 Sound_ENABL_Type_FPC, 2078 Sound_ENABL_Type_DcRemove, 2079 Sound_ENABL_Type_EaseVol, 2080 } Sound_ENABLE_Type; 2081 2082 typedef enum 2083 { 2084 AdvSound_SET_Type_VDS_Enable, 2085 AdvSound_SET_Type_VSPK_Enable, 2086 AdvSound_SET_Type_VSPK_SetWMod, 2087 AdvSound_SET_Type_VSPK_SetSMod, 2088 AdvSound_SET_Type_SRS_Enable, 2089 AdvSound_SET_Type_SRS_DC, 2090 AdvSound_SET_Type_SRS_TruBass, 2091 AdvSound_SET_Type_SRS_SetTsxtPara, 2092 AdvSound_SET_Type_TSHD_Enable, 2093 AdvSound_SET_Type_TSHD_TruBass, 2094 AdvSound_SET_Type_TSHD_Definition, 2095 AdvSound_SET_Type_TSHD_Clarity, 2096 AdvSound_SET_Type_TSHD_TruSurr, 2097 AdvSound_SET_Type_TSHD_Limiter, 2098 AdvSound_SET_Type_TSHD_SRS3D, 2099 AdvSound_SET_Type_SRS_SetTshdPara, 2100 AdvSound_SET_Type_TruVolume_Enable, 2101 AdvSound_SET_Type_BBE_SetBbeMode, 2102 AdvSound_SET_CV2_Enable, 2103 AdvSound_SET_CV2_SetPara, 2104 AdvSound_SET_CV_SetPara, 2105 AdvSound_SET_AV_SetPara, 2106 AdvSound_SET_SetEQPara, 2107 AdvSound_SET_CV_SetLevel, 2108 AdvSound_SET_ADSY_SetPara, 2109 } AdvSound_SET_Type; 2110 2111 typedef enum 2112 { 2113 ADVSOUND_EN_TYPE 2114 } AdvSound_GET_Type; 2115 2116 2117 //================================================================ 2118 // Advance Sound Enum 2119 //================================================================ 2120 2121 //SRS APOLLO 2122 typedef enum 2123 { 2124 AU_SRS_APOLLO_EN, 2125 AU_SRS_TSHD_EN, 2126 AU_SRS_TRUBASS_FRONT_EN, 2127 AU_SRS_DEFINITION_FRONT_EN, 2128 AU_SRS_DIALOG_CLARITY_EN, 2129 AU_SRS_SURROUND_LEVEL_CTRL, 2130 AU_SRS_TSHD_INPUT_GAIN, 2131 AU_SRS_DEFINITION_FRONT_CTRL, 2132 AU_SRS_DIALOG_CLARITY_CTRL, 2133 AU_SRS_TRUBASS_FRONT_CTRL, 2134 AU_SRS_LOW_END_FRONT_SPEAKER_FREQ, 2135 AU_SRS_HL_EN, 2136 AU_SRS_HL_LIMIT_LEVEL, 2137 AU_SRS_HL_BOOST_GAIN, 2138 AU_SRS_APOLLO_HEADROOM_GAIN, 2139 AU_SRS_AEQ_PEQ_EN, 2140 AU_SRS_AEQ_HPF_EN, 2141 AU_SRS_AEQ_GEQ_EN, 2142 AU_SRS_VIQ_EN, 2143 AU_SRS_VIQ_MODE, 2144 AU_SRS_VIQ_VOL_REF_LEVEL, 2145 AU_SRS_VIQ_MAX_GAIN, 2146 AU_SRS_VIQ_NOISE_MNGR_THLD, 2147 AU_SRS_VIQ_CALIBRATE, 2148 AU_SRS_VIQ_NOISE_MNGR_EN, 2149 AU_SRS_AEQ_HPF_FC, 2150 AU_SRS_VIQ_INPUT_GAIN, 2151 AU_SRS_VIQ_OUTPUT_GAIN, 2152 2153 2154 AU_SRS_FTB_LVL_INDPDT_ENABLE, 2155 AU_SRS_FTB_COMPRESSOR_CONTROL, 2156 AU_SRS_FTB_MODE, 2157 AU_SRS_FTB_SPEAKER_AUDIO, 2158 AU_SRS_FTB_SPEAKER_ANALYSIS, 2159 AU_SRS_TVOLHD_EN, 2160 AU_SRS_TVOLHD_OUTPUT_GAIN, 2161 AU_SRS_TVOLHD_INPUT_GAIN, 2162 AU_SRS_TVOLHD_BYPASS_GAIN, 2163 AU_SRS_TVOLHD_MODE, 2164 AU_SRS_TVOLHD_MAX_GAIN, 2165 AU_SRS_TVOLHD_NORMALIZER_EN, 2166 AU_SRS_TVOLHD_NORMTHRESH, 2167 AU_SRS_TVOLHD_SMOOTH_EN, 2168 AU_SRS_TVOLHD_LKFS, 2169 AU_SRS_AEQ_PEQ_INPUT_GAIN, 2170 } AU_SRS_APOLLO_TYPE; 2171 2172 2173 //////////////////////////////////////////////////////// 2174 /** Total Sonics modes for DBXTV_SetMode() */ 2175 typedef enum _DBXTV_TotSonMode 2176 { 2177 E_TOTSON_ON = 0, 2178 E_TOTSON_OFF, 2179 } EN_DBXTV_TotSonMode; 2180 2181 /** Total Volume modes for DBXTV_SetMode() */ 2182 typedef enum _DBXTV_TotVolMode 2183 { 2184 E_TOTVOL_NORMAL = 0, 2185 E_TOTVOL_NIGHT, 2186 E_TOTVOL_OFF, 2187 } EN_DBXTV_TotVolMode; 2188 2189 /** Total Surround modes for DBXTV_SetMode() */ 2190 typedef enum _DBXTV_TotSurMode 2191 { 2192 E_TOTSUR_ON = 0, 2193 E_TOTSUR_OFF, 2194 } EN_DBXTV_TotSurMode; 2195 2196 /** Total Surround modes for HAL_DBXTV_SetOnOff() */ 2197 typedef enum _DBXTV_TurnOnOff 2198 { 2199 E_DBXTV_TurnOff = 0, 2200 E_DBXTV_TurnOn, 2201 } EN_DBXTV_TurnOnOff; 2202 2203 //////////////////////////////////////////////////////// 2204 2205 2206 typedef enum 2207 { 2208 AU_SRS_THEATER_EN, 2209 AU_SRS_THEATER_HPF_EN, 2210 AU_SRS_THEATER_VIQ_EN, 2211 AU_SRS_THEATER_CS_EN, 2212 AU_SRS_THEATER_TRUDIALOG_EN, 2213 AU_SRS_THEATER_INPUT_GAIN, 2214 AU_SRS_THEATER_OUTPUT_GAIN, 2215 AU_SRS_THEATER_BYPASS_GAIN, 2216 AU_SRS_THEATER_HEADROOM_GAIN, 2217 AU_SRS_THEATER_INPUT_MODE, 2218 AU_SRS_THEATER_VIQ_INPUT_GAIN, 2219 AU_SRS_THEATER_VIQ_OUTPUT_GAIN, 2220 AU_SRS_THEATER_VIQ_BYPASS_GAIN, 2221 AU_SRS_THEATER_VIQ_VOLUME_MODE, 2222 AU_SRS_THEATER_VOLHD_MAXGAIN_CONTROL, 2223 AU_SRS_THEATER_VOLHD_NORMALIZER_EN, 2224 AU_SRS_THEATER_VOLHD_NORMTHRESH, 2225 AU_SRS_THEATER_VOLHD_SMOOTH_EN, 2226 AU_SRS_THEATER_VOLHD_LKFS, 2227 AU_SRS_THEATER_CS_INPUT_GAIN, 2228 AU_SRS_THEATER_CS_PROCESSING_MODE, 2229 AU_SRS_THEATER_CS_LR_OUTPUT_GAIN, 2230 AU_SRS_THEATER_CS_LSRS_OUTPUT_GAIN, 2231 AU_SRS_THEATER_CS_CENTER_OUTPUT_GAIN, 2232 AU_SRS_THEATER_TRUDIALOG_INPUT_GAIN, 2233 AU_SRS_THEATER_TRUDIALOG_OUTPUT_GAIN, 2234 AU_SRS_THEATER_TRUDIALOG_BYPASS_GAIN, 2235 AU_SRS_THEATER_TRUDIALOG_PROCESS_GAIN, 2236 AU_SRS_THEATER_TRUDIALOG_CLARITY_GAIN, 2237 AU_SRS_THEATER_HPF_ORDER, 2238 AU_SRS_THEATER_HPF_COEFS, 2239 AU_SRS_THEATER_TSHD_EN, 2240 AU_SRS_THEATER_TSHD_SURR_EN, 2241 AU_SRS_THEATER_TSHD_TRUBASS_FRONT_EN, 2242 AU_SRS_THEATER_TSHD_DEFINITION_FRONT_EN, 2243 AU_SRS_THEATER_TSHD_DIALOG_CLARITY_EN, 2244 AU_SRS_THEATER_TSHD_TRUBASS_LEVEL_INDEPENDENT_EN, 2245 AU_SRS_THEATER_HPF_END_EN, 2246 AU_SRS_THEATER_HL_EN, 2247 AU_SRS_THEATER_TSHD_SURROUND_LEVEL_CTRL, 2248 AU_SRS_THEATER_TSHD_INPUT_GAIN, 2249 AU_SRS_THEATER_TSHD_OUTPUT_GAIN, 2250 AU_SRS_THEATER_TSHD_DEFINITION_FRONT_CTRL, 2251 AU_SRS_THEATER_TSHD_DIALOG_CLARITY_CTRL, 2252 AU_SRS_THEATER_TSHD_TRUBASS_FRONT_CTRL, 2253 AU_SRS_THEATER_TSHD_TRUBASS_SPEAKER_SIZE, 2254 AU_SRS_THEATER_TSHD_TRUBASS_COMPRESSOR_CTRL, 2255 AU_SRS_THEATER_TSHD_TRUBASS_PROCESS_MODE, 2256 AU_SRS_THEATER_TSHD_TRUBASS_SPEAKER_AUDIO, 2257 AU_SRS_THEATER_TSHD_TRUBASS_SPEAKER_ANALYSIS, 2258 AU_SRS_THEATER_HL_LIMIT_LEVEL_CTRL, 2259 AU_SRS_THEATER_HL_BOOST_GAIN, 2260 AU_SRS_THEATER_HPF_CUTOFF, 2261 AU_SRS_THEATER_HPF_END_CUTOFF, 2262 AU_SRS_THEATER_CC3D_EN,//param54 2263 AU_SRS_THEATER_CC3D_DEPTH_PROCESS_EN,//param55 2264 AU_SRS_THEATER_CC3D_3D_SURR_BOOST_EN,//param56 2265 AU_SRS_THEATER_CC3D_FADE_EN,//param57 2266 AU_SRS_THEATER_CC3D_TSHD_MIX_EN,//param58 2267 AU_SRS_THEATER_CC3D_TBHDX_EN,//param59 2268 AU_SRS_THEATER_CC3D_INPUT_GAIN,//param60 2269 AU_SRS_THEATER_CC3D_OUTPUT_GAIN,//param61 2270 AU_SRS_THEATER_CC3D_BYPASS_GAIN,//param62 2271 AU_SRS_THEATER_CC3D_APERTURE,//param63 2272 AU_SRS_THEATER_CC3D_GAINLIMIT,//param64 2273 AU_SRS_THEATER_CC3D_FF_DEPTH,//param65 2274 AU_SRS_THEATER_CC3D_NF_DEPTH,//param66 2275 2276 AU_SRS_THEATER_CC3D_TSHD_SURR_MODE,//param67 2277 AU_SRS_THEATER_CC3D_TSHD_MIX_FADE_CTRL,//param68 2278 2279 AU_SRS_THEATER_CC3D_TBHDX_INPUT_GAIN,//param69 2280 AU_SRS_THEATER_CC3D_TBHDX_BASSLEVEL,//param70 2281 AU_SRS_THEATER_CC3D_TBHDX_SPEAKERSIZE,//param71 2282 AU_SRS_THEATER_CC3D_TBHDX_MODE,//param72 2283 AU_SRS_THEATER_CC3D_TBHDX_DYNAMICS,//param73 2284 AU_SRS_THEATER_CC3D_TBHDX_HP_ORDER,//param74 2285 AU_SRS_THEATER_CC3D_TBHDX_CUSTOM_FILTER, 2286 AU_SRS_THEATER_CC3D_GEQ_EN,//param75 2287 AU_SRS_THEATER_CC3D_GEQ_INPUT_GAIN, 2288 AU_SRS_THEATER_CC3D_GEQ_BAND0_GAIN, 2289 AU_SRS_THEATER_CC3D_GEQ_BAND1_GAIN, 2290 AU_SRS_THEATER_CC3D_GEQ_BAND2_GAIN, 2291 AU_SRS_THEATER_CC3D_GEQ_BAND3_GAIN, 2292 AU_SRS_THEATER_CC3D_GEQ_BAND4_GAIN, 2293 AU_SRS_THEATER_CC3D_PROCESS_PATH, 2294 AU_SRS_THEATER_TSHD_BYPASS_GAIN, 2295 2296 AU_SRS_R2_MAX=100, 2297 2298 AU_SRS_PURESOUND_HL_EN,//param101 2299 AU_SRS_PURESOUND_HL_INPUT_GAIN,//param102 2300 AU_SRS_PURESOUND_HL_OUTPUT_GAIN,//param103 2301 AU_SRS_PURESOUND_HL_BYPASS_GAIN,//param104 2302 AU_SRS_PURESOUND_HL_LIMITERBOOST,//param105 2303 AU_SRS_PURESOUND_HL_HARDLIMIT,//param106 2304 AU_SRS_PURESOUND_HL_DELAYLEN,//param107 2305 2306 AU_SRS_PURESOUND_AEQ_EN,//param108 2307 AU_SRS_PURESOUND_AEQ_INPUT_GAIN,//param109 2308 AU_SRS_PURESOUND_AEQ_OUTPUT_GAIN,//param110 2309 AU_SRS_PURESOUND_AEQ_BYPASS_GAIN,//param111 2310 AU_SRS_PURESOUND_FILTER_CONFIG,//param112 2311 2312 AU_SRS_PURESOUND_HPF_EN,//param113 2313 AU_SRS_PURESOUND_HPF_FREQUENCY,//param114 2314 AU_SRS_PURESOUND_TBHD_EN, 2315 AU_SRS_PURESOUND_TBHD_TRUBASS_LEVEL, 2316 AU_SRS_PURESOUND_TBHD_SPEAKER_SIZE, 2317 AU_SRS_PURESOUND_TBHD_LEVEL_INDEPENDENT_EN, 2318 AU_SRS_PURESOUND_TBHD_COMPRESSOR_LEVEL, 2319 AU_SRS_PURESOUND_TBHD_MODE, 2320 AU_SRS_PURESOUND_TBHD_SPEAKER_AUDIO, 2321 AU_SRS_PURESOUND_TBHD_SPEAKER_ANALYSIS, 2322 2323 AU_SRS_PURESOUND_INPUT_GAIN, 2324 AU_SRS_PURESOUND_OUTPUT_GAIN, 2325 2326 } AU_SRS_THEATERSOUND_TYPE; 2327 2328 typedef enum 2329 { 2330 DOLBY_PL2VDS, 2331 DOLBY_PL2VDPK, 2332 BBE, 2333 SRS_TSXT, 2334 SRS_TSHD, 2335 SRS_THEATERSOUND, 2336 DTS_ULTRATV, 2337 AUDYSSEY, 2338 SUPER_VOICE, 2339 DBX, 2340 SRS_PURESND, 2341 DTS_STUDIOSOUND_3D, 2342 BONGIOVI_DPS, 2343 RESERVE5, 2344 RESERVE6, 2345 ADV_NONE, 2346 } ADVSND_TYPE; 2347 2348 typedef enum 2349 { 2350 //SRS_TSXT 2351 SRS_TSXT_TRUBASS, 2352 SRS_TSXT_DC, 2353 2354 //SRS_TSHD 2355 SRS_TSHD_TRUBASS, 2356 SRS_TSHD_DC, 2357 SRS_TSHD_DEFINITION, 2358 SRS_TSHD_SRS3D, 2359 2360 //SRS_THEATERSOUND 2361 SRS_THEATERSOUND_TSHD, 2362 SRS_THEATERSOUND_TRUBASS, 2363 SRS_THEATERSOUND_DC, 2364 SRS_THEATERSOUND_DEFINITION, 2365 SRS_THEATERSOUND_TRUVOLUME, 2366 SRS_THEATERSOUND_HARDLIMITER, 2367 SRS_THEATERSOUND_HPF, 2368 SRS_THEATERSOUND_TRUEQ, 2369 SRS_THEATERSOUND_TRUVOLUME_NOISE_MNGR, 2370 2371 //DTS_ULTRATV 2372 DTS_ULTRATV_EVO, 2373 DTS_ULTRATV_SYM, 2374 2375 //AUDYSSEY 2376 AUDYSSEY_DYNAMICVOL, 2377 AUDYSSEY_DYNAMICEQ, 2378 AUDYSSEY_EQ, 2379 AUDYSSEY_ABX, 2380 2381 SRS_THEATERSOUND_TSHD_SURR, 2382 SRS_THEATERSOUND_TSHD_LEVEL_INDPT, 2383 SRS_THEATERSOUND_CS, 2384 SRS_THEATERSOUND_TRUDIALOG, 2385 SRS_THEATERSOUND_TRUVOLUME_NORMALIZER, 2386 SRS_THEATERSOUND_TRUVOLUME_SMOOTH, 2387 SRS_THEATERSOUND_HPF_END, 2388 SRS_THEATERSOUND_TOTAL, 2389 2390 SRS_PURESOUND_HL, 2391 SRS_PURESOUND_AEQ, 2392 SRS_PURESOUND_HPF, 2393 SRS_PURESOUND_TBHD, 2394 SRS_THEATERSOUND_CC3D_EN, 2395 SRS_THEATERSOUND_CC3D_DEPTH_PROCESS_EN, 2396 SRS_THEATERSOUND_CC3D_3D_SURR_BOOST_EN, 2397 SRS_THEATERSOUND_CC3D_FADE_EN, 2398 SRS_THEATERSOUND_CC3D_TSHD_MIX_EN, 2399 SRS_THEATERSOUND_CC3D_TBHDX_EN, 2400 SRS_THEATERSOUND_GEQ_EN, 2401 SRS_THEATERSOUND_3D_EN, 2402 2403 BONGIOVI_DPS_SURR_EN, 2404 } ADVFUNC; 2405 2406 typedef enum 2407 { 2408 //BBE 2409 BBE_MODE_SET, 2410 2411 //DOLBY 2412 DOLBY_PL2VDPK_SMOD, 2413 DOLBY_PL2VDPK_WMOD, 2414 2415 //SRS TSXT 2416 SRS_TSXT_SET_INPUT_GAIN, 2417 SRS_TSXT_SET_DC_GAIN, 2418 SRS_TSXT_SET_TRUBASS_GAIN, 2419 SRS_TSXT_SET_SPEAKERSIZE, 2420 SRS_TSXT_SET_INPUT_MODE, 2421 SRS_TSXT_SET_OUTPUT_GAIN, 2422 SRS_TSXT_RESERVE1, 2423 SRS_TSXT_RESERVE2, 2424 SRS_TSXT_RESERVE3, 2425 2426 //SRS TSHD in SE-DSP 2427 SRS_TSHD_SET_INPUT_MODE, 2428 SRS_TSHD_SET_OUTPUT_MODE, 2429 SRS_TSHD_SET_SPEAKERSIZE, 2430 SRS_TSHD_SET_TRUBASS_CONTROL, 2431 SRS_TSHD_SET_DEFINITION_CONTROL, 2432 SRS_TSHD_SET_DC_CONTROL, 2433 SRS_TSHD_SET_SURROUND_LEVEL, 2434 SRS_TSHD_SET_INPUT_GAIN, 2435 SRS_TSHD_SET_WOWSPACE_CONTROL, 2436 SRS_TSHD_SET_WOWCENTER_CONTROL, 2437 SRS_TSHD_SET_WOWHDSRS3DMODE, 2438 SRS_TSHD_SET_LIMITERCONTROL, 2439 SRS_TSHD_SET_OUTPUT_GAIN, 2440 SRS_TSHD_RESERVE1, 2441 SRS_TSHD_RESERVE2, 2442 SRS_TSHD_RESERVE3, 2443 2444 //SRS_THEATERSOUND 2445 SRS_THEATERSOUND_INPUT_GAIN, 2446 SRS_THEATERSOUND_DEFINITION_CONTROL, 2447 SRS_THEATERSOUND_DC_CONTROL, 2448 SRS_THEATERSOUND_TRUBASS_CONTROL, 2449 SRS_THEATERSOUND_SPEAKERSIZE, 2450 SRS_THEATERSOUND_HARDLIMITER_LEVEL, 2451 SRS_THEATERSOUND_HARDLIMITER_BOOST_GAIN, 2452 SRS_THEATERSOUND_HEADROOM_GAIN, 2453 SRS_THEATERSOUND_TRUVOLUME_MODE, 2454 SRS_THEATERSOUND_TRUVOLUME_REF_LEVEL, 2455 SRS_THEATERSOUND_TRUVOLUME_MAX_GAIN, 2456 SRS_THEATERSOUND_TRUVOLUME_NOISE_MNGR_THLD, 2457 SRS_THEATERSOUND_TRUVOLUME_CALIBRATE, 2458 SRS_THEATERSOUND_TRUVOLUME_INPUT_GAIN, 2459 SRS_THEATERSOUND_TRUVOLUME_OUTPUT_GAIN, 2460 SRS_THEATERSOUND_HPF_FC, 2461 SRS_THEATERSOUND_TSHD_INPUT_GAIN, 2462 SRS_THEATERSOUND_TSHD_OUTPUT_GAIN, 2463 SRS_THEATERSOUND_SURR_LEVEL_CONTROL, 2464 SRS_THEATERSOUND_TRUBASS_COMPRESSOR_CONTROL, 2465 SRS_THEATERSOUND_TRUBASS_PROCESS_MODE, 2466 SRS_THEATERSOUND_TRUBASS_SPEAKER_AUDIO, 2467 SRS_THEATERSOUND_TRUBASS_SPEAKER_ANALYSIS, 2468 SRS_THEATERSOUND_OUTPUT_GAIN, 2469 SRS_THEATERSOUND_BYPASS_GAIN, 2470 SRS_THEATERSOUND_INPUT_MODE, 2471 SRS_THEATERSOUND_TRUVOLUME_BYPASS_GAIN, 2472 SRS_THEATERSOUND_CS_INPUT_GAIN, 2473 2474 //DTS_ULTRATV 2475 DTS_ULTRATV_EVO_MONOINPUT, 2476 DTS_ULTRATV_EVO_WIDENINGON, 2477 DTS_ULTRATV_EVO_ADD3DBON, 2478 DTS_ULTRATV_EVO_PCELEVEL, 2479 DTS_ULTRATV_EVO_VLFELEVEL, 2480 DTS_ULTRATV_RESERVE1, 2481 DTS_ULTRATV_RESERVE2, 2482 DTS_ULTRATV_RESERVE3, 2483 DTS_ULTRATV_RESERVE4, 2484 DTS_ULTRATV_RESERVE5, 2485 DTS_ULTRATV_RESERVE6, 2486 2487 DTS_ULTRATV_SYM_DEFAULT, 2488 DTS_ULTRATV_SYM_MODE, 2489 DTS_ULTRATV_SYM_LEVEL, 2490 DTS_ULTRATV_SYM_RESET, 2491 DTS_ULTRATV_RESERVE7, 2492 DTS_ULTRATV_RESERVE8, 2493 DTS_ULTRATV_RESERVE9, 2494 2495 //AUDYSSEY 2496 AUDYSSEY_DYNAMICVOL_COMPRESS_MODE, 2497 AUDYSSEY_DYNAMICVOL_GC, 2498 AUDYSSEY_DYNAMICVOL_VOLSETTING, 2499 AUDYSSEY_DYNAMICEQ_EQOFFSET, 2500 AUDYSSEY_ABX_GWET, 2501 AUDYSSEY_ABX_GDRY, 2502 AUDYSSEY_ABX_FILSET, 2503 AUDYSSEY_RESERVE1, 2504 AUDYSSEY_RESERVE2, 2505 AUDYSSEY_RESERVE3, 2506 AUDYSSEY_RESERVE4, 2507 AUDYSSEY_RESERVE5, 2508 AUDYSSEY_RESERVE6, 2509 2510 //DBX 2511 DBX_MODE_SET, 2512 DBX_LOAD_PM, 2513 DBX_LOAD_DM, 2514 DBX_COPY_TotSonDM, 2515 DBX_COPY_TotSonPM, 2516 DBX_COPY_TotVolDM, 2517 DBX_COPY_TotVolPM, 2518 DBX_COPY_TotSurDM, 2519 DBX_COPY_TotSurPM, 2520 OTHERS_RESERVE9, 2521 OTHERS_RESERVE10, 2522 OTHERS_RESERVE11, 2523 OTHERS_RESERVE12, 2524 OTHERS_RESERVE13, 2525 OTHERS_RESERVE14, 2526 OTHERS_RESERVE15, 2527 OTHERS_RESERVE16, 2528 OTHERS_RESERVE17, 2529 OTHERS_RESERVE18, 2530 OTHERS_RESERVE19, 2531 OTHERS_RESERVE20, 2532 OTHERS_RESERVE21, 2533 OTHERS_RESERVE22, 2534 OTHERS_RESERVE23, 2535 OTHERS_RESERVE24, 2536 OTHERS_RESERVE25, 2537 OTHERS_RESERVE26, 2538 OTHERS_RESERVE27, 2539 OTHERS_RESERVE28, 2540 OTHERS_RESERVE29, 2541 OTHERS_RESERVE30, 2542 2543 SRS_THEATERSOUND_CS_PROCESS_MODE, 2544 SRS_THEATERSOUND_CS_LR_OUTPUT_GAIN, 2545 SRS_THEATERSOUND_CS_LsRs_OUTPUT_GAIN, 2546 SRS_THEATERSOUND_CS_Center_OUTPUT_GAIN, 2547 SRS_THEATERSOUND_TRUDIALOG_INPUT_GAIN, 2548 SRS_THEATERSOUND_TRUDIALOG_OUTPUT_GAIN, 2549 SRS_THEATERSOUND_TRUDIALOG_BYPASS_GAIN, 2550 SRS_THEATERSOUND_TRUDIALOG_PROCESS_GAIN, 2551 SRS_THEATERSOUND_TRUDIALOG_CLARITY_GAIN, 2552 SRS_THEATERSOUND_TRUVOLUME_NORMALIZE_THRESH, 2553 SRS_THEATERSOUND_HPF_CUTOFF, 2554 SRS_THEATERSOUND_HPF_END_CUTOFF, 2555 2556 2557 //SRS PURESOUND 2558 SRS_PURESOUND_HL_INPUT_GAIN, 2559 SRS_PURESOUND_HL_OUTPUT_GAIN, 2560 SRS_PURESOUND_HL_BYPASS_GAIN, 2561 SRS_PURESOUND_HL_LIMITERBOOST, 2562 SRS_PURESOUND_HL_HARDLIMIT, 2563 SRS_PURESOUND_HL_DELAYLEN, 2564 SRS_PURESOUND_AEQ_INPUT_GAIN, 2565 SRS_PURESOUND_AEQ_OUTPUT_GAIN, 2566 SRS_PURESOUND_AEQ_BYPASS_GAIN, 2567 SRS_PURESOUND_FILTER_CONFIG, 2568 SRS_PURESOUND_HPF_FREQUENCY, 2569 SRS_PURESOUND_TBHD_TRUBASS_LEVEL, 2570 SRS_PURESOUND_TBHD_SPEAKER_SIZE, 2571 SRS_PURESOUND_TBHD_LEVEL_INDEPENDENT_EN, 2572 SRS_PURESOUND_TBHD_COMPRESSOR_LEVEL, 2573 SRS_PURESOUND_TBHD_MODE, 2574 SRS_PURESOUND_TBHD_SPEAKER_AUDIO, 2575 SRS_PURESOUND_TBHD_SPEAKER_ANALYSIS, 2576 SRS_PURESOUND_INPUT_GAIN, 2577 SRS_PURESOUND_OUTPUT_GAIN, 2578 2579 //SRS_THEATERSOUND_3D 2580 SRS_THEATERSOUND_CC3D_INPUT_GAIN, 2581 SRS_THEATERSOUND_CC3D_OUTPUT_GAIN, 2582 SRS_THEATERSOUND_CC3D_BYPASS_GAIN, 2583 SRS_THEATERSOUND_CC3D_APERTURE, 2584 SRS_THEATERSOUND_CC3D_GAINLIMIT, 2585 SRS_THEATERSOUND_CC3D_FF_DEPTH, 2586 SRS_THEATERSOUND_CC3D_NF_DEPTH, 2587 2588 SRS_THEATERSOUND_CC3D_TSHD_SURR_MODE, 2589 SRS_THEATERSOUND_CC3D_TSHD_MIX_FADE_CTRL, 2590 2591 SRS_THEATERSOUND_CC3D_TBHDX_INPUT_GAIN, 2592 SRS_THEATERSOUND_CC3D_TBHDX_BASSLEVEL, 2593 SRS_THEATERSOUND_CC3D_TBHDX_SPEAKERSIZE, 2594 SRS_THEATERSOUND_CC3D_TBHDX_MODE, 2595 SRS_THEATERSOUND_CC3D_TBHDX_DYNAMICS, 2596 SRS_THEATERSOUND_CC3D_TBHDX_HP_ORDER, 2597 SRS_THEATERSOUND_CC3D_TBHDX_CUSTOM_FILTER, 2598 SRS_THEATERSOUND_GEQ_INPUT_GAIN, 2599 SRS_THEATERSOUND_GEQ_BAND0_GAIN, 2600 SRS_THEATERSOUND_GEQ_BAND1_GAIN, 2601 SRS_THEATERSOUND_GEQ_BAND2_GAIN, 2602 SRS_THEATERSOUND_GEQ_BAND3_GAIN, 2603 SRS_THEATERSOUND_GEQ_BAND4_GAIN, 2604 SRS_THEATERSOUND_CC3D_PROCESS_PATH, 2605 SRS_THEATERSOUND_TSHD_BYPASS_GAIN, 2606 2607 // BONGIOVI_DPS 2608 BONGIOVI_DPS_SET_PARAMS, 2609 BONGIOVI_DPS_SET_GLOBAL_INPUT_GAIN, 2610 BONGIOVI_DPS_SET_GLOBAL_OUTPUT_GAIN, 2611 BONGIOVI_DPS_SET_STEREO_WIDENER_MGAIN, 2612 BONGIOVI_DPS_SET_STEREO_WIDENER_SGAIN, 2613 } ADVSND_PARAM; 2614 2615 //====== Certification Mode TYPE======== 2616 typedef enum 2617 { 2618 AUDIO_DOLBY_DD_Cert, ///< 2619 AUDIO_DOLBY_DDP_Cert, ///< 2620 AUDIO_DOLBY_PULSE_Cert, ///< 2621 AUDIO_DOLBY_DDCO_Cert, ///< 2622 AUDIO_DOLBY_MS10_Cert, ///< 2623 AUDIO_DOLBY_RESERVE1, ///< 2624 AUDIO_DOLBY_RESERVE2, ///< 2625 AUDIO_DOLBY_RESERVE3, ///< 2626 AUDIO_DTS_DMP_Cert, ///< 2627 AUDIO_DTS_BC_Cert, ///< 2628 AUDIO_DTS_PremiumTV_Cert, ///< 2629 AUDIO_DTS_SYMMETRY_Cert, ///< 2630 AUDIO_DTS_ENVELO_Cert, ///< 2631 AUDIO_DTS_RESERVE1, ///< 2632 AUDIO_DTS_RESERVE2, ///< 2633 AUDIO_DTS_RESERVE3, ///< 2634 AUDIO_SRS_XT_Cert, ///< 2635 AUDIO_SRS_RESERVE1, ///< 2636 AUDIO_SRS_RESERVE2, ///< 2637 AUDIO_SRS_RESERVE3, ///< 2638 } Audio_CertMode; 2639 2640 typedef enum 2641 { 2642 AUDIO_CERT_Enable, 2643 AUDIO_CERT_Disable 2644 }Audio_CertEnable; 2645 2646 //====== VoIP Applications ======== 2647 typedef enum 2648 { 2649 /* VoIP Application CallBack */ 2650 AUDIO_VoIP_CONFIG_REGISTER_DEC_CB, 2651 AUDIO_VoIP_CONFIG_REGISTER_SE_CB, 2652 2653 /* VoIP Application Audio In/Out */ 2654 AUDIO_VoIP_CONFIG_ALSA_PLAYBACK, 2655 2656 /* Voip Application setup pcm upload and config SRC */ 2657 AUDIO_VOIP_CONFIG_PCM_UPLOAD, 2658 2659 }AUDIO_VoIP_CONFIG_TYPE; 2660 2661 2662 //====== STAOS PIP START 2012/02/01 ======== 2663 2664 typedef struct 2665 { 2666 XPCM_TYPE audioType; 2667 MS_U16 sampleRate; 2668 MS_U16 blockSize; 2669 MS_U16 samplePerBlock; 2670 MS_U8 channels; 2671 MS_U8 bitsPerSample; 2672 2673 } Audio_XPCM_Param; 2674 2675 typedef struct 2676 { 2677 #define MAX_NUM_CODECS 5 2678 2679 MS_U16 Channels[MAX_NUM_CODECS]; 2680 MS_U16 Regions[MAX_NUM_CODECS]; 2681 MS_U16 cplStart[MAX_NUM_CODECS]; 2682 MS_U16 cplQbits[MAX_NUM_CODECS]; 2683 MS_U16 FrameSize[MAX_NUM_CODECS]; 2684 2685 MS_U16 mNumCodecs; 2686 MS_U16 mSamples; 2687 MS_U16 mSampleRate; 2688 2689 } Audio_COOK_Param; 2690 2691 typedef struct 2692 { 2693 MS_U32 u32Version; 2694 MS_U32 u32Channels; 2695 MS_U32 u32SampleRate; 2696 MS_U32 u32ByteRate; 2697 MS_U32 u32BlockAlign; 2698 MS_U32 u32Encopt; 2699 MS_U32 u32ParsingByApp; 2700 MS_U32 u32BitsPerSample; 2701 MS_U32 u32ChannelMask; 2702 MS_U32 u32DrcParamExist; 2703 MS_U32 u32DrcRmsAmpRef; 2704 MS_U32 u32DrcRmsAmpTarget; 2705 MS_U32 u32DrcPeakAmpRef; 2706 MS_U32 u32DrcPeakAmpTarget; 2707 MS_U32 u32MaxPacketSize; 2708 2709 } Audio_ASF_Param; 2710 2711 typedef struct 2712 { 2713 MS_U32 U32WrtAddr; 2714 MS_U32 U32WrtBytes; 2715 2716 } Audio_MM_Data_Request; 2717 2718 typedef struct 2719 { 2720 MS_U32 U32DecodeFrame; 2721 MS_U32 U32WrtAddr; 2722 MS_U32 U32WrtBytes; 2723 2724 } Audio_MM_PCM_Info; 2725 2726 typedef struct 2727 { 2728 MS_U32 U32Name; 2729 MS_U32 U32IsHashkeySupported; 2730 2731 } Audio_Hashkey_Info; 2732 2733 /// Audio Decoder ID Information 2734 typedef enum 2735 { 2736 /// Audio Decoder ID invalid 2737 AU_DEC_INVALID = -1, 2738 /// Audio 1-Decoder ID 2739 AU_DEC_ID1 = 0, 2740 /// Audio 2-Decoder ID 2741 AU_DEC_ID2 = 1, 2742 /// Audio 3-Decoder ID 2743 AU_DEC_ID3 = 2, 2744 AU_DEC_MAX = 3 2745 2746 } AUDIO_DEC_ID; 2747 2748 typedef enum 2749 { 2750 AUDIO_DSP_ID_DEC = 0x00, 2751 AUDIO_DSP_ID_SND, 2752 AUDIO_DSP_ID_R2, 2753 2754 AUDIO_DSP_ID_ALL = 0xFF 2755 } AUDIO_DSP_ID; 2756 2757 typedef enum 2758 { 2759 AUDIO_MM_OMX = 0x00, 2760 AUDIO_MM_VD, 2761 AUDIO_MM_MAX = 0xFF 2762 } AUDIO_MM_TYPE; 2763 2764 typedef enum 2765 { 2766 FILTER_TYPE_AUDIO_1 = 0, 2767 FILTER_TYPE_AUDIO_2, 2768 FILTER_TYPE_AUDIO_INVALID, 2769 2770 } AUDIO_FILTER_TYPE; 2771 2772 typedef enum 2773 { 2774 Audio_ParamType_SoundMode = 0, 2775 Audio_ParamType_syncSTC, 2776 Audio_ParamType_PTS_info, 2777 Audio_ParamType_setAudioDecoder, 2778 Audio_ParamType_acMode, 2779 Audio_ParamType_MM_FFx2, 2780 Audio_ParamType_reqDataSize, 2781 Audio_ParamType_esBuf_informDataRdy, // new 2782 Audio_ParamType_playControl, 2783 Audio_ParamType_mute, 2784 Audio_ParamType_predecode, // for KTV 2785 Audio_ParamType_setWMADecParam, 2786 Audio_ParamType_setCOOKDecParam, 2787 Audio_ParamType_setXPCMDecParam, 2788 Audio_ParamType_UNI_PCM3_Input_Addr, 2789 Audio_ParamType_UNI_NEED_DECODE_FRMCNT, 2790 Audio_ParamType_UNI_ES_Wptr, 2791 Audio_ParamType_UNI_PCMOutCnt, 2792 Audio_ParamType_AllocDecoder, 2793 Audio_ParamType_FreeDecoder, 2794 Audio_ParamType_omx_spdif_mode, 2795 Audio_ParamType_omx_spdif_play, 2796 Audio_ParamType_omx_spdif_pcmLevel, 2797 Audio_ParamType_setExtSynth, 2798 Audio_ParamType_trueHD_bypass_enable, 2799 2800 } Audio_ParamType; 2801 2802 typedef enum 2803 { 2804 Audio_infoType_Unknow = -1, 2805 Audio_infoType_DecStatus = 0, 2806 Audio_infoType_SampleRate, 2807 Audio_infoType_SoundMode, 2808 Audio_infoType_capability, 2809 Audio_infoType_AudioSyncStatus, // 1 : AV-Sync 0: Free-run 2810 Audio_infoType_bitRate, 2811 Audio_infoType_acmod, 2812 Audio_infoType_okFrmCnt, 2813 Audio_infoType_errFrmCnt, 2814 Audio_infoType_1ms_timeStamp, 2815 Audio_infoType_33bit_PTS = 10, 2816 Audio_infoType_33bit_STCPTS_DIFF, 2817 Audio_infoType_esBuf_req, 2818 Audio_infoType_BufferSize, 2819 Audio_infoType_BufferAddr, 2820 Audio_infoType_esBuf_currLevel, 2821 Audio_infoType_pcmBuf_currLevel, 2822 Audio_infoType_get_audio_filter, 2823 Audio_infoType_audio_unsupported, 2824 Audio_infoType_getDecInfo1, 2825 Audio_infoType_UNI_PCM1_Info = 20, 2826 Audio_infoType_UNI_PCM3_Level, 2827 Audio_infoType_UNI_ES_Level, 2828 Audio_infoType_UNI_ES_Base, 2829 Audio_infoType_UNI_ES_Size, 2830 Audio_infoType_UNI_PCM_Base, 2831 Audio_infoType_UNI_PCM_Size, 2832 Audio_infoType_Decoder_ID, 2833 Audio_infoType_AccumEsCnt, 2834 Audio_infoType_MadBaseAddr, 2835 Audio_infoType_hashkey, 2836 Audio_infoType_UNI_PCM3_Base, 2837 Audio_infoType_UNI_PCM3_Size, 2838 Audio_infoType_AC3_BSID, 2839 Audio_infoType_get_trueHD_bypass_enable, 2840 Audio_infoType_syncSTC_in_mmTs, 2841 } Audio_InfoType; 2842 2843 typedef MS_BOOL (*pFuncPtr_SetAudioParam2)(AUDIO_DEC_ID DecId, Audio_ParamType paramType, MS_VIRT Param); 2844 typedef MS_BOOL (*pFuncPtr_GetAudioInfo2)(AUDIO_DEC_ID DecId, Audio_InfoType paramType, void * pInfo); 2845 2846 //====== STAOS PIP END 2012/02/01 ======== 2847 2848 typedef enum 2849 { 2850 Audio_DumpInfo_Off = 0x0, 2851 Audio_DumpInfo_Avsync = 0x1, 2852 Audio_DumpInfo_Dec1 = 0x2, 2853 Audio_DumpInfo_IoInfo = 0x4, 2854 Audio_DumpInfo_mmFileAVsync = 0x8, 2855 Audio_DumpInfo_All = 0x15, 2856 Audio_DumpInfo_AutoTest = 0x80, 2857 }Audio_DumpInfo_Type; 2858 2859 typedef enum 2860 { 2861 Audio_OMX_SPDIF_OFF, 2862 Audio_OMX_SPDIF_ON, 2863 Audio_OMX_SPDIF_STOP, 2864 Audio_OMX_SPDIF_PLAY, 2865 2866 } Audio_OMX_SPDIF_Param; 2867 2868 typedef enum 2869 { 2870 AUDIO_USAGE_TYPE_NONE, 2871 AUDIO_USAGE_TYPE_DTV, 2872 AUDIO_USAGE_TYPE_ATV, 2873 AUDIO_USAGE_TYPE_HDMI, 2874 AUDIO_USAGE_TYPE_ADC, 2875 AUDIO_USAGE_TYPE_MM, 2876 AUDIO_USAGE_TYPE_SPDIF, 2877 AUDIO_USAGE_TYPE_KTV, 2878 AUDIO_USAGE_TYPE_GAME, 2879 2880 } AUDIO_USAGE_TYPE; 2881 2882 ///<Audio output port source type 2883 typedef enum 2884 { 2885 E_CONNECT_MAIN, ///< output connect to main source 2886 E_CONNECT_SUB, ///< output connect to sub source 2887 E_CONNECT_SCART, ///< output connect to scart source 2888 E_CONNECT_DATA_CAPTURE, ///< output connect to data capture source 2889 E_CONNECT_KTV, ///< output connect to KTV source 2890 E_CONNECT_NULL, ///< Disable output port 2891 } AUDIO_OUTPORT_SOURCE_TYPE; 2892 2893 // TEE Capability 2894 typedef enum 2895 { 2896 Audio_TEE_None = 0x00, 2897 Audio_TEE_Setup, 2898 Audio_TEE_Set_DSP_Secure_Accessed, 2899 Audio_TEE_Set_DSP_Normal_Accessed, 2900 2901 Audio_TEE_Setup_and_ALL_DSP_Secure_Accessed = 0xFF 2902 } Audio_TEE_Capability; 2903 2904 ///<Enum for Audio Ease Type 2905 typedef enum 2906 { 2907 E_AUDIO_EASE_TYPE_LINEAR, 2908 E_AUDIO_EASE_TYPE_INCUBIC, 2909 E_AUDIO_EASE_TYPE_OUTCUBIC, 2910 E_AUDIO_EASE_TYPE_INOUTCUBIC, 2911 }AUDIO_EASE_TYPE; 2912 2913 //======================================= 2914 /// Init structure for audio 2915 typedef struct __attribute__((packed)) 2916 { 2917 MS_U8 miu; ///< MIU 2918 MS_U8 tv_system; ///< TV system 2919 MS_U8 dtv_system; ///< DTV system 2920 MS_U8 au_system_sel; ///< Audio system type 2921 2922 //sif threshold 2923 AUDIO_SIF_SET_STANDARD standard_u8Type; ///< SIF standard type 2924 AUDIO_SIF_THRESHOLD_TYPE threshold_u8Type; ///< SIF Threshold type 2925 MS_U16 threshold_value; ///< SIF Threshold value 2926 2927 } AUDIO_INIT_INFO, *PAUDIO_INIT_INFO; 2928 2929 //======================================= 2930 /// structure for audio output setting 2931 typedef struct __attribute__((packed)) 2932 { 2933 AUDIO_OUTPUT_TYPE SpeakerOut; ///< Audio output port for Speaker 2934 AUDIO_OUTPUT_TYPE HpOut; ///< Audio output port for HP 2935 AUDIO_OUTPUT_TYPE MonitorOut; ///< Audio output port for Monitor out 2936 AUDIO_OUTPUT_TYPE ScartOut; ///< Audio output port for Scart out 2937 AUDIO_OUTPUT_TYPE SpdifOut; ///< Audio output port for S/PDIF out 2938 AUDIO_OUTPUT_TYPE ArcOut; ///< Audio output port for ARC(HDMI_Rx) out 2939 AUDIO_OUTPUT_TYPE HDMIOut; ///< Audio output port for HDMI_Tx out 2940 } AUDIO_OUT_INFO, *PAUDIO_OUT_INFO; 2941 2942 //======================================= 2943 /// structure for audio DSP path setting 2944 typedef struct __attribute__((packed)) 2945 { 2946 AUDIO_PATH_TYPE SpeakerOut; ///< Audio DSP path for Speaker 2947 AUDIO_PATH_TYPE HpOut; ///< Audio DSP path for HP 2948 AUDIO_PATH_TYPE MonitorOut; ///< Audio DSP path for Monitor out 2949 AUDIO_PATH_TYPE ScartOut; ///< Audio DSP path for Scart out 2950 AUDIO_PATH_TYPE SpdifOut; ///< Audio DSP path for Spdif 2951 AUDIO_PATH_TYPE ArcOut; ///< Audio output port for ARC(HDMI_Rx) out 2952 AUDIO_PATH_TYPE HDMIOut; ///< Audio output port for HDMI out 2953 } AUDIO_PATH_INFO, *PAUDIO_PATH_INFO; 2954 2955 //======================================= 2956 /// structure for output port connection setting 2957 typedef struct __attribute__((packed)) 2958 { 2959 AUDIO_OUTPORT_SOURCE_TYPE SpeakerOut; ///< for Speaker 2960 AUDIO_OUTPORT_SOURCE_TYPE HpOut; ///< for HP 2961 AUDIO_OUTPORT_SOURCE_TYPE MonitorOut; ///< for Monitor out 2962 AUDIO_OUTPORT_SOURCE_TYPE ScartOut; ///< for Scart out 2963 AUDIO_OUTPORT_SOURCE_TYPE SpdifOut; ///< for Spdif 2964 AUDIO_OUTPORT_SOURCE_TYPE ArcOut; ///< for ARC(HDMI_Rx) 2965 AUDIO_OUTPORT_SOURCE_TYPE HDMIOut; ///< for HDMI_Tx 2966 } OUTPUT_SOURCE_INFO, *POUTPUT_SOURCE_INFO; 2967 2968 //======================================= 2969 /// structure for AES info in new MM mode 2970 typedef struct 2971 { 2972 MS_U32 aes_base_addr; ///< base address of ES buffer 2973 MS_U32 aes_end_addr; ///< end address of ES buffer 2974 MS_U32 aes_BufSize; ///< ES buffer size 2975 MS_U32 aes_write_addr; ///< write pointer 2976 MS_U32 aes_read_addr; ///< read pointer 2977 MS_U32 aes_freeSpace; ///< free space of ES buffer 2978 MS_U32 aes_level; ///< level of ES buffer 2979 MS_U32 aes_ptsCnt; ///< count of total received PTS 2980 MS_U64 aes_lastPTS; ///< last received PTS 2981 } AES_INFO; 2982 2983 2984 typedef enum 2985 { 2986 E_TSP_0, 2987 E_TSP_1, 2988 E_TSP_MAX, 2989 } AUDIO_STC_SOURCE; 2990 2991 typedef enum 2992 { 2993 E_AUD_3_PARSER = 0x0, 2994 E_AUD_4_PARSER_type1 = 0x1, ///<K3S_type 2995 E_AUD_4_PARSER_type2 = 0x2, ///<eiffle_type 2996 E_AUD_1_PARSER = 0x3, 2997 E_AUD_2_PARSER = 0x4, 2998 E_AUD_MAX_PARSER = 0x5, 2999 }AUDIO_PARSER_Architecture; 3000 3001 typedef enum 3002 { 3003 E_AFIFO_0, 3004 E_AFIFO_1, 3005 E_AFIFO_2, 3006 E_AFIFO_MAX, 3007 } AUDIO_AFIFO_SOURCE; 3008 3009 3010 typedef struct __attribute__((packed)) 3011 { 3012 MS_BOOL bStart; 3013 MS_BOOL bConnect; 3014 MS_BOOL bAVSyncOn; 3015 MS_BOOL bIsAD; 3016 AUDIO_OUTPORT_SOURCE_TYPE eGroup; 3017 AUDIO_DSP_ID eDSPId; 3018 AUDIO_SOURCE_INFO_TYPE eSourceType; 3019 En_DVB_decSystemType eAudFormat; 3020 AUDIO_STC_SOURCE eStcSource; 3021 AUDIO_AFIFO_SOURCE eAfifoSource; 3022 AUDIO_MM_TYPE eMMType; 3023 } AudioDecStatus_t; 3024 3025 typedef struct __attribute__((packed)) 3026 { 3027 AUDIO_OUTPORT_SOURCE_TYPE eGroup; 3028 AUDIO_DSP_ID u8NonPcmPath; 3029 AUDIO_SOURCE_INFO_TYPE eSourceType; 3030 AUDIO_DIGITAL_OUTPUT_TYPE eDigitalOutfMode; 3031 MS_U8 u8R2NonPcmSetting; 3032 } DigitalOutSetting_t; 3033 3034 typedef struct __attribute__((packed)) 3035 { 3036 MS_BOOL CBit; 3037 MS_BOOL LBit; 3038 } Digital_Out_Copy_Righr_t; 3039 3040 typedef struct __attribute__((packed)) 3041 { 3042 MS_U8 u8PcmFormatControl ; // byte 0, [0:7] 3043 MS_U8 u8Category; // byte 1, [8:14] 3044 Digital_Out_Copy_Righr_t stCopyRight; // byte 0[1], byte 1[15] 3045 3046 MS_U8 u8SourceNumber; // byte 2, [16:19] 3047 MS_U8 u8ChannelNumber; // byte 2, [20:23] 3048 3049 MS_U8 u8SamplingRate; // byte 3, bit[24:27] 3050 MS_U8 u8ClockPrecision; // byte 3, bit[28:31] 3051 3052 MS_U8 u8WordLength; // byte 4, bit[32:35] 3053 MS_U8 u8OriginalSamplingRate; // byte 4, bit[36:39] 3054 3055 MS_U8 u8CGMS_A; // byte 5, bit[40:41] 3056 } Digital_Out_Channel_Status_t; 3057 3058 typedef struct 3059 { 3060 MS_U8 support_codec; // Short_Audio_Descriptor Byte1 [3:6], 0: default, 1: support, 2: not suppot 3061 MS_U8 support_ch; // Short_Audio_Descriptor Byte1 [0:2] 3062 MS_U8 support_samplerate; // Short_Audio_Descriptor Byte2 [0:6] 3063 MS_U8 support_SAD_byte3; // Short_Audio_Descriptor Byte3 [0:7] 3064 } Digital_Out_Device_Capability_t; 3065 3066 //======================================= 3067 /// enum for audio DDR Info 3068 typedef enum 3069 { 3070 E_AUD_MEMORY_BASE = 0x0, ///< for audio DDR Base 3071 E_AUD_MEMORY_SIZE = 0x1, ///< for audio DDR Size 3072 } EN_AUDIO_DDRINFO; 3073 3074 #ifdef __cplusplus 3075 } 3076 #endif 3077 3078 #endif // _DRV_AUDIO_IF_H_ 3079