1 //<MStar Software> 2 //****************************************************************************** 3 // MStar Software 4 // Copyright (c) 2010 - 2012 MStar Semiconductor, Inc. All rights reserved. 5 // All software, firmware and related documentation herein ("MStar Software") are 6 // intellectual property of MStar Semiconductor, Inc. ("MStar") and protected by 7 // law, including, but not limited to, copyright law and international treaties. 8 // Any use, modification, reproduction, retransmission, or republication of all 9 // or part of MStar Software is expressly prohibited, unless prior written 10 // permission has been granted by MStar. 11 // 12 // By accessing, browsing and/or using MStar Software, you acknowledge that you 13 // have read, understood, and agree, to be bound by below terms ("Terms") and to 14 // comply with all applicable laws and regulations: 15 // 16 // 1. MStar shall retain any and all right, ownership and interest to MStar 17 // Software and any modification/derivatives thereof. 18 // No right, ownership, or interest to MStar Software and any 19 // modification/derivatives thereof is transferred to you under Terms. 20 // 21 // 2. You understand that MStar Software might include, incorporate or be 22 // supplied together with third party`s software and the use of MStar 23 // Software may require additional licenses from third parties. 24 // Therefore, you hereby agree it is your sole responsibility to separately 25 // obtain any and all third party right and license necessary for your use of 26 // such third party`s software. 27 // 28 // 3. MStar Software and any modification/derivatives thereof shall be deemed as 29 // MStar`s confidential information and you agree to keep MStar`s 30 // confidential information in strictest confidence and not disclose to any 31 // third party. 32 // 33 // 4. MStar Software is provided on an "AS IS" basis without warranties of any 34 // kind. Any warranties are hereby expressly disclaimed by MStar, including 35 // without limitation, any warranties of merchantability, non-infringement of 36 // intellectual property rights, fitness for a particular purpose, error free 37 // and in conformity with any international standard. You agree to waive any 38 // claim against MStar for any loss, damage, cost or expense that you may 39 // incur related to your use of MStar Software. 40 // In no event shall MStar be liable for any direct, indirect, incidental or 41 // consequential damages, including without limitation, lost of profit or 42 // revenues, lost or damage of data, and unauthorized system use. 43 // You agree that this Section 4 shall still apply without being affected 44 // even if MStar Software has been modified by MStar in accordance with your 45 // request or instruction for your use, except otherwise agreed by both 46 // parties in writing. 47 // 48 // 5. If requested, MStar may from time to time provide technical supports or 49 // services in relation with MStar Software to you for your use of 50 // MStar Software in conjunction with your or your customer`s product 51 // ("Services"). 52 // You understand and agree that, except otherwise agreed by both parties in 53 // writing, Services are provided on an "AS IS" basis and the warranty 54 // disclaimer set forth in Section 4 above shall apply. 55 // 56 // 6. Nothing contained herein shall be construed as by implication, estoppels 57 // or otherwise: 58 // (a) conferring any license or right to use MStar name, trademark, service 59 // mark, symbol or any other identification; 60 // (b) obligating MStar or any of its affiliates to furnish any person, 61 // including without limitation, you and your customers, any assistance 62 // of any kind whatsoever, or any information; or 63 // (c) conferring any license or right under any intellectual property right. 64 // 65 // 7. These terms shall be governed by and construed in accordance with the laws 66 // of Taiwan, R.O.C., excluding its conflict of law rules. 67 // Any and all dispute arising out hereof or related hereto shall be finally 68 // settled by arbitration referred to the Chinese Arbitration Association, 69 // Taipei in accordance with the ROC Arbitration Law and the Arbitration 70 // Rules of the Association by three (3) arbitrators appointed in accordance 71 // with the said Rules. 72 // The place of arbitration shall be in Taipei, Taiwan and the language shall 73 // be English. 74 // The arbitration award shall be final and binding to both parties. 75 // 76 //****************************************************************************** 77 //<MStar Software> 78 //////////////////////////////////////////////////////////////////////////////// 79 // 80 // Copyright (c) 2013-2015 MStar Semiconductor, Inc. 81 // All rights reserved. 82 // 83 // Unless otherwise stipulated in writing, any and all information contained 84 // herein regardless in any format shall remain the sole proprietary of 85 // MStar Semiconductor Inc. and be kept in strict confidence 86 // ("MStar Confidential Information") by the recipient. 87 // Any unauthorized act including without limitation unauthorized disclosure, 88 // copying, use, reproduction, sale, distribution, modification, disassembling, 89 // reverse engineering and compiling of the contents of MStar Confidential 90 // Information is unlawful and strictly prohibited. MStar hereby reserves the 91 // rights to any and all damages, losses, costs and expenses resulting therefrom. 92 // 93 //////////////////////////////////////////////////////////////////////////////// 94 95 //////////////////////////////////////////////////////////////////////////////////////////////////// 96 // 97 // File name: apiDMX_private.h 98 // Description: Demux (DMX) API private header file 99 // 100 //////////////////////////////////////////////////////////////////////////////////////////////////// 101 102 #ifndef _AUDIO_PRIV_H_ 103 #define _AUDIO_PRIV_H_ 104 105 #include "apiAUDIO.h" 106 #include "MsTypes.h" 107 108 #ifdef __cplusplus 109 extern "C" 110 { 111 #endif 112 113 //============================================================ 114 // AUDIO_SYSTEM RELATIONAL API FUNCTION 115 //============================================================ 116 typedef void (*IOCTL_AUDIO_INITIALIZE)(void); 117 typedef void (*IOCTL_AUDIO_SET_POWER_ON)(MS_BOOL); 118 typedef void (*IOCTL_AUDIO_SETDSPBASEADDR)(MS_U8, MS_PHY, MS_PHY ); 119 typedef MS_PHY (*IOCTL_AUDIO_GETDSPMADBASEADDR)(MS_U8); 120 typedef void (*IOCTL_AUDIO_WRITEDECMAILBOX)(MS_U8, MS_U16); 121 typedef void (*IOCTL_AUDIO_TRIGGERSIFPLL)(void); 122 typedef void (*IOCTL_AUDIO_MONITOR)(void); 123 typedef void (*IOCTL_AUDIO_SETSYSTEMINFO)(AUDIO_INIT_INFO*); 124 typedef void (*IOCTL_AUDIO_ASF_DATA_TO_DDR)(MS_BOOL); 125 typedef void (*IOCTL_AUDIO_R2_DEBUG_MSG)(MS_BOOL); 126 typedef void (*IOCTL_AUDIO_R2_DDR_LETENCY_MSG)(MS_BOOL); 127 typedef void (*IOCTL_AUDIO_SETOUTCONNECTIVITY)(void); 128 typedef void (*IOCTL_AUDIO_SETPATHINFO)(AUDIO_PATH_INFO*); 129 typedef void (*IOCTL_AUDIO_GETPATHINFO)(AUDIO_PATH_INFO*); 130 typedef void (*IOCTL_AUDIO_SETOUTPUTINFO)(AUDIO_OUT_INFO *); 131 typedef void (*IOCTL_AUDIO_SETSOURCEINFO)(AUDIO_SOURCE_INFO_TYPE); 132 typedef void (*IOCTL_AUDIO_INPUTSWITCH)(AUDIO_INPUT_TYPE, AUDIO_SWITCH_GROUP); 133 typedef void (*IOCTL_AUDIO_SETINPUTSCALE)(int); 134 typedef void (*IOCTL_AUDIO_SETSCARTSCALE)(int Step); 135 typedef MS_BOOL (*IOCTL_AUDIO_AUDYSSEY_VXT_SET_THRESH_LEVEL_TABLE)(int*); 136 typedef void (*IOCTL_AUDIO_SPDIF_SETCHANNELSTATUS)(SPDIF_CS_MODE_TYPE, SPDIF_CS_MODE_VALUE); 137 typedef MS_U16 (*IOCTL_AUDIO_SPDIF_GETCHANNELSTATUS)(SPDIF_CS_MODE_TYPE); 138 139 typedef MS_BOOL (*IOCTL_AUDIO_SETDATACAPTURESOURCE)(AUDIO_DEVICE_TYPE, AUDIO_CAPTURE_SOURCE_TYPE); 140 typedef void (*IOCTL_AUDIO_SETOUTPUTSOURCEINFO)(OUTPUT_SOURCE_INFO *); 141 typedef void (*IOCTL_AUDIO_GETOUTPUTSOURCEINFO)(OUTPUT_SOURCE_INFO *); 142 typedef MS_U16 (*IOCTL_AUDIO_READMAILBOX)(MS_BOOL, MS_U8); 143 typedef void (*IOCTL_AUDIO_WRITEMAILBOX)(MS_BOOL, MS_U8, MS_U16); 144 typedef void (*IOCTL_AUDIO_FWTRIGGERDSP)(MS_U16); 145 typedef void (*IOCTL_AUDIO_SETFWSTATUS)(MS_BOOL); 146 typedef void (*IOCTL_AUDIO_EXITAUDIOSYSTEM)(void); 147 typedef void (*IOCTL_AUDIO_REBOOTDSP)(MS_BOOL); 148 typedef void (*IOCTL_AUDIO_SENDINTRUPT)(MS_BOOL, MS_U8); 149 typedef void (*IOCTL_AUDIO_I2SSETMODE)(AUDIO_I2S_MODE_TYPE, AUDIO_I2S_MODE_VALUE); 150 typedef void (*IOCTL_AUTIO_WRITEPREINITTABLE)(void); 151 typedef void (*IOCTL_AUDIO_ENAEARPHONE_LOWPOWER_STAGE)(void); 152 typedef void (*IOCTL_AUDIO_ENAEARPHONE_HIGHDRIVING_STAGE)(void); 153 typedef MS_BOOL (*IOCTL_AUDIO_SUSPEND)(void); 154 typedef MS_BOOL (*IOCTL_AUDIO_RESUME)(void); 155 156 157 //============================================================= 158 // AUDIO_SOUND RELATIONAL API FUNCTION 159 //============================================================= 160 typedef MS_BOOL (*IOCTL_SND_PROCESSENABLE)(Sound_ENABLE_Type, MS_BOOL); 161 typedef MS_BOOL (*IOCTL_SND_SETPARAM1)(Sound_SET_PARAM_Type, MS_U16, MS_U16); 162 typedef MS_U16 (*IOCTL_SND_GETPARAM1)(Sound_GET_PARAM_Type, MS_U16); 163 typedef MS_BOOL (*IOCTL_AUDIO_SOUND_SETPARAM)(Sound_SET_Type, MS_U32*); 164 typedef void (*IOCTL_AUDIO_SETABSOLUTEVOLUME)(MS_U8, MS_U8, MS_U8); 165 //typedef void (*IOCTL_AUDIO_SETPRESCALE)(MS_U8, MS_U8); 166 //typedef void (*IOCTL_AUDIO_SETMUTE)(MS_U8, MS_BOOL); 167 typedef void (*IOCTL_AUDIO_SOURCECONNECT)(AUDIO_OUTPORT_SOURCE_TYPE, MS_BOOL); 168 //typedef void (*IOCTL_AUDIO_SETBALANCE)(MS_U8); 169 //typedef void (*IOCTL_AUDIO_ENABLEEQ)(MS_BOOL); 170 //typedef void (*IOCTL_AUDIO_ENABLETONE)(MS_BOOL); 171 //typedef void (*IOCTL_AUDIO_ENABLEAUTOVOLUME)(MS_BOOL); 172 //typedef void (*IOCTL_AUDIO_ENABLESURROUND)(MS_BOOL); 173 //typedef void (*IOCTL_AUDIO_ENABLEBALANCE)(MS_BOOL); 174 typedef void (*IOCTL_AUDIO_SETDYNAMICBASS)(MS_U8); 175 //typedef void (*IOCTL_AUDIO_SETBASS)(MS_U8); 176 //typedef void (*IOCTL_AUDIO_ABSOLUTEBASS)(MS_U8); 177 //typedef void (*IOCTL_AUDIO_SETTREBLE)(MS_U8); 178 typedef void (*IOCTL_AUDIO_ABSOLUTETREBLE)(MS_U8); 179 //typedef void (*IOCTL_AUDIO_SETEQ)(MS_U8, MS_U8); 180 typedef void (*IOCTL_AUDIO_SETEQ_7BAND)(MS_U8, MS_U8); 181 typedef void (*IOCTL_AUDIO_SETAVCTHRESHOLD)(MS_U8); 182 typedef void (*IOCTL_AUDIO_SETAVCMODE)(MS_U8); 183 typedef void (*IOCTL_AUDIO_SETAVCAT)(MS_U8); 184 typedef void (*IOCTL_AUDIO_SETAVCRT)(MS_U8); 185 typedef void (*IOCTL_AUDIO_SETBUFFERPROCESS)(MS_U8); 186 typedef void (*IOCTL_AUDIO_SETSURROUNDXA)(MS_U8); 187 typedef void (*IOCTL_AUDIO_SETSURROUNDXB)(MS_U8); 188 typedef void (*IOCTL_AUDIO_SETSURROUNDXK)(MS_U8); 189 typedef void (*IOCTL_AUDIO_SETSURROUNDLPFGAIN)(MS_U8); 190 typedef MS_U8 (*IOCTL_AUDIO_CONVERTVOLUMEUNIT)(MS_U8); 191 typedef void (*IOCTL_AUDIO_SETPEQCOEF)(AUDIO_PEQ_COEF*); 192 //typedef void (*IOCTL_AUDIO_ENABLEPEQ)(MS_BOOL); 193 typedef MS_BOOL (*IOCTL_AUDIO_ENABLEDCREMOVE)(MS_BOOL); 194 195 //============================================================ 196 // AUDIO_DTV RELATIONAL API FUNCTION 197 //============================================================ 198 typedef MS_BOOL (*IOCTL_AUDIO_RELEASEDECODESYSTEM)(AUDIO_DEC_ID); 199 typedef MS_BOOL (*IOCTL_AUDIO_SETDECODESYSTEM)(AUDIO_DEC_ID, AudioDecStatus_t*); 200 typedef MS_BOOL (*IOCTL_AUDIO_GETDECODESYSTEM)(AUDIO_DEC_ID, AudioDecStatus_t*); 201 typedef MS_BOOL (*IOCTL_AUDIO_SETDECODECMD)(AUDIO_DEC_ID, En_DVB_decCmdType); 202 typedef AUDIO_DEC_ID (*IOCTL_AUDIO_OPENDECODESYSTEM)(AudioDecStatus_t *); 203 typedef MS_BOOL (*IOCTL_AUDIO_SETSYSTEM)(En_DVB_decSystemType); 204 typedef MS_BOOL (*IOCTL_AUDIO_GETDECSYSSUPPORTSTATUS)(En_DVB_decSystemType); 205 typedef MS_BOOL (*IOCTL_AUDIO_ISMADLOCK)(void); 206 typedef En_DVB_decCmdType (*IOCTL_AUDIO_GETDECSTATUS)(void); 207 typedef AU_DVB_DECCMD (*IOCTL_AUDIO_GETCOMMAND)(En_DVB_AudioDecoder); 208 typedef void (*IOCTL_AUDIO_SETCOMMAND)(En_DVB_decCmdType); 209 typedef MS_BOOL (*IOCTL_AUDIO_GETMAD_LOCK)(void); 210 typedef void (*IOCTL_AUDIO_SETADOUTPUTMODE)(MS_U8); 211 typedef void (*IOCTL_AUDIO_SETADABSOLUTEVOLUME)(MS_U8); 212 typedef void (*IOCTL_AUDIO_SETMAINVOLUMEFORAD)(MS_U8 u8Vol1, MS_U8 u8Vol2); 213 typedef void (*IOCTL_AUDIO_ADSETMUTE)(MS_BOOL); 214 215 //============================================================ 216 // AUDIO_PVR RELATED FUNCTIONS 217 //============================================================ 218 typedef void (*IOCTL_AUDIO_SETENCINIT)(AU_DVB_ENCBR, MS_U8); 219 typedef void (*IOCTL_AUDIO_SETENCCOMMAND)(AU_DVB_ENCCMD); 220 typedef void (*IOCTL_AUDIO_GETENCODEFRAMEINFO)(AU_DVB_ENC_FRAME_INFO *); 221 typedef MS_BOOL (*IOCTL_AUDIO_GETENCODEDONEFLAG)(void); 222 223 //============================================================ 224 // AUDIO_ATV RELATIONAL API FUNCTION 225 //============================================================ 226 typedef void (*IOCTL_AUDIO_SIF_SETSTANDARD)(AUDIOSTANDARD_TYPE); 227 typedef MS_U8 (*IOCTL_AUDIO_SIF_GETSOUNDMODE)(void); 228 typedef MS_BOOL (*IOCTL_AUDIO_SIF_SETSOUNDMODE)(MS_U8); 229 typedef MS_BOOL (*IOCTL_AUDIO_SIF_GETAUDIOSTATUS)(AUDIOSTATUS *); 230 typedef void (*IOCTL_AUDIO_SIF_STARTAUTOSTANDARDDETECTION)(void); 231 typedef AUDIOSTANDARD_TYPE (*IOCTL_AUDIO_SIF_GETRESULTOFAUTOSTANDARDDETECTION)(void); 232 typedef AUDIOSTANDARD_TYPE (*IOCTL_AUDIO_SIF_CONVERTTOBASICAUDIOSTANDARD)(AUDIOSTANDARD_TYPE); 233 typedef void (*IOCTL_AUDIO_SIF_SETTHRESHOLD)(THR_TBL_TYPE *); 234 typedef void (*IOCTL_AUDIO_SIF_SETPRESCALE)(MS_U8, MS_S32); 235 typedef MS_BOOL (*IOCTL_AUDIO_SIF_ISPALTYPE)(AUDIO_SIF_PAL_TYPE); 236 typedef void (*IOCTL_AUDIO_SIF_SETPALTYPE)(AUDIO_SIF_PAL_TYPE); 237 typedef void (*IOCTL_AUDIO_SIF_SENDCMD)(En_AUD_SIF_CmdType, MS_U8, MS_U8); 238 typedef void (*IOCTL_AUDIO_SIF_SHIFT)(En_AUD_VIF_Type); 239 240 #if 1 241 //============================================================ 242 // AUDIO_FM_RADIO RELATIONAL API FUNCTION 243 //============================================================ 244 typedef MS_U8 (*IOCTL_AUDIO_FM_RADIO_GETSOUNDMODE)(void); 245 typedef void (*IOCTL_AUDIO_FM_RADIO_SETSOUNDMODE)(MS_U8); 246 typedef void (*IOCTL_AUDIO_FM_RADIO_DEEMPHASSISOPTION)(MS_BOOL); 247 typedef MS_S8 (*IOCTL_AUDIO_FM_RADIO_GET_DC_AMP)(void); 248 typedef MS_U8 (*IOCTL_AUDIO_FM_RADIO_GET_NSR)(void); 249 typedef void (*IOCTL_AUDIO_FM_RADIO_RESET)(void); 250 #endif 251 //============================================================= 252 // AUDIO_SPDIF RELATIONAL API FUNCTION 253 //============================================================= 254 typedef void (*IOCTL_AUDIO_SPDIF_HWEN)(MS_BOOL); 255 typedef void (*IOCTL_AUDIO_SPDIF_SETMUTE)(MS_BOOL); 256 typedef void (*IOCTL_AUDIO_SPDIF_SETMODE)(MS_U8); 257 typedef MS_U8 (*IOCTL_AUDIO_SPDIF_GETMODE)(void); 258 typedef void (*IOCTL_AUDIO_SPDIF_SETSCMS)(MS_U8, MS_U8); 259 typedef MS_U8 (*IOCTL_AUDIO_SPDIF_GETSCMS)(void); 260 typedef void (*IOCTL_AUDIO_SPDIF_MONITOR)(void); 261 typedef MS_BOOL (*IOCTL_AUDIO_SPDIF_CHANNELSTATUS_CTRL)(AUDIO_SPDIF_CS_TYPE, AUDIO_SPDIF_CS_TYPE_STATUS); 262 typedef MS_BOOL (*IOCTL_AUDIO_DIGITALOUT_SETCHANNELSTATUS)(DIGITAL_OUTPUT_TYPE, Digital_Out_Channel_Status_t*); 263 typedef void (*IOCTL_AUDIO_DIGITALOUT_GETCHANNELSTATUS)(DIGITAL_OUTPUT_TYPE, Digital_Out_Channel_Status_t*); 264 typedef MS_BOOL (*IOCTL_AUDIO_DIGITALOUT_SETDEVICECAPABILITY)(DIGITAL_OUTPUT_TYPE, AUDIO_FORMAT_CODE, Digital_Out_Device_Capability_t*); 265 266 //============================================================= 267 // AUDIO_HDMI RELATIONAL API FUNCTION 268 //============================================================= 269 typedef void (*IOCTL_AUDIO_HDMI_TX_SETMUTE)(MS_BOOL); 270 typedef void (*IOCTL_AUDIO_HDMI_TX_GETSTATUS)(MS_BOOL*, AUDIO_FS_TYPE*, HDMI_TX_OUTPUT_TYPE*); 271 typedef MS_U8 (*IOCTL_AUDIO_HDMI_MONITOR)(void); 272 typedef MS_BOOL (*IOCTL_AUDIO_HDMI_GETNONPCMFLAG)(void); 273 typedef void (*IOCTL_AUDIO_HDMI_SETNONPCM)(MS_U8); 274 typedef AUDIO_HDMI_RX_TYPE (*IOCTL_AUDIO_HDMI_RX_SETNONPCM)(MS_U8); 275 typedef AUDIO_HDMI_RX_TYPE (*IOCTL_AUDIO_HDMI_RX_GETNONPCM)(void); 276 typedef void (*IOCTL_AUDIO_DTV_HDMI_CFG)(MS_U8); 277 typedef MS_U16 (*IOCTL_AUDIO_HDMI_GETSYNTHFREG)(void); 278 typedef void (*IOCTL_AUDIO_HDMI_SETDOWNSAMPLE)(MS_U8); 279 typedef void (*IOCTL_AUDIO_HDMI_TX_SETMODE)(HDMI_TX_OUTPUT_TYPE); 280 typedef MS_BOOL (*IOCTL_AUDIO_HDMI_RX_GetHDMIINAUDIOSTATUS)(ST_HDMI_AUDIO_STATUS*); 281 282 //============================================================= 283 // AUDIO_ADVANCE_SOUND RELATIONAL API FUNCTION 284 //============================================================= 285 typedef MS_BOOL (*IOCTL_AUDIO_ADVSOUND_PROCESSENABLE)(ADVSND_TYPE); 286 typedef MS_BOOL (*IOCTL_AUDIO_ADVSOUND_SUBPROCESSENABLE)(ADVFUNC, MS_BOOL); 287 typedef MS_BOOL (*IOCTL_AUDIO_ADVSOUND_SETPARAM)(ADVSND_PARAM, MS_U16, MS_U16); 288 typedef MS_BOOL (*IOCTL_AUDIO_ADVSND_SETPARAM)(ADVSND_PARAM, MS_U32, MS_U16); 289 //typedef MS_U32 (*IOCTL_AUDIO_ADVSOUND_GETPARAM)(ADVSND_GET_PARAM); 290 typedef MS_BOOL (*IOCTL_AUDIO_ADVSOUND_SETASFPARAM)(ADVSND_PARAM, MS_S16, MS_S16); 291 //typedef MS_U32 (*IOCTL_AUDIO_ADVSOUND_GETASFPARAM)(ADVSND_GET_PARAM param); 292 293 typedef MS_U32 (*IOCTL_AUDIO_ADVSOUND_GETINFO)(AdvSound_GET_Type); 294 typedef void (*IOCTL_AUDIO_DBXTV_SETMODE)(EN_DBXTV_TotSonMode, EN_DBXTV_TotVolMode, EN_DBXTV_TotSurMode,MS_U32); 295 typedef void (*IOCTL_AUDIO_SEINIT)(void); 296 typedef void (*IOCTL_AUDIO_SETADVSNDSYS)(En_DVB_advsndType); 297 //typedef void (*IOCTL_AUDIO_ADVSND_SET_SOUND_PARAM)(AdvSound_SET_Type, MS_U32*); 298 typedef void (*IOCTL_AUDIO_SETVDS)(MS_U8); 299 typedef void (*IOCTL_AUDIO_SETVSPK)(MS_U8); 300 typedef void (*IOCTL_AUDIO_SETSRS)(MS_U8); 301 typedef void (*IOCTL_AUDIO_SETBBE)(MS_U8, MS_U8); 302 typedef void (*IOCTL_AUDIO_VSPK_WMOD)(MS_U8); 303 typedef void (*IOCTL_AUDIO_VSPK_SMOD)(MS_U8); 304 typedef void (*IOCTL_AUDIO_SRS_DC)(MS_U8); 305 typedef void (*IOCTL_AUDIO_SRS_TRUBASS)(MS_U8); 306 typedef void (*IOCTL_AUDIO_SRS_SETTSXTPARA)(MS_U8, MS_U8); 307 typedef void (*IOCTL_AUDIO_SETSRSTSHD)(MS_U8); 308 typedef void (*IOCTL_AUDIO_TSHD_TruBass)(MS_U8); 309 typedef void (*IOCTL_AUDIO_TSHD_DEFINITION)(MS_U8); 310 typedef void (*IOCTL_AUDIO_TSHD_CLARITY)(MS_U8); 311 typedef void (*IOCTL_AUDIO_SRS_SETTSHDPARA)(MS_U8, MS_U8); 312 typedef void (*IOCTL_AUDIO_COPY_PARAMETER)(ADVSND_PARAM, void*, MS_U32); 313 314 //============================================================= 315 // AUDIO_KTV RELATIONAL API FUNCTION 316 //============================================================= 317 typedef MS_BOOL (*IOCTL_AUDIO_SETKTVINFO)(AUDIO_KTV_MODEL, AUDIO_KTV_PARAMTYPE, MS_U32, MS_U32); 318 typedef MS_U32 (*IOCTL_AUDIO_GETKTVINFO)(AUDIO_KTV_MODEL,AUDIO_KTV_INFOTYPE 319 ); 320 typedef void (*IOCTL_AUDIO_SETMIXMODEVOLUME)(AUDIO_SOURCE_INFO_TYPE, AUDIO_MIX_VOL_TYPE, MS_U8, MS_U8); 321 typedef void (*IOCTL_AUDIO_SETMIXMODEMUTE)(AUDIO_SOURCE_INFO_TYPE, AUDIO_MIX_VOL_TYPE, MS_BOOL); 322 typedef void (*IOCTL_AUDIO_PLAYMENUSOUND)(void); 323 324 //============================================================= 325 // AUDIO_MM RELATIONAL API FUNCTION 326 //============================================================= 327 // Set Info 328 typedef MS_BOOL (*IOCTL_AUDIO_SETCOMMAUDIOINFO)(Audio_COMM_infoType, MS_VIRT, MS_VIRT); 329 typedef MS_BOOL (*IOCTL_AUDIO_SETDECODEPARAM)(AUDIO_DEC_ID DecId, Audio_ParamType paramType, MS_U32* Param ); 330 typedef MS_BOOL (*IOCTL_AUDIO_SETMPEGINFO)(Audio_MPEG_infoType, MS_VIRT, MS_VIRT); 331 typedef MS_BOOL (*IOCTL_AUDIO_SETAC3INFO)(Audio_AC3_infoType , MS_VIRT, MS_VIRT); 332 typedef MS_BOOL (*IOCTL_AUDIO_SETAC3PINFO)(Audio_AC3P_infoType , MS_VIRT, MS_VIRT); 333 typedef MS_BOOL (*IOCTL_AUDIO_SETAACINFO)(Audio_AAC_infoType, MS_VIRT, MS_VIRT ); 334 typedef MS_BOOL (*IOCTL_AUDIO_SETWMAINFO)(Audio_WMA_infoType, MS_VIRT, MS_VIRT ); 335 typedef MS_BOOL (*IOCTL_AUDIO_SETDTSCOMMONCTRL)(Audio_DTS_infoType , Audio_DTS_CtrlType); 336 // Get Info 337 typedef MS_U64 (*IOCTL_AUDIO_GETCOMMAUDIOINFO)(Audio_COMM_infoType); 338 typedef MS_U32 (*IOCTL_AUDIO_GETMPEGINFO)(Audio_MPEG_infoType); 339 typedef MS_U32 (*IOCTL_AUDIO_GETAC3INFO)(Audio_AC3_infoType); 340 typedef MS_U32 (*IOCTL_AUDIO_GETAC3PINFO)(Audio_AC3P_infoType); 341 typedef MS_U32 (*IOCTL_AUDIO_GETAACINFO)(Audio_AAC_infoType); 342 typedef MS_U32 (*IOCTL_AUDIO_GETWMAINFO)(Audio_WMA_infoType); 343 typedef MS_U32 (*IOCTL_AUDIO_GETDTSINFO)(Audio_DTS_infoType); 344 typedef MS_U8 (*IOCTL_AUDIO_XPCM_PARAM)(XPCM_TYPE, MS_U8 , MS_U16, MS_U8 , MS_U16, MS_U16); 345 typedef void (*IOCTL_AUDIO_XPCM2_PARAM)(XPCM_TYPE, MS_U8 , MS_U16, MS_U8 , MS_U16, MS_U16); 346 typedef MS_U16 (*IOCTL_AUDIO_XPCM2_CHECKINTSTATUS)(void); 347 // RA8 348 typedef MS_U8 (*IOCTL_AUDIO_RA8_PARAM)(MS_U16, MS_U16, MS_U16, MS_U16*, MS_U16*, MS_U16*, MS_U16*, MS_U16*); 349 350 typedef void (*IOCTL_AUDIO_INIT)(En_DVB_decSystemType); 351 typedef void (*IOCTL_AUDIO_STARTDECODE)(void); 352 typedef void (*IOCTL_AUDIO_STARTBROWSE)(void); 353 typedef void (*IOCTL_AUDIO_STOPDECODE)(void); 354 typedef void (*IOCTL_AUDIO_PAUSEDECODE)(void); 355 typedef MS_U8 (*IOCTL_AUDIO_CHECKPLAYDONE)(void); 356 typedef MS_U16 (*IOCTL_AUDIO_GETRESIDUALBUFFERSIZE)(void); 357 typedef MS_U16 (*IOCTL_AUDIO_GETPCMBUFFERSIZE)(MS_U16); 358 typedef MS_U16 (*IOCTL_AUDIO_GETPCMBUFFERSIZE2)(MS_U16, MS_U16); 359 typedef MS_U32 (*IOCTL_AUDIO_GETCURRENTFRAMENUMBER)(void); 360 typedef MS_U16 (*IOCTL_AUDIO_GETSAMPLERATE)(void); 361 typedef MS_U32 (*IOCTL_AUDIO_GETBITRATE)(void); 362 typedef Audio_MP3_LAYER (*IOCTL_AUDIO_GETLAYER)(void); 363 typedef MS_U8 (*IOCTL_AUDIO_CHECKINPUTREQUEST)(MS_PHY*, MS_U32*); 364 typedef void (*IOCTL_AUDIO_SETINPUT)(void); 365 typedef void (*IOCTL_AUDIO_SETSAMPLERATEINDEX)(MS_U16); 366 typedef void (*IOCTL_AUDIO_SETXPCMPARAM)(XPCM_TYPE, MS_U8, MS_U16, MS_U8, MS_U16, MS_U16); 367 typedef void (*IOCTL_AUDIO_FILEENDNOTIFICATION)(void); 368 typedef void (*IOCTL_AUDIO_FILEENDDATAHANDLE)(MS_U32); 369 typedef MS_U32 (*IOCTL_AUDIO_GETPLAYTICK)(void); 370 typedef MS_U16 (*IOCTL_AUDIO_GETESMEMCNT)(void); 371 typedef void (*IOCTL_AUDIO_SETASFPARM)(WMA_ASF_PARMTYPE, MS_U32); 372 typedef void (*IOCTL_AUDIO_MM_SETINPUT)(En_DVB_AudioDecoder, MS_U8); 373 typedef MS_U32 (*IOCTL_AUDIO_MM_CHECKPLAYDONE)(En_DVB_AudioDecoder); 374 typedef MS_U8 (*IOCTL_AUDIO_MM_CHECKINPUTREQUEST)(En_DVB_AudioDecoder, MS_PHY*, MS_U32*); 375 typedef void (*IOCTL_AUDIO_DMAREADER_INIT)(SAMPLE_RATE); 376 typedef void (*IOCTL_AUDIO_DMAREADER_ALLINPUT_INIT)(void); 377 typedef MS_BOOL (*IOCTL_AUDIO_DMAREADER_WRITEPCM)(void* , MS_U32 ); 378 typedef void (*IOCTL_AUDIO_DMAWRITER_INIT)(void); 379 typedef void (*IOCTL_AUDIO_USBPCM_ENABLE)(MS_BOOL); 380 typedef void (*IOCTL_AUDIO_USBPCM_SETFLAG)(MS_BOOL); 381 typedef MS_BOOL (*IOCTL_AUDIO_USBPCM_GETFLAG)(void); 382 typedef void (*IOCTL_AUDIO_USBPCM_GETMEMINFO)(AUDIO_UPLOAD_INFO *); 383 typedef MS_BOOL (*IOCTL_AUDIO_PCMCAPTURE_INIT)(const AUDIO_DEVICE_TYPE , const AUDIO_CAPTURE_SOURCE_TYPE); 384 typedef MS_BOOL (*IOCTL_AUDIO_PCMCAPTURE_START)(const AUDIO_DEVICE_TYPE); 385 typedef MS_BOOL (*IOCTL_AUDIO_PCMCAPTURE_STOP)(const AUDIO_DEVICE_TYPE); 386 typedef MS_BOOL (*IOCTL_AUDIO_PCMCAPTURE_READ)(const AUDIO_DEVICE_TYPE , void *, const MS_U32); 387 typedef MS_BOOL (*IOCTL_AUDIO_VOIP_CONFIG)(AUDIO_VoIP_CONFIG_TYPE, MS_U32, MS_U32); 388 typedef MS_BOOL (*IOCTL_AUDIO_ALSA_CHECK)(void); 389 typedef MS_BOOL (*IOCTL_AUDIO_ALSA_ENABLE)(MS_BOOL); 390 typedef MS_BOOL (*IOCTL_AUDIO_UNI_CHECKDECODEDONE)(MS_PHY*, MS_U32*); 391 typedef void (*IOCTL_AUDIO_UNI_SETOUTPUT)(MS_U32); 392 typedef void (*IOCTL_AUDIO_UNI_SET_PCMINPUTWRITEADDR)(MS_U32); 393 typedef MS_U32 (*IOCTL_AUDIO_UNI_GET_OUTPCMLEVEL)(void); 394 typedef void (*IOCTL_AUDIO_RINGTASK)(audioRingTask*); 395 typedef void (*IOCTL_AUDIO_RING_DATATRANSFER)(audioRingTask* , audioRingTask* ); 396 typedef MS_BOOL (*IOCTL_AUDIO_MM2_INITAESINFO)(AUDIO_DEC_ID); 397 typedef MS_BOOL (*IOCTL_AUDIO_MM2_CHECKAESINFO)(AUDIO_DEC_ID, AES_INFO*); 398 typedef MS_BOOL (*IOCTL_AUDIO_MM2_INPUTAESFINISHED)( AUDIO_DEC_ID, MS_U32, MS_BOOL, MS_U64); 399 typedef MS_BOOL (*IOCTL_AUDIO_SETAUDIOPARAM2)(AUDIO_DEC_ID, Audio_ParamType, MS_VIRT); 400 typedef MS_BOOL (*IOCTL_AUDIO_GETAUDIOINFO2)(AUDIO_DEC_ID, Audio_InfoType, void*); 401 typedef MS_PHY (*IOCTL_AUDIO_GETDDRINFO)(AUDIO_DEC_ID, EN_AUDIO_DDRINFO); 402 typedef MS_U32 (*IOCTL_AUDIO_GETCAPS)(AUDIO_DEC_ID DecId, MS_U32 *pCaps); 403 typedef MS_S32 (*IOCTL_AUDIO_PCMOPEN)(void*); 404 typedef MS_S32 (*IOCTL_AUDIO_PCMCLOSE)(MS_S32); 405 typedef MS_S32 (*IOCTL_AUDIO_PCMSTART)(MS_S32); 406 typedef MS_S32 (*IOCTL_AUDIO_PCMSTOP)(MS_S32); 407 typedef MS_S32 (*IOCTL_AUDIO_PCMSET)(MS_S32, MS_U32, const void*); 408 typedef MS_S32 (*IOCTL_AUDIO_PCMGET)(MS_S32, MS_U32, void*); 409 typedef MS_U32 (*IOCTL_AUDIO_PCMREAD)(MS_S32, void*, MS_U32); 410 typedef MS_U32 (*IOCTL_AUDIO_PCMWRITE)(MS_S32, const void*, MS_U32); 411 typedef MS_S32 (*IOCTL_AUDIO_PCMFLUSH)(MS_S32); 412 typedef MS_S32 (*IOCTL_AUDIO_ENCODEROPEN)(const char*); 413 typedef MS_S32 (*IOCTL_AUDIO_ENCODERCLOSE)(MS_S32); 414 typedef MS_S32 (*IOCTL_AUDIO_ENCODERSTART)(MS_S32); 415 typedef MS_S32 (*IOCTL_AUDIO_ENCODERSTOP)(MS_S32); 416 typedef MS_S32 (*IOCTL_AUDIO_ENCODERIOCTL)(MS_S32, const char*, void*); 417 typedef MS_U32 (*IOCTL_AUDIO_ENCODEREAD)(MS_S32, void*, MS_U32); 418 typedef MS_S32 (*IOCTL_AUDIO_ENCODERFLUSH)(MS_S32); 419 // to add... 420 421 typedef struct _AUDIO_INSTANT_PRIVATE 422 { 423 //============================================================ 424 // AUDIO_SYSTEM RELATIONAL API FUNCTION 425 //============================================================ 426 427 IOCTL_AUDIO_INITIALIZE fpAUDIOInitialize; 428 IOCTL_AUDIO_SET_POWER_ON fpAUDIOSetPowerOn; 429 IOCTL_AUDIO_SETDSPBASEADDR fpAUDIOSetDSPBaseAddr; 430 IOCTL_AUDIO_GETDSPMADBASEADDR fpAUDIOGetDSPMadBaseAddr; 431 IOCTL_AUDIO_WRITEDECMAILBOX fpAUDIOWriteDecMailBox; 432 IOCTL_AUDIO_TRIGGERSIFPLL fpAUDIOTriggerSifPLL; 433 IOCTL_AUDIO_MONITOR fpAUDIOMonitor; 434 IOCTL_AUDIO_SETSYSTEMINFO fpAUDIOSetSystemInfo; 435 IOCTL_AUDIO_ASF_DATA_TO_DDR fpAUDIOASFDataToDDR; 436 IOCTL_AUDIO_R2_DEBUG_MSG fpAUDIOR2DebugMSG; 437 IOCTL_AUDIO_R2_DDR_LETENCY_MSG fpAUDIOR2DDRLetencyMSG; 438 IOCTL_AUDIO_SETOUTCONNECTIVITY fpAUDIOSetOutConnectivity; 439 IOCTL_AUDIO_SETPATHINFO fpAUDIOSetPathInfo; 440 IOCTL_AUDIO_GETPATHINFO fpAUDIOGetPathInfo; 441 IOCTL_AUDIO_SETOUTPUTINFO fpAUDIOSetOutputInfo; 442 IOCTL_AUDIO_SETSOURCEINFO fpAUDIOSetSourceInfo; 443 IOCTL_AUDIO_INPUTSWITCH fpAUDIOInputSwitch; 444 IOCTL_AUDIO_SETINPUTSCALE fpAUDIOSetInputScale; 445 IOCTL_AUDIO_SETSCARTSCALE fpAUDIOSetScartScale; 446 IOCTL_AUDIO_AUDYSSEY_VXT_SET_THRESH_LEVEL_TABLE fpAUDIOAudysseyVXTSetThreshLevelTable; 447 IOCTL_AUDIO_SPDIF_SETCHANNELSTATUS fpAUDIOSPDIFSetChannelStauts; 448 IOCTL_AUDIO_SPDIF_GETCHANNELSTATUS fpAUDIOSPDIFGetChannelStatus; 449 450 IOCTL_AUDIO_SETDATACAPTURESOURCE fpAUDIOSetDataCaptureSource; 451 IOCTL_AUDIO_SETOUTPUTSOURCEINFO fpAUDIOSetOutputSourceInfo; 452 IOCTL_AUDIO_GETOUTPUTSOURCEINFO fpAUDIOGetOutputSourceInfo; 453 IOCTL_AUDIO_READMAILBOX fpAUDIOReadMailBox; 454 IOCTL_AUDIO_WRITEMAILBOX fpAUDIOWriteMailBox; 455 IOCTL_AUDIO_FWTRIGGERDSP fpAUDIOFwTriggerDsp; 456 IOCTL_AUDIO_SETFWSTATUS fpAUDIOSetFwStatus; 457 IOCTL_AUDIO_EXITAUDIOSYSTEM fpAUDIOExitAudioSystem; 458 IOCTL_AUDIO_REBOOTDSP fpAUDIORebootDSP; 459 IOCTL_AUDIO_SENDINTRUPT fpAUDIOSendIntrupt; 460 IOCTL_AUDIO_I2SSETMODE fpAUDIOI2SSetMode; 461 IOCTL_AUTIO_WRITEPREINITTABLE fpAUDIOWritePreInitTable; 462 IOCTL_AUDIO_ENAEARPHONE_LOWPOWER_STAGE fpAUDIOEnaEarphoneLowPowerStage; 463 IOCTL_AUDIO_ENAEARPHONE_HIGHDRIVING_STAGE fpAUDIOEnaEarphoneHighDrivingStage; 464 IOCTL_AUDIO_SUSPEND fpAUDIOSuspend; 465 IOCTL_AUDIO_RESUME fpAUDIOResume; 466 467 //============================================================= 468 // AUDIO_SOUND RELATIONAL API FUNCTION 469 //============================================================= 470 IOCTL_SND_PROCESSENABLE fpSNDProcessEnable; 471 IOCTL_SND_SETPARAM1 fpSNDSetParam1; 472 IOCTL_SND_GETPARAM1 fpSNDGetParam1; 473 IOCTL_AUDIO_SOUND_SETPARAM fpAUDIOSoundSetParam; 474 IOCTL_AUDIO_SETABSOLUTEVOLUME fpAUDIOSetAbsoluteVolume; 475 //IOCTL_AUDIO_SETPRESCALE fpAUDIOSetPreScale; 476 //IOCTL_AUDIO_SETMUTE fpAUDIOSetMute; 477 IOCTL_AUDIO_SOURCECONNECT fpAUDIOSourceConnect; 478 //IOCTL_AUDIO_SETBALANCE fpAUDIOSetBalance; 479 //IOCTL_AUDIO_ENABLEEQ fpAUDIOEnableEQ; 480 //IOCTL_AUDIO_ENABLETONE fpAUDIOEnableTone; 481 //IOCTL_AUDIO_ENABLEAUTOVOLUME fpAUDIOEnableAutoVolume; 482 //IOCTL_AUDIO_ENABLESURROUND fpAUDIOEnableSurround; 483 //IOCTL_AUDIO_ENABLEBALANCE fpAUDIOEnableBalance; 484 IOCTL_AUDIO_SETDYNAMICBASS fpAUDIOSetDynamicBass; 485 //IOCTL_AUDIO_SETBASS fpAUDIOSetBass; 486 //IOCTL_AUDIO_ABSOLUTEBASS fpAUDIOAbsoluteBass; 487 //IOCTL_AUDIO_SETTREBLE fpAUDIOSetTreble; 488 IOCTL_AUDIO_ABSOLUTETREBLE fpAUDIOAbsoluteTreble; 489 //IOCTL_AUDIO_SETEQ fpAUDIOSetEq; 490 IOCTL_AUDIO_SETEQ_7BAND fpAUDIOSetEq7band; 491 IOCTL_AUDIO_SETAVCTHRESHOLD fpAUDIOSetAvcThreshold; 492 IOCTL_AUDIO_SETAVCMODE fpAUDIOSetAvcMode; 493 IOCTL_AUDIO_SETAVCAT fpAUDIOSetAvcAT; 494 IOCTL_AUDIO_SETAVCRT fpAUDIOSetAvcRT; 495 IOCTL_AUDIO_SETBUFFERPROCESS fpAUDIOSetBufferProcess; 496 IOCTL_AUDIO_SETSURROUNDXA fpAUDIOSetSurroundXA; 497 IOCTL_AUDIO_SETSURROUNDXB fpAUDIOSetSurroundXB; 498 IOCTL_AUDIO_SETSURROUNDXK fpAUDIOSetSurroundXK; 499 IOCTL_AUDIO_SETSURROUNDLPFGAIN fpAUDIOSetSurroundLPFGain; 500 IOCTL_AUDIO_CONVERTVOLUMEUNIT fpAUDIOConvertVolumeUnit; 501 IOCTL_AUDIO_SETPEQCOEF fpAUDIOSetPEQCoef; 502 //IOCTL_AUDIO_ENABLEPEQ fpAUDIOEnablePEQ; 503 IOCTL_AUDIO_ENABLEDCREMOVE fpAUDIOEnableDcRemove; 504 505 //============================================================ 506 // AUDIO_DTV RELATIONAL API FUNCTION 507 //============================================================ 508 IOCTL_AUDIO_RELEASEDECODESYSTEM fpAUDIOReleaseDecodeSystem; 509 IOCTL_AUDIO_SETDECODESYSTEM fpAUDIOSetDecodeSystem; 510 IOCTL_AUDIO_GETDECODESYSTEM fpAUDIOGetDecodeSystem; 511 IOCTL_AUDIO_SETDECODECMD fpAUDIOSetDecodeCmd; 512 IOCTL_AUDIO_OPENDECODESYSTEM fpAUDIOOpenDecodeSystem; 513 IOCTL_AUDIO_SETSYSTEM fpAUDIOSetSystem; 514 IOCTL_AUDIO_GETDECSYSSUPPORTSTATUS fpAUDIOGetDecSysSupportStatus; 515 IOCTL_AUDIO_ISMADLOCK fpAUDIOIsMadLock; 516 IOCTL_AUDIO_GETDECSTATUS fpAUDIOGetDecStatus; 517 IOCTL_AUDIO_GETCOMMAND fpAUDIOGetCommand; 518 IOCTL_AUDIO_SETCOMMAND fpAUDIOSetCommand; 519 IOCTL_AUDIO_GETMAD_LOCK fpAUDIOGetMADLock; 520 IOCTL_AUDIO_SETADOUTPUTMODE fpAUDIOSetADOutputMode; 521 IOCTL_AUDIO_SETADABSOLUTEVOLUME fpAUDIOSetADAbsoluteVoluem; 522 IOCTL_AUDIO_SETMAINVOLUMEFORAD fpAUDIOSetMainVolumeForAD; 523 IOCTL_AUDIO_ADSETMUTE fpAUDIOADSetMute; 524 525 //============================================================ 526 // AUDIO_PVR RELATED FUNCTIONS 527 //============================================================ 528 IOCTL_AUDIO_SETENCINIT fpAUDIOSetEncInit; 529 IOCTL_AUDIO_SETENCCOMMAND fpAUDIOSetEncCommand; 530 IOCTL_AUDIO_GETENCODEFRAMEINFO fpAUDIOGetEncodeFrameInfo; 531 IOCTL_AUDIO_GETENCODEDONEFLAG fpAUDIOGetEncodeDoneFlag; 532 533 //============================================================ 534 // AUDIO_ATV RELATIONAL API FUNCTION 535 //============================================================ 536 IOCTL_AUDIO_SIF_SETSTANDARD fpAUDIOSIFSetStandard; 537 IOCTL_AUDIO_SIF_GETSOUNDMODE fpAUDIOSIFGetSoundMode; 538 IOCTL_AUDIO_SIF_SETSOUNDMODE fpAUDIOSIFSetSoundMode; 539 IOCTL_AUDIO_SIF_GETAUDIOSTATUS fpAUDIOSIFGetAudioStatus; 540 IOCTL_AUDIO_SIF_STARTAUTOSTANDARDDETECTION fpAUDIOSIFStartAutoStandardDetection; 541 IOCTL_AUDIO_SIF_GETRESULTOFAUTOSTANDARDDETECTION fpAUDIOSIFGetResultOfAutoStandardDetection; 542 IOCTL_AUDIO_SIF_CONVERTTOBASICAUDIOSTANDARD fpAUDIOSIFConvertToBasicAudioStandard; 543 IOCTL_AUDIO_SIF_SETTHRESHOLD fpAUDIOSIFSetThreshold; 544 IOCTL_AUDIO_SIF_SETPRESCALE fpAUDIOSIFSetPrescale; 545 IOCTL_AUDIO_SIF_ISPALTYPE fpAUDIOSIFIsPALType; 546 IOCTL_AUDIO_SIF_SETPALTYPE fpAUDIOSIFSetPALType; 547 IOCTL_AUDIO_SIF_SENDCMD fpAUDIOSIFSendCmd; 548 IOCTL_AUDIO_SIF_SHIFT fpAUDIOSIFShift; 549 550 #if 1 551 //============================================================ 552 // AUDIO_FM_RADIO RELATIONAL API FUNCTION 553 //============================================================ 554 IOCTL_AUDIO_FM_RADIO_GETSOUNDMODE fpAUDIOFMRADIOGetSoundMode; 555 IOCTL_AUDIO_FM_RADIO_SETSOUNDMODE fpAUDIOFMRADIOSetSoundMode; 556 IOCTL_AUDIO_FM_RADIO_DEEMPHASSISOPTION fpAUDIOFMRADIODeEmphassisOption; 557 IOCTL_AUDIO_FM_RADIO_GET_DC_AMP fpAUDIOFMRADIOGetDcAmp; 558 IOCTL_AUDIO_FM_RADIO_GET_NSR fpAUDIOFMRADIOGetNSR; 559 IOCTL_AUDIO_FM_RADIO_RESET fpAUDIOFMRADIOReset; 560 #endif 561 562 //============================================================= 563 // AUDIO_SPDIF RELATIONAL API FUNCTION 564 //============================================================= 565 IOCTL_AUDIO_SPDIF_HWEN fpAUDIOSPDIFHWEN; 566 IOCTL_AUDIO_SPDIF_SETMUTE fpAUDIOSPDIFSetMute; 567 IOCTL_AUDIO_SPDIF_SETMODE fpAUDIOSPDIFSetMode; 568 IOCTL_AUDIO_SPDIF_GETMODE fpAUDIOSPDIFGetMode; 569 IOCTL_AUDIO_SPDIF_SETSCMS fpAUDIOSPDIFSetSCMS; 570 IOCTL_AUDIO_SPDIF_GETSCMS fpAUDIOSPDIFGetSCMS; 571 IOCTL_AUDIO_SPDIF_MONITOR fpAUDIOSPDIFMonitor; 572 IOCTL_AUDIO_SPDIF_CHANNELSTATUS_CTRL fpAUDIOSPDIFChannelStatusCTRL; 573 IOCTL_AUDIO_DIGITALOUT_SETCHANNELSTATUS fpAUDIODigitalOut_SetChannelStatus; 574 IOCTL_AUDIO_DIGITALOUT_GETCHANNELSTATUS fpAUDIODigitalOut_GetChannelStatus; 575 IOCTL_AUDIO_DIGITALOUT_SETDEVICECAPABILITY fpAUDIODigitalOut_SetDeviceCapabilty; 576 577 //============================================================= 578 // AUDIO_HDMI RELATIONAL API FUNCTION 579 //============================================================= 580 IOCTL_AUDIO_HDMI_TX_SETMUTE fpAUDIOHDMITxSetMute; 581 IOCTL_AUDIO_HDMI_TX_GETSTATUS fpAUDIOHDMITxGetStatus; 582 IOCTL_AUDIO_HDMI_MONITOR fpAUDIOHDMIMonitor; 583 IOCTL_AUDIO_HDMI_GETNONPCMFLAG fpAUDIOHDMIGetNonpcmFlag; 584 IOCTL_AUDIO_HDMI_SETNONPCM fpAUDIOHDMISetNonpcm; 585 IOCTL_AUDIO_HDMI_RX_SETNONPCM fpAUDIOHDMIRxSetNonPCM; 586 IOCTL_AUDIO_HDMI_RX_GETNONPCM fpAUDIOHDMIRxGetNonPCM; 587 IOCTL_AUDIO_DTV_HDMI_CFG fpAUDIODTVHDMICFG; 588 IOCTL_AUDIO_HDMI_GETSYNTHFREG fpAUDIOHDMIGetSynthFreg; 589 IOCTL_AUDIO_HDMI_SETDOWNSAMPLE fpAUDIOHDMISetDownSample; 590 IOCTL_AUDIO_HDMI_TX_SETMODE fpAUDIOHDMITxSetMode; 591 IOCTL_AUDIO_HDMI_RX_GetHDMIINAUDIOSTATUS fpAUDIOHDMIRxGetHDMIInAUDIOStatus; 592 593 //============================================================= 594 // AUDIO_ADVANCE_SOUND RELATIONAL API FUNCTION 595 //============================================================= 596 IOCTL_AUDIO_ADVSOUND_PROCESSENABLE fpAUDIOADVSOUNDProcessEnable; 597 IOCTL_AUDIO_ADVSOUND_SUBPROCESSENABLE fpAUDIOADVSOUNDSubProcessEnable; 598 IOCTL_AUDIO_ADVSOUND_SETPARAM fpAUDIOADVSOUNDSetParam; 599 IOCTL_AUDIO_ADVSND_SETPARAM fpAUDIOADVSNDSetParam; 600 //IOCTL_AUDIO_ADVSOUND_GETPARAM fpAUDIOADVSOUNDGetParam; 601 IOCTL_AUDIO_ADVSOUND_SETASFPARAM fpAUDIOADVSOUNDSetASFParam; 602 //IOCTL_AUDIO_ADVSOUND_GETASFPARAM fpAUDIOADVSOUNDGetASFParam; 603 604 IOCTL_AUDIO_ADVSOUND_GETINFO fpAUDIOADVSOUNDGetInfo; 605 IOCTL_AUDIO_DBXTV_SETMODE fpAUDIODBXTV_SetMode; 606 IOCTL_AUDIO_SEINIT fpAUDIOSeInit; 607 IOCTL_AUDIO_SETADVSNDSYS fpAUDIOSetAdvSndSys; 608 //IOCTL_AUDIO_ADVSND_SET_SOUND_PARAM fpAUDIOAdvSndSetSoundParam; 609 IOCTL_AUDIO_SETVDS fpAUDIOSetVDS; 610 IOCTL_AUDIO_SETVSPK fpAUDIOSetVSPK; 611 IOCTL_AUDIO_SETSRS fpAUDIOSetSRS; 612 IOCTL_AUDIO_SETBBE fpAUDIOSetBBE; 613 IOCTL_AUDIO_VSPK_WMOD fpAUDIOVSPKWMod; 614 IOCTL_AUDIO_VSPK_SMOD fpAUDIOVSPKSMod; 615 IOCTL_AUDIO_SRS_DC fpAUDIOSRSDC; 616 IOCTL_AUDIO_SRS_TRUBASS fpAUDIOSRSTruBass; 617 IOCTL_AUDIO_SRS_SETTSXTPARA fpAUDIOSRSSetTsxtPara; 618 IOCTL_AUDIO_SETSRSTSHD fpAUDIOSetSRSTSHD; 619 IOCTL_AUDIO_TSHD_TruBass fpAUDIOTSHDTruBass; 620 IOCTL_AUDIO_TSHD_DEFINITION fpAUDIOTSHDDefinition; 621 IOCTL_AUDIO_TSHD_CLARITY fpAUDIOTSHDClarity; 622 IOCTL_AUDIO_SRS_SETTSHDPARA fpAUDIOSRSSetTshdPara; 623 IOCTL_AUDIO_COPY_PARAMETER fpAUDIOCopyParameter; 624 625 //============================================================= 626 // AUDIO_KTV RELATIONAL API FUNCTION 627 //============================================================= 628 IOCTL_AUDIO_SETKTVINFO fpAUDIOSetKTVInfo; 629 IOCTL_AUDIO_GETKTVINFO fpAUDIOGetKTVInfo; 630 IOCTL_AUDIO_SETMIXMODEVOLUME fpAUDIOSetMixModeVolume; 631 IOCTL_AUDIO_SETMIXMODEMUTE fpAUDIOSetMixModeMute; 632 IOCTL_AUDIO_PLAYMENUSOUND fpAUDIOPlayMenuSound; 633 634 //============================================================= 635 // AUDIO_MM RELATIONAL API FUNCTION 636 //============================================================= 637 IOCTL_AUDIO_SETCOMMAUDIOINFO fpAUDIOSetCommAudioInfo; 638 IOCTL_AUDIO_SETDECODEPARAM fpAUDIOSetDecodeParam; 639 IOCTL_AUDIO_SETMPEGINFO fpAUDIOSetMpegInfo; 640 IOCTL_AUDIO_SETAC3INFO fpAUDIOSetAC3Info; 641 IOCTL_AUDIO_SETAC3PINFO fpAUDIOSetAC3PInfo; 642 IOCTL_AUDIO_SETAACINFO fpAUDIOSetAACInfo; 643 IOCTL_AUDIO_SETWMAINFO fpAUDIOSetWMAInfo; 644 IOCTL_AUDIO_SETDTSCOMMONCTRL fpAUDIOSetDTSCommonCtrl; 645 IOCTL_AUDIO_GETCOMMAUDIOINFO fpAUDIOGetCommAudioInfo; 646 IOCTL_AUDIO_GETMPEGINFO fpAUDIOGetMpegInfo; 647 IOCTL_AUDIO_GETAC3INFO fpAUDIOGetAC3Info; 648 IOCTL_AUDIO_GETAC3PINFO fpAUDIOGetAC3PInfo; 649 IOCTL_AUDIO_GETAACINFO fpAUDIOGetAACInfo; 650 IOCTL_AUDIO_GETWMAINFO fpAUDIOGetWmaInfo; 651 IOCTL_AUDIO_GETDTSINFO fpAUIDOGetDTSInfo; 652 IOCTL_AUDIO_XPCM_PARAM fpAUDIOXPCMParam; 653 IOCTL_AUDIO_XPCM2_PARAM fpAUDIOXPCM2Param; 654 IOCTL_AUDIO_XPCM2_CHECKINTSTATUS fpAUDIOXPCM2CheckIntStatus; 655 IOCTL_AUDIO_RA8_PARAM fpAUDIORA8Param; 656 IOCTL_AUDIO_INIT fpAUDIOInit; 657 IOCTL_AUDIO_STARTDECODE fpAUDIOStartDecode; 658 IOCTL_AUDIO_STARTBROWSE fpAUDIOStartBrower; 659 IOCTL_AUDIO_STOPDECODE fpAUDIOStopDecode; 660 IOCTL_AUDIO_PAUSEDECODE fpAUDIOPauseDecode; 661 IOCTL_AUDIO_CHECKPLAYDONE fpAUDIOCheckPlayDone; 662 IOCTL_AUDIO_GETRESIDUALBUFFERSIZE fpAUDIOGetResidualBufferSize; 663 IOCTL_AUDIO_GETPCMBUFFERSIZE fpAUDIOGetPCMBufferSize; 664 IOCTL_AUDIO_GETPCMBUFFERSIZE2 fpAUDIOGetPCMBufferSize2; 665 IOCTL_AUDIO_GETCURRENTFRAMENUMBER fpAUDIOGetCurrentFrameNumber; 666 IOCTL_AUDIO_GETSAMPLERATE fpAUDIOGetSampleRate; 667 IOCTL_AUDIO_GETBITRATE fpAUDIOGetBitRate; 668 IOCTL_AUDIO_GETLAYER fpAUDIOGetLayer; 669 IOCTL_AUDIO_CHECKINPUTREQUEST fpAUDIOCheckInputRequest; 670 IOCTL_AUDIO_SETINPUT fpAUDIOSetInput; 671 IOCTL_AUDIO_SETSAMPLERATEINDEX fpAUDIOSetSampleRateIndex; 672 IOCTL_AUDIO_SETXPCMPARAM fpAUDIOSetXPCMParam; 673 IOCTL_AUDIO_FILEENDNOTIFICATION fpAUDIOFileEndNotification; 674 IOCTL_AUDIO_FILEENDDATAHANDLE fpAUDIOFileEndDataHandle; 675 IOCTL_AUDIO_GETPLAYTICK fpAUDIOGetPlayTick; 676 IOCTL_AUDIO_GETESMEMCNT fpAUDIOGetEsMEMCnt; 677 IOCTL_AUDIO_SETASFPARM fpAUDIOSetASFParm; 678 IOCTL_AUDIO_MM_SETINPUT fpAUDIOMMSetInput; 679 IOCTL_AUDIO_MM_CHECKPLAYDONE fpAUDIOMMCheckPlayDone; 680 IOCTL_AUDIO_MM_CHECKINPUTREQUEST fpAUDIOMMCheckInputRequest; 681 IOCTL_AUDIO_DMAREADER_INIT fpAUDIODmaReaderInit; 682 IOCTL_AUDIO_DMAREADER_ALLINPUT_INIT fpAUDIODmaReaderAllInputInit; 683 IOCTL_AUDIO_DMAREADER_WRITEPCM fpAUDIODmaReaderWritePCM; 684 IOCTL_AUDIO_DMAWRITER_INIT fpAUDIODmaWriterInit; 685 IOCTL_AUDIO_USBPCM_ENABLE fpAUDIOUSBPCMEnable; 686 IOCTL_AUDIO_USBPCM_SETFLAG fpAUDIOUSBPCMSetFlag; 687 IOCTL_AUDIO_USBPCM_GETFLAG fpAUDIOUSBPCMGetFlag; 688 IOCTL_AUDIO_USBPCM_GETMEMINFO fpAUDIOUSBPCMGetMemInfo; 689 IOCTL_AUDIO_PCMCAPTURE_INIT fpAUDIOPCMCaptureInit; 690 IOCTL_AUDIO_PCMCAPTURE_START fpAUDIOPCMCaptureStart; 691 IOCTL_AUDIO_PCMCAPTURE_STOP fpAUDIOPCMCaptureStop; 692 IOCTL_AUDIO_PCMCAPTURE_READ fpAUDIOPCMCaptureRead; 693 IOCTL_AUDIO_VOIP_CONFIG fpAUDIOVoIPConfig; 694 IOCTL_AUDIO_ALSA_CHECK fpAUDIOALSACheck; 695 IOCTL_AUDIO_ALSA_ENABLE fpAUDIOALSAEnable; 696 IOCTL_AUDIO_UNI_CHECKDECODEDONE fpAUDIOUNICheckDecodeDone; 697 IOCTL_AUDIO_UNI_SETOUTPUT fpAUDIOUNISetOutput; 698 IOCTL_AUDIO_UNI_SET_PCMINPUTWRITEADDR fpAUDIOUNISetPCMInputWriteAddr; 699 IOCTL_AUDIO_UNI_GET_OUTPCMLEVEL fpAUDIOUNIGetOutPCMLevel; 700 IOCTL_AUDIO_RINGTASK fpAUDIORingTask; 701 IOCTL_AUDIO_RING_DATATRANSFER fpAUDIORingDataTransfer; 702 IOCTL_AUDIO_MM2_INITAESINFO fpAUDIOMM2InitAesInfo; 703 IOCTL_AUDIO_MM2_CHECKAESINFO fpAUDIOMM2CheckAesInfo; 704 IOCTL_AUDIO_MM2_INPUTAESFINISHED fpAUDIOMM2InputAesFinished; 705 IOCTL_AUDIO_SETAUDIOPARAM2 fpAUDIOSetAudioParam2; 706 IOCTL_AUDIO_GETAUDIOINFO2 fpAUDIOGetAudioInfo2; 707 IOCTL_AUDIO_GETDDRINFO fpAUDIOGetDDRInfo; 708 IOCTL_AUDIO_GETCAPS fpAUDIOGetCaps; 709 IOCTL_AUDIO_PCMOPEN fpAUDIOPcmOpen; 710 IOCTL_AUDIO_PCMCLOSE fpAUDIOPcmClose; 711 IOCTL_AUDIO_PCMSTART fpAUDIOPcmStart; 712 IOCTL_AUDIO_PCMSTOP fpAUDIOPcmStop; 713 IOCTL_AUDIO_PCMSET fpAUDIOPcmSet; 714 IOCTL_AUDIO_PCMGET fpAUDIOPcmGet; 715 IOCTL_AUDIO_PCMREAD fpAUDIOPcmRead; 716 IOCTL_AUDIO_PCMWRITE fpAUDIOPcmWrite; 717 IOCTL_AUDIO_PCMFLUSH fpAUDIOPcmFlush; 718 IOCTL_AUDIO_ENCODEROPEN fpAUDIOEncoderOpen; 719 IOCTL_AUDIO_ENCODERCLOSE fpAUDIOEncoderClose; 720 IOCTL_AUDIO_ENCODERSTART fpAUDIOEncoderStart; 721 IOCTL_AUDIO_ENCODERSTOP fpAUDIOEncoderStop; 722 IOCTL_AUDIO_ENCODERIOCTL fpAUDIOEncoderIoctl; 723 IOCTL_AUDIO_ENCODEREAD fpAUDIOEncoderRead; 724 IOCTL_AUDIO_ENCODERFLUSH fpAUDIOEncoderFlush; 725 }AUDIO_INSTANT_PRIVATE; 726 727 728 typedef struct _AUDIO_RESOURCE_PRIVATE 729 { 730 MS_U32 Dummy; 731 }AUDIO_RESOURCE_PRIVATE; 732 733 void AUDIORegisterToUtopia(FUtopiaOpen ModuleType); 734 MS_U32 AUDIOOpen(void **pInstance, void *pAttribute); 735 MS_U32 AUDIOClose(void *pInstance); 736 MS_U32 AUDIOIoctl(void *pInstance, MS_U32 u32Cmd, void *pArgs); 737 MS_U32 AUDIOStr(MS_U32 u32PowerState, void *pModule); 738 739 740 //---------------------- 741 // Utopia 1.0 body API 742 //---------------------- 743 744 //============================================================ 745 // AUDIO_SYSTEM RELATIONAL API FUNCTION 746 //============================================================ 747 748 void _MApi_AUDIO_Initialize(void); 749 void _MApi_AUDIO_SetPowerOn(MS_BOOL bFlag); 750 void _MApi_AUDIO_SetDspBaseAddr(MS_U8 u8Index, MS_U32 u32Bin_Base_Address, MS_U32 u32Mad_Base_Buffer_Adr); 751 MS_U32 _MApi_AUDIO_GetDspMadBaseAddr(MS_U8 u8Index); 752 void _MApi_AUDIO_WriteDecMailBox(MS_U8 u8ParamNum, MS_U16 u16Data); 753 void _MApi_AUDIO_TriggerSifPLL(void); 754 //// **** PATCH GROUP ****//// 755 void _MDrv_AUDIO_SetDspBaseAddr(MS_U8 u8Index, MS_PHY u32Bin_Base_Address, MS_PHY u32Mad_Base_Buffer_Adr); 756 MS_PHY _MDrv_AUDIO_GetDspMadBaseAddr(MS_U8 u8Index); 757 void _MDrv_AUDIO_WriteDecMailBox(MS_U8 u8ParamNum, MS_U16 u16Data); 758 void _MDrv_AUDIO_TriggerSifPLL(void); 759 //// ** PATCH GROUP END **//// 760 void _MApi_Audio_Monitor(void); 761 void _MApi_AUDIO_SetSystemInfo(AUDIO_INIT_INFO *pau_info); 762 //void _MApi_AUDIO_ASF_Data_To_DDR(MS_BOOL bEnable); 763 //void _MApi_AUDIO_R2_DEBUG_MSG(MS_BOOL bEnable); 764 //void _MApi_AUDIO_R2_DDR_LATENCY_MSG(MS_BOOL bEnable); 765 766 void _MApi_AUDIO_SetOutConnectivity(void); 767 void _MApi_AUDIO_SetPathInfo(AUDIO_PATH_INFO *path_info); 768 void _MApi_AUDIO_GetPathInfo(AUDIO_PATH_INFO *path_info); 769 void _MApi_AUDIO_SetOutputInfo(AUDIO_OUT_INFO *pout_info); 770 void _MApi_AUDIO_SetSourceInfo(AUDIO_SOURCE_INFO_TYPE eSourceType); 771 void _MApi_AUDIO_InputSwitch(AUDIO_INPUT_TYPE enSource, AUDIO_SWITCH_GROUP enGroup); 772 //void _MApi_AUDIO_SetInputScale(int Step); 773 //void _MApi_AUDIO_SetScartScale(int Step); 774 //MS_BOOL _MApi_AUDIO_Audyssey_VXT_Set_THRESH_LEVEL_TABLE(int *thresh_level_table); 775 //void _MApi_AUDIO_SPDIF_SetChannelStatus(SPDIF_CS_MODE_TYPE eType, SPDIF_CS_MODE_VALUE eValue); 776 //MS_U16 _MApi_AUDIO_SPDIF_GetChannelStatus(SPDIF_CS_MODE_TYPE eType); 777 778 MS_BOOL _MApi_AUDIO_SetDataCaptureSource(AUDIO_DEVICE_TYPE eID, AUDIO_CAPTURE_SOURCE_TYPE eSource); 779 void _MApi_AUDIO_SetOutputSourceInfo(OUTPUT_SOURCE_INFO *pSourceInfo); 780 void _MApi_AUDIO_GetOutputSourceInfo(OUTPUT_SOURCE_INFO *pSourceInfo); 781 MS_U16 _MApi_AUDIO_ReadMailBox(MS_BOOL bDspType, MS_U8 u8ParamNum); 782 void _MApi_AUDIO_WriteMailBox(MS_BOOL bDspType, MS_U8 u8ParamNum, MS_U16 u16Data); 783 void _MApi_AUDIO_FwTriggerDSP(MS_U16 u16Cmd); 784 void _MApi_AUDIO_SetFwStatus(MS_BOOL bBootOnDDR); 785 void _MApi_AUDIO_ExitAudioSystem(void); 786 void _MApi_AUDIO_RebootDsp(MS_BOOL bDspType); 787 void _MApi_AUDIO_SendIntrupt(MS_BOOL bDspType,MS_U8 u8Cmd); 788 void _MApi_AUDIO_I2S_SetMode(AUDIO_I2S_MODE_TYPE u8Mode, AUDIO_I2S_MODE_VALUE u8Val); 789 void _MApi_AUDIO_WritePreInitTable(void); 790 void _MApi_AUDIO_EnaEarphone_LowPower_Stage(void); 791 void _MApi_AUDIO_EnaEarphone_HighDriving_Stage(void); 792 793 MS_BOOL _MApi_AUDIO_Suspend(void); 794 MS_BOOL _MApi_AUDIO_Resume(void); 795 796 //============================================================= 797 // AUDIO_SOUND RELATIONAL API FUNCTION 798 //============================================================= 799 MS_BOOL _MApi_SND_ProcessEnable(Sound_ENABLE_Type Type, MS_BOOL enable); 800 MS_BOOL _MApi_SND_SetParam1(Sound_SET_PARAM_Type Type, MS_U16 param1, MS_U16 param2); 801 MS_U16 _MApi_SND_GetParam1(Sound_GET_PARAM_Type Type, MS_U16 param1); 802 MS_BOOL _MApi_AUDIO_SOUND_SetParam(Sound_SET_Type Type, MS_U32 *p_param); 803 void _MApi_AUDIO_SetAbsoluteVolume(MS_U8 u8Path, MS_U8 u8Vol1, MS_U8 u8Vol2); 804 void _MApi_AUDIO_SetPreScale(MS_U8 u8Path, MS_U8 u8PreScale); 805 void _MApi_AUDIO_SetMute(MS_U8 u8Path, MS_BOOL EnMute ); 806 void _MApi_AUDIO_SourceConnect(AUDIO_OUTPORT_SOURCE_TYPE eConnectSourceType, MS_BOOL bConnect ); 807 void _MApi_AUDIO_SetBalance(MS_U8 u8Balance); 808 void _MApi_AUDIO_EnableEQ(MS_BOOL EnEQ); 809 void _MApi_AUDIO_EnableTone(MS_BOOL EnTone); 810 void _MApi_AUDIO_EnableAutoVolume(MS_BOOL EnAVC); 811 void _MApi_AUDIO_EnableSurround(MS_BOOL EnSurround); 812 void _MApi_AUDIO_EnableBalance(MS_BOOL EnBalance); 813 void _MApi_AUDIO_SetDynamicBass(MS_U8 u8DynamicBass); 814 void _MApi_AUDIO_SetBass(MS_U8 u8Bass); 815 void _MApi_AUDIO_AbsoluteBass(MS_U8 u8Bass); 816 void _MApi_AUDIO_SetTreble(MS_U8 u8Treble); 817 void _MApi_AUDIO_AbsoluteTreble(MS_U8 u8Treble); 818 void _MApi_AUDIO_SetEq(MS_U8 u8band, MS_U8 u8level); 819 void _MApi_AUDIO_SetEq_7band(MS_U8 u8band, MS_U8 u8level); 820 void _MApi_AUDIO_SetAvcThreshold(MS_U8 Level); 821 void _MApi_AUDIO_SetAvcMode(MS_U8 AvcMode); 822 void _MApi_AUDIO_SetAvcAT(MS_U8 AvcAT); 823 void _MApi_AUDIO_SetAvcRT(MS_U8 AvcRT); 824 void _MApi_AUDIO_SetBufferProcess(MS_U8 DelayTime); 825 void _MApi_AUDIO_SetSurroundXA(MS_U8 mode); 826 void _MApi_AUDIO_SetSurroundXB(MS_U8 mode); 827 void _MApi_AUDIO_SetSurroundXK( MS_U8 mode); 828 void _MApi_AUDIO_SetSurroundLPFGain(MS_U8 mode); 829 MS_U8 _MApi_AUDIO_ConvertVolumeUnit(MS_U8 UiVolume); 830 void _MApi_AUDIO_SetPEQCoef(AUDIO_PEQ_COEF *peq_coef); 831 void _MApi_AUDIO_EnablePEQ(MS_BOOL Enpeq); 832 MS_BOOL _MApi_AUDIO_EnableDcRemove(MS_BOOL EnDcRemove); 833 834 //============================================================ 835 // AUDIO_DTV RELATIONAL API FUNCTION 836 //============================================================ 837 MS_BOOL _MApi_AUDIO_ReleaseDecodeSystem(AUDIO_DEC_ID DecId); 838 MS_BOOL _MApi_AUDIO_SetDecodeSystem(AUDIO_DEC_ID DecId, AudioDecStatus_t * p_AudioDecStatus); 839 MS_BOOL _MApi_AUDIO_GetDecodeSystem(AUDIO_DEC_ID DecId, AudioDecStatus_t * p_AudioDecStatus); 840 MS_BOOL _MApi_AUDIO_SetDecodeCmd(AUDIO_DEC_ID DecId, En_DVB_decCmdType enDecComamnd); 841 AUDIO_DEC_ID _MApi_AUDIO_OpenDecodeSystem(AudioDecStatus_t * p_AudioDecStatus); 842 MS_BOOL _MApi_AUDIO_SetSystem(En_DVB_decSystemType enDecSystem); 843 MS_BOOL _MApi_AUDIO_GetDecSysSupportStatus(En_DVB_decSystemType enDecSystem); 844 MS_BOOL _MApi_AUDIO_IsMadLock(void); 845 En_DVB_decCmdType _MApi_AUDIO_GetDecStatus(void); 846 AU_DVB_DECCMD _MApi_AUDIO_GetCommand(En_DVB_AudioDecoder AdoDecoderNo); 847 void _MApi_AUDIO_SetCommand(En_DVB_decCmdType enDecComamnd); 848 MS_BOOL _MApi_AUDIO_GetMAD_LOCK(void); 849 void _MApi_AUDIO_SetADOutputMode (MS_U8 out_mode); 850 void _MApi_AUDIO_SetADAbsoluteVolume (MS_U8 AbsVolume); 851 //void _MApi_AUDIO_SetMainVolumeForAD (MS_U8 u8Vol1, MS_U8 u8Vol2); 852 void _MApi_AUDIO_ADSetMute(MS_BOOL EnMute); 853 854 //============================================================ 855 // AUDIO_PVR RELATED FUNCTIONS 856 //============================================================ 857 void _MApi_AUDIO_SetEncInit(AU_DVB_ENCBR BitRate, MS_U8 u8EncFrameNum); 858 void _MApi_AUDIO_SetEncCommand(AU_DVB_ENCCMD enEncComamnd); 859 void _MApi_AUDIO_GetEncodeFrameInfo(AU_DVB_ENC_FRAME_INFO *EncFrameInfo); 860 MS_BOOL _MApi_AUDIO_GetEncodeDoneFlag(void); 861 862 //============================================================ 863 // AUDIO_ATV RELATIONAL API FUNCTION 864 //============================================================ 865 void _MApi_AUDIO_SIF_SetStandard(AUDIOSTANDARD_TYPE standard_type); 866 MS_U8 _MApi_AUDIO_SIF_GetSoundMode(void); 867 MS_BOOL _MApi_AUDIO_SIF_SetSoundMode(MS_U8 u8SifSoundMode); 868 MS_BOOL _MApi_AUDIO_SIF_GetAudioStatus(AUDIOSTATUS * eAudioStatus); 869 void _MApi_AUDIO_SIF_StartAutoStandardDetection(void); 870 AUDIOSTANDARD_TYPE _MApi_AUDIO_SIF_GetResultOfAutoStandardDetection(void); 871 AUDIOSTANDARD_TYPE _MApi_AUDIO_SIF_ConvertToBasicAudioStandard(AUDIOSTANDARD_TYPE eStandard); 872 void _MApi_AUDIO_SIF_SetThreshold(THR_TBL_TYPE *ThrTbl); 873 void _MApi_AUDIO_SIF_SetPrescale(MS_U8 gain_type, MS_S32 db_value); 874 MS_BOOL _MApi_AUDIO_SIF_IsPALType(AUDIO_SIF_PAL_TYPE pal_type); 875 void _MApi_AUDIO_SIF_SetPALType(AUDIO_SIF_PAL_TYPE pal_type); 876 void _MApi_AUDIO_SIF_SendCmd(En_AUD_SIF_CmdType enAudSifCommand, MS_U8 comm_arg1, MS_U8 comm_arg2); 877 void _MApi_AUDIO_SIF_Shift(En_AUD_VIF_Type type); 878 879 #if 1 880 //============================================================ 881 // AUDIO_FM_RADIO RELATIONAL API FUNCTION 882 //============================================================ 883 MS_U8 _MApi_AUDIO_FM_RADIO_GetSoundMode(void); 884 void _MApi_AUDIO_FM_RADIO_SetSoundMode(MS_U8 u8FMRadioSoundMode); 885 void _MApi_AUDIO_FM_RADIO_DeEmphassisOption(MS_BOOL Is_Europe); 886 MS_S8 _MApi_AUDIO_FM_RADIO_GET_DC_AMP(void); 887 MS_U8 _MApi_AUDIO_FM_RADIO_GET_NSR(void); 888 void _MApi_AUDIO_FM_RADIO_RESET(void); 889 #endif 890 891 //============================================================= 892 // AUDIO_SPDIF RELATIONAL API FUNCTION 893 //============================================================= 894 void _MApi_AUDIO_SPDIF_HWEN(MS_BOOL spdif_en); 895 void _MApi_AUDIO_SPDIF_SetMute(MS_BOOL mute_en); 896 void _MApi_AUDIO_SPDIF_SetMode(MS_U8 spdif_mode); 897 MS_U8 _MApi_AUDIO_SPDIF_GetMode(void); 898 void _MApi_AUDIO_SPDIF_SetSCMS(MS_U8 C_bit_en, MS_U8 L_bit_en); 899 MS_U8 _MApi_AUDIO_SPDIF_GetSCMS(void); 900 void _MApi_Audio_SPDIF_Monitor(void); 901 MS_BOOL _MApi_AUDIO_SPDIF_ChannelStatus_CTRL(AUDIO_SPDIF_CS_TYPE cs_mode, AUDIO_SPDIF_CS_TYPE_STATUS status); 902 MS_BOOL _MApi_AUDIO_DigitalOut_SetChannelStatus(DIGITAL_OUTPUT_TYPE ePath, Digital_Out_Channel_Status_t *stChannelStatus); 903 MS_BOOL _MApi_AUDIO_DigitalOut_SetDeviceCapability(DIGITAL_OUTPUT_TYPE eoutType, AUDIO_FORMAT_CODE ecodecType, Digital_Out_Device_Capability_t *p_codecCapability); 904 905 //void _MApi_AUDIO_DigitalOut_GetChannelStatus(DIGITAL_OUTPUT_TYPE ePath, Digital_Out_Channel_Status_t *stChannelStatus); 906 907 //============================================================= 908 // AUDIO_HDMI RELATIONAL API FUNCTION 909 //============================================================= 910 MS_BOOL _MApi_AUDIO_HDMI_RX_GetHdmiInAudioStatus(ST_HDMI_AUDIO_STATUS *p_hdmiAudioSts); 911 void _MApi_AUDIO_HDMI_Tx_GetStatus(MS_BOOL *onOff, AUDIO_FS_TYPE *hdmi_SmpFreq, HDMI_TX_OUTPUT_TYPE *outType); 912 MS_U8 _MApi_AUDIO_HDMI_Monitor(void); 913 MS_BOOL _MApi_AUDIO_HDMI_GetNonpcmFlag(void); 914 void _MApi_AUDIO_HDMI_SetNonpcm(MS_U8 nonPCM_en); 915 AUDIO_HDMI_RX_TYPE _MApi_AUDIO_HDMI_RX_SetNonpcm(MS_U8 nonPCM_en); 916 AUDIO_HDMI_RX_TYPE _MApi_AUDIO_HDMI_RX_GetNonPCM(void); 917 void _MApi_AUDIO_DTV_HDMI_CFG(MS_U8 ctrl); 918 MS_U16 _MApi_AUDIO_HDMI_GetSynthFreq(void); 919 void _MApi_AUDIO_HDMI_SetDownSample(MS_U8 ratio); 920 void _MApi_AUDIO_HDMI_TX_SetMode(HDMI_TX_OUTPUT_TYPE outType); 921 void _MApi_AUDIO_HDMI_Tx_SetMute(MS_BOOL mute_en); 922 923 //============================================================= 924 // AUDIO_ADVANCE_SOUND RELATIONAL API FUNCTION 925 //============================================================= 926 MS_BOOL _MApi_AUDIO_ADVSOUND_ProcessEnable(ADVSND_TYPE type); 927 MS_BOOL _MApi_AUDIO_ADVSOUND_SubProcessEnable(ADVFUNC proc, MS_BOOL enable); 928 MS_BOOL _MApi_AUDIO_ADVSOUND_SetParam(ADVSND_PARAM param, MS_U16 u16value1, MS_U16 u16value2); 929 MS_BOOL _MApi_AUDIO_ADVSND_SetParam(ADVSND_PARAM param, MS_U32 u32value1, MS_U16 u16value2); 930 //MS_U32 _MApi_AUDIO_ADVSOUND_GetParam(ADVSND_GET_PARAM param); 931 //MS_BOOL _MApi_AUDIO_ADVSOUND_SetASFParam(ADVSND_PARAM param, MS_S16 s16value1, MS_S16 s16value2); 932 //MS_U32 _MApi_AUDIO_ADVSOUND_GetASFParam(ADVSND_GET_PARAM param); 933 MS_U32 _MApi_AUDIO_ADVSOUND_GetInfo(AdvSound_GET_Type Type); 934 void _MApi_DBXTV_SetMode(EN_DBXTV_TotSonMode totsonmode, EN_DBXTV_TotVolMode totvolmode, EN_DBXTV_TotSurMode totsurmode,MS_U32 enable); 935 void _MApi_AUDIO_SeInit(void); 936 void _MApi_AUDIO_SetAdvSndSys(En_DVB_advsndType u8AdvSurrMod); 937 //void _MApi_AUDIO_ADVSND_Set_Sound_Param(AdvSound_SET_Type Type, MS_U32 *pParam); 938 void _MApi_AUDIO_SetVDS(MS_U8 u8enVDS); 939 void _MApi_AUDIO_SetVSPK(MS_U8 u8enVSPK); 940 void _MApi_AUDIO_SetSRS(MS_U8 u8enSRS); 941 void _MApi_AUDIO_SetBBE(MS_U8 u8enBBE , MS_U8 u8BBEMode); 942 void _MApi_AUDIO_VSPK_WMod(MS_U8 u8VSPK_WMode); 943 void _MApi_AUDIO_VSPK_SMod(MS_U8 u8VSPK_SMode); 944 void _MApi_AUDIO_SRS_DC(MS_U8 u8SRSenDC); 945 void _MApi_AUDIO_SRS_TruBass(MS_U8 u8SRSenTruBass); 946 void _MApi_AUDIO_SRS_SetTsxtPara(MS_U8 u8mode, MS_U8 u8value); 947 void _MApi_AUDIO_SetSRSTSHD(MS_U8 u8enTSHD); 948 void _MApi_AUDIO_TSHD_TruBass(MS_U8 u8TSHDenTruBass); 949 void _MApi_AUDIO_TSHD_Definition(MS_U8 u8TSHDenDefinition); 950 void _MApi_AUDIO_TSHD_Clarity(MS_U8 u8TSHDenClarity); 951 void _MApi_AUDIO_SRS_SetTshdPara(MS_U8 u8mode, MS_U8 u8value); 952 void _MApi_AUDIO_COPY_Parameter(ADVSND_PARAM type, void* Parameter_ptr, MS_U32 size); 953 954 //============================================================= 955 // AUDIO_KTV RELATIONAL API FUNCTION 956 //============================================================= 957 MS_BOOL _MApi_AUDIO_SetKTVInfo (AUDIO_KTV_MODEL modelType, AUDIO_KTV_PARAMTYPE paramType, MS_U32 param1, MS_U32 param2); 958 MS_U32 _MApi_AUDIO_GetKTVInfo(AUDIO_KTV_MODEL modelType, AUDIO_KTV_INFOTYPE infoType); 959 void _MApi_AUDIO_SetMixModeVolume(AUDIO_SOURCE_INFO_TYPE eSourceType, AUDIO_MIX_VOL_TYPE VolType, MS_U8 u8Vol1, MS_U8 u8Vol2); 960 void _MApi_AUDIO_SetMixModeMute(AUDIO_SOURCE_INFO_TYPE eSourceType, AUDIO_MIX_VOL_TYPE VolType, MS_BOOL EnMute); 961 void _MApi_AUDIO_PlayMenuSound(void); 962 963 //============================================================= 964 // AUDIO_MM RELATIONAL API FUNCTION 965 //============================================================= 966 // Each Decoder functions 967 // Set Info 968 MS_BOOL _MApi_AUDIO_SetCommAudioInfo(Audio_COMM_infoType infoType, MS_VIRT param1, MS_VIRT param2); 969 //MS_BOOL _MApi_ADEC_SetDecodeParam( AUDIO_DEC_ID DecId, Audio_ParamType paramType, MS_U32* Param ); 970 MS_BOOL _MApi_AUDIO_SetMpegInfo( Audio_MPEG_infoType infoType, MS_VIRT param1, MS_VIRT param2 ); 971 MS_BOOL _MApi_AUDIO_SetAC3Info(Audio_AC3_infoType infoType, MS_VIRT param1, MS_VIRT param2 ); 972 MS_BOOL _MApi_AUDIO_SetAC3PInfo(Audio_AC3P_infoType infoType, MS_VIRT param1, MS_VIRT param2 ); 973 MS_BOOL _MApi_AUDIO_SetAACInfo( Audio_AAC_infoType infoType, MS_VIRT param1, MS_VIRT param2 ); 974 MS_BOOL _MApi_AUDIO_SetWmaInfo(Audio_WMA_infoType infoType, MS_VIRT param1, MS_VIRT param2 ); 975 MS_BOOL _MApi_AUDIO_SetDTSCommonCtrl( Audio_DTS_infoType infoType, Audio_DTS_CtrlType ctrl_type ); 976 //Get Info 977 MS_U64 _MApi_AUDIO_GetCommAudioInfo( Audio_COMM_infoType infoType ); 978 MS_U32 _MApi_AUDIO_GetMpegInfo( Audio_MPEG_infoType infoType ); 979 MS_U32 _MApi_AUDIO_GetAC3Info(Audio_AC3_infoType infoType ); 980 MS_U32 _MApi_AUDIO_GetAC3PInfo( Audio_AC3P_infoType infoType ); 981 MS_U32 _MApi_AUDIO_GetAACInfo( Audio_AAC_infoType infoType ); 982 MS_U32 _MApi_AUDIO_GetWmaInfo( Audio_WMA_infoType infoType ); 983 MS_U32 _MApi_AUDIO_GetDTSInfo( Audio_DTS_infoType infoType ); 984 MS_U8 _MApi_AUDIO_XPCM_Param(XPCM_TYPE audioType, MS_U8 channels, MS_U16 sampleRate, MS_U8 bitsPerSample, MS_U16 blockSize, MS_U16 samplePerBlock); 985 void _MApi_AUDIO_XPCM2_Param(XPCM_TYPE audioType, MS_U8 channels, MS_U16 sampleRate, MS_U8 bitsPerSample, MS_U16 blockSize, MS_U16 samplePerBlock); 986 MS_U16 _MApi_AUDIO_XPCM2_CheckIntStatus(void); 987 // RM 988 MS_U8 _MApi_AUDIO_RA8_Param(MS_U16 mNumCodecs, MS_U16 mSamples, MS_U16 mSampleRate, MS_U16* Channels, MS_U16* Regions, MS_U16* cplStart, MS_U16* cplQbits, MS_U16* FrameSize); 989 990 void _MApi_AUDIO_Init(En_DVB_decSystemType enDecSystem); 991 void _MApi_AUDIO_StartDecode(void); 992 void _MApi_AUDIO_StartBrowse(void); 993 void _MApi_AUDIO_StopDecode(void); 994 void _MApi_AUDIO_PauseDecode(void); 995 MS_U8 _MApi_AUDIO_CheckPlayDone(void); 996 MS_U16 _MApi_AUDIO_GetResidualBufferSize(void); 997 MS_U16 _MApi_AUDIO_GetPCMBufferSize(MS_U16 u16BitRate); 998 MS_U16 _MApi_AUDIO_GetPCMBufferSize2(MS_U16 u16BitRate,MS_U16 u16SampleRate); 999 MS_U32 _MApi_AUDIO_GetCurrentFrameNumber(void); 1000 MS_U16 _MApi_AUDIO_GetSampleRate(void); 1001 MS_U32 _MApi_AUDIO_GetBitRate(void); 1002 Audio_MP3_LAYER _MApi_AUDIO_GetLayer(void); 1003 MS_U8 _MApi_AUDIO_CheckInputRequest(MS_PHY *pPHYWrtAddr, MS_U32 *pU32WrtBytes); 1004 void _MApi_AUDIO_SetInput(void); 1005 void _MApi_AUDIO_SetSampleRateIndex(MS_U16 u16Index); 1006 void _MApi_AUDIO_SetXPCMParam(XPCM_TYPE audioType, MS_U8 channels, MS_U16 sampleRate, MS_U8 bitsPerSample, MS_U16 blockSize, MS_U16 samplePerBlock); 1007 void _MApi_AUDIO_FileEndNotification(void); 1008 void _MApi_AUDIO_FileEndDataHandle(MS_U32 u32DataLeft); 1009 MS_U32 _MApi_AUDIO_GetPlayTick(void); 1010 MS_U16 _MApi_AUDIO_GetEsMEMCnt(void); 1011 void _MApi_AUDIO_SetASFParm(WMA_ASF_PARMTYPE parm_type, MS_U32 value); 1012 void _MApi_AUDIO_MM_SetInput (En_DVB_AudioDecoder AUDDecoderNo, MS_U8 u8IntTag); 1013 MS_U32 _MApi_AUDIO_MM_CheckPlayDone (En_DVB_AudioDecoder AUDDecoderNo); 1014 MS_U8 _MApi_AUDIO_MM_CheckInputRequest(En_DVB_AudioDecoder AUDDecoderNo, MS_PHY *pPHYWrtAddr, MS_U32 *pU32WrtBytes); 1015 void _MApi_AUDIO_DmaReader_Init(SAMPLE_RATE sampleRate); 1016 void _MApi_AUDIO_DmaReader_AllInput_Init(void); 1017 MS_BOOL _MApi_AUDIO_DmaReader_WritePCM(void* buffer, MS_U32 bytes); 1018 void _MApi_AUDIO_DmaWriter_Init(void); 1019 void _MApi_AUDIO_USBPCM_Enable(MS_BOOL bEnable); 1020 void _MApi_AUDIO_USBPCM_SetFlag(MS_BOOL bEnable); 1021 MS_BOOL _MApi_AUDIO_USBPCM_GetFlag(void); 1022 void _MApi_AUDIO_USBPCM_GetMemInfo(AUDIO_UPLOAD_INFO *uploadInfo); 1023 MS_BOOL _MApi_AUDIO_PCMCapture_Init(const AUDIO_DEVICE_TYPE eID, const AUDIO_CAPTURE_SOURCE_TYPE eSource); 1024 MS_BOOL _MApi_AUDIO_PCMCapture_Start(const AUDIO_DEVICE_TYPE eID); 1025 MS_BOOL _MApi_AUDIO_PCMCapture_Stop(const AUDIO_DEVICE_TYPE eID); 1026 MS_BOOL _MApi_AUDIO_PCMCapture_Read(const AUDIO_DEVICE_TYPE eID, void *buffer, const MS_U32 bytes); 1027 MS_BOOL _MApi_AUDIO_VoIP_Config(AUDIO_VoIP_CONFIG_TYPE configType, MS_U32 param1, MS_U32 param2); 1028 MS_BOOL _MApi_AUDIO_ALSA_Check(void); 1029 MS_BOOL _MApi_AUDIO_ALSA_Enable(MS_BOOL bEnable); 1030 MS_BOOL _MApi_AUDIO_UNI_CheckDecodeDone(MS_PHY *pPHYWrtAddr, MS_U32 *pU32WrtBytes); 1031 void _MApi_AUDIO_UNI_SetOutput (MS_U32 PCMOutCnt); 1032 void _MApi_AUDIO_UNI_Set_PCMInputWriteAddr (MS_U32 PCMIn_Wptr); 1033 MS_U32 _MApi_AUDIO_UNI_Get_OutPCMLevel (void); 1034 void _MApi_AUDIO_RingTask(audioRingTask* auRingTask); // this function is used for auto ring address 1035 void _MApi_AUDIO_Ring_DataTransfer(audioRingTask* auRingTask, audioRingTask* auRingTask_1); 1036 MS_BOOL _MApi_AUDIO_MM2_initAesInfo( AUDIO_DEC_ID dec_id ); 1037 MS_BOOL _MApi_AUDIO_MM2_checkAesInfo( AUDIO_DEC_ID dec_id, AES_INFO *aes_info ); 1038 MS_BOOL _MApi_AUDIO_MM2_inputAesFinished( AUDIO_DEC_ID dec_id, MS_U32 es_size, MS_BOOL ptsExist, MS_U64 pts ); 1039 MS_BOOL _MApi_AUDIO_SetAudioParam2( AUDIO_DEC_ID DecId, Audio_ParamType paramType, MS_VIRT Param ); 1040 MS_BOOL _MApi_AUDIO_GetAudioInfo2(AUDIO_DEC_ID DecId, Audio_InfoType infoType, void * pInfo ); 1041 MS_PHY _MApi_AUDIO_GetDDRInfo(AUDIO_DEC_ID DecId, EN_AUDIO_DDRINFO DDRInfo); 1042 MS_U32 _MApi_AUDIO_GetCaps(AUDIO_DEC_ID DecId, MS_U32 *pCaps); 1043 MS_S32 _MApi_AUDIO_PCM_Open(void *pData); 1044 MS_S32 _MApi_AUDIO_PCM_Close(MS_S32 s32DeviceId); 1045 MS_S32 _MApi_AUDIO_PCM_Start(MS_S32 s32DeviceId); 1046 MS_S32 _MApi_AUDIO_PCM_Stop(MS_S32 s32DeviceId); 1047 MS_S32 _MApi_AUDIO_PCM_Set(MS_S32 s32DeviceId, MS_U32 u32Cmd, const void *pData); 1048 MS_S32 _MApi_AUDIO_PCM_Get(MS_S32 s32DeviceId, MS_U32 u32Cmd, void *pData); 1049 MS_U32 _MApi_AUDIO_PCM_Read(MS_S32 s32DeviceId, void *pBuf, MS_U32 u32Size); 1050 MS_U32 _MApi_AUDIO_PCM_Write(MS_S32 s32DeviceId, const void *pBuf, MS_U32 u32Size); 1051 MS_S32 _MApi_AUDIO_PCM_Flush(MS_S32 s32DeviceId); 1052 MS_S32 _MApi_AUDIO_ENCODER_Open(const char *pName); 1053 MS_S32 _MApi_AUDIO_ENCODER_Close(MS_S32 s32DeviceId); 1054 MS_S32 _MApi_AUDIO_ENCODER_Start(MS_S32 s32DeviceId); 1055 MS_S32 _MApi_AUDIO_ENCODER_Stop(MS_S32 s32DeviceId); 1056 MS_S32 _MApi_AUDIO_ENCODER_Ioctl(MS_S32 s32DeviceId, const char *pCmd, void *pData); 1057 MS_U32 _MApi_AUDIO_ENCODER_Read(MS_S32 s32DeviceId, void *pBuf, MS_U32 u32Size); 1058 MS_S32 _MApi_AUDIO_ENCODER_Flush(MS_S32 s32DeviceId); 1059 1060 1061 #ifdef __cplusplus 1062 } 1063 #endif 1064 1065 #endif //_DMX_PRIV_H_ 1066