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) 2006-2007 MStar Semiconductor, Inc. 81 // All rights reserved. 82 // 83 // Unless otherwise stipulated in writing, any and all information contained 84 // herein regardless in any format shall remain the sole proprietary of 85 // MStar Semiconductor Inc. and be kept in strict confidence 86 // (��MStar Confidential Information��) by the recipient. 87 // Any unauthorized act including without limitation unauthorized disclosure, 88 // copying, use, reproduction, sale, distribution, modification, disassembling, 89 // reverse engineering and compiling of the contents of MStar Confidential 90 // Information is unlawful and strictly prohibited. MStar hereby reserves the 91 // rights to any and all damages, losses, costs and expenses resulting therefrom. 92 // 93 //////////////////////////////////////////////////////////////////////////////// 94 95 #ifndef _API_HDMITX_V2_H_ 96 #define _API_HDMITX_V2_H_ 97 98 #include "MsTypes.h" 99 //#include "halHDMITx.h" 100 //#include "drvHDMITx.h" 101 //#include "regHDMITx.h" 102 103 104 105 #ifdef __cplusplus 106 extern "C" 107 { 108 #endif 109 110 111 112 typedef enum 113 { 114 E_HDMITX_CMD_INIT, 115 E_HDMITX_CMD_EXIT, 116 E_HDMITX_CMD_TURNONOFF, 117 E_HDMITX_CMD_ENABLEPACKETGEN, 118 E_HDMITX_CMD_SETHDMITXMODE, 119 E_HDMITX_CMD_SETHDMITXMODE_CD, 120 E_HDMITX_CMD_SETTMDSONOFF, 121 E_HDMITX_CMD_DISABLETMDSCTRL, 122 E_HDMITX_CMD_SETRBCHANNELSWAP, 123 E_HDMITX_CMD_EXHIBIT, 124 125 E_HDMITX_CMD_GETRXSTATUS, 126 E_HDMITX_CMD_GETRXDCINFOFROMEDID, 127 E_HDMITX_CMD_GETRXVIDEODORMATFROMEDID, 128 E_HDMITX_CMD_GETVICLISTFROMEDID, 129 E_HDMITX_CMD_GETDATABLOCKLENGTHFROMEDID, 130 E_HDMITX_CMD_GETRXAUDIOFORMATFROMEDID, 131 E_HDMITX_CMD_EDID_HDMISUPPORT, 132 E_HDMITX_CMD_GETRXIDMANUFACTURERNAME, 133 E_HDMITX_CMD_GETEDIDDATA, 134 E_HDMITX_CMD_GETRX3DSTRUCTUREFROMEDID, 135 E_HDMITX_CMD_GETCOLORFORMATFROMEDID, 136 E_HDMITX_CMD_PKT_USER_DEFINE_CLEAR, 137 138 E_HDMITX_CMD_PKT_USER_DEFINE, 139 E_HDMITX_CMD_PKT_CONTENT_DEFINE, 140 E_HDMITX_CMD_SETVIDEOONOFF, 141 E_HDMITX_CMD_SETCOLORFORMAT, 142 E_HDMITX_CMD_SET_VS_INFOFRAME, 143 E_HDMITX_CMD_SETVIDEOOUTPUTTIMING, 144 E_HDMITX_CMD_SETVIDEOUTPUTTIMINGBYCUSTOMER, 145 E_HDMITX_CMD_SETVIDEOOUTPUTASEPCTRATIO, //wrong 146 E_HDMITX_CMD_SETVIDEOOUTPUTOVERSCAN_AFD, 147 E_HDMITX_CMD_SETAUDIOONOFF, 148 E_HDMITX_CMD_SETAUDIOFREQUENCY, 149 150 E_HDMITX_CMD_SETVIDEOOUTPUTOVERSCAN_AFD_II, 151 E_HDMITX_CMD_SETAUDIOCONFIGURATION, 152 E_HDMITX_CMD_SETAUDIOSOURCEFORMAT, 153 E_HDMITX_CMD_SETAVIINFOEXTCOLORIMETRY, 154 E_HDMITX_CMD_GETAUDIOCTS, 155 E_HDMITX_CMD_MUTEAUDIOFIFO, 156 E_HDMITX_CMD_GETHDCPKEY, 157 E_HDMITX_CMD_GETBKSV, 158 E_HDMITX_CMD_GETAKSV, 159 E_HDMITX_CMD_SETHDCPONOFF, 160 E_HDMITX_CMD_SETAVMUTE, 161 162 E_HDMITX_CMD_GETAVMUTESTATUS, 163 E_HDMITX_CMD_HDCP_REVOCATIONKEY_LIST, 164 E_HDMITX_CMD_HDCP_REVOCATIONKEY_CHECK, 165 E_HDMITX_CMD_HDCP_ISSRMSIGNATUREVALID, 166 E_HDMITX_CMD_GETHDCPSTATUS, 167 E_HDMITX_CMD_HDCP_STARTAUTH, 168 E_HDMITX_CMD_GETINTHDCPSTATUS, 169 E_HDMITX_CMD_GETHDCP_PRESTATUS, 170 E_HDMITX_CMD_UNHDCPRXCONTROL, 171 E_HDMITX_CMD_HDCPRXFAILCONTROL, 172 173 E_HDMITX_CMD_GETLIBVER, 174 E_HDMITX_CMD_GETINFO, 175 E_HDMITX_CMD_GETSTATUS, 176 E_HDMITX_CMD_SETDBGLEVEL, 177 E_HDMITX_CMD_SETHPDGPIOPIN, 178 E_HDMITX_CMD_ANALOGTUNING, 179 E_HDMITX_CMD_FORCEHDMIOUTPUTMODE, 180 E_HDMITX_CMD_FORCEHDMIOUTPUTCOLORFORMAT, 181 E_HDMITX_CMD_DISABLEREGWRITE, 182 E_HDMITX_CMD_GETEDIDPHYADR, 183 184 E_HDMITX_CMD_SETCECONOFF, 185 E_HDMITX_CMD_GETCECSTATUS, 186 E_HDMITX_CMD_EDIDCHECKING, 187 E_HDMITX_CMD_RXBYPASS_MODE, 188 E_HDMITX_CMD_DISABLE_RXBYPASS, 189 E_HDMITX_CMD_SETAKSV2R0INTERVAL, 190 E_HDMITX_CMD_ISRXVALID, 191 E_HDMITX_CMD_GETCHIPCAPS, 192 E_HDMITX_CMD_SETPOWERSTATE, 193 E_HDMITX_CMD_GETEDIDDATABLOCK, 194 E_HDMITX_CMD_GETKSVLIST, 195 E_HDMITX_CMD_HDCP2ACCESSX74, 196 E_HDMITX_CMD_HDCP2TxInit, 197 E_HDMITX_CMD_HDCP2TxEnableEncrypt, 198 E_HDMITX_CMD_HDCP2TxFillCipherKey, 199 E_HDMITX_CMD_GENERALCTRL, 200 E_HDMITX_CMD_COLOR_AND_RANGE_TRANSFORM, 201 E_HDMITX_CMD_SSC_ENABLE, 202 E_HDMITX_CMD_SET_COLORIMETRY, 203 E_HDMITX_CMD_GET_FULL_RX_STATUS, 204 205 E_HDMITX_CMD_TIMING_CAPABILITY_CHECK, 206 E_HDMITX_CMD_GET_PANELSIZE_FROM_EDID, 207 E_HDMITX_CMD_GET_TMDS_STATUS, 208 #if (defined(VANCLEEF_MCP) || defined(RAPTORS_MCP)) 209 E_HDMITX_CMD_VANCLEEF_LOADHDCPKEY, 210 #endif 211 } E_HDMITX_IOCTL_CMDS; 212 213 typedef struct _stHDMITx_Init 214 { 215 MS_BOOL bReturn; 216 } stHDMITx_Init,*pstHDMITx_Init; 217 218 typedef struct _stHDMITx_Exit 219 { 220 MS_BOOL bReturn; 221 } stHDMITx_Exit,*pstHDMITx_Exit; 222 223 224 typedef struct _stHDMITx_TurnOnOff 225 { 226 MS_BOOL state; 227 } stHDMITx_TurnOnOff,*pstHDMITx_TurnOnOff; 228 229 typedef struct _stHDMITx_EnablePacketGen 230 { 231 MS_BOOL bflag; 232 } stHDMITx_EnablePacketGen,*pstHDMITx_EnablePacketGen; 233 234 235 typedef struct _stHDMITx_SetHDMITxMode 236 { 237 HDMITX_OUTPUT_MODE mode; 238 } stHDMITx_SetHDMITxMode,*pstHDMITx_SetHDMITxMode; 239 240 241 typedef struct _stHDMITx_SetHDMITxMode_CD 242 { 243 HDMITX_OUTPUT_MODE mode; 244 HDMITX_VIDEO_COLORDEPTH_VAL val; 245 } stHDMITx_SetHDMITxMode_CD,*pstHDMITx_SetHDMITxMode_CD; 246 247 typedef struct _stHDMITx_SetTMDSOnOff 248 { 249 MS_BOOL state; 250 } stHDMITx_SetTMDSOnOff,*pstHDMITx_SetTMDSOnOff; 251 252 253 typedef struct _stHDMITx_DisableTMDSCtrl 254 { 255 MS_BOOL bFlag; 256 } stHDMITx_DisableTMDSCtrl,*pstHDMITx_DisableTMDSCtrl; 257 258 typedef struct _stHDMITx_SetRBChannelSwap 259 { 260 MS_BOOL state; 261 } stHDMITx_SetRBChannelSwap,*pstHDMITx_SetRBChannelSwap; 262 263 typedef struct _stHDMITx_GetRxStatus 264 { 265 MS_BOOL bReturn; 266 } stHDMITx_GetRxStatus,*pstHDMITx_GetRxStatus; 267 268 typedef struct _stHDMITx_GetRxDCInfoFromEDID 269 { 270 HDMITX_VIDEO_COLORDEPTH_VAL *val; 271 MS_BOOL bReturn; 272 } stHDMITx_GetRxDCInfoFromEDID,*pstHDMITx_GetRxDCInfoFromEDID; 273 274 typedef struct _stHDMITx_GetRxVideoFormatFromEDID 275 { 276 MS_U8 *pu8Buffer; 277 MS_U8 u8BufSize; 278 MS_BOOL bReturn; 279 } stHDMITx_GetRxVideoFormatFromEDID,*pstHDMITx_GetRxVideoFormatFromEDID; 280 281 typedef struct _stHDMITx_GetVICListFromEDID 282 { 283 MS_U8 *pu8Buffer; 284 MS_U8 u8BufSize; 285 MS_BOOL bReturn; 286 } stHDMITx_GetVICListFromEDID,*pstHDMITx_GetVICListFromEDID; 287 288 typedef struct _stHDMITx_GetColorFormatFromEDID 289 { 290 HDMITX_VIDEO_TIMING timing; 291 HDMITX_EDID_COLOR_FORMAT *pColorFmt; 292 MS_BOOL bReturn; 293 } stHDMITx_GetColorFormatFromEDID,*pstHDMITx_GetColorFormatFromEDID; 294 295 typedef struct _stHDMITx_GetDataBlockLengthFromEDID 296 { 297 MS_U8 *pu8Length; 298 MS_U8 u8TagCode; 299 MS_BOOL bReturn; 300 } stHDMITx_GetDataBlockLengthFromEDID,*pstHDMITx_GetDataBlockLengthFromEDID; 301 302 typedef struct _stHDMITx_GetRxAudioFormatFromEDID 303 { 304 MS_U8 *pu8Buffer; 305 MS_U8 u8BufSize; 306 MS_BOOL bReturn; 307 } stHDMITx_GetRxAudioFormatFromEDID,*pstHDMITx_GetRxAudioFormatFromEDID; 308 309 typedef struct _stHDMITx_EDID_HDMISupport 310 { 311 MS_BOOL *HDMI_Support; 312 MS_BOOL bReturn; 313 } stHDMITx_EDID_HDMISupport,*pstHDMITx_EDID_HDMISupport; 314 315 typedef struct _stHDMITx_GetRxIDManufacturerName 316 { 317 MS_U8 *pu8Buffer; 318 MS_BOOL bReturn; 319 } stHDMITx_GetRxIDManufacturerName,*pstHDMITx_GetRxIDManufacturerName; 320 321 typedef struct _stHDMITx_GetEDIDData 322 { 323 MS_U8 *pu8Buffer; 324 MS_BOOL BlockIdx; 325 MS_BOOL bReturn; 326 } stHDMITx_GetEDIDData,*pstHDMITx_GetEDIDData; 327 328 typedef struct _stHDMITx_GetRx3DStructureFromEDID 329 { 330 HDMITX_VIDEO_TIMING timing; 331 HDMITX_EDID_3D_STRUCTURE_ALL *p3DStructure; 332 MS_BOOL bReturn; 333 } stHDMITx_GetRx3DStructureFromEDID,*pstHDMITx_GetRx3DStructureFromEDID; 334 335 typedef struct _stHDMITx_PKT_User_Define 336 { 337 HDMITX_PACKET_TYPE packet_type; 338 MS_BOOL def_flag; 339 HDMITX_PACKET_PROCESS def_process; 340 MS_U8 def_fcnt; 341 } stHDMITx_PKT_User_Define,*pstHDMITx_PKT_User_Define; 342 343 typedef struct _stHDMITx_PKT_Content_Define 344 { 345 HDMITX_PACKET_TYPE packet_type; 346 MS_U8 *data; 347 MS_U8 length; 348 MS_BOOL bReturn; 349 } stHDMITx_PKT_Content_Define,*pstHDMITx_PKT_Content_Define; 350 351 typedef struct _stHDMITx_SetVideoOnOff 352 { 353 MS_BOOL state; 354 } stHDMITx_SetVideoOnOff,*pstHDMITx_SetVideoOnOff; 355 356 357 typedef struct _stHDMITx_SetColorFormat 358 { 359 HDMITX_VIDEO_COLOR_FORMAT in_color; 360 HDMITX_VIDEO_COLOR_FORMAT out_color; 361 } stHDMITx_SetColorFormat,*pstHDMITx_SetColorFormat; 362 363 typedef struct _stHDMITx_Set_VS_InfoFrame 364 { 365 HDMITX_VIDEO_VS_FORMAT vs_format; 366 HDMITX_VIDEO_3D_STRUCTURE vs_3d; 367 HDMITX_VIDEO_4k2k_VIC vs_vic; 368 } stHDMITx_Set_VS_InfoFrame,*pstHDMITx_Set_VS_InfoFrame; 369 370 typedef struct _stHDMITx_SetVideoOutputTiming 371 { 372 HDMITX_VIDEO_TIMING mode; 373 } stHDMITx_SetVideoOutputTiming,*pstHDMITx_SetVideoOutputTiming; 374 375 typedef struct DLL_PACKED 376 { 377 HDMITX_VIDEO_TIMING u8Mode; 378 HDMITX_TIMING_INFO_BY_CUSTOMER stTiminginfo; 379 } stHDMITx_SetVideoOutputTimingByCustomer,*pstHDMITx_stHDMITx_SetVideoOutputTimingByCustomer; 380 381 typedef struct _stHDMITx_SetVideoOutputAsepctRatio 382 { 383 HDMITX_VIDEO_ASPECT_RATIO out_ar; 384 } stHDMITx_SetVideoOutputAsepctRatio,*pstHDMITx_SetVideoOutputAsepctRatio; 385 386 typedef struct _stHDMITx_SetVideoOutputOverscan_AFD 387 { 388 MS_BOOL bflag; 389 HDMITX_VIDEO_SCAN_INFO out_scaninfo; 390 MS_U8 out_afd; 391 } stHDMITx_SetVideoOutputOverscan_AFD,*pstHDMITx_SetVideoOutputOverscan_AFD; 392 393 typedef struct _stHDMITx_SetAudioOnOff 394 { 395 MS_BOOL state; 396 } stHDMITx_SetAudioOnOff,*pstHDMITx_SetAudioOnOff; 397 398 typedef struct _stHDMITx_SetAudioFrequency 399 { 400 HDMITX_AUDIO_FREQUENCY freq; 401 } stHDMITx_SetAudioFrequency,*pstHDMITx_SetAudioFrequency; 402 403 typedef struct _stHDMITx_SetVideoOutputOverscan_AFD_II 404 { 405 MS_BOOL bflag; 406 HDMITX_VIDEO_SCAN_INFO out_scaninfo; 407 MS_U8 out_afd; 408 MS_U8 A0; 409 } stHDMITx_SetVideoOutputOverscan_AFD_II,*pstHDMITx_SetVideoOutputOverscan_AFD_II; 410 411 typedef struct _stHDMITx_SetAudioConfiguration 412 { 413 HDMITX_AUDIO_FREQUENCY freq; 414 HDMITX_AUDIO_CHANNEL_COUNT ch; 415 HDMITX_AUDIO_CODING_TYPE type; 416 } stHDMITx_SetAudioConfiguration,*pstHDMITx_SetAudioConfiguration; 417 418 typedef struct _stHDMITx_SetAudioSourceFormat 419 { 420 HDMITX_AUDIO_SOURCE_FORMAT fmt; 421 } stHDMITx_SetAudioSourceFormat,*pstHDMITx_SetAudioSourceFormat; 422 423 typedef struct _stHDMITx_SetAVIInfoExtColorimetry 424 { 425 HDMITX_AVI_EXTENDED_COLORIMETRY enExtColorimetry; 426 HDMITX_AVI_YCC_QUANT_RANGE enYccQuantRange; 427 MS_BOOL bReturn; 428 } stHDMITx_SetAVIInfoExtColorimetry, *pstHDMITx_SetAVIInfoExtColorimetry; 429 430 typedef struct _stHDMITx_GetAudioCTS 431 { 432 MS_U32 u32Return; 433 } stHDMITx_GetAudioCTS,*pstHDMITx_GetAudioCTS; 434 435 typedef struct _stHDMITx_MuteAudioFIFO 436 { 437 MS_BOOL bflag; 438 } stHDMITx_MuteAudioFIFO,*pstHDMITx_MuteAudioFIFO; 439 440 typedef struct _stHDMITx_GetHdcpKey 441 { 442 MS_BOOL useinternalkey; 443 MS_U8 *data; 444 } stHDMITx_GetHdcpKey,*pstHDMITx_GetHdcpKey; 445 446 typedef struct _stHDMITx_GetBksv 447 { 448 MS_U8 *pdata; 449 MS_BOOL bReturn; 450 } stHDMITx_GetBksv,*pstHDMITx_GetBksv; 451 452 typedef struct _stHDMITx_GetAksv 453 { 454 MS_U8 *pdata; 455 MS_BOOL bReturn; 456 } stHDMITx_GetAksv,*pstHDMITx_GetAksv; 457 458 typedef struct _stHDMITx_SetHDCPOnOff 459 { 460 MS_BOOL state; 461 } stHDMITx_SetHDCPOnOff,*pstHDMITx_SetHDCPOnOff; 462 463 typedef struct _stHDMITx_SetAVMUTE 464 { 465 MS_BOOL bflag; 466 } stHDMITx_SetAVMUTE,*pstHDMITx_SetAVMUTE; 467 468 typedef struct _stHDMITx_GetAVMUTEStatus 469 { 470 MS_BOOL bReturn; 471 } stHDMITx_GetAVMUTEStatus,*pstHDMITx_GetAVMUTEStatus; 472 473 typedef struct _stHDMITx_HDCP_RevocationKey_List 474 { 475 MS_U8 *data; 476 MS_U16 size; 477 } stHDMITx_HDCP_RevocationKey_List,*pstHDMITx_HDCP_RevocationKey_List; 478 479 typedef struct _stHDMITx_HDCP_RevocationKey_Check 480 { 481 HDMITX_REVOCATION_STATE stReturn; 482 } stHDMITx_HDCP_RevocationKey_Check,*pstHDMITx_HDCP_RevocationKey_Check; 483 484 typedef struct _stHDMITx_HDCP_IsSRMSignatureValid 485 { 486 MS_U8 *data; 487 MS_U32 size; 488 MS_BOOL bReturn; 489 } stHDMITx_HDCP_IsSRMSignatureValid,*pstHDMITx_HDCP_IsSRMSignatureValid; 490 491 typedef struct _stHDMITx_GetHDCPStatus 492 { 493 HDMITX_HDCP_STATUS stReturn; 494 } stHDMITx_GetHDCPStatus,*pstHDMITx_GetHDCPStatus; 495 496 typedef struct _stHDMITx_HDCP_StartAuth 497 { 498 MS_BOOL bFlag; 499 } stHDMITx_HDCP_StartAuth,*pstHDMITx_HDCP_StartAuth; 500 501 typedef struct _stHDMITx_GetINTHDCPStatus 502 { 503 HDMITX_INT_HDCP_STATUS stReturn; 504 } stHDMITx_GetINTHDCPStatus,*pstHDMITx_GetINTHDCPStatus; 505 506 typedef struct _stHDMITx_GetHDCP_PreStatus 507 { 508 HDMITX_INT_HDCP_STATUS stReturn; 509 } stHDMITx_GetHDCP_PreStatus,*pstHDMITx_GetHDCP_PreStatus; 510 511 typedef struct _stHDMITx_UnHDCPRxControl 512 { 513 HDMITX_UNHDCPRX_CONTROL state; 514 } stHDMITx_UnHDCPRxControl,*pstHDMITx_UnHDCPRxControl; 515 516 typedef struct _stHDMITx_HDCPRxFailControl 517 { 518 HDMITX_HDCPRXFail_CONTROL state; 519 } stHDMITx_HDCPRxFailControl,*pstHDMITx_HDCPRxFailControl; 520 521 typedef struct _stHDMITx_GetLibVer 522 { 523 const MSIF_Version **ppVersion; 524 MS_BOOL bReturn; 525 } stHDMITx_GetLibVer,*pstHDMITx_GetLibVer; 526 527 typedef struct _stHDMITx_GetInfo 528 { 529 HDMI_TX_INFO *pInfo; 530 MS_BOOL bReturn; 531 } stHDMITx_GetInfo,*pstHDMITx_GetInfo; 532 533 typedef struct _stHDMITx_GetStatus 534 { 535 HDMI_TX_Status *pStatus; 536 MS_BOOL bReturn; 537 } stHDMITx_GetStatus,*pstHDMITx_GetStatus; 538 539 typedef struct _stHDMITx_SetDbgLevel 540 { 541 MS_U16 u16DbgSwitch; 542 MS_BOOL bReturn; 543 } stHDMITx_SetDbgLevels,*pstHDMITx_SetDbgLevel; 544 545 typedef struct _stHDMITx_SetHPDGpioPin 546 { 547 MS_U8 u8pin; 548 } stHDMITx_SetHPDGpioPin,*pstHDMITx_SetHPDGpioPin; 549 550 typedef struct _stHDMITx_AnalogTuning 551 { 552 HDMITX_ANALOG_TUNING *pInfo; 553 } stHDMITx_AnalogTuning,*pstHDMITx_AnalogTuning; 554 555 typedef struct _stHDMITx_ForceHDMIOutputMode 556 { 557 MS_BOOL bflag; 558 HDMITX_OUTPUT_MODE output_mode; 559 } stHDMITx_ForceHDMIOutputMode,*pstHDMITx_ForceHDMIOutputMode; 560 561 typedef struct _stHDMITx_ForceHDMIOutputColorFormat 562 { 563 MS_BOOL bflag; 564 HDMITX_VIDEO_COLOR_FORMAT output_color; 565 MS_BOOL bReturn; 566 } stHDMITx_ForceHDMIOutputColorFormat,*pstHDMITx_ForceHDMIOutputColorFormat; 567 568 typedef struct _stHDMITx_DisableRegWrite 569 { 570 MS_BOOL bFlag; 571 } stHDMITx_DisableRegWrite,*pstHDMITx_DisableRegWrite; 572 573 typedef struct _stHDMITx_GetEDIDPhyAdr 574 { 575 MS_U8 *pdata; 576 } stHDMITx_GetEDIDPhyAdr,*pstHDMITx_GetEDIDPhyAdr; 577 578 typedef struct _stHDMITx_SetCECOnOff 579 { 580 MS_BOOL bflag; 581 } stHDMITx_SetCECOnOff,*pstHDMITx_SetCECOnOff; 582 583 typedef struct _stHDMITx_GetCECStatus 584 { 585 MS_BOOL bReturn; 586 } stHDMITx_GetCECStatus,*pstHDMITx_GetCECStatus; 587 588 typedef struct _stHDMITx_EdidChecking 589 { 590 MS_BOOL bReturn; 591 } stHDMITx_EdidChecking,*pstHDMITx_EdidChecking; 592 593 typedef struct _stHDMITx_RxBypass_Mode 594 { 595 HDMITX_INPUT_FREQ freq; 596 MS_BOOL bflag; 597 MS_BOOL bReturn; 598 } stHDMITx_RxBypass_Mode,*pstHDMITx_RxBypass_Mode; 599 600 typedef struct _stHDMITx_Disable_RxBypass 601 { 602 MS_BOOL bReturn; 603 } stHDMITx_Disable_RxBypass,*pstHDMITx_Disable_RxBypass; 604 605 typedef struct _stHDMITx_SetAksv2R0Interval 606 { 607 MS_U32 u32Interval; 608 MS_BOOL bReturn; 609 } stHDMITx_SetAksv2R0Interval,*pstHDMITx_SetAksv2R0Interval; 610 611 typedef struct _stHDMITx_IsHDCPRxValid 612 { 613 MS_BOOL bReturn; 614 } stHDMITx_IsHDCPRxValid,*pstHDMITx_IsHDCPRxValid; 615 616 typedef struct _stHDMITx_GetChipCaps 617 { 618 EN_HDMITX_CAPS eCapType; 619 MS_U32* pRet; 620 MS_U32 ret_size; 621 MS_BOOL bReturn; 622 } stHDMITx_GetChipCaps,*pstHDMITx_GetChipCaps; 623 624 typedef struct _stHDMITx_SetPowerState 625 { 626 EN_POWER_MODE u16PowerState; 627 MS_U32 u32Return; 628 } stHDMITx_SetPowerState,*pstHDMITx_SetPowerState; 629 630 typedef struct _stHDMITx_GetEdidDataBlocks 631 { 632 HDMITX_CEA_DB_TAG_CODE enTagCode; 633 HDMITX_CEA_EXT_TAG_CODE enExtTagCode; 634 MS_U8* pu8Data; 635 MS_U32 u32DataLen; 636 MS_U32* pu32RealLen; 637 MS_BOOL bReturn; 638 } stHDMITx_GetEdidDataBlocks, *pstHDMITx_GetEdidDataBlocks; 639 640 typedef struct _stHDMITx_GetKSVList 641 { 642 MS_U8* pu8Bstatus; 643 MS_U8* pu8KSVList; 644 MS_U16 u16BufLen; 645 MS_U16* pu16KSVLength; 646 MS_BOOL bReturn; 647 } stHDMITx_GetKSVList, *pstHDMITx_GetKSVList; 648 649 typedef struct _stHDMITx_HDCP2AccessX74 650 { 651 MS_U8 u8PortIdx; 652 MS_U8 u8OffsetAddr; 653 MS_U8 u8OpCode; 654 MS_U8 *pu8RdBuf; 655 MS_U16 u16RdLen; 656 MS_U8 *pu8WRBuff; 657 MS_U16 u16WrLen; 658 MS_BOOL bReturn; 659 } stHDMITx_HDCP2AccessX74, *pstHDMITx_HDCP2AccessX74; 660 661 typedef struct _stHDMITx_HDCP2TxInit 662 { 663 MS_U8 u8PortIdx; 664 MS_BOOL bEnable; 665 } stHDMITx_HDCP2TxInit, *pstHDMITx_HDCP2TxInit; 666 667 typedef struct _stHDMITx_HDCP2TxEnableEncrypt 668 { 669 MS_U8 u8PortIdx; 670 MS_BOOL bEnable; 671 } stHDMITx_HDCP2TxEnableEncrypt, *pstHDMITx_HDCP2TxEnableEncrypt; 672 673 typedef struct _stHDMITx_HDCP2TxFillCipherKey 674 { 675 MS_U8 u8PortIdx; 676 MS_U8 *pu8Riv; 677 MS_U8 *pu8KsXORLC128; 678 } stHDMITx_HDCP2TxFillCipherKey, *pstHDMITx_HDCP2TxFillCipherKey; 679 680 typedef struct _stHDMITx_GeneralCtrl 681 { 682 MS_U32 u32Cmd; 683 void *pu8Buf; 684 MS_U32 u32BufSize; 685 MS_BOOL bReturn; 686 } stHDMITx_GeneralCtrl, *pstHDMITx_GeneralCtrl; 687 688 typedef struct 689 { 690 HDMITX_VIDEO_COLOR_FORMAT input_color; 691 HDMITX_VIDEO_COLOR_FORMAT output_color; 692 HDMITX_QUANT_RANGE input_range; 693 HDMITX_QUANT_RANGE output_range; 694 MS_BOOL result; 695 } stHDMITX_COLOR_AND_RANGE_TRANSFORM_PARAMETERS, *pstHDMITX_COLOR_AND_RANGE_TRANSFORM_PARAMETERS; 696 697 typedef struct 698 { 699 MS_U8 ubSSCEn; 700 MS_BOOL result; 701 } stHDMITX_SSCENABLE, *pstHDMITX_SSCENABLE; 702 703 typedef struct DLL_PACKED 704 { 705 MS_U32 u32StructVersion;//StructVersion Control 706 HDMITX_AVI_COLORIMETRY colorimetry; 707 MS_U8 u8Return; 708 } stHDMITX_SET_COLORIMETRY, *pstHDMITX_SET_COLORIMETRY; 709 710 typedef struct DLL_PACKED 711 { 712 MS_U32 u32StructVersion;//StructVersion Control 713 MS_U32 u32RxStatus; 714 } stHDMITX_GET_FULL_RX_STATUS, *pstHDMITX_GET_FULL_RX_STATUS; 715 716 typedef struct DLL_PACKED 717 { 718 MS_U32 u32StructVersion;//StructVersion Control 719 HDMITX_OUTPUT_MODE eOutputMode; 720 HDMITX_VIDEO_TIMING eTiming; 721 HDMITX_VIDEO_COLOR_FORMAT eInColor; 722 HDMITX_VIDEO_COLOR_FORMAT eOutColor; 723 HDMITX_VIDEO_COLORDEPTH_VAL eColorDepth; 724 HDMITX_TIMING_ERROR ubRet; 725 } stHDMITX_CHECK_LEGAL_TIMING, *pstHDMITX_CHECK_LEGAL_TIMING; 726 727 typedef struct DLL_PACKED 728 { 729 MS_U32 u32StructVersion;//StructVersion Control 730 MS_U32 u32TMDSStatus; 731 MS_U32 u32Ret; 732 } stHDMITX_GET_TMDS_STATUS, *pstHDMITX_GET_TMDS_STATUS; 733 734 #if defined(VANCLEEF_MCP) || defined(RAPTORS_MCP) 735 typedef struct _stHDMITx_Vancleef_LoadHDCPKey 736 { 737 MS_U8 *pHdcpKey; 738 MS_U32 u32Size; 739 MS_BOOL bReturn; 740 } stHDMITx_Vancleef_LoadHDCPKey,*pstHDMITx_Vancleef_LoadHDCPKey; 741 #endif 742 743 #ifdef __cplusplus 744 } 745 #endif 746 747 748 #endif // _API_HDMITX_H_ 749 750