1*53ee8cc1Swenshuai.xi //<MStar Software> 2*53ee8cc1Swenshuai.xi //****************************************************************************** 3*53ee8cc1Swenshuai.xi // MStar Software 4*53ee8cc1Swenshuai.xi // Copyright (c) 2010 - 2012 MStar Semiconductor, Inc. All rights reserved. 5*53ee8cc1Swenshuai.xi // All software, firmware and related documentation herein ("MStar Software") are 6*53ee8cc1Swenshuai.xi // intellectual property of MStar Semiconductor, Inc. ("MStar") and protected by 7*53ee8cc1Swenshuai.xi // law, including, but not limited to, copyright law and international treaties. 8*53ee8cc1Swenshuai.xi // Any use, modification, reproduction, retransmission, or republication of all 9*53ee8cc1Swenshuai.xi // or part of MStar Software is expressly prohibited, unless prior written 10*53ee8cc1Swenshuai.xi // permission has been granted by MStar. 11*53ee8cc1Swenshuai.xi // 12*53ee8cc1Swenshuai.xi // By accessing, browsing and/or using MStar Software, you acknowledge that you 13*53ee8cc1Swenshuai.xi // have read, understood, and agree, to be bound by below terms ("Terms") and to 14*53ee8cc1Swenshuai.xi // comply with all applicable laws and regulations: 15*53ee8cc1Swenshuai.xi // 16*53ee8cc1Swenshuai.xi // 1. MStar shall retain any and all right, ownership and interest to MStar 17*53ee8cc1Swenshuai.xi // Software and any modification/derivatives thereof. 18*53ee8cc1Swenshuai.xi // No right, ownership, or interest to MStar Software and any 19*53ee8cc1Swenshuai.xi // modification/derivatives thereof is transferred to you under Terms. 20*53ee8cc1Swenshuai.xi // 21*53ee8cc1Swenshuai.xi // 2. You understand that MStar Software might include, incorporate or be 22*53ee8cc1Swenshuai.xi // supplied together with third party`s software and the use of MStar 23*53ee8cc1Swenshuai.xi // Software may require additional licenses from third parties. 24*53ee8cc1Swenshuai.xi // Therefore, you hereby agree it is your sole responsibility to separately 25*53ee8cc1Swenshuai.xi // obtain any and all third party right and license necessary for your use of 26*53ee8cc1Swenshuai.xi // such third party`s software. 27*53ee8cc1Swenshuai.xi // 28*53ee8cc1Swenshuai.xi // 3. MStar Software and any modification/derivatives thereof shall be deemed as 29*53ee8cc1Swenshuai.xi // MStar`s confidential information and you agree to keep MStar`s 30*53ee8cc1Swenshuai.xi // confidential information in strictest confidence and not disclose to any 31*53ee8cc1Swenshuai.xi // third party. 32*53ee8cc1Swenshuai.xi // 33*53ee8cc1Swenshuai.xi // 4. MStar Software is provided on an "AS IS" basis without warranties of any 34*53ee8cc1Swenshuai.xi // kind. Any warranties are hereby expressly disclaimed by MStar, including 35*53ee8cc1Swenshuai.xi // without limitation, any warranties of merchantability, non-infringement of 36*53ee8cc1Swenshuai.xi // intellectual property rights, fitness for a particular purpose, error free 37*53ee8cc1Swenshuai.xi // and in conformity with any international standard. You agree to waive any 38*53ee8cc1Swenshuai.xi // claim against MStar for any loss, damage, cost or expense that you may 39*53ee8cc1Swenshuai.xi // incur related to your use of MStar Software. 40*53ee8cc1Swenshuai.xi // In no event shall MStar be liable for any direct, indirect, incidental or 41*53ee8cc1Swenshuai.xi // consequential damages, including without limitation, lost of profit or 42*53ee8cc1Swenshuai.xi // revenues, lost or damage of data, and unauthorized system use. 43*53ee8cc1Swenshuai.xi // You agree that this Section 4 shall still apply without being affected 44*53ee8cc1Swenshuai.xi // even if MStar Software has been modified by MStar in accordance with your 45*53ee8cc1Swenshuai.xi // request or instruction for your use, except otherwise agreed by both 46*53ee8cc1Swenshuai.xi // parties in writing. 47*53ee8cc1Swenshuai.xi // 48*53ee8cc1Swenshuai.xi // 5. If requested, MStar may from time to time provide technical supports or 49*53ee8cc1Swenshuai.xi // services in relation with MStar Software to you for your use of 50*53ee8cc1Swenshuai.xi // MStar Software in conjunction with your or your customer`s product 51*53ee8cc1Swenshuai.xi // ("Services"). 52*53ee8cc1Swenshuai.xi // You understand and agree that, except otherwise agreed by both parties in 53*53ee8cc1Swenshuai.xi // writing, Services are provided on an "AS IS" basis and the warranty 54*53ee8cc1Swenshuai.xi // disclaimer set forth in Section 4 above shall apply. 55*53ee8cc1Swenshuai.xi // 56*53ee8cc1Swenshuai.xi // 6. Nothing contained herein shall be construed as by implication, estoppels 57*53ee8cc1Swenshuai.xi // or otherwise: 58*53ee8cc1Swenshuai.xi // (a) conferring any license or right to use MStar name, trademark, service 59*53ee8cc1Swenshuai.xi // mark, symbol or any other identification; 60*53ee8cc1Swenshuai.xi // (b) obligating MStar or any of its affiliates to furnish any person, 61*53ee8cc1Swenshuai.xi // including without limitation, you and your customers, any assistance 62*53ee8cc1Swenshuai.xi // of any kind whatsoever, or any information; or 63*53ee8cc1Swenshuai.xi // (c) conferring any license or right under any intellectual property right. 64*53ee8cc1Swenshuai.xi // 65*53ee8cc1Swenshuai.xi // 7. These terms shall be governed by and construed in accordance with the laws 66*53ee8cc1Swenshuai.xi // of Taiwan, R.O.C., excluding its conflict of law rules. 67*53ee8cc1Swenshuai.xi // Any and all dispute arising out hereof or related hereto shall be finally 68*53ee8cc1Swenshuai.xi // settled by arbitration referred to the Chinese Arbitration Association, 69*53ee8cc1Swenshuai.xi // Taipei in accordance with the ROC Arbitration Law and the Arbitration 70*53ee8cc1Swenshuai.xi // Rules of the Association by three (3) arbitrators appointed in accordance 71*53ee8cc1Swenshuai.xi // with the said Rules. 72*53ee8cc1Swenshuai.xi // The place of arbitration shall be in Taipei, Taiwan and the language shall 73*53ee8cc1Swenshuai.xi // be English. 74*53ee8cc1Swenshuai.xi // The arbitration award shall be final and binding to both parties. 75*53ee8cc1Swenshuai.xi // 76*53ee8cc1Swenshuai.xi //****************************************************************************** 77*53ee8cc1Swenshuai.xi //<MStar Software> 78*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 79*53ee8cc1Swenshuai.xi // 80*53ee8cc1Swenshuai.xi // Copyright (c) 2008-2009 MStar Semiconductor, Inc. 81*53ee8cc1Swenshuai.xi // All rights reserved. 82*53ee8cc1Swenshuai.xi // 83*53ee8cc1Swenshuai.xi // Unless otherwise stipulated in writing, any and all information contained 84*53ee8cc1Swenshuai.xi // herein regardless in any format shall remain the sole proprietary of 85*53ee8cc1Swenshuai.xi // MStar Semiconductor Inc. and be kept in strict confidence 86*53ee8cc1Swenshuai.xi // ("MStar Confidential Information") by the recipient. 87*53ee8cc1Swenshuai.xi // Any unauthorized act including without limitation unauthorized disclosure, 88*53ee8cc1Swenshuai.xi // copying, use, reproduction, sale, distribution, modification, disassembling, 89*53ee8cc1Swenshuai.xi // reverse engineering and compiling of the contents of MStar Confidential 90*53ee8cc1Swenshuai.xi // Information is unlawful and strictly prohibited. MStar hereby reserves the 91*53ee8cc1Swenshuai.xi // rights to any and all damages, losses, costs and expenses resulting therefrom. 92*53ee8cc1Swenshuai.xi // 93*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 94*53ee8cc1Swenshuai.xi 95*53ee8cc1Swenshuai.xi /////////////////////////////////////////////////////////////////////////////////////////////////// 96*53ee8cc1Swenshuai.xi /// 97*53ee8cc1Swenshuai.xi /// @file apiAUDIO.h 98*53ee8cc1Swenshuai.xi /// @brief AUDIO API 99*53ee8cc1Swenshuai.xi /// @author MStar Semiconductor Inc. 100*53ee8cc1Swenshuai.xi /////////////////////////////////////////////////////////////////////////////////////////////////// 101*53ee8cc1Swenshuai.xi 102*53ee8cc1Swenshuai.xi /*! \defgroup Audio Audio interface 103*53ee8cc1Swenshuai.xi 104*53ee8cc1Swenshuai.xi \brief 105*53ee8cc1Swenshuai.xi Audio Module is used for: 106*53ee8cc1Swenshuai.xi 107*53ee8cc1Swenshuai.xi - 1. Audio Input source handling 108*53ee8cc1Swenshuai.xi - support input source as VGA, ATV, CVBS, YPbPr, SCART, HDMI, DTV, MM ... 109*53ee8cc1Swenshuai.xi 110*53ee8cc1Swenshuai.xi - 2. Audio Output source handling 111*53ee8cc1Swenshuai.xi - support stereo audio analog output ,SPDIF digital output, I2S, HDMI 1.4 ARC output 112*53ee8cc1Swenshuai.xi 113*53ee8cc1Swenshuai.xi - 3. Basic Sound Effect support 114*53ee8cc1Swenshuai.xi - support Volume Control , Bass, Treble, GEQ, PEQ, Surround, AVC ... 115*53ee8cc1Swenshuai.xi 116*53ee8cc1Swenshuai.xi - 4. Digital audio format decoding 117*53ee8cc1Swenshuai.xi - support MPEG-1, MPEG-2(Layer I/II), MP3, AC-3,E-AC-3, WMA, HE-AAC, DTS, FLAC, XPCM 118*53ee8cc1Swenshuai.xi 119*53ee8cc1Swenshuai.xi - 5. Advanced Sound Effect support 120*53ee8cc1Swenshuai.xi - support SRS-TSHD , SRS-TSXT, DBX.... 121*53ee8cc1Swenshuai.xi 122*53ee8cc1Swenshuai.xi - All audio related features , architecture and bolck diagram are collected in 123*53ee8cc1Swenshuai.xi MStar Audio Application Note(Chip dependent). 124*53ee8cc1Swenshuai.xi 125*53ee8cc1Swenshuai.xi *! \defgroup Audio_System System 126*53ee8cc1Swenshuai.xi * \ingroup Audio 127*53ee8cc1Swenshuai.xi 128*53ee8cc1Swenshuai.xi *! \defgroup Audio_Decoder Decoder 129*53ee8cc1Swenshuai.xi * \ingroup Audio 130*53ee8cc1Swenshuai.xi 131*53ee8cc1Swenshuai.xi *! \defgroup Audio_ATV_SPDIF_HDMI ATV SPDIF HDMI 132*53ee8cc1Swenshuai.xi * \ingroup Audio 133*53ee8cc1Swenshuai.xi 134*53ee8cc1Swenshuai.xi *! \defgroup Audio_BASIC_SOUNDEFFECT Basic Sound Effect 135*53ee8cc1Swenshuai.xi * \ingroup Audio 136*53ee8cc1Swenshuai.xi 137*53ee8cc1Swenshuai.xi *! \defgroup Audio_ADVANCED_SOUNDEFFECT Advanced Sound Effect 138*53ee8cc1Swenshuai.xi * \ingroup Audio 139*53ee8cc1Swenshuai.xi 140*53ee8cc1Swenshuai.xi *! \defgroup Audio_ToBeMerged To Be Merged 141*53ee8cc1Swenshuai.xi * \ingroup Audio 142*53ee8cc1Swenshuai.xi 143*53ee8cc1Swenshuai.xi *! \defgroup Audio_ToBeModified To Be Modified 144*53ee8cc1Swenshuai.xi * \ingroup Audio 145*53ee8cc1Swenshuai.xi 146*53ee8cc1Swenshuai.xi *! \defgroup Audio_ToBeMoved To Be Moved 147*53ee8cc1Swenshuai.xi * \ingroup Audio 148*53ee8cc1Swenshuai.xi 149*53ee8cc1Swenshuai.xi *! \defgroup Audio_ToBeRemove To Be Removed 150*53ee8cc1Swenshuai.xi * \ingroup Audio 151*53ee8cc1Swenshuai.xi */ 152*53ee8cc1Swenshuai.xi 153*53ee8cc1Swenshuai.xi #ifndef _API_AUDIO_H_ 154*53ee8cc1Swenshuai.xi #define _API_AUDIO_H_ 155*53ee8cc1Swenshuai.xi 156*53ee8cc1Swenshuai.xi #include "MsCommon.h" 157*53ee8cc1Swenshuai.xi #include "drvAUDIO_if.h" 158*53ee8cc1Swenshuai.xi 159*53ee8cc1Swenshuai.xi 160*53ee8cc1Swenshuai.xi #ifdef __cplusplus 161*53ee8cc1Swenshuai.xi extern "C" 162*53ee8cc1Swenshuai.xi { 163*53ee8cc1Swenshuai.xi #endif 164*53ee8cc1Swenshuai.xi //------------------------------------------------------------------------------------------------- 165*53ee8cc1Swenshuai.xi // Macro and Define 166*53ee8cc1Swenshuai.xi //------------------------------------------------------------------------------------------------- 167*53ee8cc1Swenshuai.xi //----------------------------------------------------------- 168*53ee8cc1Swenshuai.xi #define MSAPI_AUD_SPDIF_PCM 0 169*53ee8cc1Swenshuai.xi #define MSAPI_AUD_SPDIF_OFF 1 170*53ee8cc1Swenshuai.xi #define MSAPI_AUD_SPDIF_NONPCM 2 171*53ee8cc1Swenshuai.xi 172*53ee8cc1Swenshuai.xi #define MSAPI_AUD_DTV_IN 0 173*53ee8cc1Swenshuai.xi #define MSAPI_AUD_ATV_IN 1 174*53ee8cc1Swenshuai.xi #define MSAPI_AUD_HDMI_IN 2 175*53ee8cc1Swenshuai.xi #define MSAPI_AUD_ADC_IN 3 176*53ee8cc1Swenshuai.xi #define MSAPI_AUD_CardRD_IN 4 177*53ee8cc1Swenshuai.xi #define MSAPI_AUD_MM_IN 5 178*53ee8cc1Swenshuai.xi 179*53ee8cc1Swenshuai.xi #define MSAPI_AUD_AVsync 0 180*53ee8cc1Swenshuai.xi #define MSAPI_AUD_FreeRun 1 181*53ee8cc1Swenshuai.xi 182*53ee8cc1Swenshuai.xi /// A2/FM/_SOUND_MOD Report info 183*53ee8cc1Swenshuai.xi #define _STATUS_MOD_MONO_EXIST 0x01 184*53ee8cc1Swenshuai.xi #define _STATUS_MOD_STEREO_EXIST 0x02 185*53ee8cc1Swenshuai.xi #define _STATUS_MOD_DUAL_EXIST 0x04 186*53ee8cc1Swenshuai.xi #define _STATUS_MOD_A2_PILOT_EXIST 0x08 187*53ee8cc1Swenshuai.xi #define _STATUS_MOD_A2_PRIMARY_EXIST 0x10 188*53ee8cc1Swenshuai.xi #define _STATUS_MOD_A2_SECONDARY_EXIST 0x20 189*53ee8cc1Swenshuai.xi #define _STATUS_MOD_A2_DK2_EXIST 0x40 190*53ee8cc1Swenshuai.xi #define _STATUS_MOD_A2_DK3_EXIST 0x80 191*53ee8cc1Swenshuai.xi 192*53ee8cc1Swenshuai.xi /// NICAM_SOUND_MOD Report info 193*53ee8cc1Swenshuai.xi #define _MASK_NICAM_STATUS_INFO 0x0F 194*53ee8cc1Swenshuai.xi #define _NICAM_SOUND_MODE_LOCK_STATE 0x05 195*53ee8cc1Swenshuai.xi #define _MASK_NICAM_SOUND_MODE_INFO 0xF0 196*53ee8cc1Swenshuai.xi #define _NICAM_SOUND_MOD_MONO_NOT_EXIST 0x00 197*53ee8cc1Swenshuai.xi #define _NICAM_SOUND_MOD_NICAM_MONO 0x10 198*53ee8cc1Swenshuai.xi #define _NICAM_SOUND_MOD_NICAM_STEREO 0x20 199*53ee8cc1Swenshuai.xi #define _NICAM_SOUND_MOD_NICAM_DUAL 0x30 200*53ee8cc1Swenshuai.xi #define _NICAM_SOUND_MOD_MONO_EXIST 0x80 201*53ee8cc1Swenshuai.xi #define _NICAM_SOUND_MOD_MONO_n_NICAM_MONO 0x90 202*53ee8cc1Swenshuai.xi #define _NICAM_SOUND_MOD_MONO_n_NICAM_STEREO 0xA0 203*53ee8cc1Swenshuai.xi #define _NICAM_SOUND_MOD_MONO_n_NICAM_DUAL 0xB0 204*53ee8cc1Swenshuai.xi 205*53ee8cc1Swenshuai.xi /******************************** 206*53ee8cc1Swenshuai.xi * SIF Standard 207*53ee8cc1Swenshuai.xi ********************************/ 208*53ee8cc1Swenshuai.xi #define _STD_SEL_INVALID 0x00 209*53ee8cc1Swenshuai.xi #define _STD_SEL_M_BTSC 0x01 210*53ee8cc1Swenshuai.xi #define _STD_SEL_M_EIAJ 0x02 211*53ee8cc1Swenshuai.xi #define _STD_SEL_M_A2 0x03 212*53ee8cc1Swenshuai.xi #define _STD_SEL_BG_A2 0x04 213*53ee8cc1Swenshuai.xi #define _STD_SEL_DK1_A2 0x05 214*53ee8cc1Swenshuai.xi #define _STD_SEL_DK2_A2 0x06 215*53ee8cc1Swenshuai.xi #define _STD_SEL_DK3_A2 0x07 216*53ee8cc1Swenshuai.xi #define _STD_SEL_BG_NICAM 0x08 217*53ee8cc1Swenshuai.xi #define _STD_SEL_DK_NICAM 0x09 218*53ee8cc1Swenshuai.xi #define _STD_SEL_I_NICAM 0x0A 219*53ee8cc1Swenshuai.xi #define _STD_SEL_L_NICAM 0x0B 220*53ee8cc1Swenshuai.xi #define _STD_SEL_AUTO 0xE0 221*53ee8cc1Swenshuai.xi 222*53ee8cc1Swenshuai.xi //------------------------------------------------------------------------------------------------- 223*53ee8cc1Swenshuai.xi // Type and Structure 224*53ee8cc1Swenshuai.xi //------------------------------------------------------------------------------------------------- 225*53ee8cc1Swenshuai.xi ///< Decoder command type 226*53ee8cc1Swenshuai.xi typedef enum 227*53ee8cc1Swenshuai.xi { 228*53ee8cc1Swenshuai.xi MSAPI_AUD_DVB_DECCMD_STOP = 0x0, ///< 1st DSP stop 229*53ee8cc1Swenshuai.xi MSAPI_AUD_DVB_DECCMD_PLAY, ///< 1st DSP play 230*53ee8cc1Swenshuai.xi MSAPI_AUD_DVB_DECCMD_RESYNC, 231*53ee8cc1Swenshuai.xi MSAPI_AUD_DVB_DECCMD_FREE_RUN, 232*53ee8cc1Swenshuai.xi MSAPI_AUD_DVB_DECCMD_AVSYNC, 233*53ee8cc1Swenshuai.xi MSAPI_AUD_DVB_DECCMD_PLAYFILE, ///< 1st DSP play file 234*53ee8cc1Swenshuai.xi MSAPI_AUD_DVB_DECCMD_PAUSE, ///< 1st DSP pause 235*53ee8cc1Swenshuai.xi MSAPI_AUD_DVB_DECCMD_PLAYFILETSP, ///< 1st DSP play TS file 236*53ee8cc1Swenshuai.xi MSAPI_AUD_DVB_DECCMD_STARTBROWSE, 237*53ee8cc1Swenshuai.xi MSAPI_AUD_DVB_DECCMD_PLAYFRAME, ///<1st DSP play MM (for uniplayer/Mstreamer) 238*53ee8cc1Swenshuai.xi MSAPI_AUD_DVB_DECCMD_PLAYFRAME_STAGE, ////<1st DSP play MM (for stagecraft) 239*53ee8cc1Swenshuai.xi MSAPI_AUD_DVB_DECCMD_PLAYFRAME_GS, ///<1st DSP play MM (for uniplayer/Gstreamer ES copy) 240*53ee8cc1Swenshuai.xi MSAPI_AUD_DVB_DECCMD_PLAYMM_FILE2, 241*53ee8cc1Swenshuai.xi MSAPI_AUD_DVB_DECCMD_PLAY_AD, 242*53ee8cc1Swenshuai.xi MSAPI_AUD_DVB_DECCMD_STOP_AD, 243*53ee8cc1Swenshuai.xi MSAPI_AUD_DVB_DECCMD_SKIP, 244*53ee8cc1Swenshuai.xi // SE DSP 245*53ee8cc1Swenshuai.xi MSAPI_AUD_DVB2_DECCMD_STOP=0x10, ///< 2nd DSP stop 246*53ee8cc1Swenshuai.xi MSAPI_AUD_DVB2_DECCMD_PLAY, ///< 2nd DSP play 247*53ee8cc1Swenshuai.xi MSAPI_AUD_DVB2_DECCMD_RESYNC, 248*53ee8cc1Swenshuai.xi MSAPI_AUD_DVB2_DECCMD_FREE_RUN, 249*53ee8cc1Swenshuai.xi MSAPI_AUD_DVB2_DECCMD_AVSYNC, 250*53ee8cc1Swenshuai.xi MSAPI_AUD_DVB2_DECCMD_PLAYFILE, ///< 2nd DSP play file 251*53ee8cc1Swenshuai.xi MSAPI_AUD_DVB2_DECCMD_PAUSE, ///< 2nd DSP pause 252*53ee8cc1Swenshuai.xi MSAPI_AUD_DVB2_DECCMD_PLAYFILETSP, ///< 2nd DSP play TS file 253*53ee8cc1Swenshuai.xi 254*53ee8cc1Swenshuai.xi } En_DVB_decCmdType; 255*53ee8cc1Swenshuai.xi 256*53ee8cc1Swenshuai.xi ///< Encoder Command 257*53ee8cc1Swenshuai.xi typedef enum 258*53ee8cc1Swenshuai.xi { 259*53ee8cc1Swenshuai.xi MSAPI_AUD_DVB_ENCCMD_STOP = 0x0, ///< stop encode 260*53ee8cc1Swenshuai.xi MSAPI_AUD_DVB_ENCCMD_START ///< start encode 261*53ee8cc1Swenshuai.xi }En_DVB_EncCmdType; 262*53ee8cc1Swenshuai.xi 263*53ee8cc1Swenshuai.xi ///< ATV SIF Command 264*53ee8cc1Swenshuai.xi typedef enum 265*53ee8cc1Swenshuai.xi { 266*53ee8cc1Swenshuai.xi MSAPI_AUD_SIF_CMD_SET_STOP = 0x00, 267*53ee8cc1Swenshuai.xi MSAPI_AUD_SIF_CMD_SET_PLAY = 0x01, 268*53ee8cc1Swenshuai.xi MSAPI_AUD_SIF_CMD_ENABLE_HIDEV = 0x02, 269*53ee8cc1Swenshuai.xi MSAPI_AUD_SIF_CMD_SET_HIDEV_FILTER_BW_LEVEL = 0x03, 270*53ee8cc1Swenshuai.xi MSAPI_AUD_SIF_CMD_RESET_FC_TRACKING = 0x04, 271*53ee8cc1Swenshuai.xi MSAPI_AUD_SIF_CMD_ENABLE_FC_TRACKING = 0x05, 272*53ee8cc1Swenshuai.xi MSAPI_AUD_SIF_CMD_SET_ADC_FROM_VIF_PATH = 0x06, 273*53ee8cc1Swenshuai.xi MSAPI_AUD_SIF_CMD_ENABLE_AUTO_MUTE = 0x07, 274*53ee8cc1Swenshuai.xi MSAPI_AUD_SIF_CMD_ENABLE_BEEPER_FUNCTION = 0x08, 275*53ee8cc1Swenshuai.xi MSAPI_AUD_SIF_CMD_SET_BEEPER_TONE = 0x09, 276*53ee8cc1Swenshuai.xi MSAPI_AUD_SIF_CMD_ENABLE_AGC = 0x0A, 277*53ee8cc1Swenshuai.xi MSAPI_AUD_SIF_CMD_RESET_AGC = 0x0B, 278*53ee8cc1Swenshuai.xi MSAPI_AUD_SIF_STANDARD_RESET = 0x0C, 279*53ee8cc1Swenshuai.xi MSAPI_AUD_SIF_CMD_DETECT_MAIN_STD_ONLY = 0x0D, 280*53ee8cc1Swenshuai.xi MSAPI_AUD_SIF_CMD_ENABLE_AUTO_SOUNDMODE = 0x0E, 281*53ee8cc1Swenshuai.xi MSAPI_AUD_SIF_CMD_FMTX_SET_PREEMP = 0x0F, 282*53ee8cc1Swenshuai.xi MSAPI_AUD_SIF_CMD_SET_ENC_CMD = 0x10, 283*53ee8cc1Swenshuai.xi MSAPI_AUD_SIF_CMD_SET_ENC_Input_attenuation= 0x11, 284*53ee8cc1Swenshuai.xi MSAPI_AUD_SIF_CMD_SET_ENC_Output_scaling= 0x12, 285*53ee8cc1Swenshuai.xi MSAPI_AUD_SIF_CMD_SET_BTSC_Enc_M_Gain=0x13, 286*53ee8cc1Swenshuai.xi MSAPI_AUD_SIF_CMD_SET_BTSC_Enc_D_Gain= 0x14, 287*53ee8cc1Swenshuai.xi MSAPI_AUD_SIF_CMD_SET_BTSC_Enc_SAP_Gain= 0x15, 288*53ee8cc1Swenshuai.xi 289*53ee8cc1Swenshuai.xi MSAPI_AUD_SIF_CMD2_ADC_VIA_VIF_PIN = 0x01 290*53ee8cc1Swenshuai.xi } En_AUD_SIF_CmdType; 291*53ee8cc1Swenshuai.xi 292*53ee8cc1Swenshuai.xi typedef enum 293*53ee8cc1Swenshuai.xi { 294*53ee8cc1Swenshuai.xi MSAPI_AUD_SIF_42M, 295*53ee8cc1Swenshuai.xi MSAPI_AUD_SIF_43M, 296*53ee8cc1Swenshuai.xi MSAPI_AUD_SIF_44M, 297*53ee8cc1Swenshuai.xi } En_AUD_VIF_Type; 298*53ee8cc1Swenshuai.xi 299*53ee8cc1Swenshuai.xi enum 300*53ee8cc1Swenshuai.xi { 301*53ee8cc1Swenshuai.xi MSAPI_AUD_SIF_HIDEV_FILTER_BW_DEFAULT = 0x00, // equal middle filter bandwidth 302*53ee8cc1Swenshuai.xi MSAPI_AUD_SIF_HIDEV_FILTER_BW_L1 = 0x10, // narrowest filter bandwidth 303*53ee8cc1Swenshuai.xi MSAPI_AUD_SIF_HIDEV_FILTER_BW_L2 = 0x20, // middle filter bandwidth 304*53ee8cc1Swenshuai.xi MSAPI_AUD_SIF_HIDEV_FILTER_BW_L3 = 0x30 // widest filter bandwidth 305*53ee8cc1Swenshuai.xi }; 306*53ee8cc1Swenshuai.xi 307*53ee8cc1Swenshuai.xi ///< Decoder Number 308*53ee8cc1Swenshuai.xi typedef enum 309*53ee8cc1Swenshuai.xi { 310*53ee8cc1Swenshuai.xi DVB_Audio_Decoder1, ///<Audio decoder1 311*53ee8cc1Swenshuai.xi DVB_Audio_Decoder2 ///<Audio decoder2 312*53ee8cc1Swenshuai.xi } En_DVB_AudioDecoder; 313*53ee8cc1Swenshuai.xi 314*53ee8cc1Swenshuai.xi ///< Advance sound effect type 315*53ee8cc1Swenshuai.xi typedef enum 316*53ee8cc1Swenshuai.xi { 317*53ee8cc1Swenshuai.xi MSAPI_AUD_ADVSND_PL2, ///<ID = 0 318*53ee8cc1Swenshuai.xi MSAPI_AUD_ADVSND_BBE, ///<ID = 1 319*53ee8cc1Swenshuai.xi MSAPI_AUD_ADVSND_SRS, ///<ID = 2 320*53ee8cc1Swenshuai.xi MSAPI_AUD_ADVSND_VDS, ///<ID = 3 321*53ee8cc1Swenshuai.xi MSAPI_AUD_ADVSND_VSPK, ///<ID = 4 322*53ee8cc1Swenshuai.xi MSAPI_AUD_ADVSND_SUPV, ///<ID = 5 323*53ee8cc1Swenshuai.xi MSAPI_AUD_ADVSND_TSHD, ///<ID = 6 324*53ee8cc1Swenshuai.xi MSAPI_AUD_ADVSND_DTS_ULTRATV, ///<ID = 7 325*53ee8cc1Swenshuai.xi MSAPI_AUD_ADVSND_TSHDVIQ, ///<ID = 8 326*53ee8cc1Swenshuai.xi MSAPI_AUD_ADVSND_AUDYSSEY, ///<ID = 9 327*53ee8cc1Swenshuai.xi MSAPI_AUD_ADVSND_DBX, ///<ID = 10 328*53ee8cc1Swenshuai.xi MSAPI_AUD_ADVSND_SSHD_TSHD, ///<ID = 55 329*53ee8cc1Swenshuai.xi MSAPI_AUD_ADVSND_PURESND, ///<ID = 66 330*53ee8cc1Swenshuai.xi MSAPI_AUD_ADVSND_BONGIOVI_DPS, ///<ID = 93 331*53ee8cc1Swenshuai.xi 332*53ee8cc1Swenshuai.xi } En_DVB_advsndType; 333*53ee8cc1Swenshuai.xi 334*53ee8cc1Swenshuai.xi ///< Select audio output mode type 335*53ee8cc1Swenshuai.xi typedef enum 336*53ee8cc1Swenshuai.xi { 337*53ee8cc1Swenshuai.xi MSAPI_AUD_DVB_SOUNDMODE_STEREO, 338*53ee8cc1Swenshuai.xi MSAPI_AUD_DVB_SOUNDMODE_LEFT, 339*53ee8cc1Swenshuai.xi MSAPI_AUD_DVB_SOUNDMODE_RIGHT, 340*53ee8cc1Swenshuai.xi MSAPI_AUD_DVB_SOUNDMODE_NONE, 341*53ee8cc1Swenshuai.xi } En_DVB_soundModeType; 342*53ee8cc1Swenshuai.xi 343*53ee8cc1Swenshuai.xi ///< Melody play command type 344*53ee8cc1Swenshuai.xi typedef enum 345*53ee8cc1Swenshuai.xi { 346*53ee8cc1Swenshuai.xi MSAPI_AUD_MELODY_START, 347*53ee8cc1Swenshuai.xi MSAPI_AUD_MELODY_STOP, 348*53ee8cc1Swenshuai.xi MSAPI_AUD_MELODY_RESUME, 349*53ee8cc1Swenshuai.xi MSAPI_AUD_MELODY_CHK_STATUS 350*53ee8cc1Swenshuai.xi }En_DVB_melodyPlayCmdType; 351*53ee8cc1Swenshuai.xi 352*53ee8cc1Swenshuai.xi typedef struct 353*53ee8cc1Swenshuai.xi { 354*53ee8cc1Swenshuai.xi MS_U32 u32BufStartAddr; 355*53ee8cc1Swenshuai.xi MS_U32 u32BufEndAddr; 356*53ee8cc1Swenshuai.xi MS_U32 u32BufWrPtr; 357*53ee8cc1Swenshuai.xi MS_U32 u32BufTotalSize; 358*53ee8cc1Swenshuai.xi MS_U32 u32BufferedPCMSize; 359*53ee8cc1Swenshuai.xi }audioBufMonitor; 360*53ee8cc1Swenshuai.xi 361*53ee8cc1Swenshuai.xi typedef struct 362*53ee8cc1Swenshuai.xi { 363*53ee8cc1Swenshuai.xi audioBufMonitor _stBufInfo; 364*53ee8cc1Swenshuai.xi MS_U32 u32ReqAddr; 365*53ee8cc1Swenshuai.xi MS_U32 u32ReqSize; 366*53ee8cc1Swenshuai.xi MS_PHY phyRetAddr1; 367*53ee8cc1Swenshuai.xi MS_U32 u32RetSize1; 368*53ee8cc1Swenshuai.xi MS_PHY phyRetAddr2; 369*53ee8cc1Swenshuai.xi MS_U32 u32RetSize2; 370*53ee8cc1Swenshuai.xi MS_U8 u8RingStatus; 371*53ee8cc1Swenshuai.xi }audioRingTask; 372*53ee8cc1Swenshuai.xi 373*53ee8cc1Swenshuai.xi 374*53ee8cc1Swenshuai.xi ///< Melody play status 375*53ee8cc1Swenshuai.xi typedef enum 376*53ee8cc1Swenshuai.xi { 377*53ee8cc1Swenshuai.xi MSAPI_AUD_MELODY_NEED_MORE_DATA, 378*53ee8cc1Swenshuai.xi MSAPI_AUD_MELODY_PLAY_INIT, 379*53ee8cc1Swenshuai.xi MSAPI_AUD_MELODY_PLAY_ING, 380*53ee8cc1Swenshuai.xi MSAPI_AUD_MELODY_PLAY_DONE, 381*53ee8cc1Swenshuai.xi MSAPI_AUD_MELODY_PLAY_STOP 382*53ee8cc1Swenshuai.xi }En_DVB_melodyPlayStatus; 383*53ee8cc1Swenshuai.xi 384*53ee8cc1Swenshuai.xi ///< Select AD output type 385*53ee8cc1Swenshuai.xi enum 386*53ee8cc1Swenshuai.xi { 387*53ee8cc1Swenshuai.xi AD_OUT_SPEAKER, ///< AD out in speaker only 388*53ee8cc1Swenshuai.xi AD_OUT_HP, ///< AD out in HP only 389*53ee8cc1Swenshuai.xi AD_OUT_BOTH, ///< AD out both in speaker & HP 390*53ee8cc1Swenshuai.xi AD_OUT_NONE ///< no AD out 391*53ee8cc1Swenshuai.xi }; 392*53ee8cc1Swenshuai.xi 393*53ee8cc1Swenshuai.xi ///< Audio System Type 394*53ee8cc1Swenshuai.xi typedef enum 395*53ee8cc1Swenshuai.xi { 396*53ee8cc1Swenshuai.xi E_AUDIO_SYSTEM_BTSC, 397*53ee8cc1Swenshuai.xi E_AUDIO_SYSTEM_A2, 398*53ee8cc1Swenshuai.xi E_AUDIO_SYSTEM_EIAJ 399*53ee8cc1Swenshuai.xi }AUDIO_SYSTEM_TYPE; 400*53ee8cc1Swenshuai.xi 401*53ee8cc1Swenshuai.xi ///< Audio SIF Standard Type 402*53ee8cc1Swenshuai.xi typedef enum 403*53ee8cc1Swenshuai.xi { 404*53ee8cc1Swenshuai.xi E_AUDIOSTANDARD_BG = 0x00, ///< Audio standard BG 405*53ee8cc1Swenshuai.xi E_AUDIOSTANDARD_BG_A2 = 0x01, ///< Audio standard BG A2 406*53ee8cc1Swenshuai.xi E_AUDIOSTANDARD_BG_NICAM = 0x02, ///< Audio standard BG NICAM 407*53ee8cc1Swenshuai.xi E_AUDIOSTANDARD_I = 0x03, ///< Audio standard I 408*53ee8cc1Swenshuai.xi E_AUDIOSTANDARD_DK = 0x04, ///< Audio standard DK 409*53ee8cc1Swenshuai.xi E_AUDIOSTANDARD_DK1_A2 = 0x05, ///< Audio standard DK1 A2 410*53ee8cc1Swenshuai.xi E_AUDIOSTANDARD_DK2_A2 = 0x06, ///< Audio standard DK2 A2 411*53ee8cc1Swenshuai.xi E_AUDIOSTANDARD_DK3_A2 = 0x07, ///< Audio standard DK3 A2 412*53ee8cc1Swenshuai.xi E_AUDIOSTANDARD_DK_NICAM = 0x08, ///< Audio standard DK NICAM 413*53ee8cc1Swenshuai.xi E_AUDIOSTANDARD_L = 0x09, ///< Audio standard L 414*53ee8cc1Swenshuai.xi E_AUDIOSTANDARD_M = 0x0A, ///< Audio standard M 415*53ee8cc1Swenshuai.xi E_AUDIOSTANDARD_M_BTSC = 0x0B, ///< Audio standard M BTSC 416*53ee8cc1Swenshuai.xi E_AUDIOSTANDARD_M_A2 = 0x0C, ///< Audio standard M A2 417*53ee8cc1Swenshuai.xi E_AUDIOSTANDARD_M_EIA_J = 0x0D, ///< Audio standard M EIA J 418*53ee8cc1Swenshuai.xi E_AUDIOSTANDARD_NOTSTANDARD = 0x0F ///< Not Audio standard 419*53ee8cc1Swenshuai.xi } AUDIOSTANDARD_TYPE; 420*53ee8cc1Swenshuai.xi 421*53ee8cc1Swenshuai.xi ///< Audio Stream type 422*53ee8cc1Swenshuai.xi typedef enum 423*53ee8cc1Swenshuai.xi { 424*53ee8cc1Swenshuai.xi E_AUDIOSTREAM_INVALID = 0x00, 425*53ee8cc1Swenshuai.xi E_AUDIOSTREAM_MPEG = 0x01, 426*53ee8cc1Swenshuai.xi E_AUDIOSTREAM_AC3 = 0x02, 427*53ee8cc1Swenshuai.xi E_AUDIOSTREAM_MPEG_AD = 0x03, 428*53ee8cc1Swenshuai.xi E_AUDIOSTREAM_MPEG4 = 0x04, 429*53ee8cc1Swenshuai.xi E_AUDIOSTREAM_AAC = 0x05, 430*53ee8cc1Swenshuai.xi E_AUDIOSTREAM_AC3P = 0x06, 431*53ee8cc1Swenshuai.xi E_AUDIOSTREAM_AC3_AD = 0x07, 432*53ee8cc1Swenshuai.xi E_AUDIOSTREAM_AC3P_AD = 0x08, 433*53ee8cc1Swenshuai.xi E_AUDIOSTREAM_AACP_AD = 0x09, 434*53ee8cc1Swenshuai.xi E_AUDIOSTREAM_DRA = 0x0A 435*53ee8cc1Swenshuai.xi } AUDIOSTREAM_TYPE; 436*53ee8cc1Swenshuai.xi 437*53ee8cc1Swenshuai.xi ///< Audio mode type 438*53ee8cc1Swenshuai.xi typedef enum 439*53ee8cc1Swenshuai.xi { 440*53ee8cc1Swenshuai.xi E_AUDIOMODE_INVALID = 0x00, ///< Audio Mode Invalid 441*53ee8cc1Swenshuai.xi E_AUDIOMODE_MONO = 0x01, ///< Audio Mode MONO 442*53ee8cc1Swenshuai.xi E_AUDIOMODE_FORCED_MONO = 0x02, ///< Audio Mode Forced MONO 443*53ee8cc1Swenshuai.xi E_AUDIOMODE_G_STEREO = 0x03, ///< Audio Mode G Stereo 444*53ee8cc1Swenshuai.xi E_AUDIOMODE_K_STEREO = 0x04, ///< Audio Mode K Stereo 445*53ee8cc1Swenshuai.xi E_AUDIOMODE_MONO_SAP = 0x05, ///< Audio Mode MONO SAP 446*53ee8cc1Swenshuai.xi E_AUDIOMODE_STEREO_SAP = 0x06, ///< Audio Mode Stereo SAP 447*53ee8cc1Swenshuai.xi E_AUDIOMODE_DUAL_A = 0x07, ///< Audio Mode Dual A 448*53ee8cc1Swenshuai.xi E_AUDIOMODE_DUAL_B = 0x08, ///< Audio Mode Dual B 449*53ee8cc1Swenshuai.xi E_AUDIOMODE_DUAL_AB = 0x09, ///< Audio Mode Dual AB 450*53ee8cc1Swenshuai.xi E_AUDIOMODE_NICAM_MONO = 0x0A, ///< Audio Mode NICAM MONO 451*53ee8cc1Swenshuai.xi E_AUDIOMODE_NICAM_STEREO = 0x0B, ///< Audio Mode NICAM Stereo 452*53ee8cc1Swenshuai.xi E_AUDIOMODE_NICAM_DUAL_A = 0x0C, ///< Audio Mode NICAM DUAL A 453*53ee8cc1Swenshuai.xi E_AUDIOMODE_NICAM_DUAL_B = 0x0D, ///< Audio Mode NICAM DUAL B 454*53ee8cc1Swenshuai.xi E_AUDIOMODE_NICAM_DUAL_AB = 0x0E, ///< Audio Mode NICAM DUAL AB 455*53ee8cc1Swenshuai.xi E_AUDIOMODE_HIDEV_MONO = 0x0F, ///< Audio Mode HIDEV MONO 456*53ee8cc1Swenshuai.xi E_AUDIOMODE_LEFT_LEFT = 0x10, ///< Audio Mode Left left 457*53ee8cc1Swenshuai.xi E_AUDIOMODE_RIGHT_RIGHT = 0x11, ///< Audio Mode right right 458*53ee8cc1Swenshuai.xi E_AUDIOMODE_LEFT_RIGHT = 0x12 ///< Audio Mode left right 459*53ee8cc1Swenshuai.xi } AUDIOMODE_TYPE; 460*53ee8cc1Swenshuai.xi 461*53ee8cc1Swenshuai.xi ///< sif carrier status define 462*53ee8cc1Swenshuai.xi typedef enum 463*53ee8cc1Swenshuai.xi { // Never change the value of enumeration. Because each bit has weight. 464*53ee8cc1Swenshuai.xi E_STATE_AUDIO_NO_CARRIER = 0x00, ///< No carrier detect 465*53ee8cc1Swenshuai.xi E_STATE_AUDIO_PRIMARY_CARRIER = 0x01, ///< Carrier 1 exist 466*53ee8cc1Swenshuai.xi E_STATE_AUDIO_SECONDARY_CARRIER = 0x02, ///< Carrier 2 exist 467*53ee8cc1Swenshuai.xi E_STATE_AUDIO_NICAM = 0x04, ///< Nicam lock state 468*53ee8cc1Swenshuai.xi E_STATE_AUDIO_STEREO = 0x08, ///< A2 Stereo exist 469*53ee8cc1Swenshuai.xi E_STATE_AUDIO_BILINGUAL = 0x10, ///< A2 Dual exist 470*53ee8cc1Swenshuai.xi E_STATE_AUDIO_PILOT = 0x20, ///< A2 Pilot exist 471*53ee8cc1Swenshuai.xi E_STATE_AUDIO_DK2 = 0x40, ///< Sound standard is DK2 472*53ee8cc1Swenshuai.xi E_STATE_AUDIO_DK3 = 0x80 ///< Sound standard is DK3 473*53ee8cc1Swenshuai.xi } AUDIOSTATUS; 474*53ee8cc1Swenshuai.xi 475*53ee8cc1Swenshuai.xi ///< EQ band define 476*53ee8cc1Swenshuai.xi typedef enum 477*53ee8cc1Swenshuai.xi { 478*53ee8cc1Swenshuai.xi E_EQUALIZER_BAND_1 = 0x00, ///< EQ Band1 479*53ee8cc1Swenshuai.xi E_EQUALIZER_BAND_2 = 0x01, ///< EQ Band2 480*53ee8cc1Swenshuai.xi E_EQUALIZER_BAND_3 = 0x02, ///< EQ Band3 481*53ee8cc1Swenshuai.xi E_EQUALIZER_BAND_4 = 0x03, ///< EQ Band4 482*53ee8cc1Swenshuai.xi E_EQUALIZER_BAND_5 = 0x04, ///< EQ Band5 483*53ee8cc1Swenshuai.xi E_EQUALIZER_BAND_6 = 0x05, ///< EQ Band6 484*53ee8cc1Swenshuai.xi E_EQUALIZER_BAND_7 = 0x06 ///< EQ Band7 485*53ee8cc1Swenshuai.xi } EQUALIZER_BAND; 486*53ee8cc1Swenshuai.xi 487*53ee8cc1Swenshuai.xi ///< Audio command type 488*53ee8cc1Swenshuai.xi typedef enum 489*53ee8cc1Swenshuai.xi { 490*53ee8cc1Swenshuai.xi E_AUDIO_COM_PLAY, 491*53ee8cc1Swenshuai.xi E_AUDIO_COM_STOP, 492*53ee8cc1Swenshuai.xi E_AUDIO_COM_RESYNC, 493*53ee8cc1Swenshuai.xi E_AUDIO_COM_FREE_RUN, 494*53ee8cc1Swenshuai.xi E_AUDIO_COM_LOCK_AVSYNC, 495*53ee8cc1Swenshuai.xi E_AUDIO_COM_FILE_PLAY, // start playing file based audio in MHEG5 496*53ee8cc1Swenshuai.xi E_AUDIO_COM_FILE_PAUSE, // pause playing file based audio in MHEG5 497*53ee8cc1Swenshuai.xi E_AUDIO_DVB2_COM_PLAY, 498*53ee8cc1Swenshuai.xi E_AUDIO_DVB2_COM_STOP, 499*53ee8cc1Swenshuai.xi E_AUDIO_DVB2_COM_RESYNC, 500*53ee8cc1Swenshuai.xi E_AUDIO_DVB2_COM_FREE_RUN, 501*53ee8cc1Swenshuai.xi E_AUDIO_DVB2_COM_LOCK_AVSYNC, 502*53ee8cc1Swenshuai.xi E_AUDIO_DVB2_COM_FILE_PLAY, // start playing file based audio in MHEG5 503*53ee8cc1Swenshuai.xi E_AUDIO_DVB2_COM_FILE_PAUSE // pause playing file based audio in MHEG5 504*53ee8cc1Swenshuai.xi } DTV_AUDIO_COMMAND; 505*53ee8cc1Swenshuai.xi 506*53ee8cc1Swenshuai.xi enum 507*53ee8cc1Swenshuai.xi { 508*53ee8cc1Swenshuai.xi MSAPI_AUD_MODE_STEREO, ///< 0:STEREO 509*53ee8cc1Swenshuai.xi MSAPI_AUD_MODE_LL, ///< 1: LL 510*53ee8cc1Swenshuai.xi MSAPI_AUD_MODE_RR, ///< 2: RR 511*53ee8cc1Swenshuai.xi MSAPI_AUD_MODE_MUTE ///< 3:MUTE 512*53ee8cc1Swenshuai.xi }; 513*53ee8cc1Swenshuai.xi 514*53ee8cc1Swenshuai.xi /// TSXT mode 515*53ee8cc1Swenshuai.xi enum 516*53ee8cc1Swenshuai.xi { 517*53ee8cc1Swenshuai.xi MSAPI_TSXT_OFF = 0, 518*53ee8cc1Swenshuai.xi MSAPI_TSXT_STEREO, 519*53ee8cc1Swenshuai.xi MSAPI_TSXT_3D_MONO, 520*53ee8cc1Swenshuai.xi MSAPI_TSXT_MAX, 521*53ee8cc1Swenshuai.xi MSAPI_TSXT_INVALID = -1 522*53ee8cc1Swenshuai.xi }; 523*53ee8cc1Swenshuai.xi 524*53ee8cc1Swenshuai.xi typedef enum 525*53ee8cc1Swenshuai.xi { 526*53ee8cc1Swenshuai.xi E_TSXT_MOD_STEREO, ///< 0:STEREO 527*53ee8cc1Swenshuai.xi E_TSXT_MOD_3D_MONO, ///< 0:MONO 528*53ee8cc1Swenshuai.xi E_TSXT_MOD_MAX ///< 0:PASSIVE MATRIX 529*53ee8cc1Swenshuai.xi } TSXT_MODETYPE; 530*53ee8cc1Swenshuai.xi 531*53ee8cc1Swenshuai.xi ///< TSXT parameter 532*53ee8cc1Swenshuai.xi typedef enum 533*53ee8cc1Swenshuai.xi { 534*53ee8cc1Swenshuai.xi E_TSXT_PARA_TS_GAIN, 535*53ee8cc1Swenshuai.xi E_TSXT_PARA_DC_GAIN, 536*53ee8cc1Swenshuai.xi E_TSXT_PARA_TB_GAIN, 537*53ee8cc1Swenshuai.xi E_TSXT_PARA_SPK, 538*53ee8cc1Swenshuai.xi E_TSXT_PARA_INPUT_MOD, 539*53ee8cc1Swenshuai.xi E_TSXT_PARA_OUTPUT_GAIN 540*53ee8cc1Swenshuai.xi } TSXT_PARATYPE; 541*53ee8cc1Swenshuai.xi 542*53ee8cc1Swenshuai.xi ///< Audio DSP system type 543*53ee8cc1Swenshuai.xi typedef enum 544*53ee8cc1Swenshuai.xi { 545*53ee8cc1Swenshuai.xi E_AUDIO_DSP_MPEG, ///< AUDIO DSP = MPEG 546*53ee8cc1Swenshuai.xi E_AUDIO_DSP_AC3, ///< AUDIO DSP = AC3 547*53ee8cc1Swenshuai.xi E_AUDIO_DSP_AC3_AD, ///< AUDIO DSP = AC3 AD 548*53ee8cc1Swenshuai.xi E_AUDIO_DSP_SIF, ///< AUDIO DSP = SIF 549*53ee8cc1Swenshuai.xi E_AUDIO_DSP_AACP, ///< AUDIO DSP = HE-AAC 550*53ee8cc1Swenshuai.xi E_AUDIO_DSP_MPEG_AD, ///< AUDIO DSP = MPEG AD 551*53ee8cc1Swenshuai.xi E_AUDIO_DSP_AC3P, ///< AUDIO DSP = AC3+ 552*53ee8cc1Swenshuai.xi E_AUDIO_DSP_AC3P_AD, ///< AUDIO DSP = AC3P AD 553*53ee8cc1Swenshuai.xi E_AUDIO_DSP_AACP_AD, ///< AUDIO DSP = HE-AAC AD 554*53ee8cc1Swenshuai.xi E_AUDIO_DSP_DTS, ///< AUDIO DSP = DTS 555*53ee8cc1Swenshuai.xi E_AUDIO_DSP_MS10_DDT, ///< AUDIO DSP = MS10 DDT 556*53ee8cc1Swenshuai.xi E_AUDIO_DSP_MS10_DDC, ///< AUDIO DSP = MS10 DDC 557*53ee8cc1Swenshuai.xi E_AUDIO_DSP_FLAC, ///< AUDIO DSP = FLAC 558*53ee8cc1Swenshuai.xi E_AUDIO_DSP_FM_RADIO, ///< AUDIO DSP = FM RADIO 559*53ee8cc1Swenshuai.xi E_AUDIO_DSP_KTV, 560*53ee8cc1Swenshuai.xi E_AUDIO_DSP_RESERVE3, 561*53ee8cc1Swenshuai.xi E_AUDIO_DSP_RESERVE2, 562*53ee8cc1Swenshuai.xi E_AUDIO_DSP_RESERVE1, 563*53ee8cc1Swenshuai.xi E_AUDIO_DSP_MAX, 564*53ee8cc1Swenshuai.xi E_AUDIO_DSP_INVALID=0xFF ///< AUDIO DSP = Invalid 565*53ee8cc1Swenshuai.xi } AUDIO_DSP_SYSTEM; 566*53ee8cc1Swenshuai.xi 567*53ee8cc1Swenshuai.xi ///<Audio source switch group 568*53ee8cc1Swenshuai.xi typedef enum 569*53ee8cc1Swenshuai.xi { 570*53ee8cc1Swenshuai.xi E_AUDIO_GROUP_MAIN, ///< Main speaker, HP, Line-out , S/PDIF PCM mode 571*53ee8cc1Swenshuai.xi E_AUDIO_GROUP_SCART, ///< SCART 572*53ee8cc1Swenshuai.xi E_AUDIO_GROUP_SPDIF, ///< SPDIF non-pcm 573*53ee8cc1Swenshuai.xi E_AUDIO_GROUP_SUB, ///< SUB source for PIP application 574*53ee8cc1Swenshuai.xi E_AUDIO_GROUP_INVALID 575*53ee8cc1Swenshuai.xi } AUDIO_SWITCH_GROUP; 576*53ee8cc1Swenshuai.xi 577*53ee8cc1Swenshuai.xi #define TBL_INDEX MS_U8 578*53ee8cc1Swenshuai.xi #define TBL_LENGTH MS_U8 579*53ee8cc1Swenshuai.xi 580*53ee8cc1Swenshuai.xi #define FM_RADIO_TBL_LENGTH 6 ///< FM Radio Threshold table length 581*53ee8cc1Swenshuai.xi #define BTSC_TBL_LENGTH 10 ///< BTSC Threshold table length 582*53ee8cc1Swenshuai.xi #define A2_M_TBL_LENGTH 10 ///< A2_M Threshold table length 583*53ee8cc1Swenshuai.xi #define A2_BG_TBL_LENGTH 10 ///< A2_BG Threshold table length 584*53ee8cc1Swenshuai.xi #define A2_DK_TBL_LENGTH 10 ///< A2_DK Threshold table length 585*53ee8cc1Swenshuai.xi #define FM_I_TBL_LENGTH 4 ///< FM_I Threshold table length 586*53ee8cc1Swenshuai.xi #define AM_TBL_LENGTH 2 ///< AM Threshold table length 587*53ee8cc1Swenshuai.xi #define NICAM_BG_TBL_LENGTH 2 ///< NICAM_BG Threshold table length 588*53ee8cc1Swenshuai.xi #define NICAM_I_TBL_LENGTH 2 ///< NICAM_I Threshold table length 589*53ee8cc1Swenshuai.xi #define HIDEV_M_TBL_LENGTH 4 ///< HIDEV_M Threshold table length 590*53ee8cc1Swenshuai.xi #define HIDEV_BG_TBL_LENGTH 4 ///< HIDEV_BG Threshold table length 591*53ee8cc1Swenshuai.xi #define HIDEV_DK_TBL_LENGTH 4 ///< HIDEV_DK Threshold table length 592*53ee8cc1Swenshuai.xi #define HIDEV_I_TBL_LENGTH 4 ///< HIDEV_I Threshold table length 593*53ee8cc1Swenshuai.xi 594*53ee8cc1Swenshuai.xi #define FM_RADIO_TBL_INDEX 0 595*53ee8cc1Swenshuai.xi #define BTSC_TBL_INDEX 0 596*53ee8cc1Swenshuai.xi #define A2_M_TBL_INDEX 0 597*53ee8cc1Swenshuai.xi #define A2_BG_TBL_INDEX A2_M_TBL_INDEX + A2_M_TBL_LENGTH 598*53ee8cc1Swenshuai.xi #define A2_DK_TBL_INDEX A2_BG_TBL_INDEX + A2_BG_TBL_LENGTH 599*53ee8cc1Swenshuai.xi #define FM_I_TBL_INDEX A2_DK_TBL_INDEX + A2_DK_TBL_LENGTH 600*53ee8cc1Swenshuai.xi #define AM_TBL_INDEX FM_I_TBL_INDEX + FM_I_TBL_LENGTH 601*53ee8cc1Swenshuai.xi #define NICAM_BG_TBL_INDEX AM_TBL_INDEX + AM_TBL_LENGTH 602*53ee8cc1Swenshuai.xi #define NICAM_I_TBL_INDEX NICAM_BG_TBL_INDEX + NICAM_BG_TBL_LENGTH 603*53ee8cc1Swenshuai.xi #define HIDEV_M_TBL_INDEX NICAM_I_TBL_INDEX + NICAM_I_TBL_LENGTH 604*53ee8cc1Swenshuai.xi #define HIDEV_BG_TBL_INDEX HIDEV_M_TBL_INDEX + HIDEV_M_TBL_LENGTH 605*53ee8cc1Swenshuai.xi #define HIDEV_DK_TBL_INDEX HIDEV_BG_TBL_INDEX + HIDEV_BG_TBL_LENGTH 606*53ee8cc1Swenshuai.xi #define HIDEV_I_TBL_INDEX HIDEV_DK_TBL_INDEX + HIDEV_DK_TBL_LENGTH 607*53ee8cc1Swenshuai.xi 608*53ee8cc1Swenshuai.xi //------------------------------------------------------------------------------------------------- 609*53ee8cc1Swenshuai.xi // Function and Variable 610*53ee8cc1Swenshuai.xi //------------------------------------------------------------------------------------------------- 611*53ee8cc1Swenshuai.xi 612*53ee8cc1Swenshuai.xi //============================================================ 613*53ee8cc1Swenshuai.xi // AUDIO_SYSTEM RELATIONAL API FUNCTION 614*53ee8cc1Swenshuai.xi //============================================================ 615*53ee8cc1Swenshuai.xi 616*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 617*53ee8cc1Swenshuai.xi /// @ingroup Audio_System 618*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_SetPowerOn() 619*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: This routine is used to execute DSP power on/down setting. 620*53ee8cc1Swenshuai.xi /// @param bFlag \b : TRUE --power on; 621*53ee8cc1Swenshuai.xi /// FALSE--power off 622*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 623*53ee8cc1Swenshuai.xi void MApi_AUDIO_SetPowerOn(MS_BOOL bFlag); 624*53ee8cc1Swenshuai.xi 625*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 626*53ee8cc1Swenshuai.xi /// @ingroup Audio_System 627*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUD_Initialize() 628*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: Audio initialize function incluing DSP power on and load code. 629*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 630*53ee8cc1Swenshuai.xi void MApi_AUDIO_Initialize(void); 631*53ee8cc1Swenshuai.xi 632*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 633*53ee8cc1Swenshuai.xi /// @ingroup Audio_System 634*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_SetSystemInfo() 635*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: Function for Driver layer to get the system compile option 636*53ee8cc1Swenshuai.xi /// (TV system , Audio system ....) 637*53ee8cc1Swenshuai.xi /// @param pau_info \b : Audio output path information structure pointer 638*53ee8cc1Swenshuai.xi /// Please refer AUDIO_INIT_INFO in header file 639*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 640*53ee8cc1Swenshuai.xi void MApi_AUDIO_SetSystemInfo(AUDIO_INIT_INFO *pau_info); 641*53ee8cc1Swenshuai.xi 642*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 643*53ee8cc1Swenshuai.xi /// @ingroup Audio_System 644*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_Audio_Monitor() 645*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: This function is used to monitor DSP while-loop and ISR running counter. 646*53ee8cc1Swenshuai.xi /// If these counters stop longer than a certain period of time in any abnormal condition, DSP reboot will be launched to alive DSP process again. 647*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 648*53ee8cc1Swenshuai.xi void MApi_Audio_Monitor(void); 649*53ee8cc1Swenshuai.xi 650*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 651*53ee8cc1Swenshuai.xi /// @ingroup Audio_System 652*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_SetOutConnectivity() 653*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: Set the TV output connectivity information from APP layer 654*53ee8cc1Swenshuai.xi /// to audio driver . Then audio driver will set the audio output 655*53ee8cc1Swenshuai.xi /// port with these information automatically. 656*53ee8cc1Swenshuai.xi /////////////////////////////////////////////////////////////////////////////// 657*53ee8cc1Swenshuai.xi void MApi_AUDIO_SetOutConnectivity(void); 658*53ee8cc1Swenshuai.xi 659*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 660*53ee8cc1Swenshuai.xi /// @ingroup Audio_System 661*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_SetPathInfo() 662*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: Get audio output path information from APP 663*53ee8cc1Swenshuai.xi /// @param path_info \b : path information structure pointer 664*53ee8cc1Swenshuai.xi /// for Speaker , Head phone , Monitor out , Scart out and SPDIF out 665*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 666*53ee8cc1Swenshuai.xi void MApi_AUDIO_SetPathInfo(AUDIO_PATH_INFO *path_info); 667*53ee8cc1Swenshuai.xi 668*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 669*53ee8cc1Swenshuai.xi /// @ingroup Audio_System 670*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_SetOutputInfo() 671*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: Get audio output information from APP 672*53ee8cc1Swenshuai.xi /// @param pout_info \b : Audio output path information structure pointer. 673*53ee8cc1Swenshuai.xi /// Please refer AUDIO_OUT_INFO in header file 674*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 675*53ee8cc1Swenshuai.xi void MApi_AUDIO_SetOutputInfo(AUDIO_OUT_INFO *pout_info); 676*53ee8cc1Swenshuai.xi 677*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 678*53ee8cc1Swenshuai.xi /// @ingroup Audio_System 679*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_SetSourceInfo() 680*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: For driver layer to get audio source information from APP 681*53ee8cc1Swenshuai.xi /// @param eSourceType \b : information structure pointer ==>AUDIO_SOURCE_INFO_TYPE 682*53ee8cc1Swenshuai.xi /// - E_AUDIO_INFO_DTV_IN, 683*53ee8cc1Swenshuai.xi /// - E_AUDIO_INFO_ATV_IN, 684*53ee8cc1Swenshuai.xi /// - E_AUDIO_INFO_HDMI_IN, 685*53ee8cc1Swenshuai.xi /// - E_AUDIO_INFO_ADC_IN, 686*53ee8cc1Swenshuai.xi /// - E_AUDIO_INFO_MM_IN, 687*53ee8cc1Swenshuai.xi /// - E_AUDIO_INFO_SPDIF_IN, 688*53ee8cc1Swenshuai.xi /// - E_AUDIO_INFO_KTV_IN, 689*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 690*53ee8cc1Swenshuai.xi void MApi_AUDIO_SetSourceInfo(AUDIO_SOURCE_INFO_TYPE eSourceType); 691*53ee8cc1Swenshuai.xi 692*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 693*53ee8cc1Swenshuai.xi /// @ingroup Audio_System 694*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_InputSwitch() 695*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: Set audio Input connectivity (for S7 serious only) 696*53ee8cc1Swenshuai.xi /// @param enSource \b : Please refer AUDIO_INPUT_TYPE enum in header file 697*53ee8cc1Swenshuai.xi ///@param enGroup \b : Please refer AUDIO_SWITCH_GROUP enum in header file 698*53ee8cc1Swenshuai.xi /////////////////////////////////////////////////////////////////////////////// 699*53ee8cc1Swenshuai.xi void MApi_AUDIO_InputSwitch(AUDIO_INPUT_TYPE enSource, AUDIO_SWITCH_GROUP enGroup); 700*53ee8cc1Swenshuai.xi 701*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 702*53ee8cc1Swenshuai.xi /// @ingroup Audio_ToBeRemove 703*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_SetDataCaptureSource() 704*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: Select source for data capture 705*53ee8cc1Swenshuai.xi /// @param <IN> \b AUDIO_DEVICE_TYPE : select 1st or 2nd data capture 706*53ee8cc1Swenshuai.xi /// @param <IN> \b AUDIO_CAPTURE_SOURCE_TYPE : Data Source 707*53ee8cc1Swenshuai.xi /// @param <OUT> \b MS_BOOL : return TRUE if success, else return FALSE 708*53ee8cc1Swenshuai.xi /// @param <RET> \b NONE : 709*53ee8cc1Swenshuai.xi /// @param <GLOBAL> \b NONE : 710*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 711*53ee8cc1Swenshuai.xi MS_BOOL MApi_AUDIO_SetDataCaptureSource(AUDIO_DEVICE_TYPE eID, AUDIO_CAPTURE_SOURCE_TYPE eSource); 712*53ee8cc1Swenshuai.xi 713*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 714*53ee8cc1Swenshuai.xi /// @ingroup Audio_System 715*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_SetOutputSourceInfo() 716*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: Set audio output source information 717*53ee8cc1Swenshuai.xi /// @param path_info \b : output port source information structure pointer 718*53ee8cc1Swenshuai.xi /// for Speaker , Head phone , Monitor out , Scart out and SPDIF out 719*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 720*53ee8cc1Swenshuai.xi void MApi_AUDIO_SetOutputSourceInfo(OUTPUT_SOURCE_INFO *pSourceInfo); 721*53ee8cc1Swenshuai.xi 722*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 723*53ee8cc1Swenshuai.xi /// @ingroup Audio_System 724*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_GetOutputSourceInfo() 725*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: Get audio output path information from APP 726*53ee8cc1Swenshuai.xi /// @param pSourceInfo \b : output port source information structure pointer 727*53ee8cc1Swenshuai.xi /// for Speaker , Head phone , Monitor out , Scart out and SPDIF out 728*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 729*53ee8cc1Swenshuai.xi void MApi_AUDIO_GetOutputSourceInfo(OUTPUT_SOURCE_INFO *pSourceInfo); 730*53ee8cc1Swenshuai.xi 731*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 732*53ee8cc1Swenshuai.xi /// @ingroup Audio_ToBeRemove 733*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_ReadMailBox() 734*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: This routine is used to read the DSP mail box value 735*53ee8cc1Swenshuai.xi /// @param bDspType \b : Select audio DEC/SE DSP 736*53ee8cc1Swenshuai.xi /// @param u8ParamNum \b : Mail box address 737*53ee8cc1Swenshuai.xi /// @return MS_U16 \b : Mail Box value 738*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 739*53ee8cc1Swenshuai.xi MS_U16 MApi_AUDIO_ReadMailBox(MS_BOOL bDspType, MS_U8 u8ParamNum); 740*53ee8cc1Swenshuai.xi 741*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 742*53ee8cc1Swenshuai.xi /// @ingroup Audio_ToBeRemove 743*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MDrv_AUDIO_WriteDecMailBox() 744*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: This routine is used to write DSP mail box 745*53ee8cc1Swenshuai.xi /// @param bDspType \b : Select audio DEC/SE DSP 746*53ee8cc1Swenshuai.xi /// @param u8ParamNum \b : Mail box address 747*53ee8cc1Swenshuai.xi /// @param u16Data \b : value 748*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 749*53ee8cc1Swenshuai.xi void MApi_AUDIO_WriteMailBox(MS_BOOL bDspType, MS_U8 u8ParamNum, MS_U16 u16Data); 750*53ee8cc1Swenshuai.xi 751*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 752*53ee8cc1Swenshuai.xi /// @ingroup Audio_ToBeRemove 753*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_FwTriggerDSP() 754*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: This routine send a PIO interrupt to DSP with a command . 755*53ee8cc1Swenshuai.xi /// @param u16Cmd \b : 0xF0-- for MHEG5 file protocol 756*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 757*53ee8cc1Swenshuai.xi // void MApi_AUDIO_FwTriggerDSP(MS_U16 u16Cmd); 758*53ee8cc1Swenshuai.xi 759*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 760*53ee8cc1Swenshuai.xi /// @ingroup Audio_System 761*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_SetFwStatus() 762*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: FW set DSP load/reload code from DDR or Flash 763*53ee8cc1Swenshuai.xi /// @param bBootOnDDR \b : 764*53ee8cc1Swenshuai.xi /// - TRUE==> Boot from DDR; 765*53ee8cc1Swenshuai.xi /// - FALSE==> Boot from Flash 766*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 767*53ee8cc1Swenshuai.xi // void MApi_AUDIO_SetFwStatus(MS_BOOL en); 768*53ee8cc1Swenshuai.xi 769*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 770*53ee8cc1Swenshuai.xi /// @ingroup Audio_System 771*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_ExitAudioSystem() 772*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: This routine is used to exit audio system 773*53ee8cc1Swenshuai.xi /// by performing DSP power down setting. 774*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 775*53ee8cc1Swenshuai.xi void MApi_AUDIO_ExitAudioSystem(void); 776*53ee8cc1Swenshuai.xi 777*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 778*53ee8cc1Swenshuai.xi /// @ingroup Audio_System 779*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_RebootDsp(void) 780*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: This routine reboot DSP. 781*53ee8cc1Swenshuai.xi /// @param bDspType \b : 0- DEC DSP; 1- SNDEff DSP 782*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 783*53ee8cc1Swenshuai.xi // void MApi_AUDIO_RebootDsp(MS_BOOL bDspType); 784*53ee8cc1Swenshuai.xi 785*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 786*53ee8cc1Swenshuai.xi /// @ingroup Audio_System 787*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_SendIntrupt() 788*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: This routine send a PIO8 interrupt to DSP. 789*53ee8cc1Swenshuai.xi /// @param bDspType \b : 0- DEC DSP; 1- SNDEff DSP 790*53ee8cc1Swenshuai.xi /// @param u8Cmd \b : 0xE0, for MHEG5 file protocol 791*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 792*53ee8cc1Swenshuai.xi // void MApi_AUDIO_SendIntrupt(MS_BOOL bDspType,MS_U8 u8Cmd); 793*53ee8cc1Swenshuai.xi 794*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 795*53ee8cc1Swenshuai.xi /// @ingroup Audio_System 796*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_I2S_SetMode() 797*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: This routine is used to Set the I2S output mode. 798*53ee8cc1Swenshuai.xi /// @param u8Mode \b : I2S mode select 799*53ee8cc1Swenshuai.xi /// - AUDIO_I2S_MCLK ==>Set I2S MCLK 800*53ee8cc1Swenshuai.xi /// - AUDIO_I2S_WORD_WIDTH, ==>Set I2S Word-width 801*53ee8cc1Swenshuai.xi /// - AUDIO_I2S_SOURCE_CH, ==>Set I2S channel Source 802*53ee8cc1Swenshuai.xi /// - AUDIO_I2S_FORMAT ==>Set I2S format 803*53ee8cc1Swenshuai.xi /// @param u8Val \b : I2S mode value 804*53ee8cc1Swenshuai.xi /// - I2S_MCLK_64FS=0x04, ==> MCLK=64 Fs ; 805*53ee8cc1Swenshuai.xi /// - I2S_MCLK_128FS=0x05, ==> MCLK=128 Fs ; 806*53ee8cc1Swenshuai.xi /// - I2S_MCLK_256FS=0x06, ==> MCLK=256 Fs ; default setting 807*53ee8cc1Swenshuai.xi /// - I2S_MCLK_384FS=0x07, ==> MCLK=384 Fs ; 808*53ee8cc1Swenshuai.xi /// - I2S_WORD_WIDTH_16BIT=0x4, ==>Word width=16bit; 809*53ee8cc1Swenshuai.xi /// - I2S_WORD_WIDTH_24BIT=0x5, ==>Word width=24bit; 810*53ee8cc1Swenshuai.xi /// - I2S_WORD_WIDTH_32BIT=0x6, ==>Word width=32bit; default setting 811*53ee8cc1Swenshuai.xi /// - I2S_FORMAT_STANDARD=0, ==>I2S in Standard format 812*53ee8cc1Swenshuai.xi /// - I2S_FORMAT_LEFT_JUSTIFIED=1 ==> I2S in Left-justify format 813*53ee8cc1Swenshuai.xi /////////////////////////////////////////////////////////////////////////////// 814*53ee8cc1Swenshuai.xi void MApi_AUDIO_I2S_SetMode(AUDIO_I2S_MODE_TYPE u8Mode, AUDIO_I2S_MODE_VALUE u8Val); 815*53ee8cc1Swenshuai.xi 816*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 817*53ee8cc1Swenshuai.xi /// @ingroup Audio_System 818*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_WritePreInitTable() 819*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: This routine is to set power on DAC sequence before setting init table. 820*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 821*53ee8cc1Swenshuai.xi void MApi_AUDIO_WritePreInitTable(void); //Refine power on sequence for earphone & DAC pop noise issue 822*53ee8cc1Swenshuai.xi 823*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 824*53ee8cc1Swenshuai.xi /// @ingroup Audio_ToBeRemove 825*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_EnaEarphone_LowPower_Stage() 826*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: This routine is used to enable earphone low power stage. 827*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 828*53ee8cc1Swenshuai.xi // void MApi_AUDIO_EnaEarphone_LowPower_Stage(void); //Refine power on sequence for earphone & DAC pop noise issue 829*53ee8cc1Swenshuai.xi 830*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 831*53ee8cc1Swenshuai.xi /// @ingroup Audio_ToBeRemove 832*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_EnaEarphone_HighDriving_Stage() 833*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: This routine is used to enable earphone high driving stage. 834*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 835*53ee8cc1Swenshuai.xi // void MApi_AUDIO_EnaEarphone_HighDriving_Stage(void);//Refine power on sequence for earphone & DAC pop noise issue 836*53ee8cc1Swenshuai.xi 837*53ee8cc1Swenshuai.xi //============================================================= 838*53ee8cc1Swenshuai.xi // AUDIO_SOUND RELATIONAL API FUNCTION 839*53ee8cc1Swenshuai.xi //============================================================= 840*53ee8cc1Swenshuai.xi 841*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 842*53ee8cc1Swenshuai.xi /// @ingroup Audio_BASIC_SOUNDEFFECT 843*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_SND_ProcessEnable() 844*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: This routine is used for adjust Common Sound parameters 845*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 846*53ee8cc1Swenshuai.xi MS_BOOL MApi_SND_ProcessEnable(Sound_ENABLE_Type Type, MS_BOOL enable); 847*53ee8cc1Swenshuai.xi 848*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 849*53ee8cc1Swenshuai.xi /// @ingroup Audio_ToBeRemove 850*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_SND_SetParam1() 851*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: This routine is used for adjust Common Sound parameters 852*53ee8cc1Swenshuai.xi /// @return MS_BOOL \b : True / False 853*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 854*53ee8cc1Swenshuai.xi MS_BOOL MApi_SND_SetParam1( Sound_SET_PARAM_Type Type, MS_U16 param1, MS_U16 param2); 855*53ee8cc1Swenshuai.xi 856*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 857*53ee8cc1Swenshuai.xi /// @ingroup Audio_ToBeRemove 858*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: HAL_AUDIO_SOUND_SetParam() 859*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: This routine is used for adjust Common Sound parameters 860*53ee8cc1Swenshuai.xi /// @return MS_BOOL \b : True / False 861*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 862*53ee8cc1Swenshuai.xi MS_U16 MApi_SND_GetParam1( Sound_GET_PARAM_Type Type, MS_U16 param1); 863*53ee8cc1Swenshuai.xi 864*53ee8cc1Swenshuai.xi //****************************************************************************** 865*53ee8cc1Swenshuai.xi /// @ingroup Audio_BASIC_SOUNDEFFECT 866*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_SOUND_SetParam() 867*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: This routine is used for adjust Common Sound parameters 868*53ee8cc1Swenshuai.xi /// @return MS_BOOL \b : True / False 869*53ee8cc1Swenshuai.xi //****************************************************************************** 870*53ee8cc1Swenshuai.xi // MS_BOOL MApi_AUDIO_SOUND_SetParam( Sound_SET_Type Type, MS_U32 *p_param ); 871*53ee8cc1Swenshuai.xi 872*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 873*53ee8cc1Swenshuai.xi /// @ingroup Audio_BASIC_SOUNDEFFECT 874*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MDrv_SOUND_AbsoluteVolume() 875*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: This routine is used to set the absolute u8Volume of audio u8Path. 876*53ee8cc1Swenshuai.xi /// @param u8Path \b : for audio u8Path0 ~ u8Path6 877*53ee8cc1Swenshuai.xi /// @param u8Vol1 \b : MSB 7-bit register value of 10-bit u8Volume 878*53ee8cc1Swenshuai.xi /// range from 0x00 to 0x7E , gain: +12db to -114db (-1 db per step) 879*53ee8cc1Swenshuai.xi /// @param u8Vol2 \b : LSB 3-bit register value of 10-bit u8Volume 880*53ee8cc1Swenshuai.xi /// range from 0x00 to 0x07 , gain: -0db to -0.875db (-0.125 db per step) 881*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 882*53ee8cc1Swenshuai.xi void MApi_AUDIO_SetAbsoluteVolume( MS_U8 u8Path, MS_U8 u8Vol1, MS_U8 u8Vol2 ); 883*53ee8cc1Swenshuai.xi 884*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 885*53ee8cc1Swenshuai.xi /// @ingroup Audio_BASIC_SOUNDEFFECT 886*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_SetPreScale() 887*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: This routine is used to set the prescale of audio u8Path. 888*53ee8cc1Swenshuai.xi /// @param u8Path \b : for audio u8Path0 ~ u8Path5 889*53ee8cc1Swenshuai.xi /// @param u8PreScale \b : range from 0x01 to 0xFF , gain: -13.75db to +18db (0.125 db per step) 890*53ee8cc1Swenshuai.xi /// - 0x00: disable pre-scale 891*53ee8cc1Swenshuai.xi /// - 0x6F: gain = 0db 892*53ee8cc1Swenshuai.xi /// - 0xFF: gain = +18db 893*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 894*53ee8cc1Swenshuai.xi void MApi_AUDIO_SetPreScale ( MS_U8 u8Path, MS_U8 u8PreScale ); 895*53ee8cc1Swenshuai.xi 896*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 897*53ee8cc1Swenshuai.xi /// @ingroup Audio_BASIC_SOUNDEFFECT 898*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_SetMute() 899*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: This routine is used to set audio path S/W mute. 900*53ee8cc1Swenshuai.xi /// @param u8Path \b : for audio path0 ~ path6 901*53ee8cc1Swenshuai.xi /// @param EnMute \b : TRUE --Mute; 902*53ee8cc1Swenshuai.xi /// FALSE--Unmute 903*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 904*53ee8cc1Swenshuai.xi void MApi_AUDIO_SetMute( MS_U8 u8Path, MS_BOOL EnMute); 905*53ee8cc1Swenshuai.xi 906*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 907*53ee8cc1Swenshuai.xi /// @ingroup Audio_BASIC_SOUNDEFFECT 908*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_SourceConnect() 909*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: This routine is used to set audio mute by processor 910*53ee8cc1Swenshuai.xi /// @param u8Path \b : eProcessor: Set Main/Sub processor, 911*53ee8cc1Swenshuai.xi /// @param EnMute \b : TRUE --Mute; 912*53ee8cc1Swenshuai.xi /// FALSE--Unmute 913*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 914*53ee8cc1Swenshuai.xi // void MApi_AUDIO_SourceConnect(AUDIO_OUTPORT_SOURCE_TYPE eConnectSourceType, MS_BOOL bIsConnect ); 915*53ee8cc1Swenshuai.xi 916*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 917*53ee8cc1Swenshuai.xi /// @ingroup Audio_BASIC_SOUNDEFFECT 918*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_SetBalance() 919*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: This routine is used to set balance value 920*53ee8cc1Swenshuai.xi /// @param u8Balance \b : balance (0~100) 921*53ee8cc1Swenshuai.xi /// - 0 : R channel is muted ... 922*53ee8cc1Swenshuai.xi /// - 50 : L & R channel output the same level... 923*53ee8cc1Swenshuai.xi /// - 100 : L channel is muted . 924*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 925*53ee8cc1Swenshuai.xi void MApi_AUDIO_SetBalance ( MS_U8 u8Balance ); 926*53ee8cc1Swenshuai.xi 927*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 928*53ee8cc1Swenshuai.xi /// @ingroup Audio_BASIC_SOUNDEFFECT 929*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_EnableEQ() 930*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: This routine is used to enable EQ function. 931*53ee8cc1Swenshuai.xi /// @param EnEQ \b : TRUE --Enable EQ; 932*53ee8cc1Swenshuai.xi /// FALSE--Disable EQ 933*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 934*53ee8cc1Swenshuai.xi void MApi_AUDIO_EnableEQ ( MS_BOOL EnEQ ); 935*53ee8cc1Swenshuai.xi 936*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 937*53ee8cc1Swenshuai.xi /// @ingroup Audio_BASIC_SOUNDEFFECT 938*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_EnableTone() 939*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: This routine is used to enable Bass/Treble function. 940*53ee8cc1Swenshuai.xi /// @param EnTone \b : TRUE --Enable Bass/Treble; 941*53ee8cc1Swenshuai.xi /// FALSE--Disable Bass/Treble 942*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 943*53ee8cc1Swenshuai.xi void MApi_AUDIO_EnableTone ( MS_BOOL EnTone ); 944*53ee8cc1Swenshuai.xi 945*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 946*53ee8cc1Swenshuai.xi /// @ingroup Audio_BASIC_SOUNDEFFECT 947*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_EnableAutoVolume() 948*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: This routine is used to enable auto volume(AVC) function. 949*53ee8cc1Swenshuai.xi /// @param EnAVC \b : TRUE --Enable AVC; 950*53ee8cc1Swenshuai.xi /// FALSE--Disable AVC 951*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 952*53ee8cc1Swenshuai.xi void MApi_AUDIO_EnableAutoVolume ( MS_BOOL EnAVL ); 953*53ee8cc1Swenshuai.xi 954*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 955*53ee8cc1Swenshuai.xi /// @ingroup Audio_BASIC_SOUNDEFFECT 956*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_EnableSurround() 957*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: This routine is used to enable surround function. 958*53ee8cc1Swenshuai.xi /// @param EnSurround \b : TRUE --Enable Surround; 959*53ee8cc1Swenshuai.xi /// FALSE--Disable Surround 960*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 961*53ee8cc1Swenshuai.xi void MApi_AUDIO_EnableSurround ( MS_BOOL EnSurround ); 962*53ee8cc1Swenshuai.xi 963*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 964*53ee8cc1Swenshuai.xi /// @ingroup Audio_BASIC_SOUNDEFFECT 965*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_EnableBalance() 966*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: This routine is used to enable Balance function. 967*53ee8cc1Swenshuai.xi /// @param EnBalance \b : Balance Enable bits 968*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 969*53ee8cc1Swenshuai.xi void MApi_AUDIO_EnableBalance( MS_U8 EnBalance ); 970*53ee8cc1Swenshuai.xi 971*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 972*53ee8cc1Swenshuai.xi /// @ingroup Audio_BASIC_SOUNDEFFECT 973*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_SetDynamicBass() 974*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: This routine is used to set DynamicBass level. 975*53ee8cc1Swenshuai.xi /// @param u8Bass \b : 976*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 977*53ee8cc1Swenshuai.xi void MApi_AUDIO_SetDynamicBass( MS_U8 u8DynamicBass ); 978*53ee8cc1Swenshuai.xi 979*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 980*53ee8cc1Swenshuai.xi /// @ingroup Audio_BASIC_SOUNDEFFECT 981*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_SetBass() 982*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: This routine is used to set Bass level. 983*53ee8cc1Swenshuai.xi /// @param u8Bass \b :Bass Level (0~100) 984*53ee8cc1Swenshuai.xi /// - CHIP_FAMILY_U3 & S4LE==>mapping to -16 ~ +15 dB Gain 985*53ee8cc1Swenshuai.xi /// - CHIP_FAMILY_S7 ==>mapping to -12 ~ +12 dB Gain 986*53ee8cc1Swenshuai.xi /// - CHIP_FAMILY_S7J ==> mapping to -16 ~ +15 dB Gain 987*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 988*53ee8cc1Swenshuai.xi void MApi_AUDIO_SetBass( MS_U8 u8Bass ); 989*53ee8cc1Swenshuai.xi 990*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 991*53ee8cc1Swenshuai.xi /// @ingroup Audio_BASIC_SOUNDEFFECT 992*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_AbsoluteBass() 993*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: This routine is used to set abs. Bass value. 994*53ee8cc1Swenshuai.xi /// @param u8Bass \b : register value 995*53ee8cc1Swenshuai.xi /// - CHIP_FAMILY_U3 & S4LE ==>mapping to -16 ~ +15 dB Gain 996*53ee8cc1Swenshuai.xi /// - CHIP_FAMILY_S7 ==>mapping to -12 ~ +12 dB Gain 997*53ee8cc1Swenshuai.xi /// - CHIP_FAMILY_S7J ==> mapping to -16 ~ +15 dB Gain 998*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 999*53ee8cc1Swenshuai.xi void MApi_AUDIO_AbsoluteBass( MS_U8 u8Bass ); 1000*53ee8cc1Swenshuai.xi 1001*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1002*53ee8cc1Swenshuai.xi /// @ingroup Audio_BASIC_SOUNDEFFECT 1003*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_SetTreble() 1004*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: This routine is used to set Treble level. 1005*53ee8cc1Swenshuai.xi /// @param u8Treble \b :Treble Level (0~100) 1006*53ee8cc1Swenshuai.xi /// - CHIP_FAMILY_U3 & S4LE ==>mapping to -16 ~ +15 dB Gain 1007*53ee8cc1Swenshuai.xi /// - CHIP_FAMILY_S7 ==>mapping to -12 ~ +12 dB Gain 1008*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1009*53ee8cc1Swenshuai.xi void MApi_AUDIO_SetTreble( MS_U8 u8Treble ); 1010*53ee8cc1Swenshuai.xi 1011*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1012*53ee8cc1Swenshuai.xi /// @ingroup Audio_BASIC_SOUNDEFFECT 1013*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_AbsoluteTreble() 1014*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: This routine is used to set abs. Treble value. 1015*53ee8cc1Swenshuai.xi /// @param u8Treble \b : register value 1016*53ee8cc1Swenshuai.xi /// - CHIP_FAMILY_U3 & S4LE ==> mapping to -16 ~ +15 dB Gain 1017*53ee8cc1Swenshuai.xi /// - CHIP_FAMILY_S7 ==> mapping to -12 ~ +12 dB Gain 1018*53ee8cc1Swenshuai.xi /// - CHIP_FAMILY_S7J ==> mapping to -16 ~ +15 dB Gain 1019*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1020*53ee8cc1Swenshuai.xi void MApi_AUDIO_AbsoluteTreble( MS_U8 u8Treble ); 1021*53ee8cc1Swenshuai.xi 1022*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1023*53ee8cc1Swenshuai.xi /// @ingroup Audio_BASIC_SOUNDEFFECT 1024*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_SetEq() 1025*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: This routine is used to set the the 5-band EQ level . 1026*53ee8cc1Swenshuai.xi /// @param u8band \b : EQ band 0~4 1027*53ee8cc1Swenshuai.xi /// @param u8level \b : Absolute EQ register value ; 1028*53ee8cc1Swenshuai.xi /// - 0011-0000: +12.00db. (Max) 1029*53ee8cc1Swenshuai.xi /// - 0000-0001: +0.25db. 1030*53ee8cc1Swenshuai.xi /// - 0000-0000: +0.00db. 1031*53ee8cc1Swenshuai.xi /// - 1111-1111: -0.25db. 1032*53ee8cc1Swenshuai.xi /// - 1101-0000: -12.00db. (Min) 1033*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1034*53ee8cc1Swenshuai.xi void MApi_AUDIO_SetEq(MS_U8 u8band, MS_U8 u8level); 1035*53ee8cc1Swenshuai.xi 1036*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1037*53ee8cc1Swenshuai.xi /// @ingroup Audio_BASIC_SOUNDEFFECT 1038*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_SetEq_7band() 1039*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: This routine is used to set the the 7-band EQ level . 1040*53ee8cc1Swenshuai.xi /// @param u8band \b : EQ band 0~6 1041*53ee8cc1Swenshuai.xi /// @param u8level \b : Absolute EQ register value ; 1042*53ee8cc1Swenshuai.xi /// 0011-0000: +12.00db. (Max) 1043*53ee8cc1Swenshuai.xi /// 0000-0001: +0.25db. 1044*53ee8cc1Swenshuai.xi /// 0000-0000: +0.00db. 1045*53ee8cc1Swenshuai.xi /// 1111-1111: -0.25db. 1046*53ee8cc1Swenshuai.xi /// 1101-0000: -12.00db. (Min) 1047*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1048*53ee8cc1Swenshuai.xi // void MApi_AUDIO_SetEq_7band(MS_U8 u8band, MS_U8 u8level); 1049*53ee8cc1Swenshuai.xi 1050*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1051*53ee8cc1Swenshuai.xi /// @ingroup Audio_BASIC_SOUNDEFFECT 1052*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_SetAvcThreshold() 1053*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: This routine is used to set the AVC threshold level. 1054*53ee8cc1Swenshuai.xi /// @param Level \b : AVC threshold level 1055*53ee8cc1Swenshuai.xi /// - 0x00-- 0 dBFS 1056*53ee8cc1Swenshuai.xi /// - 0x01-- -0.5 dBFS 1057*53ee8cc1Swenshuai.xi /// - 0x20-- -16 dBFS 1058*53ee8cc1Swenshuai.xi /// - 0x50-- -40 dBFS 1059*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1060*53ee8cc1Swenshuai.xi void MApi_AUDIO_SetAvcThreshold(MS_U8 Level); 1061*53ee8cc1Swenshuai.xi 1062*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1063*53ee8cc1Swenshuai.xi /// @ingroup Audio_BASIC_SOUNDEFFECT 1064*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_SetAvcMode() 1065*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: This routine is used to set the AVC mode. 1066*53ee8cc1Swenshuai.xi /// @param <IN> \b u8AvcMode : AVC u8Mode 1067*53ee8cc1Swenshuai.xi /// - 0: L mode 1068*53ee8cc1Swenshuai.xi /// - 1: S mode 1069*53ee8cc1Swenshuai.xi /// - 2: M mode 1070*53ee8cc1Swenshuai.xi /// @image html L_mode.JPG "L mode" 1071*53ee8cc1Swenshuai.xi /// @image html S_mode.JPG "S mode" 1072*53ee8cc1Swenshuai.xi /// @image html M_mode.JPG "M mode" 1073*53ee8cc1Swenshuai.xi /// @param <OUT> \b NONE : 1074*53ee8cc1Swenshuai.xi /// @param <RET> \b NONE : 1075*53ee8cc1Swenshuai.xi /// @param <GLOBAL> \b NONE : 1076*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1077*53ee8cc1Swenshuai.xi void MApi_AUDIO_SetAvcMode( MS_U8 AvcMode ); 1078*53ee8cc1Swenshuai.xi 1079*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1080*53ee8cc1Swenshuai.xi /// @ingroup Audio_BASIC_SOUNDEFFECT 1081*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_SetAvcAT() 1082*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: This routine is used to set the AVC attack time . 1083*53ee8cc1Swenshuai.xi /// @param AvcAT \b : AVC attack time 1084*53ee8cc1Swenshuai.xi /// - AvcAT = 0 --> 20 ms 1085*53ee8cc1Swenshuai.xi /// - AvcAT = 1 --> 100 ms 1086*53ee8cc1Swenshuai.xi /// - AvcAT = 2 --> 200 ms 1087*53ee8cc1Swenshuai.xi /// - AvcAT = 3 --> 1 sec 1088*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1089*53ee8cc1Swenshuai.xi void MApi_AUDIO_SetAvcAT( MS_U8 AvcAT ); 1090*53ee8cc1Swenshuai.xi 1091*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1092*53ee8cc1Swenshuai.xi /// @ingroup Audio_BASIC_SOUNDEFFECT 1093*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_SetAvcRT() 1094*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: This routine is used to set the AVC release time . 1095*53ee8cc1Swenshuai.xi /// @param AvcRT \b : AVC release time 1096*53ee8cc1Swenshuai.xi /// - AvcRT = 0 --> 1 sec 1097*53ee8cc1Swenshuai.xi /// - AvcRT = 1 --> 2 sec 1098*53ee8cc1Swenshuai.xi /// - AvcRT = 2 --> 100 ms 1099*53ee8cc1Swenshuai.xi /// - AvcRT = 3 --> 200 ms 1100*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1101*53ee8cc1Swenshuai.xi void MApi_AUDIO_SetAvcRT( MS_U8 AvcRT ); 1102*53ee8cc1Swenshuai.xi 1103*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1104*53ee8cc1Swenshuai.xi /// @ingroup Audio_BASIC_SOUNDEFFECT 1105*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_SetBufferProcess() 1106*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: sets the value of audio delay time (ms).. 1107*53ee8cc1Swenshuai.xi /// @param DelayTime \b : 0x00~0xFA(0~250), each step=1 ms , 0~250 ms 1108*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1109*53ee8cc1Swenshuai.xi void MApi_AUDIO_SetBufferProcess(MS_U8 DelayTime); 1110*53ee8cc1Swenshuai.xi 1111*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1112*53ee8cc1Swenshuai.xi /// @ingroup Audio_BASIC_SOUNDEFFECT 1113*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_SetSurroundXA() 1114*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: This routine is used to set the Surround xA echo Gain. 1115*53ee8cc1Swenshuai.xi /// @param <IN> \b mode : A Gain : register SURROUND[3:2] 1116*53ee8cc1Swenshuai.xi /// - 0 : x0.1 1117*53ee8cc1Swenshuai.xi /// - 1 : x0.15 1118*53ee8cc1Swenshuai.xi /// - 2 : x0.2 1119*53ee8cc1Swenshuai.xi /// - 3 : x0.25 1120*53ee8cc1Swenshuai.xi /// @param <OUT> \b NONE : 1121*53ee8cc1Swenshuai.xi /// @param <RET> \b NONE : 1122*53ee8cc1Swenshuai.xi /// @param <GLOBAL> \b NONE 1123*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1124*53ee8cc1Swenshuai.xi void MApi_AUDIO_SetSurroundXA( MS_U8 mode ); 1125*53ee8cc1Swenshuai.xi 1126*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1127*53ee8cc1Swenshuai.xi /// @ingroup Audio_BASIC_SOUNDEFFECT 1128*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_SetSurroundXB() 1129*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: This routine is used to set the Surround xB echo Gain. 1130*53ee8cc1Swenshuai.xi /// @param <IN> \b mode : B Gain : register SURROUND[5:4] 1131*53ee8cc1Swenshuai.xi /// - 0 : x0.25 1132*53ee8cc1Swenshuai.xi /// - 1 : x0.3 1133*53ee8cc1Swenshuai.xi /// - 2 : x0.35 1134*53ee8cc1Swenshuai.xi /// - 3 : x0.45 1135*53ee8cc1Swenshuai.xi /// @param <OUT> \b NONE : 1136*53ee8cc1Swenshuai.xi /// @param <RET> \b NONE : 1137*53ee8cc1Swenshuai.xi /// @param <GLOBAL> \b NONE 1138*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1139*53ee8cc1Swenshuai.xi void MApi_AUDIO_SetSurroundXB( MS_U8 mode ); 1140*53ee8cc1Swenshuai.xi 1141*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1142*53ee8cc1Swenshuai.xi /// @ingroup Audio_BASIC_SOUNDEFFECT 1143*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_SetSurroundXK() 1144*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: This routine is used to set the Surround xK feedback Gain. 1145*53ee8cc1Swenshuai.xi /// @param <IN> \b mode : K Gain : register SURROUND[10:8] 1146*53ee8cc1Swenshuai.xi /// - 0 : x0.1 1147*53ee8cc1Swenshuai.xi /// - 1 : x0.2 1148*53ee8cc1Swenshuai.xi /// - 2 : x0.3 1149*53ee8cc1Swenshuai.xi /// - 3 : x0.4 1150*53ee8cc1Swenshuai.xi /// - 4 : x0.5 1151*53ee8cc1Swenshuai.xi /// - 5 : x0.6 1152*53ee8cc1Swenshuai.xi /// - 6 : x0.7 1153*53ee8cc1Swenshuai.xi /// - 7 : x0.8 1154*53ee8cc1Swenshuai.xi /// @param <OUT> \b NONE : 1155*53ee8cc1Swenshuai.xi /// @param <RET> \b NONE : 1156*53ee8cc1Swenshuai.xi /// @param <GLOBAL> \b NONE 1157*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1158*53ee8cc1Swenshuai.xi void MApi_AUDIO_SetSurroundXK( MS_U8 mode ); 1159*53ee8cc1Swenshuai.xi 1160*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1161*53ee8cc1Swenshuai.xi /// @ingroup Audio_BASIC_SOUNDEFFECT 1162*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_SetSurroundLPFGain() 1163*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: This routine is used to set the Surround LPF Gain. 1164*53ee8cc1Swenshuai.xi /// @image html surround.JPG "Surround block diagram" 1165*53ee8cc1Swenshuai.xi /// @param <IN> \b mode : LPF Gain : register SURROUND[7:6] 1166*53ee8cc1Swenshuai.xi /// - 0 : 0 dB 1167*53ee8cc1Swenshuai.xi /// - 1 : 2 dB 1168*53ee8cc1Swenshuai.xi /// - 2 : 4 dB 1169*53ee8cc1Swenshuai.xi /// - 3 : un-support 1170*53ee8cc1Swenshuai.xi /// @param <OUT> \b NONE : 1171*53ee8cc1Swenshuai.xi /// @param <RET> \b NONE : 1172*53ee8cc1Swenshuai.xi /// @param <GLOBAL> \b NONE 1173*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1174*53ee8cc1Swenshuai.xi void MApi_AUDIO_SetSurroundLPFGain( MS_U8 mode ); 1175*53ee8cc1Swenshuai.xi 1176*53ee8cc1Swenshuai.xi ///////////////////////////////////////////////////////////////////////////////// 1177*53ee8cc1Swenshuai.xi /// @ingroup Audio_ToBeRemove 1178*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_ConvertVolumeUnit() 1179*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: Convert UI Volume to Absolute Volume. 1180*53ee8cc1Swenshuai.xi /// valid value of UiVolume is between 0 and 100 1181*53ee8cc1Swenshuai.xi /// @param UiVolume \b : UI Volume 0 -> 62, 50 -> 12, 100 -> 7 1182*53ee8cc1Swenshuai.xi /// @param MS_U8 \b : register value 1183*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1184*53ee8cc1Swenshuai.xi MS_U8 MApi_AUDIO_ConvertVolumeUnit(MS_U8 UiVolume); 1185*53ee8cc1Swenshuai.xi 1186*53ee8cc1Swenshuai.xi // void MApi_AUDIO_SetMaxClipping( MS_U8 MaxClippingValue, MS_U16 Volume ); 1187*53ee8cc1Swenshuai.xi 1188*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1189*53ee8cc1Swenshuai.xi /// @ingroup Audio_BASIC_SOUNDEFFECT 1190*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_SetPEQCoef() 1191*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: This routine is used to set PEQ Coefficient. 1192*53ee8cc1Swenshuai.xi /// @param <IN> \b peq_coef 1193*53ee8cc1Swenshuai.xi /// @param <OUT> \b NONE : 1194*53ee8cc1Swenshuai.xi /// @param <RET> \b NONE : 1195*53ee8cc1Swenshuai.xi /// @param <GLOBAL> \b NONE 1196*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1197*53ee8cc1Swenshuai.xi void MApi_AUDIO_SetPEQCoef(AUDIO_PEQ_COEF *peq_coef); 1198*53ee8cc1Swenshuai.xi 1199*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1200*53ee8cc1Swenshuai.xi /// @ingroup Audio_BASIC_SOUNDEFFECT 1201*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_EnablePEQ() 1202*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: This routine is used to eable PEQ. 1203*53ee8cc1Swenshuai.xi /// @param <IN> \b Enpeq 1204*53ee8cc1Swenshuai.xi /// @param <OUT> \b NONE : 1205*53ee8cc1Swenshuai.xi /// @param <RET> \b NONE : 1206*53ee8cc1Swenshuai.xi /// @param <GLOBAL> \b NONE 1207*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1208*53ee8cc1Swenshuai.xi void MApi_AUDIO_EnablePEQ(MS_BOOL Enpeq); 1209*53ee8cc1Swenshuai.xi 1210*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1211*53ee8cc1Swenshuai.xi /// @ingroup Audio_BASIC_SOUNDEFFECT 1212*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_EnableDcRemove() 1213*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: This routine is used to eable PEQ. 1214*53ee8cc1Swenshuai.xi /// @param <IN> \b EnDcRemove 1215*53ee8cc1Swenshuai.xi /// @param <OUT> \b True / False 1216*53ee8cc1Swenshuai.xi /// @param <RET> \b NONE : 1217*53ee8cc1Swenshuai.xi /// @param <GLOBAL> \b NONE 1218*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1219*53ee8cc1Swenshuai.xi // MS_BOOL MApi_AUDIO_EnableDcRemove(MS_BOOL EnDcRemove); 1220*53ee8cc1Swenshuai.xi 1221*53ee8cc1Swenshuai.xi //============================================================ 1222*53ee8cc1Swenshuai.xi // AUDIO_DTV RELATIONAL API FUNCTION 1223*53ee8cc1Swenshuai.xi //============================================================ 1224*53ee8cc1Swenshuai.xi 1225*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1226*53ee8cc1Swenshuai.xi /// @ingroup Audio_System 1227*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_ReleaseDecodeSystem() 1228*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: This function will release/close decode system 1229*53ee8cc1Swenshuai.xi /// @param DecId \b : Decoder ID to be released 1230*53ee8cc1Swenshuai.xi /// @return\b MS_BOOL \b : set decoder system process status FALSE-> fail TRUE-> Success 1231*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1232*53ee8cc1Swenshuai.xi MS_BOOL MApi_AUDIO_ReleaseDecodeSystem(AUDIO_DEC_ID DecId); 1233*53ee8cc1Swenshuai.xi 1234*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1235*53ee8cc1Swenshuai.xi /// @ingroup Audio_System 1236*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_SetDecodeSystem() 1237*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: This function will set DecId decoder as structure p_AudioDecStatus 1238*53ee8cc1Swenshuai.xi /// @param\b DecId \b : Decoder ID to be controled 1239*53ee8cc1Swenshuai.xi /// @param\b p_AudioDecStatus \b : decoder status structure pointer 1240*53ee8cc1Swenshuai.xi /// @return\b MS_BOOL \b : set decoder system process status FALSE-> fail TRUE-> Success 1241*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1242*53ee8cc1Swenshuai.xi MS_BOOL MApi_AUDIO_SetDecodeSystem(AUDIO_DEC_ID DecId, AudioDecStatus_t * p_AudioDecStatus); 1243*53ee8cc1Swenshuai.xi 1244*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1245*53ee8cc1Swenshuai.xi /// @ingroup Audio_System 1246*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_GetDecodeSystem() 1247*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: This function will get DecId decoder status 1248*53ee8cc1Swenshuai.xi /// @param DecId \b : Decoder ID to get status 1249*53ee8cc1Swenshuai.xi /// @param p_AudioDecStatus \b : return status to p_AudioDecStatus pointer 1250*53ee8cc1Swenshuai.xi /// @return\b MS_BOOL \b : set decoder system process status FALSE-> fail TRUE-> Success 1251*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1252*53ee8cc1Swenshuai.xi MS_BOOL MApi_AUDIO_GetDecodeSystem(AUDIO_DEC_ID DecId, AudioDecStatus_t * p_AudioDecStatus); 1253*53ee8cc1Swenshuai.xi 1254*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1255*53ee8cc1Swenshuai.xi /// @ingroup Audio_System 1256*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_SetDecodeCmd() 1257*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: This function will send decode command to DecId decoder 1258*53ee8cc1Swenshuai.xi /// @param DecId \b : Decoder ID to be controled 1259*53ee8cc1Swenshuai.xi /// @param enDecComamnd \b : decoder command 1260*53ee8cc1Swenshuai.xi /// @return\b MS_BOOL \b : set decoder system process status FALSE-> fail TRUE-> Success 1261*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1262*53ee8cc1Swenshuai.xi MS_BOOL MApi_AUDIO_SetDecodeCmd(AUDIO_DEC_ID DecId, En_DVB_decCmdType enDecComamnd); 1263*53ee8cc1Swenshuai.xi 1264*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1265*53ee8cc1Swenshuai.xi /// @ingroup Audio_System 1266*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_OpenDecodeSystem() 1267*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: This function will open decode system according audio dec status 1268*53ee8cc1Swenshuai.xi /// @param p_AudioDecStatus \b : decoder status stucture 1269*53ee8cc1Swenshuai.xi /// @return\b AUDIO_DEC_ID \b : return available decoder ID 1270*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1271*53ee8cc1Swenshuai.xi AUDIO_DEC_ID MApi_AUDIO_OpenDecodeSystem(AudioDecStatus_t * p_AudioDecStatus); 1272*53ee8cc1Swenshuai.xi 1273*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1274*53ee8cc1Swenshuai.xi /// @ingroup Audio_ToBeRemove 1275*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_SetSystem() 1276*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: This function will load 1277*53ee8cc1Swenshuai.xi /// different audio decoder to audio system. 1278*53ee8cc1Swenshuai.xi /// 1279*53ee8cc1Swenshuai.xi /// In Mstar audio system, we can support 1 or 2 decoders. 1280*53ee8cc1Swenshuai.xi /// One is for main DTV audio or Multimedia audio player. 1281*53ee8cc1Swenshuai.xi /// Another is for second audio decode (ex: used for Audio Description purpose) 1282*53ee8cc1Swenshuai.xi /// 1283*53ee8cc1Swenshuai.xi /// @param enDecSystem \b : (En_DVB_decSystemType) decoder type 1284*53ee8cc1Swenshuai.xi /// - parameter type "MSAPI_AUD_DVB_XXXX" is decoder type for main audio decoder 1285*53ee8cc1Swenshuai.xi /// - parameter type "MSAPI_AUD_DVB2_XXXX" is decoder type for second audio decoder 1286*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1287*53ee8cc1Swenshuai.xi MS_BOOL MApi_AUDIO_SetSystem(En_DVB_decSystemType enDecSystem); 1288*53ee8cc1Swenshuai.xi 1289*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1290*53ee8cc1Swenshuai.xi /// @ingroup Audio_System 1291*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_GetDecSysSupportStatus() 1292*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: This function will report Audio Decoder support feature status when giving DecSystem type 1293*53ee8cc1Swenshuai.xi /// @param <IN> \b enDecSystem : Decoder type 1294*53ee8cc1Swenshuai.xi /// @param <RET> \b BOOL : True or False 1295*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1296*53ee8cc1Swenshuai.xi // MS_BOOL MApi_AUDIO_GetDecSysSupportStatus(En_DVB_decSystemType enDecSystem); 1297*53ee8cc1Swenshuai.xi 1298*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1299*53ee8cc1Swenshuai.xi /// @ingroup Audio_ToBeRemove 1300*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_SetH264StreamID_Mod() 1301*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: This routine is used to AC3 Stream ID mod. 1302*53ee8cc1Swenshuai.xi /// @param stream_id_mod \b : DTV stream ID 1303*53ee8cc1Swenshuai.xi /// - stream_id_mod = 0, video MPEG mode; 1304*53ee8cc1Swenshuai.xi /// - stream_id_mod = 1, video H264 mode 1305*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1306*53ee8cc1Swenshuai.xi // void MApi_AUDIO_SetH264StreamID_Mod(MS_U8 stream_id_mod); 1307*53ee8cc1Swenshuai.xi 1308*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1309*53ee8cc1Swenshuai.xi /// @ingroup Audio_System 1310*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_IsMadLock() 1311*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: This function show DTV Audio stream lock status 1312*53ee8cc1Swenshuai.xi /// @return MS_BOOL \b : 1 : lock ; 0 : unlock 1313*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1314*53ee8cc1Swenshuai.xi MS_BOOL MApi_AUDIO_IsMadLock(void); 1315*53ee8cc1Swenshuai.xi 1316*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1317*53ee8cc1Swenshuai.xi /// @ingroup Audio_ToBeRemove 1318*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_GetDecStatus() 1319*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: This routine is used to get the decoder's status (paly or stop) 1320*53ee8cc1Swenshuai.xi /// @return En_DVB_decCmdType \b : Decoder status (paly or stop) 1321*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1322*53ee8cc1Swenshuai.xi En_DVB_decCmdType MApi_AUDIO_GetDecStatus ( void ); 1323*53ee8cc1Swenshuai.xi 1324*53ee8cc1Swenshuai.xi /////////////////////////////////////////////////////////////////////////////////////// 1325*53ee8cc1Swenshuai.xi /// @ingroup Audio_System 1326*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_GetCommand() 1327*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: This routine is to get the DVB1 decode command. 1328*53ee8cc1Swenshuai.xi /// @return AU_DVB_DECCMD \b : 1329*53ee8cc1Swenshuai.xi /// - AU_DVB_DECCMD_STOP, //0 1330*53ee8cc1Swenshuai.xi /// - AU_DVB_DECCMD_PLAY, //1 1331*53ee8cc1Swenshuai.xi /// - AU_DVB_DECCMD_PLAYFILETSP, //2 1332*53ee8cc1Swenshuai.xi /// - AU_DVB_DECCMD_RESYNC, 1333*53ee8cc1Swenshuai.xi /// ....etc 1334*53ee8cc1Swenshuai.xi /////////////////////////////////////////////////////////////////////////////////////// 1335*53ee8cc1Swenshuai.xi AU_DVB_DECCMD MApi_AUDIO_GetCommand(En_DVB_AudioDecoder AdoDecoderNo); 1336*53ee8cc1Swenshuai.xi 1337*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1338*53ee8cc1Swenshuai.xi /// @ingroup Audio_System 1339*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_SetCommand() 1340*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: Set decoder Command for Digital Audio module 1341*53ee8cc1Swenshuai.xi /// @param enDecComamnd \b : deccoder command for DVB Audio 1342*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1343*53ee8cc1Swenshuai.xi void MApi_AUDIO_SetCommand(En_DVB_decCmdType enDecComamnd); 1344*53ee8cc1Swenshuai.xi 1345*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1346*53ee8cc1Swenshuai.xi /// @ingroup Audio_System 1347*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_GetMAD_LOCK() 1348*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: This routine is used to report decoder lock information. 1349*53ee8cc1Swenshuai.xi /// @retun MS_U8 \b the decoder status 1350*53ee8cc1Swenshuai.xi /////////////////////////////////////////////////////////////////////////////// 1351*53ee8cc1Swenshuai.xi MS_BOOL MApi_AUDIO_GetMAD_LOCK(void); 1352*53ee8cc1Swenshuai.xi 1353*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1354*53ee8cc1Swenshuai.xi /// @ingroup Audio_System 1355*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_SetADOutputMode() 1356*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: Set AD output mode 1357*53ee8cc1Swenshuai.xi /// @param out_mode \b : out_mode: 1358*53ee8cc1Swenshuai.xi /// - AD_OUT_SPEAKER 1359*53ee8cc1Swenshuai.xi /// - AD_OUT_HP 1360*53ee8cc1Swenshuai.xi /// - AD_OUT_BOTH 1361*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1362*53ee8cc1Swenshuai.xi void MApi_AUDIO_SetADOutputMode (MS_U8 out_mode); 1363*53ee8cc1Swenshuai.xi 1364*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1365*53ee8cc1Swenshuai.xi /// @ingroup Audio_System 1366*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_SetADAbsoluteVolume() 1367*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: This routine is used to set the absolute u8Volume of AD. 1368*53ee8cc1Swenshuai.xi /// @param AbsVolume \b : MSB 7-bit register value of 10-bit u8Volume 1369*53ee8cc1Swenshuai.xi /// range from 0x00 to 0x7E , gain: +12db to -114db (-1 db per step) 1370*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1371*53ee8cc1Swenshuai.xi void MApi_AUDIO_SetADAbsoluteVolume (MS_U8 AbsVolume); 1372*53ee8cc1Swenshuai.xi 1373*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1374*53ee8cc1Swenshuai.xi /// @ingroup Audio_System 1375*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_ADSetMute() 1376*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: This routine is used to set AD mute. 1377*53ee8cc1Swenshuai.xi /// @param EnMute \b : TRUE --Mute AD; 1378*53ee8cc1Swenshuai.xi /// FALSE--Unmute AD 1379*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1380*53ee8cc1Swenshuai.xi void MApi_AUDIO_ADSetMute(MS_BOOL EnMute); 1381*53ee8cc1Swenshuai.xi 1382*53ee8cc1Swenshuai.xi //============================================================ 1383*53ee8cc1Swenshuai.xi // AUDIO_PVR RELATED FUNCTIONS 1384*53ee8cc1Swenshuai.xi //============================================================ 1385*53ee8cc1Swenshuai.xi 1386*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1387*53ee8cc1Swenshuai.xi /// @ingroup Audio_ToBeRemove 1388*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MDrv_AUDIO_SetEncodeInit() 1389*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: This function is used to set Encod init 1390*53ee8cc1Swenshuai.xi /// @param BitRate \b : Encode Output Bitrate 1391*53ee8cc1Swenshuai.xi /// - AU_DVB_ENCBR_192K, // 0 1392*53ee8cc1Swenshuai.xi /// - AU_DVB_ENCBR_384K, // 1 1393*53ee8cc1Swenshuai.xi /// - AU_DVB_ENCBR_128K, // 2 1394*53ee8cc1Swenshuai.xi /// - AU_DVB_ENCBR_64K // 3 1395*53ee8cc1Swenshuai.xi /// @param EncFrameNum \b : Frame number per interrupt 1396*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1397*53ee8cc1Swenshuai.xi // void MApi_AUDIO_SetEncInit(AU_DVB_ENCBR BitRate, MS_U8 u8EncFrameNum); 1398*53ee8cc1Swenshuai.xi 1399*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1400*53ee8cc1Swenshuai.xi /// @ingroup Audio_ToBeRemove 1401*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_SetEncCommand() 1402*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: Set Encoder Command for Digital Audio module 1403*53ee8cc1Swenshuai.xi /// @param enEnccComamnd \b : Encoder command for DVB Audio 1404*53ee8cc1Swenshuai.xi /// - AU_DVB_ENCCMD_STOP, //0 1405*53ee8cc1Swenshuai.xi /// - AU_DVB_ENCCMD_START // 1 1406*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1407*53ee8cc1Swenshuai.xi // void MApi_AUDIO_SetEncCommand(AU_DVB_ENCCMD enEncComamnd); 1408*53ee8cc1Swenshuai.xi 1409*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1410*53ee8cc1Swenshuai.xi /// @ingroup Audio_ToBeRemove 1411*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MDrv_AUDIO_GetEncodeFrameInfo() 1412*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: This function is used to get the Encoded frame info 1413*53ee8cc1Swenshuai.xi /// @param input \b EncFrameInfo: structure to store encoded frame info 1414*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1415*53ee8cc1Swenshuai.xi // void MApi_AUDIO_GetEncodeFrameInfo(AU_DVB_ENC_FRAME_INFO *EncFrameInfo); 1416*53ee8cc1Swenshuai.xi 1417*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1418*53ee8cc1Swenshuai.xi /// @ingroup Audio_ToBeRemove 1419*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_GetEncodeDoneFlag() 1420*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: This function is used to get check encode done flag 1421*53ee8cc1Swenshuai.xi /// @param input \b None 1422*53ee8cc1Swenshuai.xi /// @param output \b BOOL TRUE/FALSE 1423*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1424*53ee8cc1Swenshuai.xi MS_BOOL MApi_AUDIO_GetEncodeDoneFlag(void); 1425*53ee8cc1Swenshuai.xi 1426*53ee8cc1Swenshuai.xi //============================================================ 1427*53ee8cc1Swenshuai.xi // AUDIO_ATV RELATIONAL API FUNCTION 1428*53ee8cc1Swenshuai.xi //============================================================ 1429*53ee8cc1Swenshuai.xi 1430*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1431*53ee8cc1Swenshuai.xi /// @ingroup Audio_ATV_SPDIF_HDMI 1432*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_SIF_SetStandard() 1433*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: Set SIF standard 1434*53ee8cc1Swenshuai.xi /// @param system_type \b : standard type 1435*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1436*53ee8cc1Swenshuai.xi void MApi_AUDIO_SIF_SetStandard(AUDIOSTANDARD_TYPE standard_type); 1437*53ee8cc1Swenshuai.xi 1438*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1439*53ee8cc1Swenshuai.xi /// @ingroup Audio_ATV_SPDIF_HDMI 1440*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_SIF_GetSoundMode() 1441*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: Get SIF BTSC sound mode type 1442*53ee8cc1Swenshuai.xi /// @return MS_U8 \b : Sound mode type 1443*53ee8cc1Swenshuai.xi /// - MS_U8 = 0x0 : Mute 1444*53ee8cc1Swenshuai.xi /// - bit 0 : Mono 1445*53ee8cc1Swenshuai.xi /// - bit 1 : Stereo 1446*53ee8cc1Swenshuai.xi /// - bit 2 : SAP 1447*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1448*53ee8cc1Swenshuai.xi MS_U8 MApi_AUDIO_SIF_GetSoundMode(void); 1449*53ee8cc1Swenshuai.xi 1450*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1451*53ee8cc1Swenshuai.xi /// @ingroup Audio_ATV_SPDIF_HDMI 1452*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_SIF_SetSoundMode() 1453*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: Set sound mode for ATV source. 1454*53ee8cc1Swenshuai.xi /// @param u8SifSoundMode \b : sound mode type 1455*53ee8cc1Swenshuai.xi /// - AU_MODE_MONO 1456*53ee8cc1Swenshuai.xi /// - AU_MODE_STEREO 1457*53ee8cc1Swenshuai.xi /// - AU_MODE_SAP 1458*53ee8cc1Swenshuai.xi /// - AU_MODE_LANG_A 1459*53ee8cc1Swenshuai.xi /// - AU_MODE_LANG_B 1460*53ee8cc1Swenshuai.xi /// - AU_MODE_NICAM_MONO, ...etc 1461*53ee8cc1Swenshuai.xi /// @return MS_BOOL \b : success / fail 1462*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1463*53ee8cc1Swenshuai.xi MS_BOOL MApi_AUDIO_SIF_SetSoundMode(MS_U8 u8SifSoundMode); 1464*53ee8cc1Swenshuai.xi 1465*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1466*53ee8cc1Swenshuai.xi /// @ingroup Audio_ATV_SPDIF_HDMI 1467*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_SIF_GetAudioStatus() 1468*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: Get the current audio status. 1469*53ee8cc1Swenshuai.xi /// It can be used for getting available sound modes and real-time audio standard monitor. 1470*53ee8cc1Swenshuai.xi /// @param eAudioStatus \b : audio status pointer 1471*53ee8cc1Swenshuai.xi /// @return MS_BOOL \b : TRUE/FALSE 1472*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1473*53ee8cc1Swenshuai.xi MS_BOOL MApi_AUDIO_SIF_GetAudioStatus(AUDIOSTATUS * eAudioStatus); 1474*53ee8cc1Swenshuai.xi 1475*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1476*53ee8cc1Swenshuai.xi /// @ingroup Audio_ATV_SPDIF_HDMI 1477*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_SIF_StartAutoStandardDetection() 1478*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: To start automatic detection about input audio standard 1479*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1480*53ee8cc1Swenshuai.xi void MApi_AUDIO_SIF_StartAutoStandardDetection(void); 1481*53ee8cc1Swenshuai.xi 1482*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1483*53ee8cc1Swenshuai.xi /// @ingroup Audio_ATV_SPDIF_HDMI 1484*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_SIF_GetResultOfAutoStandardDetection() 1485*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: To get result of audio standard after automatic detection called by MDrv_ASP_StartAutoStandardDetection. 1486*53ee8cc1Swenshuai.xi /// @return AUDIOSTANDARD_TYPE \b : 1487*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1488*53ee8cc1Swenshuai.xi AUDIOSTANDARD_TYPE MApi_AUDIO_SIF_GetResultOfAutoStandardDetection(void); 1489*53ee8cc1Swenshuai.xi 1490*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1491*53ee8cc1Swenshuai.xi /// @ingroup Audio_ATV_SPDIF_HDMI 1492*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_SIF_ConvertToBasicAudioStandard() 1493*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: Convert the audio standard to the basic standard 1494*53ee8cc1Swenshuai.xi /// @param eStandard \b : Please refer AUDIOSTANDARD_TYPE enum in header file 1495*53ee8cc1Swenshuai.xi /// @return AUDIOSTANDARD_TYPE \b : basic standard 1496*53ee8cc1Swenshuai.xi /// - E_AUDIOSTANDARD_BG 1497*53ee8cc1Swenshuai.xi /// - E_AUDIOSTANDARD_I 1498*53ee8cc1Swenshuai.xi /// - E_AUDIOSTANDARD_DK 1499*53ee8cc1Swenshuai.xi /// - E_AUDIOSTANDARD_L 1500*53ee8cc1Swenshuai.xi /// - E_AUDIOSTANDARD_M 1501*53ee8cc1Swenshuai.xi /// - E_AUDIOSTANDARD_NOTSTANDARD 1502*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1503*53ee8cc1Swenshuai.xi AUDIOSTANDARD_TYPE MApi_AUDIO_SIF_ConvertToBasicAudioStandard(AUDIOSTANDARD_TYPE eStandard); 1504*53ee8cc1Swenshuai.xi 1505*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1506*53ee8cc1Swenshuai.xi /// @ingroup Audio_ATV_SPDIF_HDMI 1507*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_SIF_SetThreshold() 1508*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: This routine is used to set SIF threshold 1509*53ee8cc1Swenshuai.xi /// @param ThrTbl \b : SIF thresholds Table 1510*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1511*53ee8cc1Swenshuai.xi void MApi_AUDIO_SIF_SetThreshold(THR_TBL_TYPE code *ThrTbl); 1512*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1513*53ee8cc1Swenshuai.xi /// @ingroup Audio_ATV_SPDIF_HDMI 1514*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_SIF_SetPrescale() 1515*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: SIF output level = (original level add db_value gain) 1516*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1517*53ee8cc1Swenshuai.xi void MApi_AUDIO_SIF_SetPrescale(MS_U8, MS_S32); 1518*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1519*53ee8cc1Swenshuai.xi /// @ingroup Audio_ATV_SPDIF_HDMI 1520*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_SIF_IsPALType() 1521*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: Check the DSP type is pal_type or not 1522*53ee8cc1Swenshuai.xi /// @return MS_BOOL \b : TRUE/FALSE 1523*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1524*53ee8cc1Swenshuai.xi MS_BOOL MApi_AUDIO_SIF_IsPALType(AUDIO_SIF_PAL_TYPE pal_type); 1525*53ee8cc1Swenshuai.xi 1526*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1527*53ee8cc1Swenshuai.xi /// @ingroup Audio_ATV_SPDIF_HDMI 1528*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_SIF_SetPALType() 1529*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: Set DSP type to pal_type 1530*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1531*53ee8cc1Swenshuai.xi void MApi_AUDIO_SIF_SetPALType(AUDIO_SIF_PAL_TYPE pal_type); 1532*53ee8cc1Swenshuai.xi 1533*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1534*53ee8cc1Swenshuai.xi /// @ingroup Audio_ATV_SPDIF_HDMI 1535*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_SIF_SetCommand() 1536*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: Set decoder Command for ATV module 1537*53ee8cc1Swenshuai.xi /// @param enDecComamnd \b : deccoder command for ATV AUDIO 1538*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1539*53ee8cc1Swenshuai.xi void MApi_AUDIO_SIF_SendCmd(En_AUD_SIF_CmdType enAudSifCommand, MS_U8 comm_arg1, MS_U8 comm_arg2); 1540*53ee8cc1Swenshuai.xi 1541*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1542*53ee8cc1Swenshuai.xi /// @ingroup Audio_ATV_SPDIF_HDMI 1543*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_SIF_Shift() 1544*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: This function is used to provide a API for application to choose what kind of VIF mdoe. 1545*53ee8cc1Swenshuai.xi /// 1546*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1547*53ee8cc1Swenshuai.xi void MApi_AUDIO_SIF_Shift(En_AUD_VIF_Type type); 1548*53ee8cc1Swenshuai.xi 1549*53ee8cc1Swenshuai.xi //============================================================ 1550*53ee8cc1Swenshuai.xi // AUDIO_FM_RADIO RELATIONAL API FUNCTION 1551*53ee8cc1Swenshuai.xi //============================================================ 1552*53ee8cc1Swenshuai.xi 1553*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1554*53ee8cc1Swenshuai.xi /// @ingroup Audio_ATV_SPDIF_HDMI 1555*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_FM_RADIO_GetSoundMode() 1556*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: Getting FM Radio Sound Mode 1557*53ee8cc1Swenshuai.xi /// @param <IN> \b NONE : 1558*53ee8cc1Swenshuai.xi /// @param <OUT> \b MS_U8 : return E_AUDIOMODE_MONO, E_AUDIOMODE_K_STEREO or E_AUDIOMODE_INVALID 1559*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1560*53ee8cc1Swenshuai.xi // MS_U8 MApi_AUDIO_FM_RADIO_GetSoundMode(void); 1561*53ee8cc1Swenshuai.xi 1562*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1563*53ee8cc1Swenshuai.xi /// @ingroup Audio_ATV_SPDIF_HDMI 1564*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_FM_RADIO_SetSoundMode() 1565*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: Setting FM Radio Sound Mode 1566*53ee8cc1Swenshuai.xi /// @param <IN> \b MS_U8 : u8FMRadioSoundMode 1567*53ee8cc1Swenshuai.xi /// @param <OUT> \b NONE : 1568*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1569*53ee8cc1Swenshuai.xi // void MApi_AUDIO_FM_RADIO_SetSoundMode(MS_U8 u8FMRadioSoundMode); 1570*53ee8cc1Swenshuai.xi 1571*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1572*53ee8cc1Swenshuai.xi /// @ingroup Audio_ATV_SPDIF_HDMI 1573*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_FM_RADIO_DeEmphassisOption() 1574*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: FM Radio De-emphassis Option 1575*53ee8cc1Swenshuai.xi /// @param <IN> \b MS_BOOL : Is_Europe 1576*53ee8cc1Swenshuai.xi /// @param <OUT> \b NONE : 1577*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1578*53ee8cc1Swenshuai.xi // void MApi_AUDIO_FM_RADIO_DeEmphassisOption(MS_BOOL Is_Europe); 1579*53ee8cc1Swenshuai.xi 1580*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1581*53ee8cc1Swenshuai.xi /// @ingroup Audio_ATV_SPDIF_HDMI 1582*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_FM_RADIO_GET_DC_AMP() 1583*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: FM Radio get DC amp 1584*53ee8cc1Swenshuai.xi /// @param <IN> \b NONE 1585*53ee8cc1Swenshuai.xi /// @param <OUT> \b MS_S8 DC amp 1586*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1587*53ee8cc1Swenshuai.xi // MS_S8 MApi_AUDIO_FM_RADIO_GET_DC_AMP(void); 1588*53ee8cc1Swenshuai.xi 1589*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1590*53ee8cc1Swenshuai.xi /// @ingroup Audio_ATV_SPDIF_HDMI 1591*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_FM_RADIO_GET_NSR() 1592*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: FM Radio get NSR 1593*53ee8cc1Swenshuai.xi /// @param <IN> \b NONE 1594*53ee8cc1Swenshuai.xi /// @param <OUT> \b MS_U8 NSR 1595*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1596*53ee8cc1Swenshuai.xi // MS_U8 MApi_AUDIO_FM_RADIO_GET_NSR(void); 1597*53ee8cc1Swenshuai.xi 1598*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1599*53ee8cc1Swenshuai.xi /// @ingroup Audio_ATV_SPDIF_HDMI 1600*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_FM_RADIO_RESET() 1601*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: FM Radio reset 1602*53ee8cc1Swenshuai.xi /// @param <IN> \b NONE 1603*53ee8cc1Swenshuai.xi /// @param <OUT> \b NONE 1604*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1605*53ee8cc1Swenshuai.xi // void MApi_AUDIO_FM_RADIO_RESET(void); 1606*53ee8cc1Swenshuai.xi 1607*53ee8cc1Swenshuai.xi //============================================================= 1608*53ee8cc1Swenshuai.xi // AUDIO_SPDIF RELATIONAL API FUNCTION 1609*53ee8cc1Swenshuai.xi //============================================================= 1610*53ee8cc1Swenshuai.xi 1611*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1612*53ee8cc1Swenshuai.xi /// @ingroup Audio_ATV_SPDIF_HDMI 1613*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_SPDIF_HWEN() 1614*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: This routine is used to enable S/PDIF output (Hardware) 1615*53ee8cc1Swenshuai.xi /// @param spdif_en \b : 0--Disable S/PDIF out; 1616*53ee8cc1Swenshuai.xi /// 1--Enable S/PDIF out 1617*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1618*53ee8cc1Swenshuai.xi void MApi_AUDIO_SPDIF_HWEN(MS_BOOL spdif_hwen); 1619*53ee8cc1Swenshuai.xi 1620*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1621*53ee8cc1Swenshuai.xi /// @ingroup Audio_ATV_SPDIF_HDMI 1622*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_SPDIF_SetMute() 1623*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: This routine is used to enable S/PDIF output (Hardware) 1624*53ee8cc1Swenshuai.xi /// @param mute_en \b : 0--Disable mute; 1625*53ee8cc1Swenshuai.xi /// 1--Enable mute 1626*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1627*53ee8cc1Swenshuai.xi void MApi_AUDIO_SPDIF_SetMute(MS_BOOL mute_en); 1628*53ee8cc1Swenshuai.xi 1629*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1630*53ee8cc1Swenshuai.xi /// @ingroup Audio_ATV_SPDIF_HDMI 1631*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_SPDIF_SetMode() 1632*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: This routine is used to set S/PDIF mode. 1633*53ee8cc1Swenshuai.xi /// @param spdif_mode \b : PCM or Non-PCM mode 1634*53ee8cc1Swenshuai.xi /// - spdif_mode = 0x0 : SPDIF enable, PCM mode 1635*53ee8cc1Swenshuai.xi /// - spdif_mode = 0x1 : SPDIF off 1636*53ee8cc1Swenshuai.xi /// - spdif_mode = 0x2 : SPDIF enable, nonPCM mode 1637*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1638*53ee8cc1Swenshuai.xi void MApi_AUDIO_SPDIF_SetMode(MS_U8 spdif_mode); 1639*53ee8cc1Swenshuai.xi 1640*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1641*53ee8cc1Swenshuai.xi /// @ingroup Audio_ATV_SPDIF_HDMI 1642*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_SPDIF_GetMode() 1643*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: This routine is used to get S/PDIF mode. 1644*53ee8cc1Swenshuai.xi /// @return MS_U8 \b : register SPDIF_CTRL value 1645*53ee8cc1Swenshuai.xi /// - 0x0 : SPDIF enable, PCM mode 1646*53ee8cc1Swenshuai.xi /// - 0x1 : SPDIF OFF 1647*53ee8cc1Swenshuai.xi /// - 0x2 : SPDIF enable, non-PCM mode 1648*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1649*53ee8cc1Swenshuai.xi // MS_U8 MApi_AUDIO_SPDIF_GetMode(void); 1650*53ee8cc1Swenshuai.xi 1651*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1652*53ee8cc1Swenshuai.xi /// @ingroup Audio_ATV_SPDIF_HDMI 1653*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_SPDIF_SetSCMS() 1654*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: This routine is used to set SPDIF SCMS. 1655*53ee8cc1Swenshuai.xi /// @param C_bit_en \b : copy right control bit 1656*53ee8cc1Swenshuai.xi /// @param L_bit_en \b : generation bit 1657*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1658*53ee8cc1Swenshuai.xi void MApi_AUDIO_SPDIF_SetSCMS(MS_U8 C_bit_en, MS_U8 L_bit_en); 1659*53ee8cc1Swenshuai.xi 1660*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1661*53ee8cc1Swenshuai.xi /// @ingroup Audio_ATV_SPDIF_HDMI 1662*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_SPDIF_GetSCMS() 1663*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: This routine is used to get SPDIF SCMS. 1664*53ee8cc1Swenshuai.xi /// @return MS_U8 \b : SCMS[0] = C bit status, SCMS[1] = L bit status 1665*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1666*53ee8cc1Swenshuai.xi MS_U8 MApi_AUDIO_SPDIF_GetSCMS(void); 1667*53ee8cc1Swenshuai.xi // void MApi_AUDIO_SPDIF_SetOutputType(AUDIO_SPDIF_OUTPUT_TYPE eType); // New API for S/PDIF output auto/PCM mode switching 1668*53ee8cc1Swenshuai.xi 1669*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1670*53ee8cc1Swenshuai.xi /// @ingroup Audio_ATV_SPDIF_HDMI 1671*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_Audio_SPDIF_Monitor() 1672*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: 1673*53ee8cc1Swenshuai.xi /// @param pau_info \b : AUDIO INIT STRUCTURE 1674*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1675*53ee8cc1Swenshuai.xi void MApi_Audio_SPDIF_Monitor(void); 1676*53ee8cc1Swenshuai.xi // void MApi_Audio_Monitor_SPDIF_NONPCM_SmpRate(void); 1677*53ee8cc1Swenshuai.xi 1678*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1679*53ee8cc1Swenshuai.xi /// @ingroup Audio_ATV_SPDIF_HDMI 1680*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_SPDIF_ChannelStatus_CTRL() 1681*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: 1682*53ee8cc1Swenshuai.xi /// @param pau_info \b : AUDIO INIT STRUCTURE 1683*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1684*53ee8cc1Swenshuai.xi MS_BOOL MApi_AUDIO_SPDIF_ChannelStatus_CTRL(AUDIO_SPDIF_CS_TYPE cs_mode, AUDIO_SPDIF_CS_TYPE_STATUS status); 1685*53ee8cc1Swenshuai.xi 1686*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1687*53ee8cc1Swenshuai.xi /// @ingroup Audio_ATV_SPDIF_HDMI 1688*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: HAL_AUDIO_Digital_Out_SetChannelStatus() 1689*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: This routine is used to set SPDIF/HDMI/ARC channel status. 1690*53ee8cc1Swenshuai.xi /// @param <IN> \b eType : 1691*53ee8cc1Swenshuai.xi /// @param <OUT> \b NONE : 1692*53ee8cc1Swenshuai.xi /// @param <RET> \b NONE : 1693*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1694*53ee8cc1Swenshuai.xi // MS_BOOL MApi_AUDIO_DigitalOut_SetChannelStatus(DIGITAL_OUTPUT_TYPE ePath, Digital_Out_Channel_Status_t *stChannelStatus); 1695*53ee8cc1Swenshuai.xi 1696*53ee8cc1Swenshuai.xi 1697*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1698*53ee8cc1Swenshuai.xi /// @ingroup Audio_ATV_SPDIF_HDMI 1699*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_DigitalOut_SetDeviceCapability() 1700*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: This routine is used to set output device capability. 1701*53ee8cc1Swenshuai.xi /// @param <IN> \b eoutType: output type (ARC_OUTPUT or HDMI_OUTPUT) 1702*53ee8cc1Swenshuai.xi /// @param <IN> \b ecodecType: kind of codec 1703*53ee8cc1Swenshuai.xi /// @param <IN> \b *p_codecCapability: codec support capability structure 1704*53ee8cc1Swenshuai.xi /// @param <RET> \b bRet: return api setting success or fail 1705*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1706*53ee8cc1Swenshuai.xi MS_BOOL MApi_AUDIO_DigitalOut_SetDeviceCapability(DIGITAL_OUTPUT_TYPE eoutType, AUDIO_FORMAT_CODE ecodecType, Digital_Out_Device_Capability_t *p_codecCapability); 1707*53ee8cc1Swenshuai.xi 1708*53ee8cc1Swenshuai.xi //============================================================= 1709*53ee8cc1Swenshuai.xi // AUDIO_HDMI RELATIONAL API FUNCTION 1710*53ee8cc1Swenshuai.xi //============================================================= 1711*53ee8cc1Swenshuai.xi 1712*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1713*53ee8cc1Swenshuai.xi /// @ingroup Audio_ATV_SPDIF_HDMI 1714*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_HDMI_Tx_SetMute() 1715*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: This routine is used to enable HDMI Tx output (Software) 1716*53ee8cc1Swenshuai.xi /// @param mute_en \b : 0--Disable mute; 1717*53ee8cc1Swenshuai.xi /// 1--Enable mute 1718*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1719*53ee8cc1Swenshuai.xi void MApi_AUDIO_HDMI_Tx_SetMute(MS_BOOL mute_en); 1720*53ee8cc1Swenshuai.xi 1721*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1722*53ee8cc1Swenshuai.xi /// @ingroup Audio_ATV_SPDIF_HDMI 1723*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_HDMI_Tx_GetStatus() 1724*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: This routine is used to get HDMI Tx status 1725*53ee8cc1Swenshuai.xi /// @param onOff \b : HDMI tx function is availible in this chip ? 1726*53ee8cc1Swenshuai.xi /// @param hdmi_SmpFreq \b : Audio current sample freq for tx 1727*53ee8cc1Swenshuai.xi /// @param outType \b : PCM mode or nonPCM mode 1728*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1729*53ee8cc1Swenshuai.xi void MApi_AUDIO_HDMI_Tx_GetStatus(MS_BOOL *onOff, AUDIO_FS_TYPE *hdmi_SmpFreq, HDMI_TX_OUTPUT_TYPE *outType ); 1730*53ee8cc1Swenshuai.xi 1731*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1732*53ee8cc1Swenshuai.xi /// @ingroup Audio_ATV_SPDIF_HDMI 1733*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_HDMI_Monitor() 1734*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: This function report HDMI non-PCM or PCM format (register STATUS_INPUT) 1735*53ee8cc1Swenshuai.xi /// @return MS_U8 \b : 1736*53ee8cc1Swenshuai.xi /// - non-PCM --> register STATUS_INPUT[7:6]= 0x1; 1737*53ee8cc1Swenshuai.xi /// - PCM --> register STATUS_INPUT[7:6]= 0x0 1738*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1739*53ee8cc1Swenshuai.xi // MS_U8 MApi_AUDIO_HDMI_Monitor(void); 1740*53ee8cc1Swenshuai.xi 1741*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1742*53ee8cc1Swenshuai.xi /// @ingroup Audio_ATV_SPDIF_HDMI 1743*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_HDMI_GetNonpcmFlag() 1744*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: This function report HDMI non-PCM or PCM format (register STATUS_INPUT) 1745*53ee8cc1Swenshuai.xi /// @return MS_BOOL \b : 1746*53ee8cc1Swenshuai.xi /// - TRUE : non-PCM --> register STATUS_INPUT[7:6]= 0x1 ; 1747*53ee8cc1Swenshuai.xi /// - FALSE : PCM --> register STATUS_INPUT[7:6]= 0x0 1748*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1749*53ee8cc1Swenshuai.xi MS_BOOL MApi_AUDIO_HDMI_GetNonpcmFlag(void); 1750*53ee8cc1Swenshuai.xi 1751*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1752*53ee8cc1Swenshuai.xi /// @ingroup Audio_ATV_SPDIF_HDMI 1753*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_HDMI_SetNonpcm() 1754*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: This function setting HDMI non-PCM or PCM relational register 1755*53ee8cc1Swenshuai.xi /// @param nonPCM_en \b : 1: nonPCM; 0: PCM 1756*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1757*53ee8cc1Swenshuai.xi void MApi_AUDIO_HDMI_SetNonpcm(MS_U8 nonPCM_en); 1758*53ee8cc1Swenshuai.xi 1759*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1760*53ee8cc1Swenshuai.xi /// @ingroup Audio_ATV_SPDIF_HDMI 1761*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_HDMI_RX_SetNonpcm() 1762*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: This function setting HDMI non-PCM or PCM relational register 1763*53ee8cc1Swenshuai.xi /// @param nonPCM_en \b : 1: nonPCM; 0: PCM 1764*53ee8cc1Swenshuai.xi /// @return AUDIO_HDMI_RX_TYPE \b : Return HDMI RX Type 1765*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1766*53ee8cc1Swenshuai.xi AUDIO_HDMI_RX_TYPE MApi_AUDIO_HDMI_RX_SetNonpcm(MS_U8 nonPCM_en); 1767*53ee8cc1Swenshuai.xi 1768*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1769*53ee8cc1Swenshuai.xi /// @ingroup Audio_ATV_SPDIF_HDMI 1770*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_HDMI_RX_SetNonpcm() 1771*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: This function setting HDMI non-PCM or PCM relational register 1772*53ee8cc1Swenshuai.xi /// @param nonPCM_en \b : 1: nonPCM; 0: PCM 1773*53ee8cc1Swenshuai.xi /// @return AUDIO_HDMI_RX_TYPE \b : Return HDMI RX Type 1774*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1775*53ee8cc1Swenshuai.xi AUDIO_HDMI_RX_TYPE MApi_AUDIO_HDMI_RX_GetNonPCM(void); 1776*53ee8cc1Swenshuai.xi 1777*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1778*53ee8cc1Swenshuai.xi /// @ingroup Audio_ATV_SPDIF_HDMI 1779*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_DTV_HDMI_CFG() 1780*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: Set DVB/HDMI AC3 path configure 1781*53ee8cc1Swenshuai.xi /// @param ctrl \b : 0: DVB2_AD path; 1782*53ee8cc1Swenshuai.xi /// 1: HDMI path 1783*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1784*53ee8cc1Swenshuai.xi void MApi_AUDIO_DTV_HDMI_CFG(MS_U8 ctrl); 1785*53ee8cc1Swenshuai.xi 1786*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1787*53ee8cc1Swenshuai.xi /// @ingroup Audio_ATV_SPDIF_HDMI 1788*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_HDMI_GetSynthFreq() 1789*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: Audio HDMI CTS-N synthesizer input signal detect. 1790*53ee8cc1Swenshuai.xi /// @return MS_U16 \b : return freq. If no signal, return 0 1791*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1792*53ee8cc1Swenshuai.xi MS_U16 MApi_AUDIO_HDMI_GetSynthFreq(void); 1793*53ee8cc1Swenshuai.xi 1794*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1795*53ee8cc1Swenshuai.xi /// @ingroup Audio_ATV_SPDIF_HDMI 1796*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_HDMI_SetDownSample() 1797*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: set HDMI downsample rate 1798*53ee8cc1Swenshuai.xi /// @param ratio \b : donwsample ratio 1799*53ee8cc1Swenshuai.xi /// - 00: Normal (from 1x to 1x). 1800*53ee8cc1Swenshuai.xi /// - 01: Down sample from 2x to 1x. 1801*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1802*53ee8cc1Swenshuai.xi void MApi_AUDIO_HDMI_SetDownSample(MS_U8 ratio); 1803*53ee8cc1Swenshuai.xi 1804*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1805*53ee8cc1Swenshuai.xi /// @ingroup Audio_ATV_SPDIF_HDMI 1806*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_HDMI_SetOutputType() 1807*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: To set HDMI output type independently 1808*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1809*53ee8cc1Swenshuai.xi void MApi_AUDIO_HDMI_TX_SetMode(HDMI_TX_OUTPUT_TYPE outType); 1810*53ee8cc1Swenshuai.xi 1811*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1812*53ee8cc1Swenshuai.xi /// @ingroup Audio_System 1813*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_HDMI_RX_GetHdmiInAudioStatus() 1814*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: Return audio status. 1815*53ee8cc1Swenshuai.xi /// @return MS_U16 \b : return structure which include pcm, non pcm, sampling rate. 1816*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1817*53ee8cc1Swenshuai.xi // MS_BOOL MApi_AUDIO_HDMI_RX_GetHdmiInAudioStatus( ST_HDMI_AUDIO_STATUS *p_hdmiAudioSts); 1818*53ee8cc1Swenshuai.xi 1819*53ee8cc1Swenshuai.xi //============================================================= 1820*53ee8cc1Swenshuai.xi // AUDIO_ADVANCE_SOUND RELATIONAL API FUNCTION 1821*53ee8cc1Swenshuai.xi //============================================================= 1822*53ee8cc1Swenshuai.xi 1823*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1824*53ee8cc1Swenshuai.xi /// @ingroup Audio_ADVANCED_SOUNDEFFECT 1825*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_ADVSOUND_ProcessEnable 1826*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: This routine is used to enable process of advanced sound effect. 1827*53ee8cc1Swenshuai.xi /// @param <IN> \b ADVSND_TYPE type 1828*53ee8cc1Swenshuai.xi /// @param <OUT> \b NONE : 1829*53ee8cc1Swenshuai.xi /// @param <RET> \b NONE : 1830*53ee8cc1Swenshuai.xi /// @param <GLOBAL> \b NONE 1831*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1832*53ee8cc1Swenshuai.xi MS_BOOL MApi_AUDIO_ADVSOUND_ProcessEnable(ADVSND_TYPE type); 1833*53ee8cc1Swenshuai.xi 1834*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1835*53ee8cc1Swenshuai.xi /// @ingroup Audio_ADVANCED_SOUNDEFFECT 1836*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_ADVSOUND_SubProcessEnable(ADVFUNC proc, BOOL enable) 1837*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: This routine is used to enable subprocess of advanced sound effect. 1838*53ee8cc1Swenshuai.xi /// @param <IN> \b proc, enable 1839*53ee8cc1Swenshuai.xi /// @param <OUT> \b NONE : 1840*53ee8cc1Swenshuai.xi /// @param <RET> \b NONE : 1841*53ee8cc1Swenshuai.xi /// @param <GLOBAL> \b NONE 1842*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1843*53ee8cc1Swenshuai.xi MS_BOOL MApi_AUDIO_ADVSOUND_SubProcessEnable(ADVFUNC proc, MS_BOOL enable); 1844*53ee8cc1Swenshuai.xi 1845*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1846*53ee8cc1Swenshuai.xi /// @ingroup Audio_ADVANCED_SOUNDEFFECT 1847*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_ADVSOUND_SetParam(ADVSND_PARAM param, U16 value1, U16 value2) 1848*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: This routine is used to set paramters advanced sound effect. 1849*53ee8cc1Swenshuai.xi /// @param <IN> \b param, value1, value2 1850*53ee8cc1Swenshuai.xi /// @param <OUT> \b NONE : 1851*53ee8cc1Swenshuai.xi /// @param <RET> \b NONE : 1852*53ee8cc1Swenshuai.xi /// @param <GLOBAL> \b NONE 1853*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1854*53ee8cc1Swenshuai.xi MS_BOOL MApi_AUDIO_ADVSOUND_SetParam(ADVSND_PARAM param, MS_U16 u16value1, MS_U16 u16value2); 1855*53ee8cc1Swenshuai.xi 1856*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1857*53ee8cc1Swenshuai.xi /// @ingroup Audio_ToBeRemove 1858*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_ADVSOUND_SetParam(ADVSND_PARAM param, U32 value1, U16 value2) 1859*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: This routine is used to set paramters advanced sound effect. 1860*53ee8cc1Swenshuai.xi /// @param <IN> \b param, u32value1, u16value2 1861*53ee8cc1Swenshuai.xi /// \b Parameter u32value1: range 0~0x7FFFFF 1862*53ee8cc1Swenshuai.xi /// \b Parameter u16value2: 0/1, 1863*53ee8cc1Swenshuai.xi /// - 0 : if u32value1 is u16, none fix point 24 bit parameter 1864*53ee8cc1Swenshuai.xi /// - 1 : if u32value1 is u32, fix point 24 bit parameter 1865*53ee8cc1Swenshuai.xi /// @param <OUT> \b NONE : 1866*53ee8cc1Swenshuai.xi /// @return <OUT> \b FALSE : Setting Fail 1867*53ee8cc1Swenshuai.xi /// \b TRUE : Setting OK 1868*53ee8cc1Swenshuai.xi /// @param <GLOBAL> \b NONE 1869*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1870*53ee8cc1Swenshuai.xi MS_BOOL MApi_AUDIO_ADVSND_SetParam(ADVSND_PARAM param, MS_U32 u32value1, MS_U16 u16value2); 1871*53ee8cc1Swenshuai.xi 1872*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1873*53ee8cc1Swenshuai.xi /// @ingroup Audio_ADVANCED_SOUNDEFFECT 1874*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_ADVSOUND_GetInfo() 1875*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: This routine is used for Get ADV Sound info 1876*53ee8cc1Swenshuai.xi /// @return MS_BOOL \b : True / False 1877*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1878*53ee8cc1Swenshuai.xi MS_U32 MApi_AUDIO_ADVSOUND_GetInfo( AdvSound_GET_Type Type); 1879*53ee8cc1Swenshuai.xi 1880*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1881*53ee8cc1Swenshuai.xi /// @ingroup Audio_ToBeRemove 1882*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_DBXTV_SetMode(DBXTV_TotSonMode TotSonMode, DBXTV_TotVolMode TotVolMode, DBXTV_TotSurMode TotSurMode) 1883*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: This routine is used to set dbx TV mode 1884*53ee8cc1Swenshuai.xi /// @param <IN> \b param, TotSonMode, TotVolMode, TotSurMode 1885*53ee8cc1Swenshuai.xi /// @param <OUT> \b NONE : 1886*53ee8cc1Swenshuai.xi /// @param <RET> \b NONE : 1887*53ee8cc1Swenshuai.xi /// @param <GLOBAL> \b NONE 1888*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1889*53ee8cc1Swenshuai.xi void MApi_DBXTV_SetMode(EN_DBXTV_TotSonMode totsonmode, EN_DBXTV_TotVolMode totvolmode, EN_DBXTV_TotSurMode totsurmode,MS_U32 enable); 1890*53ee8cc1Swenshuai.xi 1891*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1892*53ee8cc1Swenshuai.xi /// @ingroup Audio_BASIC_SOUNDEFFECT 1893*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_SeInit() 1894*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: This routine is the initialization for Audio sound effect module. 1895*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1896*53ee8cc1Swenshuai.xi // void MApi_AUDIO_SeInit(void); 1897*53ee8cc1Swenshuai.xi 1898*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1899*53ee8cc1Swenshuai.xi /// @ingroup Audio_ToBeMerged 1900*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_SetAdvSndSys() 1901*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: Check Advance sound mod and reload code 1902*53ee8cc1Swenshuai.xi /// @param u8AdvSurrMod \b : Audio Advance Sound system mod 1903*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1904*53ee8cc1Swenshuai.xi void MApi_AUDIO_SetAdvSndSys(MS_U8 u8AdvSurrMod); 1905*53ee8cc1Swenshuai.xi 1906*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1907*53ee8cc1Swenshuai.xi /// @ingroup Audio_ToBeMerged 1908*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_VDS() 1909*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: Dolby Virtual Surround 1910*53ee8cc1Swenshuai.xi /// @param u8enVDS \b : 1: enable; 0: disable 1911*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1912*53ee8cc1Swenshuai.xi // void MApi_AUDIO_SetVDS(MS_U8 u8enVDS); 1913*53ee8cc1Swenshuai.xi 1914*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1915*53ee8cc1Swenshuai.xi /// @ingroup Audio_ToBeMerged 1916*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_SetVSPK() 1917*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: Dolby Virtual Speaker 1918*53ee8cc1Swenshuai.xi /// @param u8enVSPK \b : 1: enable; 0: disable 1919*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1920*53ee8cc1Swenshuai.xi // void MApi_AUDIO_SetVSPK(MS_U8 u8enVSPK); 1921*53ee8cc1Swenshuai.xi 1922*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1923*53ee8cc1Swenshuai.xi /// @ingroup Audio_ToBeMerged 1924*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_SetSRS() 1925*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: SRS TruSurr 1926*53ee8cc1Swenshuai.xi /// @param u8enSRS \b : 1: enable; 0: disable 1927*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1928*53ee8cc1Swenshuai.xi void MApi_AUDIO_SetSRS(MS_U8 u8enSRS); 1929*53ee8cc1Swenshuai.xi 1930*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1931*53ee8cc1Swenshuai.xi /// @ingroup Audio_ToBeMerged 1932*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_SetBBE() 1933*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: BBE Surround 1934*53ee8cc1Swenshuai.xi /// @param u8enBBE \b : 1: enable; 0: disable 1935*53ee8cc1Swenshuai.xi /// @param u8BBEMode \b : 1936*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1937*53ee8cc1Swenshuai.xi // void MApi_AUDIO_SetBBE(MS_U8 u8enBBE,MS_U8 u8BBEMode); 1938*53ee8cc1Swenshuai.xi 1939*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1940*53ee8cc1Swenshuai.xi /// @ingroup Audio_ToBeMerged 1941*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_VSPK_WMod() 1942*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: Dolby Virtual Speaker Wide Mod 1943*53ee8cc1Swenshuai.xi /// @param u8VSPK_WMode \b : 0: reference mod; 1: wide mod 1944*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1945*53ee8cc1Swenshuai.xi // void MApi_AUDIO_VSPK_WMod(MS_U8 u8VSPK_WMode); 1946*53ee8cc1Swenshuai.xi 1947*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1948*53ee8cc1Swenshuai.xi /// @ingroup Audio_ToBeMerged 1949*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_VSPK_SMod() 1950*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: Dolby Virtual Speaker Surround Mod 1951*53ee8cc1Swenshuai.xi /// @param u8VSPK_SMode \b : 0: movie mod; 1: music mod 1952*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1953*53ee8cc1Swenshuai.xi // void MApi_AUDIO_VSPK_SMod(MS_U8 u8VSPK_SMode); 1954*53ee8cc1Swenshuai.xi 1955*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1956*53ee8cc1Swenshuai.xi /// @ingroup Audio_ToBeMerged 1957*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_SRS_DC() 1958*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: SRS Dialog Clarity 1959*53ee8cc1Swenshuai.xi /// @param u8SRSenDC \b : 1: enable; 0: disable 1960*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1961*53ee8cc1Swenshuai.xi // void MApi_AUDIO_SRS_DC(MS_U8 u8SRSenDC); 1962*53ee8cc1Swenshuai.xi 1963*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1964*53ee8cc1Swenshuai.xi /// @ingroup Audio_ToBeMerged 1965*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_SRS_TruBass() 1966*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: SRS TruBass 1967*53ee8cc1Swenshuai.xi /// @param u8SRSenTruBass \b : 1: enable; 0: disable 1968*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1969*53ee8cc1Swenshuai.xi // void MApi_AUDIO_SRS_TruBass(MS_U8 u8SRSenTruBass); 1970*53ee8cc1Swenshuai.xi 1971*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1972*53ee8cc1Swenshuai.xi /// @ingroup Audio_ToBeMerged 1973*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_SOUND_SRS_SetTsxtPara() 1974*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: This function is used to set paramters of SRS-TSXT 1975*53ee8cc1Swenshuai.xi /// @param u8mode \b : parameter mode 1976*53ee8cc1Swenshuai.xi /// @param u8value \b : parameter value 1977*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1978*53ee8cc1Swenshuai.xi void MApi_AUDIO_SRS_SetTsxtPara(MS_U8 u8mode, MS_U8 u8value); 1979*53ee8cc1Swenshuai.xi 1980*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1981*53ee8cc1Swenshuai.xi /// @ingroup Audio_ToBeMerged 1982*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_SetSRSTSHD() 1983*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: SRS TruSurround HD 1984*53ee8cc1Swenshuai.xi /// @param u8enSRS \b : 1: enable; 0: disable 1985*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1986*53ee8cc1Swenshuai.xi void MApi_AUDIO_SetSRSTSHD(MS_U8 u8enTSHD); 1987*53ee8cc1Swenshuai.xi 1988*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1989*53ee8cc1Swenshuai.xi /// @ingroup Audio_ToBeRemove 1990*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: Mapi_SOUND_TSHD_TruBass() 1991*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: TSHD TruBass 1992*53ee8cc1Swenshuai.xi /// @param u8SRSenTruBass \b : 1: enable; 0: disable 1993*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1994*53ee8cc1Swenshuai.xi // void Mapi_SOUND_TSHD_TruBass(MS_U8 u8TSHDenTruBass); 1995*53ee8cc1Swenshuai.xi 1996*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 1997*53ee8cc1Swenshuai.xi /// @ingroup Audio_ToBeMerged 1998*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_TSHD_Definition() 1999*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: This function is used to enable/disable SRS-HD Definition 2000*53ee8cc1Swenshuai.xi /// @param u8TSHDenDefinition \b : 1: enable, 0: disable 2001*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 2002*53ee8cc1Swenshuai.xi // void MApi_AUDIO_TSHD_Definition(MS_U8 u8TSHDenDefinition); 2003*53ee8cc1Swenshuai.xi 2004*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 2005*53ee8cc1Swenshuai.xi /// @ingroup Audio_ToBeRemove 2006*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: Mapi_SOUND_TSHD_Definition() 2007*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: This function is used to enable/disable SRS-HD Definition 2008*53ee8cc1Swenshuai.xi /// @param u8TSHDenDefinition \b : 1: enable, 0: disable 2009*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 2010*53ee8cc1Swenshuai.xi // void Mapi_SOUND_TSHD_Definition(MS_U8 u8TSHDenDefinition); 2011*53ee8cc1Swenshuai.xi 2012*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 2013*53ee8cc1Swenshuai.xi /// @ingroup Audio_ToBeMerged 2014*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_SOUND_SRS_SetTshdPara() 2015*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: This function is used to set paramters of SRS-TSHD 2016*53ee8cc1Swenshuai.xi /// @param u8mode \b : parameter mode 2017*53ee8cc1Swenshuai.xi /// @param u8value \b : parameter value 2018*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 2019*53ee8cc1Swenshuai.xi // void MApi_AUDIO_SRS_SetTshdPara(MS_U8 u8mode, MS_U8 u8value); 2020*53ee8cc1Swenshuai.xi 2021*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 2022*53ee8cc1Swenshuai.xi /// @ingroup Audio_BASIC_SOUNDEFFECT 2023*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_COPY_Parameter() 2024*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: Copy parameter from APP level 2025*53ee8cc1Swenshuai.xi /// @param u8enVSPK \b : 2026*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 2027*53ee8cc1Swenshuai.xi void MApi_AUDIO_COPY_Parameter(ADVSND_PARAM type, MS_U32 *Parameter_ptr,MS_U32 size); 2028*53ee8cc1Swenshuai.xi 2029*53ee8cc1Swenshuai.xi //============================================================= 2030*53ee8cc1Swenshuai.xi // AUDIO_KTV RELATIONAL API FUNCTION 2031*53ee8cc1Swenshuai.xi //============================================================= 2032*53ee8cc1Swenshuai.xi 2033*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 2034*53ee8cc1Swenshuai.xi /// @ingroup Audio_BASIC_SOUNDEFFECT 2035*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_SetKTVInfo() 2036*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: Set KTV parameter 2037*53ee8cc1Swenshuai.xi /// @param modelType \b : KTV model type 2038*53ee8cc1Swenshuai.xi /// @param infoType \b : KTV infomation type 2039*53ee8cc1Swenshuai.xi /// @param param1 \b : 2040*53ee8cc1Swenshuai.xi /// @param param2 \b : 2041*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 2042*53ee8cc1Swenshuai.xi MS_BOOL MApi_AUDIO_SetKTVInfo (AUDIO_KTV_MODEL modelType, AUDIO_KTV_PARAMTYPE paramType, MS_U32 param1, MS_U32 param2); 2043*53ee8cc1Swenshuai.xi 2044*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 2045*53ee8cc1Swenshuai.xi /// @ingroup Audio_BASIC_SOUNDEFFECT 2046*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_GetKTVInfo() 2047*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: Get KTV parameter 2048*53ee8cc1Swenshuai.xi /// @param modelType \b : KTV model type 2049*53ee8cc1Swenshuai.xi /// @param infoType \b : KTV infomation type 2050*53ee8cc1Swenshuai.xi /// @return MS_U32 \b : return KTV value 2051*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 2052*53ee8cc1Swenshuai.xi MS_U32 MApi_AUDIO_GetKTVInfo (AUDIO_KTV_MODEL modelType, AUDIO_KTV_INFOTYPE infoType); 2053*53ee8cc1Swenshuai.xi 2054*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 2055*53ee8cc1Swenshuai.xi /// @ingroup Audio_BASIC_SOUNDEFFECT 2056*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_SetMixModeVolume() 2057*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: This routine is used to set the absolute u8Volume of mix mode. 2058*53ee8cc1Swenshuai.xi /// @param eSourceType \b : for audio source 2059*53ee8cc1Swenshuai.xi /// @param VolType \b : for audio vol type 2060*53ee8cc1Swenshuai.xi /// @param u8Vol1 \b : MSB 7-bit register value of 10-bit u8Volume 2061*53ee8cc1Swenshuai.xi /// range from 0x00 to 0x7E , gain: +12db to -114db (-1 db per step) 2062*53ee8cc1Swenshuai.xi /// @param u8Vol2 \b : LSB 3-bit register value of 10-bit u8Volume 2063*53ee8cc1Swenshuai.xi /// range from 0x00 to 0x07 , gain: -0db to -0.875db (-0.125 db per step) 2064*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 2065*53ee8cc1Swenshuai.xi void MApi_AUDIO_SetMixModeVolume(AUDIO_SOURCE_INFO_TYPE eSourceType, AUDIO_MIX_VOL_TYPE VolType, MS_U8 u8Vol1, MS_U8 u8Vol2); 2066*53ee8cc1Swenshuai.xi 2067*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 2068*53ee8cc1Swenshuai.xi /// @ingroup Audio_BASIC_SOUNDEFFECT 2069*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_SetMixModeMute() 2070*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: This routine is used to set audio mix mode mute 2071*53ee8cc1Swenshuai.xi /// @param eSourceType \b : for audio source 2072*53ee8cc1Swenshuai.xi /// @param VolType \b : for audio vol type 2073*53ee8cc1Swenshuai.xi /// @param EnMute \b : TRUE --Mute; 2074*53ee8cc1Swenshuai.xi /// FALSE--Unmute 2075*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 2076*53ee8cc1Swenshuai.xi void MApi_AUDIO_SetMixModeMute(AUDIO_SOURCE_INFO_TYPE eSourceType, AUDIO_MIX_VOL_TYPE VolType, MS_BOOL EnMute); 2077*53ee8cc1Swenshuai.xi 2078*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 2079*53ee8cc1Swenshuai.xi /// @ingroup Audio_ToBeRemove 2080*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_PlayMenuSound() 2081*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: This routine is used to Play Menu Sound. 2082*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 2083*53ee8cc1Swenshuai.xi void MApi_AUDIO_PlayMenuSound(void); 2084*53ee8cc1Swenshuai.xi 2085*53ee8cc1Swenshuai.xi //============================================================= 2086*53ee8cc1Swenshuai.xi // AUDIO_OTHERS FUNCTION 2087*53ee8cc1Swenshuai.xi //============================================================= 2088*53ee8cc1Swenshuai.xi //Cathy0511 void MApi_AUDIO_SetAudioSource(AUDIOSOURCE_TYPE eSource); 2089*53ee8cc1Swenshuai.xi //Certification 2090*53ee8cc1Swenshuai.xi 2091*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 2092*53ee8cc1Swenshuai.xi /// @ingroup Audio_ToBeRemove 2093*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_SetCertMode() 2094*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: 2095*53ee8cc1Swenshuai.xi /// @param CertType \b : 2096*53ee8cc1Swenshuai.xi /// @param enable \b : 2097*53ee8cc1Swenshuai.xi /// 2098*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 2099*53ee8cc1Swenshuai.xi // MS_BOOL MApi_AUDIO_SetCertMode( Audio_CertMode CertType,Audio_CertEnable enable); 2100*53ee8cc1Swenshuai.xi 2101*53ee8cc1Swenshuai.xi //============================================================= 2102*53ee8cc1Swenshuai.xi // AUDIO_MM RELATIONAL API FUNCTION 2103*53ee8cc1Swenshuai.xi //============================================================= 2104*53ee8cc1Swenshuai.xi // Each Decoder functions 2105*53ee8cc1Swenshuai.xi // Set Info 2106*53ee8cc1Swenshuai.xi 2107*53ee8cc1Swenshuai.xi //****************************************************************************** 2108*53ee8cc1Swenshuai.xi /// @ingroup Audio_Decoder 2109*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_SetCommAudioInfo() 2110*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: This routine is used for adjust Common Audio decoder parameters 2111*53ee8cc1Swenshuai.xi /// @return MS_BOOL \b : True / False 2112*53ee8cc1Swenshuai.xi //****************************************************************************** 2113*53ee8cc1Swenshuai.xi MS_BOOL MApi_AUDIO_SetCommAudioInfo( Audio_COMM_infoType infoType, MS_VIRT param1, MS_VIRT param2 ); 2114*53ee8cc1Swenshuai.xi //****************************************************************************** 2115*53ee8cc1Swenshuai.xi /// @ingroup Audio_ToBeRemove 2116*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_SetMpegInfo() 2117*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: This routine is used for adjust MPEG Audio decoder parameters 2118*53ee8cc1Swenshuai.xi /// @return MS_BOOL \b : True / False 2119*53ee8cc1Swenshuai.xi //****************************************************************************** 2120*53ee8cc1Swenshuai.xi MS_BOOL MApi_AUDIO_SetMpegInfo( Audio_MPEG_infoType infoType, MS_VIRT param1, MS_VIRT param2 ); 2121*53ee8cc1Swenshuai.xi //****************************************************************************** 2122*53ee8cc1Swenshuai.xi /// @ingroup Audio_ToBeRemove 2123*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_SetAC3Info() 2124*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: This routine is used for adjust AC3 Audio decoder parameters 2125*53ee8cc1Swenshuai.xi /// @return MS_BOOL \b : True / False 2126*53ee8cc1Swenshuai.xi //****************************************************************************** 2127*53ee8cc1Swenshuai.xi MS_BOOL MApi_AUDIO_SetAC3Info( Audio_AC3_infoType infoType, MS_VIRT param1, MS_VIRT param2 ); 2128*53ee8cc1Swenshuai.xi 2129*53ee8cc1Swenshuai.xi //****************************************************************************** 2130*53ee8cc1Swenshuai.xi /// @ingroup Audio_ToBeRemove 2131*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_SetAC3PInfo() 2132*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: This routine is used for adjust AC3+ Audio decoder parameters 2133*53ee8cc1Swenshuai.xi /// @return MS_BOOL \b : True / False 2134*53ee8cc1Swenshuai.xi //****************************************************************************** 2135*53ee8cc1Swenshuai.xi MS_BOOL MApi_AUDIO_SetAC3PInfo( Audio_AC3P_infoType infoType, MS_VIRT param1, MS_VIRT param2 ); 2136*53ee8cc1Swenshuai.xi //****************************************************************************** 2137*53ee8cc1Swenshuai.xi /// @ingroup Audio_ToBeRemove 2138*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_SetAACInfo() 2139*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: This routine is used for adjust AAC Audio decoder parameters 2140*53ee8cc1Swenshuai.xi /// @return MS_BOOL \b : True / False 2141*53ee8cc1Swenshuai.xi //****************************************************************************** 2142*53ee8cc1Swenshuai.xi MS_BOOL MApi_AUDIO_SetAACInfo( Audio_AAC_infoType infoType, MS_VIRT param1, MS_VIRT param2 ); 2143*53ee8cc1Swenshuai.xi //****************************************************************************** 2144*53ee8cc1Swenshuai.xi /// @ingroup Audio_ToBeRemove 2145*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_SetWmaInfo() 2146*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: This routine is used for adjust WMA Audio decoder parameters 2147*53ee8cc1Swenshuai.xi /// @return MS_BOOL \b : True / False 2148*53ee8cc1Swenshuai.xi //****************************************************************************** 2149*53ee8cc1Swenshuai.xi MS_BOOL MApi_AUDIO_SetWmaInfo( Audio_WMA_infoType infoType, MS_VIRT param1, MS_VIRT param2 ); 2150*53ee8cc1Swenshuai.xi //****************************************************************************** 2151*53ee8cc1Swenshuai.xi /// @ingroup Audio_ToBeRemove 2152*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_SetDTSCommonCtrl() 2153*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: This routine is used for adjust DTS Audio decoder control 2154*53ee8cc1Swenshuai.xi /// @return MS_BOOL \b : True / False 2155*53ee8cc1Swenshuai.xi //****************************************************************************** 2156*53ee8cc1Swenshuai.xi MS_BOOL MApi_AUDIO_SetDTSCommonCtrl( Audio_DTS_infoType infoType, Audio_DTS_CtrlType ctrl_type ); 2157*53ee8cc1Swenshuai.xi 2158*53ee8cc1Swenshuai.xi //****************************************************************************** 2159*53ee8cc1Swenshuai.xi /// @ingroup Audio_Decoder 2160*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_GetCommAudioInfo() 2161*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: This routine will return the 64bit Common info according to info type 2162*53ee8cc1Swenshuai.xi /// @return long long \b : 64bit info 2163*53ee8cc1Swenshuai.xi //****************************************************************************** 2164*53ee8cc1Swenshuai.xi MS_U64 MApi_AUDIO_GetCommAudioInfo( Audio_COMM_infoType infoType ); 2165*53ee8cc1Swenshuai.xi 2166*53ee8cc1Swenshuai.xi //****************************************************************************** 2167*53ee8cc1Swenshuai.xi /// @ingroup Audio_ToBeRemove 2168*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_GetMpegInfo() 2169*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: This routine will return the 32bit mpeg info according to info type 2170*53ee8cc1Swenshuai.xi /// @return MS_U32 \b : 32bit info 2171*53ee8cc1Swenshuai.xi //****************************************************************************** 2172*53ee8cc1Swenshuai.xi MS_U32 MApi_AUDIO_GetMpegInfo( Audio_MPEG_infoType infoType ); 2173*53ee8cc1Swenshuai.xi 2174*53ee8cc1Swenshuai.xi //****************************************************************************** 2175*53ee8cc1Swenshuai.xi /// @ingroup Audio_ToBeRemove 2176*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_GetAC3Info() 2177*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: This routine will return the 32bit ac3 info according to info type 2178*53ee8cc1Swenshuai.xi /// @return MS_U32 \b : 32bit info 2179*53ee8cc1Swenshuai.xi //****************************************************************************** 2180*53ee8cc1Swenshuai.xi MS_U32 MApi_AUDIO_GetAC3Info( Audio_AC3_infoType infoType ); 2181*53ee8cc1Swenshuai.xi 2182*53ee8cc1Swenshuai.xi //****************************************************************************** 2183*53ee8cc1Swenshuai.xi /// @ingroup Audio_ToBeRemove 2184*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_GetAC3PInfo() 2185*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: This routine will return the 32bit ac3+ info according to info type 2186*53ee8cc1Swenshuai.xi /// @return MS_U32 \b : 32bit info 2187*53ee8cc1Swenshuai.xi //****************************************************************************** 2188*53ee8cc1Swenshuai.xi MS_U32 MApi_AUDIO_GetAC3PInfo( Audio_AC3P_infoType infoType ); 2189*53ee8cc1Swenshuai.xi 2190*53ee8cc1Swenshuai.xi //****************************************************************************** 2191*53ee8cc1Swenshuai.xi /// @ingroup Audio_ToBeRemove 2192*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_GetAACInfo() 2193*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: This routine will return the 32bit AAC info according to info type 2194*53ee8cc1Swenshuai.xi /// @return MS_U32 \b : 32bit info 2195*53ee8cc1Swenshuai.xi //****************************************************************************** 2196*53ee8cc1Swenshuai.xi MS_U32 MApi_AUDIO_GetAACInfo( Audio_AAC_infoType infoType ); 2197*53ee8cc1Swenshuai.xi 2198*53ee8cc1Swenshuai.xi //****************************************************************************** 2199*53ee8cc1Swenshuai.xi /// @ingroup Audio_ToBeRemove 2200*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_GetWmaInfo() 2201*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: This routine will return the 32bit wma info according to info type 2202*53ee8cc1Swenshuai.xi /// @return MS_U32 \b : 32bit info 2203*53ee8cc1Swenshuai.xi //****************************************************************************** 2204*53ee8cc1Swenshuai.xi MS_U32 MApi_AUDIO_GetWmaInfo( Audio_WMA_infoType infoType ); 2205*53ee8cc1Swenshuai.xi 2206*53ee8cc1Swenshuai.xi //****************************************************************************** 2207*53ee8cc1Swenshuai.xi /// @ingroup Audio_ToBeRemove 2208*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_GetDTSInfo() 2209*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: This routine will return the 32bit DTS info according to info type 2210*53ee8cc1Swenshuai.xi /// @return MS_U32 \b : 32bit info 2211*53ee8cc1Swenshuai.xi //****************************************************************************** 2212*53ee8cc1Swenshuai.xi // MS_U32 MApi_AUDIO_GetDTSInfo( Audio_DTS_infoType infoType ); 2213*53ee8cc1Swenshuai.xi 2214*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 2215*53ee8cc1Swenshuai.xi /// @ingroup Audio_ToBeRemove 2216*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_XPCM_Param() 2217*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: This routine configures necessary parameters when playing XPCM data 2218*53ee8cc1Swenshuai.xi /// @param audioType \b : 1--lpcm; 2219*53ee8cc1Swenshuai.xi /// 2--MS-ADPCM; 2220*53ee8cc1Swenshuai.xi /// 17--IMA-ADPCM 2221*53ee8cc1Swenshuai.xi /// @param channels \b : 0-- mono; 2222*53ee8cc1Swenshuai.xi /// 1-- stereo 2223*53ee8cc1Swenshuai.xi /// @param sampleRate \b : 8, 11.025, 16, 22.05, 44.1 and 48 (KHz) 2224*53ee8cc1Swenshuai.xi /// @param bitsPerSample \b : 8--8 bits; 2225*53ee8cc1Swenshuai.xi /// 16--16 bits 2226*53ee8cc1Swenshuai.xi /// @param blockSize \b : block size 2227*53ee8cc1Swenshuai.xi /// @param samplePerBlock \b : samples per block 2228*53ee8cc1Swenshuai.xi /// @return MS_U8 \b : TRUE--parameters are correct; 2229*53ee8cc1Swenshuai.xi /// FALSE--parameters are incorrect 2230*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 2231*53ee8cc1Swenshuai.xi MS_U8 MApi_AUDIO_XPCM_Param(XPCM_TYPE audioType, MS_U8 channels, MS_U16 sampleRate, 2232*53ee8cc1Swenshuai.xi MS_U8 bitsPerSample, MS_U16 blockSize, MS_U16 samplePerBlock); 2233*53ee8cc1Swenshuai.xi 2234*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 2235*53ee8cc1Swenshuai.xi /// @ingroup Audio_ToBeRemove 2236*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_XPCM2_Param() 2237*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: This routine configures necessary parameters when playing XPCM data 2238*53ee8cc1Swenshuai.xi /// @param audioType \b : 1--lpcm; 2239*53ee8cc1Swenshuai.xi /// 2--MS-ADPCM; 2240*53ee8cc1Swenshuai.xi /// 17--IMA-ADPCM 2241*53ee8cc1Swenshuai.xi /// @param channels \b : 0-- mono; 2242*53ee8cc1Swenshuai.xi /// 1-- stereo 2243*53ee8cc1Swenshuai.xi /// @param sampleRate \b : 8, 11.025, 16, 22.05, 44.1 and 48 (KHz) 2244*53ee8cc1Swenshuai.xi /// @param bitsPerSample \b : 8--8 bits; 2245*53ee8cc1Swenshuai.xi /// 16--16 bits 2246*53ee8cc1Swenshuai.xi /// @param blockSize \b : block size 2247*53ee8cc1Swenshuai.xi /// @param samplePerBlock \b : samples per block 2248*53ee8cc1Swenshuai.xi /// @return MS_U8 \b : TRUE--parameters are correct; 2249*53ee8cc1Swenshuai.xi /// FALSE--parameters are incorrect 2250*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 2251*53ee8cc1Swenshuai.xi void MApi_AUDIO_XPCM2_Param(XPCM_TYPE audioType, MS_U8 channels, MS_U16 sampleRate, 2252*53ee8cc1Swenshuai.xi MS_U8 bitsPerSample, MS_U16 blockSize, MS_U16 samplePerBlock); 2253*53ee8cc1Swenshuai.xi 2254*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 2255*53ee8cc1Swenshuai.xi /// @ingroup Audio_ToBeRemove 2256*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_XPCM2_CheckIntStatus() 2257*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: This routine is used to Read DSP internal sram value for int status by IDMA 2258*53ee8cc1Swenshuai.xi /// @param <OUT> \b NONE : 2259*53ee8cc1Swenshuai.xi /// @param <RET> \b MS_U16 : sram value for interrupt status 2260*53ee8cc1Swenshuai.xi /// @param <GLOBAL> \b NONE : 2261*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 2262*53ee8cc1Swenshuai.xi // MS_U16 MApi_AUDIO_XPCM2_CheckIntStatus(void); 2263*53ee8cc1Swenshuai.xi 2264*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 2265*53ee8cc1Swenshuai.xi /// @ingroup Audio_ToBeRemove 2266*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_RA8_Param() 2267*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: This routine configures necessary parameters when playing RA8 LBR data 2268*53ee8cc1Swenshuai.xi /// @param mNumCodecs \b : 1--stereo or mono 2269*53ee8cc1Swenshuai.xi /// 2~5-- multi channels 2270*53ee8cc1Swenshuai.xi /// @param mSamples \b : output samples--256, 512, 1024 2271*53ee8cc1Swenshuai.xi /// @param mSampleRate \b : 8, 11.025, 16, 22.05, 44.1 (KHz) 2272*53ee8cc1Swenshuai.xi /// @param Channels \b : 1-- mono 2273*53ee8cc1Swenshuai.xi /// 2-- stereo 2274*53ee8cc1Swenshuai.xi /// @param cplStart \b : 0 ~ 51 2275*53ee8cc1Swenshuai.xi /// @param Regions \b : 0 ~ 31 2276*53ee8cc1Swenshuai.xi /// @param cplQbits \b : 0, 2, 3, 4, 5, 6 2277*53ee8cc1Swenshuai.xi /// @param FrameSize \b : bitstream size of every NumCodes (bytes) 2278*53ee8cc1Swenshuai.xi /// Range--0 ~ 65535 2279*53ee8cc1Swenshuai.xi /// @return MS_U8 \b : TRUE--parameters are correct; 2280*53ee8cc1Swenshuai.xi /// FALSE--parameters are incorrect 2281*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 2282*53ee8cc1Swenshuai.xi MS_U8 MApi_AUDIO_RA8_Param(MS_U16 mNumCodecs, MS_U16 mSamples, MS_U16 mSampleRate, 2283*53ee8cc1Swenshuai.xi MS_U16* Channels, MS_U16* Regions, MS_U16* cplStart, MS_U16* cplQbits, 2284*53ee8cc1Swenshuai.xi MS_U16* FrameSize); 2285*53ee8cc1Swenshuai.xi 2286*53ee8cc1Swenshuai.xi // En_DVB_melodyPlayStatus MApi_AUDIO_PlayMelody(En_DVB_melodyPlayCmdType eMelodyCmd, MS_VIRT* u32FileAddr,MS_U32 u32FileSize, MS_U32 u32DspReqAddr); 2287*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 2288*53ee8cc1Swenshuai.xi /// @ingroup Audio_ToBeRemove 2289*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_Init() 2290*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: MM Music mode Initial Audio decoder 2291*53ee8cc1Swenshuai.xi /// @param <IN> \b enDecSystem: Audio decoder type 2292*53ee8cc1Swenshuai.xi /// @param <OUT> \b NONE : 2293*53ee8cc1Swenshuai.xi /// @param <GLOBAL> \b NONE : 2294*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 2295*53ee8cc1Swenshuai.xi void MApi_AUDIO_Init(En_DVB_decSystemType enDecSystem); 2296*53ee8cc1Swenshuai.xi 2297*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 2298*53ee8cc1Swenshuai.xi /// @ingroup Audio_ToBeRemove 2299*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_StartDecode() 2300*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: start play MM file 2301*53ee8cc1Swenshuai.xi /// @param <IN> \b NONE : 2302*53ee8cc1Swenshuai.xi /// @param <OUT> \b NONE : 2303*53ee8cc1Swenshuai.xi /// @param <GLOBAL> \b NONE : 2304*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 2305*53ee8cc1Swenshuai.xi void MApi_AUDIO_StartDecode(void); 2306*53ee8cc1Swenshuai.xi 2307*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 2308*53ee8cc1Swenshuai.xi /// @ingroup Audio_ToBeRemove 2309*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_StartBrowse() 2310*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: start browse file 2311*53ee8cc1Swenshuai.xi /// @param <IN> \b NONE : 2312*53ee8cc1Swenshuai.xi /// @param <OUT> \b NONE : 2313*53ee8cc1Swenshuai.xi /// @param <GLOBAL> \b NONE : 2314*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 2315*53ee8cc1Swenshuai.xi void MApi_AUDIO_StartBrowse(void); 2316*53ee8cc1Swenshuai.xi 2317*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 2318*53ee8cc1Swenshuai.xi /// @ingroup Audio_ToBeRemove 2319*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_StopDecode() 2320*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: Stop decoder 2321*53ee8cc1Swenshuai.xi /// @param <IN> \b NONE : 2322*53ee8cc1Swenshuai.xi /// @param <OUT> \b NONE : 2323*53ee8cc1Swenshuai.xi /// @param <GLOBAL> \b NONE : 2324*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 2325*53ee8cc1Swenshuai.xi void MApi_AUDIO_StopDecode(void); 2326*53ee8cc1Swenshuai.xi 2327*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 2328*53ee8cc1Swenshuai.xi /// @ingroup Audio_ToBeRemove 2329*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_PauseDecode() 2330*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: pause decoder 2331*53ee8cc1Swenshuai.xi /// @param <IN> \b NONE : 2332*53ee8cc1Swenshuai.xi /// @param <OUT> \b NONE : 2333*53ee8cc1Swenshuai.xi /// @param <GLOBAL> \b NONE : 2334*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 2335*53ee8cc1Swenshuai.xi void MApi_AUDIO_PauseDecode(void); 2336*53ee8cc1Swenshuai.xi 2337*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 2338*53ee8cc1Swenshuai.xi /// @ingroup Audio_ToBeRemove 2339*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_CheckPlayDone() 2340*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: Check file play done. If file play done, will return TRUE 2341*53ee8cc1Swenshuai.xi /// @param <IN> \b NONE : 2342*53ee8cc1Swenshuai.xi /// @param <OUT> \b MS_U8 : TRUE or FALSE 2343*53ee8cc1Swenshuai.xi /// @param <GLOBAL> \b NONE : 2344*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 2345*53ee8cc1Swenshuai.xi MS_U8 MApi_AUDIO_CheckPlayDone(void); 2346*53ee8cc1Swenshuai.xi 2347*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 2348*53ee8cc1Swenshuai.xi /// @ingroup Audio_ToBeRemove 2349*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_GetResidualBufferSize() 2350*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: Get ES buffer level. 2351*53ee8cc1Swenshuai.xi /// @param <IN> \b NONE : 2352*53ee8cc1Swenshuai.xi /// @param <OUT> \b MS_U16 : ES buffer level 2353*53ee8cc1Swenshuai.xi /// @param <GLOBAL> \b NONE : 2354*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 2355*53ee8cc1Swenshuai.xi MS_U16 MApi_AUDIO_GetResidualBufferSize(void); 2356*53ee8cc1Swenshuai.xi 2357*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 2358*53ee8cc1Swenshuai.xi /// @ingroup Audio_ToBeRemove 2359*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_GetPCMBufferSize() 2360*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: Get MP3 PCM buffer level. 2361*53ee8cc1Swenshuai.xi /// @param <IN> \b u16BitRate : Bit Rate 2362*53ee8cc1Swenshuai.xi /// @param <OUT> \b MS_U16 : MP3 PCM buffer level 2363*53ee8cc1Swenshuai.xi /// @param <GLOBAL> \b NONE : 2364*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 2365*53ee8cc1Swenshuai.xi MS_U16 MApi_AUDIO_GetPCMBufferSize(MS_U16 u16BitRate); 2366*53ee8cc1Swenshuai.xi 2367*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 2368*53ee8cc1Swenshuai.xi /// @ingroup Audio_ToBeRemove 2369*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_GetPCMBufferSize2() 2370*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: Get PCM buffer level. 2371*53ee8cc1Swenshuai.xi /// @param <IN> \b u16BitRate : Bit Rate; 2372*53ee8cc1Swenshuai.xi /// @param <IN> \b u16SampleRate : Sample Rate 2373*53ee8cc1Swenshuai.xi /// @param <OUT> \b MS_U16 : PCM buffer level 2374*53ee8cc1Swenshuai.xi /// @param <GLOBAL> \b NONE : 2375*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 2376*53ee8cc1Swenshuai.xi MS_U16 MApi_AUDIO_GetPCMBufferSize2(MS_U16 u16BitRate,MS_U16 u16SampleRate); 2377*53ee8cc1Swenshuai.xi 2378*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 2379*53ee8cc1Swenshuai.xi /// @ingroup Audio_ToBeRemove 2380*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_GetCurrentFrameNumber() 2381*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: Get MP3 Current Frame Number 2382*53ee8cc1Swenshuai.xi /// @param <IN> \b NONE : 2383*53ee8cc1Swenshuai.xi /// @param <OUT> \b MS_U32 : Current Frame Number 2384*53ee8cc1Swenshuai.xi /// @param <GLOBAL> \b NONE : 2385*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 2386*53ee8cc1Swenshuai.xi MS_U32 MApi_AUDIO_GetCurrentFrameNumber(void); 2387*53ee8cc1Swenshuai.xi 2388*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 2389*53ee8cc1Swenshuai.xi /// @ingroup Audio_ToBeMerged 2390*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_GetSampleRate() 2391*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: Get Sample Rate 2392*53ee8cc1Swenshuai.xi /// @param <IN> \b NONE : 2393*53ee8cc1Swenshuai.xi /// @param <OUT> \b MS_U16 : Sample Rate 2394*53ee8cc1Swenshuai.xi /// @param <GLOBAL> \b NONE : 2395*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 2396*53ee8cc1Swenshuai.xi MS_U16 MApi_AUDIO_GetSampleRate(void); 2397*53ee8cc1Swenshuai.xi 2398*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 2399*53ee8cc1Swenshuai.xi /// @ingroup Audio_ToBeMerged 2400*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_GetBitRate() 2401*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: Get Bit Rate 2402*53ee8cc1Swenshuai.xi /// @param <IN> \b NONE : 2403*53ee8cc1Swenshuai.xi /// @param <OUT> \b MS_U32 : Bit Rate 2404*53ee8cc1Swenshuai.xi /// @param <GLOBAL> \b NONE : 2405*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 2406*53ee8cc1Swenshuai.xi MS_U32 MApi_AUDIO_GetBitRate(void); 2407*53ee8cc1Swenshuai.xi 2408*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 2409*53ee8cc1Swenshuai.xi /// @ingroup Audio_ToBeRemove 2410*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_GetLayer() 2411*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: Get MP3 Layer 2412*53ee8cc1Swenshuai.xi /// @param <IN> \b NONE : 2413*53ee8cc1Swenshuai.xi /// @param <OUT> \b Audio_MP3_LAYER : MPEG Layer 2414*53ee8cc1Swenshuai.xi /// @param <GLOBAL> \b NONE : 2415*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 2416*53ee8cc1Swenshuai.xi Audio_MP3_LAYER MApi_AUDIO_GetLayer(void); 2417*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 2418*53ee8cc1Swenshuai.xi /// @ingroup Audio_Decoder 2419*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_CheckInputRequest() 2420*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: If MCU receive DSP interrupt, this function will return TRUE and report requested ES data buffer address and size 2421*53ee8cc1Swenshuai.xi /// @param <IN> \b pU32WrtAddr : 2422*53ee8cc1Swenshuai.xi /// @param <IN> \b pU32WrtBytes : 2423*53ee8cc1Swenshuai.xi /// @param <OUT> \b MS_U8 : TRUE or FALSE 2424*53ee8cc1Swenshuai.xi /// @param <GLOBAL> \b NONE : 2425*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 2426*53ee8cc1Swenshuai.xi MS_U8 MApi_AUDIO_CheckInputRequest(MS_PHY *pPHYWrtAddr, MS_U32 *pU32WrtBytes); 2427*53ee8cc1Swenshuai.xi 2428*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 2429*53ee8cc1Swenshuai.xi /// @ingroup Audio_Decoder 2430*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_SetInput() 2431*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: This function will inform DSP that MCU already write data to ES buffer by interrupt. 2432*53ee8cc1Swenshuai.xi /// @param <IN> \b NONE : 2433*53ee8cc1Swenshuai.xi /// @param <OUT> \b NONE : 2434*53ee8cc1Swenshuai.xi /// @param <GLOBAL> \b NONE : 2435*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 2436*53ee8cc1Swenshuai.xi void MApi_AUDIO_SetInput(void); 2437*53ee8cc1Swenshuai.xi 2438*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 2439*53ee8cc1Swenshuai.xi /// @ingroup Audio_ToBeRemove 2440*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_SetSampleRateIndex() 2441*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: Set AAC sample rate index. 2442*53ee8cc1Swenshuai.xi /// @param <IN> \b u16Index : 2443*53ee8cc1Swenshuai.xi /// @param <OUT> \b NONE : 2444*53ee8cc1Swenshuai.xi /// @param <GLOBAL> \b NONE : 2445*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 2446*53ee8cc1Swenshuai.xi void MApi_AUDIO_SetSampleRateIndex(MS_U16 u16Index); 2447*53ee8cc1Swenshuai.xi 2448*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 2449*53ee8cc1Swenshuai.xi /// @ingroup Audio_ToBeRemove 2450*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_SetXPCMParam() 2451*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: Set XPCM paramaters 2452*53ee8cc1Swenshuai.xi /// @param <IN> \b audioType : 2453*53ee8cc1Swenshuai.xi /// @param <IN> \b channels : 2454*53ee8cc1Swenshuai.xi /// @param <IN> \b sampleRate : 2455*53ee8cc1Swenshuai.xi /// @param <IN> \b bitsPerSample : 2456*53ee8cc1Swenshuai.xi /// @param <IN> \b samplePerBlock : 2457*53ee8cc1Swenshuai.xi /// @param <OUT> \b NONE : 2458*53ee8cc1Swenshuai.xi /// @param <GLOBAL> \b NONE : 2459*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 2460*53ee8cc1Swenshuai.xi void MApi_AUDIO_SetXPCMParam(XPCM_TYPE audioType, MS_U8 channels, MS_U16 sampleRate, MS_U8 bitsPerSample, MS_U16 blockSize, MS_U16 samplePerBlock); 2461*53ee8cc1Swenshuai.xi 2462*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 2463*53ee8cc1Swenshuai.xi /// @ingroup Audio_ToBeRemove 2464*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_FileEndNotification() 2465*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: This function will inform DSP that file end 2466*53ee8cc1Swenshuai.xi /// @param <IN> \b NONE : 2467*53ee8cc1Swenshuai.xi /// @param <OUT> \b NONE : 2468*53ee8cc1Swenshuai.xi /// @param <GLOBAL> \b NONE : 2469*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 2470*53ee8cc1Swenshuai.xi void MApi_AUDIO_FileEndNotification(void); 2471*53ee8cc1Swenshuai.xi 2472*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 2473*53ee8cc1Swenshuai.xi /// @ingroup Audio_ToBeRemove 2474*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_FileEndDataHandle() 2475*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: Info DSP that the last ES data left size. 2476*53ee8cc1Swenshuai.xi /// @param <IN> \b u32DataLeft : 2477*53ee8cc1Swenshuai.xi /// @param <OUT> \b NONE : 2478*53ee8cc1Swenshuai.xi /// @param <GLOBAL> \b NONE : 2479*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 2480*53ee8cc1Swenshuai.xi void MApi_AUDIO_FileEndDataHandle(MS_U32 u32DataLeft); 2481*53ee8cc1Swenshuai.xi 2482*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 2483*53ee8cc1Swenshuai.xi /// @ingroup Audio_ToBeRemove 2484*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_GetPlayTick() 2485*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: Get Play Time stamp 2486*53ee8cc1Swenshuai.xi /// @param <IN> \b NONE : 2487*53ee8cc1Swenshuai.xi /// @param <OUT> \b NONE : 2488*53ee8cc1Swenshuai.xi /// @param <GLOBAL> \b NONE : 2489*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 2490*53ee8cc1Swenshuai.xi MS_U32 MApi_AUDIO_GetPlayTick(void); 2491*53ee8cc1Swenshuai.xi 2492*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 2493*53ee8cc1Swenshuai.xi /// @ingroup Audio_ToBeMerged 2494*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_GetEsMEMCnt() 2495*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: Get ES Bufffer size 2496*53ee8cc1Swenshuai.xi /// @param <IN> \b NONE : 2497*53ee8cc1Swenshuai.xi /// @param <OUT> \b MS_U16 : ES Bufffer size 2498*53ee8cc1Swenshuai.xi /// @param <GLOBAL> \b NONE : 2499*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 2500*53ee8cc1Swenshuai.xi MS_U16 MApi_AUDIO_GetEsMEMCnt(void); 2501*53ee8cc1Swenshuai.xi 2502*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 2503*53ee8cc1Swenshuai.xi /// @ingroup Audio_ToBeMerged 2504*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_SetASFParm() 2505*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: Set WMA ASF Paramaters 2506*53ee8cc1Swenshuai.xi /// @param <IN> \b parm_type : 2507*53ee8cc1Swenshuai.xi /// @param <IN> \b value : 2508*53ee8cc1Swenshuai.xi /// @param <OUT> \b NONE : 2509*53ee8cc1Swenshuai.xi /// @param <GLOBAL> \b NONE : 2510*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 2511*53ee8cc1Swenshuai.xi void MApi_AUDIO_SetASFParm(WMA_ASF_PARMTYPE parm_type, MS_U32 value); 2512*53ee8cc1Swenshuai.xi 2513*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 2514*53ee8cc1Swenshuai.xi /// @ingroup Audio_ToBeRemove 2515*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_MM_SetInput() 2516*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: MCU send interrupt to decoder1/2 in MM mode 2517*53ee8cc1Swenshuai.xi /// @param <IN> \b AUDDecoderNo : DVB_Audio_Decoder1 / DVB_Audio_Decoder2 2518*53ee8cc1Swenshuai.xi /// @param <IN> \b u8IntTag : Interrupt tag, increase by every time 2519*53ee8cc1Swenshuai.xi /// @param <OUT> \b NONE : 2520*53ee8cc1Swenshuai.xi /// @param <GLOBAL> \b NONE : 2521*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 2522*53ee8cc1Swenshuai.xi void MApi_AUDIO_MM_SetInput (En_DVB_AudioDecoder AUDDecoderNo, MS_U8 u8IntTag); 2523*53ee8cc1Swenshuai.xi 2524*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 2525*53ee8cc1Swenshuai.xi /// @ingroup Audio_ToBeRemove 2526*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_MM_CheckPlayDone() 2527*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: MCU check audio play end in MM mode 2528*53ee8cc1Swenshuai.xi /// @param <IN> \b AUDDecoderNo : DVB_Audio_Decoder1 / DVB_Audio_Decoder2 2529*53ee8cc1Swenshuai.xi /// @param <OUT> \b MS_U16 : Value of residual PCM level for file end stop 2530*53ee8cc1Swenshuai.xi /// @param <GLOBAL> \b NONE : 2531*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 2532*53ee8cc1Swenshuai.xi MS_U32 MApi_AUDIO_MM_CheckPlayDone (En_DVB_AudioDecoder AUDDecoderNo); 2533*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 2534*53ee8cc1Swenshuai.xi /// @ingroup Audio_ToBeRemove 2535*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_MM_CheckInputRequest() 2536*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description : Decoder request input addr & size in MM mode 2537*53ee8cc1Swenshuai.xi /// @param <IN> \b AUDDecoderNo : DVB_Audio_Decoder1 / DVB_Audio_Decoder2 2538*53ee8cc1Swenshuai.xi /// @param <IN> \b pU32WrtAddr : Request input address in ES1 buffer 2539*53ee8cc1Swenshuai.xi /// @param <IN> \b pU32WrtBytes : Request input size 2540*53ee8cc1Swenshuai.xi /// @param <OUT> \b MS_U8 : return TRUE if ok, else return FALSE 2541*53ee8cc1Swenshuai.xi /// @param <GLOBAL> \b NONE : 2542*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 2543*53ee8cc1Swenshuai.xi MS_U8 MApi_AUDIO_MM_CheckInputRequest(En_DVB_AudioDecoder AUDDecoderNo, MS_PHY *pPHYWrtAddr, MS_U32 *pU32WrtBytes); 2544*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 2545*53ee8cc1Swenshuai.xi /// @ingroup Audio_ToBeRemove 2546*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_DmaReader_Init() 2547*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: 2548*53ee8cc1Swenshuai.xi /// @param <IN> \b eType : sampleRate 2549*53ee8cc1Swenshuai.xi /// @param <OUT> \b NONE : 2550*53ee8cc1Swenshuai.xi /// @param <RET> \b NONE : 2551*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 2552*53ee8cc1Swenshuai.xi void MApi_AUDIO_DmaReader_Init(SAMPLE_RATE sampleRate); 2553*53ee8cc1Swenshuai.xi 2554*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 2555*53ee8cc1Swenshuai.xi /// @ingroup Audio_ToBeRemove 2556*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_DmaReader_AllInput_Init() 2557*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: Used DMA reader in all audio source application 2558*53ee8cc1Swenshuai.xi /// \b (ex: Key sound) (CHIP_T8/T12) (48KHz only) 2559*53ee8cc1Swenshuai.xi /// @param <IN> \b eType : sampleRate 2560*53ee8cc1Swenshuai.xi /// @param <OUT> \b NONE : 2561*53ee8cc1Swenshuai.xi /// @param <RET> \b NONE : 2562*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 2563*53ee8cc1Swenshuai.xi void MApi_AUDIO_DmaReader_AllInput_Init(void); 2564*53ee8cc1Swenshuai.xi 2565*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 2566*53ee8cc1Swenshuai.xi /// @ingroup Audio_ToBeRemove 2567*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_DmaReader_WritePCM() 2568*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: This routine is used to write PCM data into DMA reader Buffer 2569*53ee8cc1Swenshuai.xi /// @param <IN> \b eType : buffer size (must be multiple of 8 Byte) 2570*53ee8cc1Swenshuai.xi /// @param <OUT> \b MS_BOOL : TRUE or FALSE 2571*53ee8cc1Swenshuai.xi /// @param <RET> \b NONE : 2572*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 2573*53ee8cc1Swenshuai.xi MS_BOOL MApi_AUDIO_DmaReader_WritePCM(void* buffer, MS_U32 bytes); 2574*53ee8cc1Swenshuai.xi 2575*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 2576*53ee8cc1Swenshuai.xi /// @ingroup Audio_ToBeRemove 2577*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_DmaWriter_Init() 2578*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: 2579*53ee8cc1Swenshuai.xi /// @param <IN> \b NONE : 2580*53ee8cc1Swenshuai.xi /// @param <OUT> \b NONE : 2581*53ee8cc1Swenshuai.xi /// @param <RET> \b NONE : 2582*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 2583*53ee8cc1Swenshuai.xi // void MApi_AUDIO_DmaWriter_Init(void); 2584*53ee8cc1Swenshuai.xi 2585*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 2586*53ee8cc1Swenshuai.xi /// @ingroup Audio_ToBeRemove 2587*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_USBPCM_Enable() @@Need_Modify 2588*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: Enable/ Disable the path of USB PCM 2589*53ee8cc1Swenshuai.xi /// @param <IN> \b bEnable : on: TRUE, off: FALSE 2590*53ee8cc1Swenshuai.xi /// @param <OUT> \b NONE : 2591*53ee8cc1Swenshuai.xi /// @param <RET> \b NONE : 2592*53ee8cc1Swenshuai.xi /// @param <GLOBAL> \b NONE : 2593*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 2594*53ee8cc1Swenshuai.xi void MApi_AUDIO_USBPCM_Enable(MS_BOOL bEnable); 2595*53ee8cc1Swenshuai.xi 2596*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 2597*53ee8cc1Swenshuai.xi /// @ingroup Audio_ToBeRemove 2598*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_USBPCM_SetFlag() @@Need_Modify 2599*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: clear interrupt flag for USBPCM function 2600*53ee8cc1Swenshuai.xi /// \b (Encoder path) 2601*53ee8cc1Swenshuai.xi /// @param <IN> \b bEnable : set false to clean interrupt flag 2602*53ee8cc1Swenshuai.xi /// @param <OUT> \b NONE : 2603*53ee8cc1Swenshuai.xi /// @param <RET> \b NONE : 2604*53ee8cc1Swenshuai.xi /// @param <GLOBAL> \b NONE : 2605*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 2606*53ee8cc1Swenshuai.xi void MApi_AUDIO_USBPCM_SetFlag(MS_BOOL bEnable); 2607*53ee8cc1Swenshuai.xi 2608*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 2609*53ee8cc1Swenshuai.xi /// @ingroup Audio_ToBeRemove 2610*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_USBPCM_GetFlag() @@Need_Modify 2611*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: Get interrupt flag for USBPCM function 2612*53ee8cc1Swenshuai.xi /// \b (Encoder path) 2613*53ee8cc1Swenshuai.xi /// @param <IN> \b NONE : 2614*53ee8cc1Swenshuai.xi /// @param <OUT> \b NONE : 2615*53ee8cc1Swenshuai.xi /// @param <RET> \b BOOL : interrupt flag 2616*53ee8cc1Swenshuai.xi /// @param <GLOBAL> \b NONE : 2617*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 2618*53ee8cc1Swenshuai.xi MS_BOOL MApi_AUDIO_USBPCM_GetFlag(void); 2619*53ee8cc1Swenshuai.xi 2620*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 2621*53ee8cc1Swenshuai.xi /// @ingroup Audio_ToBeRemove 2622*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_USBPCM_GetMemInfo() @@Need_Modify 2623*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: Get memory address and size for USBPCM function 2624*53ee8cc1Swenshuai.xi /// \b (Encoder path) 2625*53ee8cc1Swenshuai.xi /// @param <IN> \b NONE : 2626*53ee8cc1Swenshuai.xi /// @param <OUT> \b MS_U32 : address, size 2627*53ee8cc1Swenshuai.xi /// @param <RET> \b NONE : 2628*53ee8cc1Swenshuai.xi /// @param <GLOBAL> \b NONE : 2629*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 2630*53ee8cc1Swenshuai.xi void MApi_AUDIO_USBPCM_GetMemInfo(AUDIO_UPLOAD_INFO *uploadInfo); 2631*53ee8cc1Swenshuai.xi 2632*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 2633*53ee8cc1Swenshuai.xi /// @ingroup Audio_ToBeRemove 2634*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_PCMCapture_Init() 2635*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: Select source for pcm capture 2636*53ee8cc1Swenshuai.xi /// @param <IN> \b AUDIO_DEVICE_TYPE : select 1st or 2nd data capture 2637*53ee8cc1Swenshuai.xi /// @param <IN> \b AUDIO_CAPTURE_SOURCE_TYPE : Data Source 2638*53ee8cc1Swenshuai.xi /// @param <OUT> \b MS_BOOL : return TRUE if success, else return FALSE 2639*53ee8cc1Swenshuai.xi /// @param <RET> \b NONE : 2640*53ee8cc1Swenshuai.xi /// @param <GLOBAL> \b NONE : 2641*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 2642*53ee8cc1Swenshuai.xi MS_BOOL MApi_AUDIO_PCMCapture_Init(const AUDIO_DEVICE_TYPE eID, const AUDIO_CAPTURE_SOURCE_TYPE eSource); 2643*53ee8cc1Swenshuai.xi 2644*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 2645*53ee8cc1Swenshuai.xi /// @ingroup Audio_ToBeRemove 2646*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_PCMCapture_Start() 2647*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: captrue pcm data to DDR 2648*53ee8cc1Swenshuai.xi /// @param <IN> \b AUDIO_DEVICE_TYPE : select 1st or 2nd data capture 2649*53ee8cc1Swenshuai.xi /// @param <OUT> \b MS_BOOL : return TRUE if success, else return FALSE 2650*53ee8cc1Swenshuai.xi /// @param <RET> \b NONE : 2651*53ee8cc1Swenshuai.xi /// @param <GLOBAL> \b NONE : 2652*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 2653*53ee8cc1Swenshuai.xi MS_BOOL MApi_AUDIO_PCMCapture_Start(const AUDIO_DEVICE_TYPE eID); 2654*53ee8cc1Swenshuai.xi 2655*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 2656*53ee8cc1Swenshuai.xi /// @ingroup Audio_ToBeRemove 2657*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_PCMCapture_Stop() 2658*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: stop captrue pcm data from DDR 2659*53ee8cc1Swenshuai.xi /// @param <IN> \b AUDIO_DEVICE_TYPE : select 1st or 2nd data capture 2660*53ee8cc1Swenshuai.xi /// @param <OUT> \b MS_BOOL : return TRUE if success, else return FALSE 2661*53ee8cc1Swenshuai.xi /// @param <RET> \b NONE : 2662*53ee8cc1Swenshuai.xi /// @param <GLOBAL> \b NONE : 2663*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 2664*53ee8cc1Swenshuai.xi MS_BOOL MApi_AUDIO_PCMCapture_Stop(const AUDIO_DEVICE_TYPE eID); 2665*53ee8cc1Swenshuai.xi 2666*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 2667*53ee8cc1Swenshuai.xi /// @ingroup Audio_ToBeRemove 2668*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_PCMCapture_Read() 2669*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: captrue pcm data from DDR to device 2670*53ee8cc1Swenshuai.xi /// @param <IN> \b AUDIO_DEVICE_TYPE : select 1st or 2nd data capture 2671*53ee8cc1Swenshuai.xi /// @param <IN> \b void* : destination buffer pointer 2672*53ee8cc1Swenshuai.xi /// @param <IN> \b MS_U32 : buffer size need transfered in byte 2673*53ee8cc1Swenshuai.xi /// @param <OUT> \b MS_BOOL : return TRUE if success, else return FALSE 2674*53ee8cc1Swenshuai.xi /// @param <RET> \b NONE : 2675*53ee8cc1Swenshuai.xi /// @param <GLOBAL> \b NONE : 2676*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 2677*53ee8cc1Swenshuai.xi MS_BOOL MApi_AUDIO_PCMCapture_Read(const AUDIO_DEVICE_TYPE eID, void* buffer, const MS_U32 bytes); 2678*53ee8cc1Swenshuai.xi 2679*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 2680*53ee8cc1Swenshuai.xi /// @ingroup Audio_ToBeRemove 2681*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_VoIP_Config() 2682*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: This routine is used for VoIP applications 2683*53ee8cc1Swenshuai.xi /// @param <IN> \b AUDIO_VoIP_CONFIG_TYPE : configType 2684*53ee8cc1Swenshuai.xi /// @param <IN> \b MS_U32 : param1 2685*53ee8cc1Swenshuai.xi /// @param <IN> \b MS_U32 : param2 2686*53ee8cc1Swenshuai.xi /// @param <OUT> \b MS_BOOL : return TRUE if success, else return FALSE 2687*53ee8cc1Swenshuai.xi /// @param <RET> \b NONE : 2688*53ee8cc1Swenshuai.xi /// @param <GLOBAL> \b NONE : 2689*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 2690*53ee8cc1Swenshuai.xi MS_BOOL MApi_AUDIO_VoIP_Config(AUDIO_VoIP_CONFIG_TYPE configType, MS_U32 param1, MS_U32 param2); 2691*53ee8cc1Swenshuai.xi 2692*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 2693*53ee8cc1Swenshuai.xi /// @ingroup Audio_ToBeRemove 2694*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_ALSA_Check() 2695*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: Check if ALSA Interface is supported 2696*53ee8cc1Swenshuai.xi /// @param <IN> \b bEnable : on: TRUE, off: FALSE 2697*53ee8cc1Swenshuai.xi /// @param <OUT> \b MS_BOOL : return TRUE if it's supported, else return FALSE 2698*53ee8cc1Swenshuai.xi /// @param <RET> \b NONE : 2699*53ee8cc1Swenshuai.xi /// @param <GLOBAL> \b NONE : 2700*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 2701*53ee8cc1Swenshuai.xi // MS_BOOL MApi_AUDIO_ALSA_Check(void); 2702*53ee8cc1Swenshuai.xi 2703*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 2704*53ee8cc1Swenshuai.xi /// @ingroup Audio_ToBeRemove 2705*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_ALSA_Enable() 2706*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: Enable/ Disable the path of ALSA 2707*53ee8cc1Swenshuai.xi /// @param <IN> \b bEnable : on: TRUE, off: FALSE 2708*53ee8cc1Swenshuai.xi /// @param <OUT> \b MS_BOOL : return TRUE if ok, else return FALSE 2709*53ee8cc1Swenshuai.xi /// @param <RET> \b NONE : 2710*53ee8cc1Swenshuai.xi /// @param <GLOBAL> \b NONE : 2711*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 2712*53ee8cc1Swenshuai.xi // MS_BOOL MApi_AUDIO_ALSA_Enable(MS_BOOL bEnable); 2713*53ee8cc1Swenshuai.xi 2714*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 2715*53ee8cc1Swenshuai.xi /// @ingroup Audio_ToBeRemove 2716*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_UNI_CheckDecodeDone() 2717*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description : Decoder report pcm out addr & size in Uniplayer mode 2718*53ee8cc1Swenshuai.xi /// @param <IN> \b pU32WrtAddr : Request input address in ES1 buffer 2719*53ee8cc1Swenshuai.xi /// @param <IN> \b pU32WrtBytes : Request input size 2720*53ee8cc1Swenshuai.xi /// @param <OUT> \b MS_U8 : return TRUE if ok, else return FALSE 2721*53ee8cc1Swenshuai.xi /// @param <GLOBAL> \b NONE : 2722*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 2723*53ee8cc1Swenshuai.xi // MS_BOOL MApi_AUDIO_UNI_CheckDecodeDone(MS_PHY *pPHYWrtAddr, MS_U32 *pU32WrtBytes); 2724*53ee8cc1Swenshuai.xi 2725*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 2726*53ee8cc1Swenshuai.xi /// @ingroup Audio_ToBeRemove 2727*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_UNI_SetOutput() 2728*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: MCU send interrupt to decoder1 in Uniplayer mode 2729*53ee8cc1Swenshuai.xi /// @param <IN> \b PCMOutCnt : Get output PCM count by MCU 2730*53ee8cc1Swenshuai.xi /// @param <OUT> \b NONE : 2731*53ee8cc1Swenshuai.xi /// @param <GLOBAL> \b NONE : 2732*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 2733*53ee8cc1Swenshuai.xi // void MApi_AUDIO_UNI_SetOutput (MS_U32 PCMOutCnt); 2734*53ee8cc1Swenshuai.xi 2735*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 2736*53ee8cc1Swenshuai.xi /// @ingroup Audio_ToBeRemove 2737*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_UNI_Set_PCMInputWriteAddr() 2738*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: MCU send DEC1-PCM3 wptr to decoder1 in Uniplayer mode 2739*53ee8cc1Swenshuai.xi /// @param <IN> \b PCMIn_Wptr : PCM3 write pointer to DSP 2740*53ee8cc1Swenshuai.xi /// @param <OUT> \b NONE : 2741*53ee8cc1Swenshuai.xi /// @param <GLOBAL> \b NONE : 2742*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 2743*53ee8cc1Swenshuai.xi // void MApi_AUDIO_UNI_Set_PCMInputWriteAddr (MS_U32 PCMIn_Wptr); 2744*53ee8cc1Swenshuai.xi 2745*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 2746*53ee8cc1Swenshuai.xi /// @ingroup Audio_ToBeRemove 2747*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_UNI_Get_OutPCMLevel() 2748*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: Decoder1 report DEC1-PCM3 buffer level in Uniplayer mode 2749*53ee8cc1Swenshuai.xi /// @param <OUT> \b MS_U32 : DEC1-PCM3 buffer level (byte unit) 2750*53ee8cc1Swenshuai.xi /// @param <GLOBAL> \b NONE : 2751*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 2752*53ee8cc1Swenshuai.xi // MS_U32 MApi_AUDIO_UNI_Get_OutPCMLevel (void); 2753*53ee8cc1Swenshuai.xi 2754*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 2755*53ee8cc1Swenshuai.xi /// @ingroup Audio_ToBeRemove 2756*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_RingTask() 2757*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description : 2758*53ee8cc1Swenshuai.xi /// @param <IN> \b auRingTask : 2759*53ee8cc1Swenshuai.xi /// @param <GLOBAL> \b NONE : 2760*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 2761*53ee8cc1Swenshuai.xi // void MApi_AUDIO_RingTask(audioRingTask* auRingTask) ; 2762*53ee8cc1Swenshuai.xi 2763*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 2764*53ee8cc1Swenshuai.xi /// @ingroup Audio_ToBeRemove 2765*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_Ring_DataTransfer() 2766*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description : 2767*53ee8cc1Swenshuai.xi /// @param <IN> \b auRingTask : 2768*53ee8cc1Swenshuai.xi /// @param <GLOBAL> \b NONE : 2769*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 2770*53ee8cc1Swenshuai.xi // void MApi_AUDIO_Ring_DataTransfer(audioRingTask* auRingTask, audioRingTask* auRingTask_1); 2771*53ee8cc1Swenshuai.xi 2772*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 2773*53ee8cc1Swenshuai.xi /// @ingroup Audio_ToBeRemove 2774*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_MM2_initAesInfo() 2775*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description : Initialize AES info 2776*53ee8cc1Swenshuai.xi /// @param <IN> \b dec_id : Decoder ID 2777*53ee8cc1Swenshuai.xi /// @param <OUT> \b MS_BOOL : return TRUE if ok, else return FALSE 2778*53ee8cc1Swenshuai.xi /// @param <GLOBAL> \b NONE : 2779*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 2780*53ee8cc1Swenshuai.xi MS_BOOL MApi_AUDIO_MM2_initAesInfo( AUDIO_DEC_ID dec_id ); 2781*53ee8cc1Swenshuai.xi 2782*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 2783*53ee8cc1Swenshuai.xi /// @ingroup Audio_ToBeRemove 2784*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_MM2_checkAesInfo() 2785*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description : Get AES info from audio decoder 2786*53ee8cc1Swenshuai.xi /// @param <IN> \b dec_id : Decoder ID 2787*53ee8cc1Swenshuai.xi /// @param <IN> \b aes_info : AES info structure pointer 2788*53ee8cc1Swenshuai.xi /// @param <OUT> \b MS_BOOL : return TRUE if ok, else return FALSE 2789*53ee8cc1Swenshuai.xi /// @param <GLOBAL> \b NONE : 2790*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 2791*53ee8cc1Swenshuai.xi MS_BOOL MApi_AUDIO_MM2_checkAesInfo( AUDIO_DEC_ID dec_id, AES_INFO *aes_info ); 2792*53ee8cc1Swenshuai.xi 2793*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 2794*53ee8cc1Swenshuai.xi /// @ingroup Audio_ToBeRemove 2795*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_MM2_inputAesFinished() 2796*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description : Inform DSP how much ES data is sent 2797*53ee8cc1Swenshuai.xi /// @param <IN> \b dec_id : Decoder ID 2798*53ee8cc1Swenshuai.xi /// @param <IN> \b es_size : Size of ES data 2799*53ee8cc1Swenshuai.xi /// @param <IN> \b ptsExist : Whether ES data contains PTS or not 2800*53ee8cc1Swenshuai.xi /// @param <IN> \b pts : PTS 2801*53ee8cc1Swenshuai.xi /// @param <OUT> \b MS_BOOL : return TRUE if ok, else return FALSE 2802*53ee8cc1Swenshuai.xi /// @param <GLOBAL> \b NONE : 2803*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 2804*53ee8cc1Swenshuai.xi MS_BOOL MApi_AUDIO_MM2_inputAesFinished( AUDIO_DEC_ID dec_id, MS_U32 es_size, MS_BOOL ptsExist, MS_U64 pts ); 2805*53ee8cc1Swenshuai.xi 2806*53ee8cc1Swenshuai.xi 2807*53ee8cc1Swenshuai.xi //====== STAOS PIP START 2012/02/01 ======== 2808*53ee8cc1Swenshuai.xi 2809*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 2810*53ee8cc1Swenshuai.xi /// @ingroup Audio_Decoder 2811*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_SetAudioParam2() 2812*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 2813*53ee8cc1Swenshuai.xi MS_BOOL MApi_AUDIO_SetAudioParam2( AUDIO_DEC_ID DecId, Audio_ParamType paramType, MS_VIRT Param ); 2814*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 2815*53ee8cc1Swenshuai.xi /// @ingroup Audio_Decoder 2816*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_GetAudioInfo2() 2817*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 2818*53ee8cc1Swenshuai.xi MS_BOOL MApi_AUDIO_GetAudioInfo2( AUDIO_DEC_ID DecId, Audio_InfoType infoType, void * pInfo ); 2819*53ee8cc1Swenshuai.xi 2820*53ee8cc1Swenshuai.xi //====== STAOS PIP END 2012/02/01 ======== 2821*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 2822*53ee8cc1Swenshuai.xi /// @ingroup Audio_ToBeRemove 2823*53ee8cc1Swenshuai.xi /// @brief \b Function \b Name: MApi_AUDIO_GetDDRInfo() 2824*53ee8cc1Swenshuai.xi /// @brief \b Function \b Description: Return Audio DDR info 2825*53ee8cc1Swenshuai.xi /// @param <IN> \b AUDIO_DEC_ID : select audio processor 2826*53ee8cc1Swenshuai.xi /// @param <IN> \b EN_AUDIO_DDRINFO : DDR info 2827*53ee8cc1Swenshuai.xi /// @param <OUT> \b MS_U32 : return DDR info 2828*53ee8cc1Swenshuai.xi /// @param <RET> \b NONE : 2829*53ee8cc1Swenshuai.xi /// @param <GLOBAL> \b NONE : 2830*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 2831*53ee8cc1Swenshuai.xi MS_PHY MApi_AUDIO_GetDDRInfo(AUDIO_DEC_ID DecId, EN_AUDIO_DDRINFO DDRInfo); 2832*53ee8cc1Swenshuai.xi 2833*53ee8cc1Swenshuai.xi MS_U32 MApi_AUDIO_GetCaps(AUDIO_DEC_ID DecId, MS_U32 *pCaps); 2834*53ee8cc1Swenshuai.xi 2835*53ee8cc1Swenshuai.xi MS_S32 MApi_AUDIO_PCM_Open(void *pData); 2836*53ee8cc1Swenshuai.xi MS_S32 MApi_AUDIO_PCM_Close(MS_S32 s32DeviceId); 2837*53ee8cc1Swenshuai.xi MS_S32 MApi_AUDIO_PCM_Start(MS_S32 s32DeviceId); 2838*53ee8cc1Swenshuai.xi MS_S32 MApi_AUDIO_PCM_Stop(MS_S32 s32DeviceId); 2839*53ee8cc1Swenshuai.xi MS_S32 MApi_AUDIO_PCM_Set(MS_S32 s32DeviceId, MS_U32 u32Cmd, const void *pData); 2840*53ee8cc1Swenshuai.xi MS_S32 MApi_AUDIO_PCM_Get(MS_S32 s32DeviceId, MS_U32 u32Cmd, void *pData); 2841*53ee8cc1Swenshuai.xi MS_U32 MApi_AUDIO_PCM_Read(MS_S32 s32DeviceId, void *pBuf, MS_U32 u32Size); 2842*53ee8cc1Swenshuai.xi MS_U32 MApi_AUDIO_PCM_Write(MS_S32 s32DeviceId, const void *pBuf, MS_U32 u32Size); 2843*53ee8cc1Swenshuai.xi MS_S32 MApi_AUDIO_PCM_Flush(MS_S32 s32DeviceId); 2844*53ee8cc1Swenshuai.xi 2845*53ee8cc1Swenshuai.xi #ifdef __cplusplus 2846*53ee8cc1Swenshuai.xi } 2847*53ee8cc1Swenshuai.xi #endif 2848*53ee8cc1Swenshuai.xi 2849*53ee8cc1Swenshuai.xi #endif // _API_AUDIO_H_ 2850*53ee8cc1Swenshuai.xi 2851