xref: /utopia/UTPA2-700.0.x/mxlib/include/apiHDMITx_v2.h (revision 53ee8cc121a030b8d368113ac3e966b4705770ef)
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