xref: /utopia/UTPA2-700.0.x/mxlib/include/apiHDMITx_v2.h (revision 53ee8cc121a030b8d368113ac3e966b4705770ef)
1*53ee8cc1Swenshuai.xi //<MStar Software>
2*53ee8cc1Swenshuai.xi //******************************************************************************
3*53ee8cc1Swenshuai.xi // MStar Software
4*53ee8cc1Swenshuai.xi // Copyright (c) 2010 - 2012 MStar Semiconductor, Inc. All rights reserved.
5*53ee8cc1Swenshuai.xi // All software, firmware and related documentation herein ("MStar Software") are
6*53ee8cc1Swenshuai.xi // intellectual property of MStar Semiconductor, Inc. ("MStar") and protected by
7*53ee8cc1Swenshuai.xi // law, including, but not limited to, copyright law and international treaties.
8*53ee8cc1Swenshuai.xi // Any use, modification, reproduction, retransmission, or republication of all
9*53ee8cc1Swenshuai.xi // or part of MStar Software is expressly prohibited, unless prior written
10*53ee8cc1Swenshuai.xi // permission has been granted by MStar.
11*53ee8cc1Swenshuai.xi //
12*53ee8cc1Swenshuai.xi // By accessing, browsing and/or using MStar Software, you acknowledge that you
13*53ee8cc1Swenshuai.xi // have read, understood, and agree, to be bound by below terms ("Terms") and to
14*53ee8cc1Swenshuai.xi // comply with all applicable laws and regulations:
15*53ee8cc1Swenshuai.xi //
16*53ee8cc1Swenshuai.xi // 1. MStar shall retain any and all right, ownership and interest to MStar
17*53ee8cc1Swenshuai.xi //    Software and any modification/derivatives thereof.
18*53ee8cc1Swenshuai.xi //    No right, ownership, or interest to MStar Software and any
19*53ee8cc1Swenshuai.xi //    modification/derivatives thereof is transferred to you under Terms.
20*53ee8cc1Swenshuai.xi //
21*53ee8cc1Swenshuai.xi // 2. You understand that MStar Software might include, incorporate or be
22*53ee8cc1Swenshuai.xi //    supplied together with third party`s software and the use of MStar
23*53ee8cc1Swenshuai.xi //    Software may require additional licenses from third parties.
24*53ee8cc1Swenshuai.xi //    Therefore, you hereby agree it is your sole responsibility to separately
25*53ee8cc1Swenshuai.xi //    obtain any and all third party right and license necessary for your use of
26*53ee8cc1Swenshuai.xi //    such third party`s software.
27*53ee8cc1Swenshuai.xi //
28*53ee8cc1Swenshuai.xi // 3. MStar Software and any modification/derivatives thereof shall be deemed as
29*53ee8cc1Swenshuai.xi //    MStar`s confidential information and you agree to keep MStar`s
30*53ee8cc1Swenshuai.xi //    confidential information in strictest confidence and not disclose to any
31*53ee8cc1Swenshuai.xi //    third party.
32*53ee8cc1Swenshuai.xi //
33*53ee8cc1Swenshuai.xi // 4. MStar Software is provided on an "AS IS" basis without warranties of any
34*53ee8cc1Swenshuai.xi //    kind. Any warranties are hereby expressly disclaimed by MStar, including
35*53ee8cc1Swenshuai.xi //    without limitation, any warranties of merchantability, non-infringement of
36*53ee8cc1Swenshuai.xi //    intellectual property rights, fitness for a particular purpose, error free
37*53ee8cc1Swenshuai.xi //    and in conformity with any international standard.  You agree to waive any
38*53ee8cc1Swenshuai.xi //    claim against MStar for any loss, damage, cost or expense that you may
39*53ee8cc1Swenshuai.xi //    incur related to your use of MStar Software.
40*53ee8cc1Swenshuai.xi //    In no event shall MStar be liable for any direct, indirect, incidental or
41*53ee8cc1Swenshuai.xi //    consequential damages, including without limitation, lost of profit or
42*53ee8cc1Swenshuai.xi //    revenues, lost or damage of data, and unauthorized system use.
43*53ee8cc1Swenshuai.xi //    You agree that this Section 4 shall still apply without being affected
44*53ee8cc1Swenshuai.xi //    even if MStar Software has been modified by MStar in accordance with your
45*53ee8cc1Swenshuai.xi //    request or instruction for your use, except otherwise agreed by both
46*53ee8cc1Swenshuai.xi //    parties in writing.
47*53ee8cc1Swenshuai.xi //
48*53ee8cc1Swenshuai.xi // 5. If requested, MStar may from time to time provide technical supports or
49*53ee8cc1Swenshuai.xi //    services in relation with MStar Software to you for your use of
50*53ee8cc1Swenshuai.xi //    MStar Software in conjunction with your or your customer`s product
51*53ee8cc1Swenshuai.xi //    ("Services").
52*53ee8cc1Swenshuai.xi //    You understand and agree that, except otherwise agreed by both parties in
53*53ee8cc1Swenshuai.xi //    writing, Services are provided on an "AS IS" basis and the warranty
54*53ee8cc1Swenshuai.xi //    disclaimer set forth in Section 4 above shall apply.
55*53ee8cc1Swenshuai.xi //
56*53ee8cc1Swenshuai.xi // 6. Nothing contained herein shall be construed as by implication, estoppels
57*53ee8cc1Swenshuai.xi //    or otherwise:
58*53ee8cc1Swenshuai.xi //    (a) conferring any license or right to use MStar name, trademark, service
59*53ee8cc1Swenshuai.xi //        mark, symbol or any other identification;
60*53ee8cc1Swenshuai.xi //    (b) obligating MStar or any of its affiliates to furnish any person,
61*53ee8cc1Swenshuai.xi //        including without limitation, you and your customers, any assistance
62*53ee8cc1Swenshuai.xi //        of any kind whatsoever, or any information; or
63*53ee8cc1Swenshuai.xi //    (c) conferring any license or right under any intellectual property right.
64*53ee8cc1Swenshuai.xi //
65*53ee8cc1Swenshuai.xi // 7. These terms shall be governed by and construed in accordance with the laws
66*53ee8cc1Swenshuai.xi //    of Taiwan, R.O.C., excluding its conflict of law rules.
67*53ee8cc1Swenshuai.xi //    Any and all dispute arising out hereof or related hereto shall be finally
68*53ee8cc1Swenshuai.xi //    settled by arbitration referred to the Chinese Arbitration Association,
69*53ee8cc1Swenshuai.xi //    Taipei in accordance with the ROC Arbitration Law and the Arbitration
70*53ee8cc1Swenshuai.xi //    Rules of the Association by three (3) arbitrators appointed in accordance
71*53ee8cc1Swenshuai.xi //    with the said Rules.
72*53ee8cc1Swenshuai.xi //    The place of arbitration shall be in Taipei, Taiwan and the language shall
73*53ee8cc1Swenshuai.xi //    be English.
74*53ee8cc1Swenshuai.xi //    The arbitration award shall be final and binding to both parties.
75*53ee8cc1Swenshuai.xi //
76*53ee8cc1Swenshuai.xi //******************************************************************************
77*53ee8cc1Swenshuai.xi //<MStar Software>
78*53ee8cc1Swenshuai.xi ////////////////////////////////////////////////////////////////////////////////
79*53ee8cc1Swenshuai.xi //
80*53ee8cc1Swenshuai.xi // Copyright (c) 2006-2007 MStar Semiconductor, Inc.
81*53ee8cc1Swenshuai.xi // All rights reserved.
82*53ee8cc1Swenshuai.xi //
83*53ee8cc1Swenshuai.xi // Unless otherwise stipulated in writing, any and all information contained
84*53ee8cc1Swenshuai.xi // herein regardless in any format shall remain the sole proprietary of
85*53ee8cc1Swenshuai.xi // MStar Semiconductor Inc. and be kept in strict confidence
86*53ee8cc1Swenshuai.xi // (��MStar Confidential Information��) by the recipient.
87*53ee8cc1Swenshuai.xi // Any unauthorized act including without limitation unauthorized disclosure,
88*53ee8cc1Swenshuai.xi // copying, use, reproduction, sale, distribution, modification, disassembling,
89*53ee8cc1Swenshuai.xi // reverse engineering and compiling of the contents of MStar Confidential
90*53ee8cc1Swenshuai.xi // Information is unlawful and strictly prohibited. MStar hereby reserves the
91*53ee8cc1Swenshuai.xi // rights to any and all damages, losses, costs and expenses resulting therefrom.
92*53ee8cc1Swenshuai.xi //
93*53ee8cc1Swenshuai.xi ////////////////////////////////////////////////////////////////////////////////
94*53ee8cc1Swenshuai.xi 
95*53ee8cc1Swenshuai.xi #ifndef _API_HDMITX_V2_H_
96*53ee8cc1Swenshuai.xi #define _API_HDMITX_V2_H_
97*53ee8cc1Swenshuai.xi 
98*53ee8cc1Swenshuai.xi #include "MsTypes.h"
99*53ee8cc1Swenshuai.xi //#include "halHDMITx.h"
100*53ee8cc1Swenshuai.xi //#include "drvHDMITx.h"
101*53ee8cc1Swenshuai.xi //#include "regHDMITx.h"
102*53ee8cc1Swenshuai.xi 
103*53ee8cc1Swenshuai.xi 
104*53ee8cc1Swenshuai.xi 
105*53ee8cc1Swenshuai.xi #ifdef __cplusplus
106*53ee8cc1Swenshuai.xi extern "C"
107*53ee8cc1Swenshuai.xi {
108*53ee8cc1Swenshuai.xi #endif
109*53ee8cc1Swenshuai.xi 
110*53ee8cc1Swenshuai.xi 
111*53ee8cc1Swenshuai.xi 
112*53ee8cc1Swenshuai.xi typedef enum
113*53ee8cc1Swenshuai.xi {
114*53ee8cc1Swenshuai.xi     E_HDMITX_CMD_INIT,
115*53ee8cc1Swenshuai.xi     E_HDMITX_CMD_EXIT,
116*53ee8cc1Swenshuai.xi     E_HDMITX_CMD_TURNONOFF,
117*53ee8cc1Swenshuai.xi     E_HDMITX_CMD_ENABLEPACKETGEN,
118*53ee8cc1Swenshuai.xi     E_HDMITX_CMD_SETHDMITXMODE,
119*53ee8cc1Swenshuai.xi     E_HDMITX_CMD_SETHDMITXMODE_CD,
120*53ee8cc1Swenshuai.xi     E_HDMITX_CMD_SETTMDSONOFF,
121*53ee8cc1Swenshuai.xi     E_HDMITX_CMD_DISABLETMDSCTRL,
122*53ee8cc1Swenshuai.xi     E_HDMITX_CMD_SETRBCHANNELSWAP,
123*53ee8cc1Swenshuai.xi     E_HDMITX_CMD_EXHIBIT,
124*53ee8cc1Swenshuai.xi 
125*53ee8cc1Swenshuai.xi     E_HDMITX_CMD_GETRXSTATUS,
126*53ee8cc1Swenshuai.xi     E_HDMITX_CMD_GETRXDCINFOFROMEDID,
127*53ee8cc1Swenshuai.xi     E_HDMITX_CMD_GETRXVIDEODORMATFROMEDID,
128*53ee8cc1Swenshuai.xi     E_HDMITX_CMD_GETVICLISTFROMEDID,
129*53ee8cc1Swenshuai.xi     E_HDMITX_CMD_GETDATABLOCKLENGTHFROMEDID,
130*53ee8cc1Swenshuai.xi     E_HDMITX_CMD_GETRXAUDIOFORMATFROMEDID,
131*53ee8cc1Swenshuai.xi     E_HDMITX_CMD_EDID_HDMISUPPORT,
132*53ee8cc1Swenshuai.xi     E_HDMITX_CMD_GETRXIDMANUFACTURERNAME,
133*53ee8cc1Swenshuai.xi     E_HDMITX_CMD_GETEDIDDATA,
134*53ee8cc1Swenshuai.xi     E_HDMITX_CMD_GETRX3DSTRUCTUREFROMEDID,
135*53ee8cc1Swenshuai.xi     E_HDMITX_CMD_GETCOLORFORMATFROMEDID,
136*53ee8cc1Swenshuai.xi     E_HDMITX_CMD_PKT_USER_DEFINE_CLEAR,
137*53ee8cc1Swenshuai.xi 
138*53ee8cc1Swenshuai.xi     E_HDMITX_CMD_PKT_USER_DEFINE,
139*53ee8cc1Swenshuai.xi     E_HDMITX_CMD_PKT_CONTENT_DEFINE,
140*53ee8cc1Swenshuai.xi     E_HDMITX_CMD_SETVIDEOONOFF,
141*53ee8cc1Swenshuai.xi     E_HDMITX_CMD_SETCOLORFORMAT,
142*53ee8cc1Swenshuai.xi     E_HDMITX_CMD_SET_VS_INFOFRAME,
143*53ee8cc1Swenshuai.xi     E_HDMITX_CMD_SETVIDEOOUTPUTTIMING,
144*53ee8cc1Swenshuai.xi     E_HDMITX_CMD_SETVIDEOUTPUTTIMINGBYCUSTOMER,
145*53ee8cc1Swenshuai.xi     E_HDMITX_CMD_SETVIDEOOUTPUTASEPCTRATIO, //wrong
146*53ee8cc1Swenshuai.xi     E_HDMITX_CMD_SETVIDEOOUTPUTOVERSCAN_AFD,
147*53ee8cc1Swenshuai.xi     E_HDMITX_CMD_SETAUDIOONOFF,
148*53ee8cc1Swenshuai.xi     E_HDMITX_CMD_SETAUDIOFREQUENCY,
149*53ee8cc1Swenshuai.xi 
150*53ee8cc1Swenshuai.xi     E_HDMITX_CMD_SETVIDEOOUTPUTOVERSCAN_AFD_II,
151*53ee8cc1Swenshuai.xi 	E_HDMITX_CMD_SETAUDIOCONFIGURATION,
152*53ee8cc1Swenshuai.xi     E_HDMITX_CMD_SETAUDIOSOURCEFORMAT,
153*53ee8cc1Swenshuai.xi     E_HDMITX_CMD_SETAVIINFOEXTCOLORIMETRY,
154*53ee8cc1Swenshuai.xi     E_HDMITX_CMD_GETAUDIOCTS,
155*53ee8cc1Swenshuai.xi     E_HDMITX_CMD_MUTEAUDIOFIFO,
156*53ee8cc1Swenshuai.xi     E_HDMITX_CMD_GETHDCPKEY,
157*53ee8cc1Swenshuai.xi     E_HDMITX_CMD_GETBKSV,
158*53ee8cc1Swenshuai.xi     E_HDMITX_CMD_GETAKSV,
159*53ee8cc1Swenshuai.xi     E_HDMITX_CMD_SETHDCPONOFF,
160*53ee8cc1Swenshuai.xi     E_HDMITX_CMD_SETAVMUTE,
161*53ee8cc1Swenshuai.xi 
162*53ee8cc1Swenshuai.xi     E_HDMITX_CMD_GETAVMUTESTATUS,
163*53ee8cc1Swenshuai.xi     E_HDMITX_CMD_HDCP_REVOCATIONKEY_LIST,
164*53ee8cc1Swenshuai.xi     E_HDMITX_CMD_HDCP_REVOCATIONKEY_CHECK,
165*53ee8cc1Swenshuai.xi     E_HDMITX_CMD_HDCP_ISSRMSIGNATUREVALID,
166*53ee8cc1Swenshuai.xi     E_HDMITX_CMD_GETHDCPSTATUS,
167*53ee8cc1Swenshuai.xi     E_HDMITX_CMD_HDCP_STARTAUTH,
168*53ee8cc1Swenshuai.xi     E_HDMITX_CMD_GETINTHDCPSTATUS,
169*53ee8cc1Swenshuai.xi     E_HDMITX_CMD_GETHDCP_PRESTATUS,
170*53ee8cc1Swenshuai.xi     E_HDMITX_CMD_UNHDCPRXCONTROL,
171*53ee8cc1Swenshuai.xi     E_HDMITX_CMD_HDCPRXFAILCONTROL,
172*53ee8cc1Swenshuai.xi 
173*53ee8cc1Swenshuai.xi     E_HDMITX_CMD_GETLIBVER,
174*53ee8cc1Swenshuai.xi 	E_HDMITX_CMD_GETINFO,
175*53ee8cc1Swenshuai.xi     E_HDMITX_CMD_GETSTATUS,
176*53ee8cc1Swenshuai.xi     E_HDMITX_CMD_SETDBGLEVEL,
177*53ee8cc1Swenshuai.xi     E_HDMITX_CMD_SETHPDGPIOPIN,
178*53ee8cc1Swenshuai.xi     E_HDMITX_CMD_ANALOGTUNING,
179*53ee8cc1Swenshuai.xi     E_HDMITX_CMD_FORCEHDMIOUTPUTMODE,
180*53ee8cc1Swenshuai.xi     E_HDMITX_CMD_FORCEHDMIOUTPUTCOLORFORMAT,
181*53ee8cc1Swenshuai.xi     E_HDMITX_CMD_DISABLEREGWRITE,
182*53ee8cc1Swenshuai.xi     E_HDMITX_CMD_GETEDIDPHYADR,
183*53ee8cc1Swenshuai.xi 
184*53ee8cc1Swenshuai.xi     E_HDMITX_CMD_SETCECONOFF,
185*53ee8cc1Swenshuai.xi 	E_HDMITX_CMD_GETCECSTATUS,
186*53ee8cc1Swenshuai.xi     E_HDMITX_CMD_EDIDCHECKING,
187*53ee8cc1Swenshuai.xi     E_HDMITX_CMD_RXBYPASS_MODE,
188*53ee8cc1Swenshuai.xi     E_HDMITX_CMD_DISABLE_RXBYPASS,
189*53ee8cc1Swenshuai.xi     E_HDMITX_CMD_SETAKSV2R0INTERVAL,
190*53ee8cc1Swenshuai.xi     E_HDMITX_CMD_ISRXVALID,
191*53ee8cc1Swenshuai.xi     E_HDMITX_CMD_GETCHIPCAPS,
192*53ee8cc1Swenshuai.xi     E_HDMITX_CMD_SETPOWERSTATE,
193*53ee8cc1Swenshuai.xi     E_HDMITX_CMD_GETEDIDDATABLOCK,
194*53ee8cc1Swenshuai.xi     E_HDMITX_CMD_GETKSVLIST,
195*53ee8cc1Swenshuai.xi     E_HDMITX_CMD_HDCP2ACCESSX74,
196*53ee8cc1Swenshuai.xi     E_HDMITX_CMD_HDCP2TxInit,
197*53ee8cc1Swenshuai.xi     E_HDMITX_CMD_HDCP2TxEnableEncrypt,
198*53ee8cc1Swenshuai.xi     E_HDMITX_CMD_HDCP2TxFillCipherKey,
199*53ee8cc1Swenshuai.xi     E_HDMITX_CMD_GENERALCTRL,
200*53ee8cc1Swenshuai.xi     E_HDMITX_CMD_COLOR_AND_RANGE_TRANSFORM,
201*53ee8cc1Swenshuai.xi     E_HDMITX_CMD_SSC_ENABLE,
202*53ee8cc1Swenshuai.xi     E_HDMITX_CMD_SET_COLORIMETRY,
203*53ee8cc1Swenshuai.xi     E_HDMITX_CMD_GET_FULL_RX_STATUS,
204*53ee8cc1Swenshuai.xi 
205*53ee8cc1Swenshuai.xi     E_HDMITX_CMD_TIMING_CAPABILITY_CHECK,
206*53ee8cc1Swenshuai.xi     E_HDMITX_CMD_GET_PANELSIZE_FROM_EDID,
207*53ee8cc1Swenshuai.xi     E_HDMITX_CMD_GET_TMDS_STATUS,
208*53ee8cc1Swenshuai.xi     #if (defined(VANCLEEF_MCP) || defined(RAPTORS_MCP))
209*53ee8cc1Swenshuai.xi     E_HDMITX_CMD_VANCLEEF_LOADHDCPKEY,
210*53ee8cc1Swenshuai.xi     #endif
211*53ee8cc1Swenshuai.xi } E_HDMITX_IOCTL_CMDS;
212*53ee8cc1Swenshuai.xi 
213*53ee8cc1Swenshuai.xi typedef struct _stHDMITx_Init
214*53ee8cc1Swenshuai.xi {
215*53ee8cc1Swenshuai.xi     MS_BOOL bReturn;
216*53ee8cc1Swenshuai.xi } stHDMITx_Init,*pstHDMITx_Init;
217*53ee8cc1Swenshuai.xi 
218*53ee8cc1Swenshuai.xi typedef struct _stHDMITx_Exit
219*53ee8cc1Swenshuai.xi {
220*53ee8cc1Swenshuai.xi     MS_BOOL bReturn;
221*53ee8cc1Swenshuai.xi } stHDMITx_Exit,*pstHDMITx_Exit;
222*53ee8cc1Swenshuai.xi 
223*53ee8cc1Swenshuai.xi 
224*53ee8cc1Swenshuai.xi typedef struct _stHDMITx_TurnOnOff
225*53ee8cc1Swenshuai.xi {
226*53ee8cc1Swenshuai.xi     MS_BOOL state;
227*53ee8cc1Swenshuai.xi } stHDMITx_TurnOnOff,*pstHDMITx_TurnOnOff;
228*53ee8cc1Swenshuai.xi 
229*53ee8cc1Swenshuai.xi typedef struct _stHDMITx_EnablePacketGen
230*53ee8cc1Swenshuai.xi {
231*53ee8cc1Swenshuai.xi     MS_BOOL bflag;
232*53ee8cc1Swenshuai.xi } stHDMITx_EnablePacketGen,*pstHDMITx_EnablePacketGen;
233*53ee8cc1Swenshuai.xi 
234*53ee8cc1Swenshuai.xi 
235*53ee8cc1Swenshuai.xi typedef struct _stHDMITx_SetHDMITxMode
236*53ee8cc1Swenshuai.xi {
237*53ee8cc1Swenshuai.xi     HDMITX_OUTPUT_MODE mode;
238*53ee8cc1Swenshuai.xi } stHDMITx_SetHDMITxMode,*pstHDMITx_SetHDMITxMode;
239*53ee8cc1Swenshuai.xi 
240*53ee8cc1Swenshuai.xi 
241*53ee8cc1Swenshuai.xi typedef struct _stHDMITx_SetHDMITxMode_CD
242*53ee8cc1Swenshuai.xi {
243*53ee8cc1Swenshuai.xi     HDMITX_OUTPUT_MODE mode;
244*53ee8cc1Swenshuai.xi     HDMITX_VIDEO_COLORDEPTH_VAL val;
245*53ee8cc1Swenshuai.xi } stHDMITx_SetHDMITxMode_CD,*pstHDMITx_SetHDMITxMode_CD;
246*53ee8cc1Swenshuai.xi 
247*53ee8cc1Swenshuai.xi typedef struct _stHDMITx_SetTMDSOnOff
248*53ee8cc1Swenshuai.xi {
249*53ee8cc1Swenshuai.xi     MS_BOOL state;
250*53ee8cc1Swenshuai.xi } stHDMITx_SetTMDSOnOff,*pstHDMITx_SetTMDSOnOff;
251*53ee8cc1Swenshuai.xi 
252*53ee8cc1Swenshuai.xi 
253*53ee8cc1Swenshuai.xi typedef struct _stHDMITx_DisableTMDSCtrl
254*53ee8cc1Swenshuai.xi {
255*53ee8cc1Swenshuai.xi     MS_BOOL bFlag;
256*53ee8cc1Swenshuai.xi } stHDMITx_DisableTMDSCtrl,*pstHDMITx_DisableTMDSCtrl;
257*53ee8cc1Swenshuai.xi 
258*53ee8cc1Swenshuai.xi typedef struct _stHDMITx_SetRBChannelSwap
259*53ee8cc1Swenshuai.xi {
260*53ee8cc1Swenshuai.xi     MS_BOOL state;
261*53ee8cc1Swenshuai.xi } stHDMITx_SetRBChannelSwap,*pstHDMITx_SetRBChannelSwap;
262*53ee8cc1Swenshuai.xi 
263*53ee8cc1Swenshuai.xi typedef struct _stHDMITx_GetRxStatus
264*53ee8cc1Swenshuai.xi {
265*53ee8cc1Swenshuai.xi     MS_BOOL bReturn;
266*53ee8cc1Swenshuai.xi } stHDMITx_GetRxStatus,*pstHDMITx_GetRxStatus;
267*53ee8cc1Swenshuai.xi 
268*53ee8cc1Swenshuai.xi typedef struct _stHDMITx_GetRxDCInfoFromEDID
269*53ee8cc1Swenshuai.xi {
270*53ee8cc1Swenshuai.xi     HDMITX_VIDEO_COLORDEPTH_VAL *val;
271*53ee8cc1Swenshuai.xi     MS_BOOL bReturn;
272*53ee8cc1Swenshuai.xi } stHDMITx_GetRxDCInfoFromEDID,*pstHDMITx_GetRxDCInfoFromEDID;
273*53ee8cc1Swenshuai.xi 
274*53ee8cc1Swenshuai.xi typedef struct _stHDMITx_GetRxVideoFormatFromEDID
275*53ee8cc1Swenshuai.xi {
276*53ee8cc1Swenshuai.xi     MS_U8 *pu8Buffer;
277*53ee8cc1Swenshuai.xi     MS_U8 u8BufSize;
278*53ee8cc1Swenshuai.xi     MS_BOOL bReturn;
279*53ee8cc1Swenshuai.xi } stHDMITx_GetRxVideoFormatFromEDID,*pstHDMITx_GetRxVideoFormatFromEDID;
280*53ee8cc1Swenshuai.xi 
281*53ee8cc1Swenshuai.xi typedef struct _stHDMITx_GetVICListFromEDID
282*53ee8cc1Swenshuai.xi {
283*53ee8cc1Swenshuai.xi     MS_U8 *pu8Buffer;
284*53ee8cc1Swenshuai.xi     MS_U8 u8BufSize;
285*53ee8cc1Swenshuai.xi     MS_BOOL bReturn;
286*53ee8cc1Swenshuai.xi } stHDMITx_GetVICListFromEDID,*pstHDMITx_GetVICListFromEDID;
287*53ee8cc1Swenshuai.xi 
288*53ee8cc1Swenshuai.xi typedef struct _stHDMITx_GetColorFormatFromEDID
289*53ee8cc1Swenshuai.xi {
290*53ee8cc1Swenshuai.xi     HDMITX_VIDEO_TIMING timing;
291*53ee8cc1Swenshuai.xi     HDMITX_EDID_COLOR_FORMAT *pColorFmt;
292*53ee8cc1Swenshuai.xi     MS_BOOL bReturn;
293*53ee8cc1Swenshuai.xi } stHDMITx_GetColorFormatFromEDID,*pstHDMITx_GetColorFormatFromEDID;
294*53ee8cc1Swenshuai.xi 
295*53ee8cc1Swenshuai.xi typedef struct _stHDMITx_GetDataBlockLengthFromEDID
296*53ee8cc1Swenshuai.xi {
297*53ee8cc1Swenshuai.xi     MS_U8 *pu8Length;
298*53ee8cc1Swenshuai.xi     MS_U8 u8TagCode;
299*53ee8cc1Swenshuai.xi     MS_BOOL bReturn;
300*53ee8cc1Swenshuai.xi } stHDMITx_GetDataBlockLengthFromEDID,*pstHDMITx_GetDataBlockLengthFromEDID;
301*53ee8cc1Swenshuai.xi 
302*53ee8cc1Swenshuai.xi typedef struct _stHDMITx_GetRxAudioFormatFromEDID
303*53ee8cc1Swenshuai.xi {
304*53ee8cc1Swenshuai.xi     MS_U8 *pu8Buffer;
305*53ee8cc1Swenshuai.xi     MS_U8 u8BufSize;
306*53ee8cc1Swenshuai.xi     MS_BOOL bReturn;
307*53ee8cc1Swenshuai.xi } stHDMITx_GetRxAudioFormatFromEDID,*pstHDMITx_GetRxAudioFormatFromEDID;
308*53ee8cc1Swenshuai.xi 
309*53ee8cc1Swenshuai.xi typedef struct _stHDMITx_EDID_HDMISupport
310*53ee8cc1Swenshuai.xi {
311*53ee8cc1Swenshuai.xi     MS_BOOL *HDMI_Support;
312*53ee8cc1Swenshuai.xi     MS_BOOL bReturn;
313*53ee8cc1Swenshuai.xi } stHDMITx_EDID_HDMISupport,*pstHDMITx_EDID_HDMISupport;
314*53ee8cc1Swenshuai.xi 
315*53ee8cc1Swenshuai.xi typedef struct _stHDMITx_GetRxIDManufacturerName
316*53ee8cc1Swenshuai.xi {
317*53ee8cc1Swenshuai.xi     MS_U8 *pu8Buffer;
318*53ee8cc1Swenshuai.xi     MS_BOOL bReturn;
319*53ee8cc1Swenshuai.xi } stHDMITx_GetRxIDManufacturerName,*pstHDMITx_GetRxIDManufacturerName;
320*53ee8cc1Swenshuai.xi 
321*53ee8cc1Swenshuai.xi typedef struct _stHDMITx_GetEDIDData
322*53ee8cc1Swenshuai.xi {
323*53ee8cc1Swenshuai.xi     MS_U8 *pu8Buffer;
324*53ee8cc1Swenshuai.xi     MS_BOOL BlockIdx;
325*53ee8cc1Swenshuai.xi     MS_BOOL bReturn;
326*53ee8cc1Swenshuai.xi } stHDMITx_GetEDIDData,*pstHDMITx_GetEDIDData;
327*53ee8cc1Swenshuai.xi 
328*53ee8cc1Swenshuai.xi typedef struct _stHDMITx_GetRx3DStructureFromEDID
329*53ee8cc1Swenshuai.xi {
330*53ee8cc1Swenshuai.xi     HDMITX_VIDEO_TIMING timing;
331*53ee8cc1Swenshuai.xi     HDMITX_EDID_3D_STRUCTURE_ALL *p3DStructure;
332*53ee8cc1Swenshuai.xi     MS_BOOL bReturn;
333*53ee8cc1Swenshuai.xi } stHDMITx_GetRx3DStructureFromEDID,*pstHDMITx_GetRx3DStructureFromEDID;
334*53ee8cc1Swenshuai.xi 
335*53ee8cc1Swenshuai.xi typedef struct _stHDMITx_PKT_User_Define
336*53ee8cc1Swenshuai.xi {
337*53ee8cc1Swenshuai.xi     HDMITX_PACKET_TYPE packet_type;
338*53ee8cc1Swenshuai.xi     MS_BOOL def_flag;
339*53ee8cc1Swenshuai.xi 	HDMITX_PACKET_PROCESS def_process;
340*53ee8cc1Swenshuai.xi     MS_U8 def_fcnt;
341*53ee8cc1Swenshuai.xi } stHDMITx_PKT_User_Define,*pstHDMITx_PKT_User_Define;
342*53ee8cc1Swenshuai.xi 
343*53ee8cc1Swenshuai.xi typedef struct _stHDMITx_PKT_Content_Define
344*53ee8cc1Swenshuai.xi {
345*53ee8cc1Swenshuai.xi     HDMITX_PACKET_TYPE packet_type;
346*53ee8cc1Swenshuai.xi     MS_U8 *data;
347*53ee8cc1Swenshuai.xi     MS_U8 length;
348*53ee8cc1Swenshuai.xi     MS_BOOL bReturn;
349*53ee8cc1Swenshuai.xi } stHDMITx_PKT_Content_Define,*pstHDMITx_PKT_Content_Define;
350*53ee8cc1Swenshuai.xi 
351*53ee8cc1Swenshuai.xi typedef struct _stHDMITx_SetVideoOnOff
352*53ee8cc1Swenshuai.xi {
353*53ee8cc1Swenshuai.xi     MS_BOOL state;
354*53ee8cc1Swenshuai.xi } stHDMITx_SetVideoOnOff,*pstHDMITx_SetVideoOnOff;
355*53ee8cc1Swenshuai.xi 
356*53ee8cc1Swenshuai.xi 
357*53ee8cc1Swenshuai.xi typedef struct _stHDMITx_SetColorFormat
358*53ee8cc1Swenshuai.xi {
359*53ee8cc1Swenshuai.xi     HDMITX_VIDEO_COLOR_FORMAT in_color;
360*53ee8cc1Swenshuai.xi     HDMITX_VIDEO_COLOR_FORMAT out_color;
361*53ee8cc1Swenshuai.xi } stHDMITx_SetColorFormat,*pstHDMITx_SetColorFormat;
362*53ee8cc1Swenshuai.xi 
363*53ee8cc1Swenshuai.xi typedef struct _stHDMITx_Set_VS_InfoFrame
364*53ee8cc1Swenshuai.xi {
365*53ee8cc1Swenshuai.xi     HDMITX_VIDEO_VS_FORMAT vs_format;
366*53ee8cc1Swenshuai.xi     HDMITX_VIDEO_3D_STRUCTURE vs_3d;
367*53ee8cc1Swenshuai.xi     HDMITX_VIDEO_4k2k_VIC vs_vic;
368*53ee8cc1Swenshuai.xi } stHDMITx_Set_VS_InfoFrame,*pstHDMITx_Set_VS_InfoFrame;
369*53ee8cc1Swenshuai.xi 
370*53ee8cc1Swenshuai.xi typedef struct _stHDMITx_SetVideoOutputTiming
371*53ee8cc1Swenshuai.xi {
372*53ee8cc1Swenshuai.xi     HDMITX_VIDEO_TIMING mode;
373*53ee8cc1Swenshuai.xi } stHDMITx_SetVideoOutputTiming,*pstHDMITx_SetVideoOutputTiming;
374*53ee8cc1Swenshuai.xi 
375*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED
376*53ee8cc1Swenshuai.xi {
377*53ee8cc1Swenshuai.xi     HDMITX_VIDEO_TIMING u8Mode;
378*53ee8cc1Swenshuai.xi     HDMITX_TIMING_INFO_BY_CUSTOMER stTiminginfo;
379*53ee8cc1Swenshuai.xi } stHDMITx_SetVideoOutputTimingByCustomer,*pstHDMITx_stHDMITx_SetVideoOutputTimingByCustomer;
380*53ee8cc1Swenshuai.xi 
381*53ee8cc1Swenshuai.xi typedef struct _stHDMITx_SetVideoOutputAsepctRatio
382*53ee8cc1Swenshuai.xi {
383*53ee8cc1Swenshuai.xi     HDMITX_VIDEO_ASPECT_RATIO out_ar;
384*53ee8cc1Swenshuai.xi } stHDMITx_SetVideoOutputAsepctRatio,*pstHDMITx_SetVideoOutputAsepctRatio;
385*53ee8cc1Swenshuai.xi 
386*53ee8cc1Swenshuai.xi typedef struct _stHDMITx_SetVideoOutputOverscan_AFD
387*53ee8cc1Swenshuai.xi {
388*53ee8cc1Swenshuai.xi     MS_BOOL bflag;
389*53ee8cc1Swenshuai.xi     HDMITX_VIDEO_SCAN_INFO out_scaninfo;
390*53ee8cc1Swenshuai.xi     MS_U8 out_afd;
391*53ee8cc1Swenshuai.xi } stHDMITx_SetVideoOutputOverscan_AFD,*pstHDMITx_SetVideoOutputOverscan_AFD;
392*53ee8cc1Swenshuai.xi 
393*53ee8cc1Swenshuai.xi typedef struct _stHDMITx_SetAudioOnOff
394*53ee8cc1Swenshuai.xi {
395*53ee8cc1Swenshuai.xi     MS_BOOL state;
396*53ee8cc1Swenshuai.xi } stHDMITx_SetAudioOnOff,*pstHDMITx_SetAudioOnOff;
397*53ee8cc1Swenshuai.xi 
398*53ee8cc1Swenshuai.xi typedef struct _stHDMITx_SetAudioFrequency
399*53ee8cc1Swenshuai.xi {
400*53ee8cc1Swenshuai.xi     HDMITX_AUDIO_FREQUENCY freq;
401*53ee8cc1Swenshuai.xi } stHDMITx_SetAudioFrequency,*pstHDMITx_SetAudioFrequency;
402*53ee8cc1Swenshuai.xi 
403*53ee8cc1Swenshuai.xi typedef struct _stHDMITx_SetVideoOutputOverscan_AFD_II
404*53ee8cc1Swenshuai.xi {
405*53ee8cc1Swenshuai.xi     MS_BOOL bflag;
406*53ee8cc1Swenshuai.xi     HDMITX_VIDEO_SCAN_INFO out_scaninfo;
407*53ee8cc1Swenshuai.xi     MS_U8 out_afd;
408*53ee8cc1Swenshuai.xi     MS_U8 A0;
409*53ee8cc1Swenshuai.xi } stHDMITx_SetVideoOutputOverscan_AFD_II,*pstHDMITx_SetVideoOutputOverscan_AFD_II;
410*53ee8cc1Swenshuai.xi 
411*53ee8cc1Swenshuai.xi typedef struct _stHDMITx_SetAudioConfiguration
412*53ee8cc1Swenshuai.xi {
413*53ee8cc1Swenshuai.xi     HDMITX_AUDIO_FREQUENCY freq;
414*53ee8cc1Swenshuai.xi     HDMITX_AUDIO_CHANNEL_COUNT ch;
415*53ee8cc1Swenshuai.xi     HDMITX_AUDIO_CODING_TYPE type;
416*53ee8cc1Swenshuai.xi } stHDMITx_SetAudioConfiguration,*pstHDMITx_SetAudioConfiguration;
417*53ee8cc1Swenshuai.xi 
418*53ee8cc1Swenshuai.xi typedef struct _stHDMITx_SetAudioSourceFormat
419*53ee8cc1Swenshuai.xi {
420*53ee8cc1Swenshuai.xi     HDMITX_AUDIO_SOURCE_FORMAT fmt;
421*53ee8cc1Swenshuai.xi } stHDMITx_SetAudioSourceFormat,*pstHDMITx_SetAudioSourceFormat;
422*53ee8cc1Swenshuai.xi 
423*53ee8cc1Swenshuai.xi typedef struct _stHDMITx_SetAVIInfoExtColorimetry
424*53ee8cc1Swenshuai.xi {
425*53ee8cc1Swenshuai.xi     HDMITX_AVI_EXTENDED_COLORIMETRY enExtColorimetry;
426*53ee8cc1Swenshuai.xi     HDMITX_AVI_YCC_QUANT_RANGE enYccQuantRange;
427*53ee8cc1Swenshuai.xi     MS_BOOL bReturn;
428*53ee8cc1Swenshuai.xi } stHDMITx_SetAVIInfoExtColorimetry, *pstHDMITx_SetAVIInfoExtColorimetry;
429*53ee8cc1Swenshuai.xi 
430*53ee8cc1Swenshuai.xi typedef struct _stHDMITx_GetAudioCTS
431*53ee8cc1Swenshuai.xi {
432*53ee8cc1Swenshuai.xi     MS_U32 u32Return;
433*53ee8cc1Swenshuai.xi } stHDMITx_GetAudioCTS,*pstHDMITx_GetAudioCTS;
434*53ee8cc1Swenshuai.xi 
435*53ee8cc1Swenshuai.xi typedef struct _stHDMITx_MuteAudioFIFO
436*53ee8cc1Swenshuai.xi {
437*53ee8cc1Swenshuai.xi     MS_BOOL bflag;
438*53ee8cc1Swenshuai.xi } stHDMITx_MuteAudioFIFO,*pstHDMITx_MuteAudioFIFO;
439*53ee8cc1Swenshuai.xi 
440*53ee8cc1Swenshuai.xi typedef struct _stHDMITx_GetHdcpKey
441*53ee8cc1Swenshuai.xi {
442*53ee8cc1Swenshuai.xi     MS_BOOL useinternalkey;
443*53ee8cc1Swenshuai.xi     MS_U8 *data;
444*53ee8cc1Swenshuai.xi } stHDMITx_GetHdcpKey,*pstHDMITx_GetHdcpKey;
445*53ee8cc1Swenshuai.xi 
446*53ee8cc1Swenshuai.xi typedef struct _stHDMITx_GetBksv
447*53ee8cc1Swenshuai.xi {
448*53ee8cc1Swenshuai.xi     MS_U8 *pdata;
449*53ee8cc1Swenshuai.xi     MS_BOOL bReturn;
450*53ee8cc1Swenshuai.xi } stHDMITx_GetBksv,*pstHDMITx_GetBksv;
451*53ee8cc1Swenshuai.xi 
452*53ee8cc1Swenshuai.xi typedef struct _stHDMITx_GetAksv
453*53ee8cc1Swenshuai.xi {
454*53ee8cc1Swenshuai.xi     MS_U8 *pdata;
455*53ee8cc1Swenshuai.xi     MS_BOOL bReturn;
456*53ee8cc1Swenshuai.xi } stHDMITx_GetAksv,*pstHDMITx_GetAksv;
457*53ee8cc1Swenshuai.xi 
458*53ee8cc1Swenshuai.xi typedef struct _stHDMITx_SetHDCPOnOff
459*53ee8cc1Swenshuai.xi {
460*53ee8cc1Swenshuai.xi     MS_BOOL state;
461*53ee8cc1Swenshuai.xi } stHDMITx_SetHDCPOnOff,*pstHDMITx_SetHDCPOnOff;
462*53ee8cc1Swenshuai.xi 
463*53ee8cc1Swenshuai.xi typedef struct _stHDMITx_SetAVMUTE
464*53ee8cc1Swenshuai.xi {
465*53ee8cc1Swenshuai.xi     MS_BOOL bflag;
466*53ee8cc1Swenshuai.xi } stHDMITx_SetAVMUTE,*pstHDMITx_SetAVMUTE;
467*53ee8cc1Swenshuai.xi 
468*53ee8cc1Swenshuai.xi typedef struct _stHDMITx_GetAVMUTEStatus
469*53ee8cc1Swenshuai.xi {
470*53ee8cc1Swenshuai.xi     MS_BOOL bReturn;
471*53ee8cc1Swenshuai.xi } stHDMITx_GetAVMUTEStatus,*pstHDMITx_GetAVMUTEStatus;
472*53ee8cc1Swenshuai.xi 
473*53ee8cc1Swenshuai.xi typedef struct _stHDMITx_HDCP_RevocationKey_List
474*53ee8cc1Swenshuai.xi {
475*53ee8cc1Swenshuai.xi     MS_U8 *data;
476*53ee8cc1Swenshuai.xi     MS_U16 size;
477*53ee8cc1Swenshuai.xi } stHDMITx_HDCP_RevocationKey_List,*pstHDMITx_HDCP_RevocationKey_List;
478*53ee8cc1Swenshuai.xi 
479*53ee8cc1Swenshuai.xi typedef struct _stHDMITx_HDCP_RevocationKey_Check
480*53ee8cc1Swenshuai.xi {
481*53ee8cc1Swenshuai.xi     HDMITX_REVOCATION_STATE stReturn;
482*53ee8cc1Swenshuai.xi } stHDMITx_HDCP_RevocationKey_Check,*pstHDMITx_HDCP_RevocationKey_Check;
483*53ee8cc1Swenshuai.xi 
484*53ee8cc1Swenshuai.xi typedef struct _stHDMITx_HDCP_IsSRMSignatureValid
485*53ee8cc1Swenshuai.xi {
486*53ee8cc1Swenshuai.xi     MS_U8 *data;
487*53ee8cc1Swenshuai.xi     MS_U32 size;
488*53ee8cc1Swenshuai.xi     MS_BOOL bReturn;
489*53ee8cc1Swenshuai.xi } stHDMITx_HDCP_IsSRMSignatureValid,*pstHDMITx_HDCP_IsSRMSignatureValid;
490*53ee8cc1Swenshuai.xi 
491*53ee8cc1Swenshuai.xi typedef struct _stHDMITx_GetHDCPStatus
492*53ee8cc1Swenshuai.xi {
493*53ee8cc1Swenshuai.xi     HDMITX_HDCP_STATUS stReturn;
494*53ee8cc1Swenshuai.xi } stHDMITx_GetHDCPStatus,*pstHDMITx_GetHDCPStatus;
495*53ee8cc1Swenshuai.xi 
496*53ee8cc1Swenshuai.xi typedef struct _stHDMITx_HDCP_StartAuth
497*53ee8cc1Swenshuai.xi {
498*53ee8cc1Swenshuai.xi     MS_BOOL bFlag;
499*53ee8cc1Swenshuai.xi } stHDMITx_HDCP_StartAuth,*pstHDMITx_HDCP_StartAuth;
500*53ee8cc1Swenshuai.xi 
501*53ee8cc1Swenshuai.xi typedef struct _stHDMITx_GetINTHDCPStatus
502*53ee8cc1Swenshuai.xi {
503*53ee8cc1Swenshuai.xi     HDMITX_INT_HDCP_STATUS stReturn;
504*53ee8cc1Swenshuai.xi } stHDMITx_GetINTHDCPStatus,*pstHDMITx_GetINTHDCPStatus;
505*53ee8cc1Swenshuai.xi 
506*53ee8cc1Swenshuai.xi typedef struct _stHDMITx_GetHDCP_PreStatus
507*53ee8cc1Swenshuai.xi {
508*53ee8cc1Swenshuai.xi     HDMITX_INT_HDCP_STATUS stReturn;
509*53ee8cc1Swenshuai.xi } stHDMITx_GetHDCP_PreStatus,*pstHDMITx_GetHDCP_PreStatus;
510*53ee8cc1Swenshuai.xi 
511*53ee8cc1Swenshuai.xi typedef struct _stHDMITx_UnHDCPRxControl
512*53ee8cc1Swenshuai.xi {
513*53ee8cc1Swenshuai.xi     HDMITX_UNHDCPRX_CONTROL state;
514*53ee8cc1Swenshuai.xi } stHDMITx_UnHDCPRxControl,*pstHDMITx_UnHDCPRxControl;
515*53ee8cc1Swenshuai.xi 
516*53ee8cc1Swenshuai.xi typedef struct _stHDMITx_HDCPRxFailControl
517*53ee8cc1Swenshuai.xi {
518*53ee8cc1Swenshuai.xi     HDMITX_HDCPRXFail_CONTROL state;
519*53ee8cc1Swenshuai.xi } stHDMITx_HDCPRxFailControl,*pstHDMITx_HDCPRxFailControl;
520*53ee8cc1Swenshuai.xi 
521*53ee8cc1Swenshuai.xi typedef struct _stHDMITx_GetLibVer
522*53ee8cc1Swenshuai.xi {
523*53ee8cc1Swenshuai.xi     const MSIF_Version **ppVersion;
524*53ee8cc1Swenshuai.xi     MS_BOOL bReturn;
525*53ee8cc1Swenshuai.xi } stHDMITx_GetLibVer,*pstHDMITx_GetLibVer;
526*53ee8cc1Swenshuai.xi 
527*53ee8cc1Swenshuai.xi typedef struct _stHDMITx_GetInfo
528*53ee8cc1Swenshuai.xi {
529*53ee8cc1Swenshuai.xi     HDMI_TX_INFO *pInfo;
530*53ee8cc1Swenshuai.xi     MS_BOOL bReturn;
531*53ee8cc1Swenshuai.xi } stHDMITx_GetInfo,*pstHDMITx_GetInfo;
532*53ee8cc1Swenshuai.xi 
533*53ee8cc1Swenshuai.xi typedef struct _stHDMITx_GetStatus
534*53ee8cc1Swenshuai.xi {
535*53ee8cc1Swenshuai.xi     HDMI_TX_Status *pStatus;
536*53ee8cc1Swenshuai.xi     MS_BOOL bReturn;
537*53ee8cc1Swenshuai.xi } stHDMITx_GetStatus,*pstHDMITx_GetStatus;
538*53ee8cc1Swenshuai.xi 
539*53ee8cc1Swenshuai.xi typedef struct _stHDMITx_SetDbgLevel
540*53ee8cc1Swenshuai.xi {
541*53ee8cc1Swenshuai.xi     MS_U16 u16DbgSwitch;
542*53ee8cc1Swenshuai.xi     MS_BOOL bReturn;
543*53ee8cc1Swenshuai.xi } stHDMITx_SetDbgLevels,*pstHDMITx_SetDbgLevel;
544*53ee8cc1Swenshuai.xi 
545*53ee8cc1Swenshuai.xi typedef struct _stHDMITx_SetHPDGpioPin
546*53ee8cc1Swenshuai.xi {
547*53ee8cc1Swenshuai.xi     MS_U8 u8pin;
548*53ee8cc1Swenshuai.xi } stHDMITx_SetHPDGpioPin,*pstHDMITx_SetHPDGpioPin;
549*53ee8cc1Swenshuai.xi 
550*53ee8cc1Swenshuai.xi typedef struct _stHDMITx_AnalogTuning
551*53ee8cc1Swenshuai.xi {
552*53ee8cc1Swenshuai.xi     HDMITX_ANALOG_TUNING *pInfo;
553*53ee8cc1Swenshuai.xi } stHDMITx_AnalogTuning,*pstHDMITx_AnalogTuning;
554*53ee8cc1Swenshuai.xi 
555*53ee8cc1Swenshuai.xi typedef struct _stHDMITx_ForceHDMIOutputMode
556*53ee8cc1Swenshuai.xi {
557*53ee8cc1Swenshuai.xi     MS_BOOL bflag;
558*53ee8cc1Swenshuai.xi     HDMITX_OUTPUT_MODE output_mode;
559*53ee8cc1Swenshuai.xi } stHDMITx_ForceHDMIOutputMode,*pstHDMITx_ForceHDMIOutputMode;
560*53ee8cc1Swenshuai.xi 
561*53ee8cc1Swenshuai.xi typedef struct _stHDMITx_ForceHDMIOutputColorFormat
562*53ee8cc1Swenshuai.xi {
563*53ee8cc1Swenshuai.xi     MS_BOOL bflag;
564*53ee8cc1Swenshuai.xi     HDMITX_VIDEO_COLOR_FORMAT output_color;
565*53ee8cc1Swenshuai.xi     MS_BOOL bReturn;
566*53ee8cc1Swenshuai.xi } stHDMITx_ForceHDMIOutputColorFormat,*pstHDMITx_ForceHDMIOutputColorFormat;
567*53ee8cc1Swenshuai.xi 
568*53ee8cc1Swenshuai.xi typedef struct _stHDMITx_DisableRegWrite
569*53ee8cc1Swenshuai.xi {
570*53ee8cc1Swenshuai.xi     MS_BOOL bFlag;
571*53ee8cc1Swenshuai.xi } stHDMITx_DisableRegWrite,*pstHDMITx_DisableRegWrite;
572*53ee8cc1Swenshuai.xi 
573*53ee8cc1Swenshuai.xi typedef struct _stHDMITx_GetEDIDPhyAdr
574*53ee8cc1Swenshuai.xi {
575*53ee8cc1Swenshuai.xi     MS_U8 *pdata;
576*53ee8cc1Swenshuai.xi } stHDMITx_GetEDIDPhyAdr,*pstHDMITx_GetEDIDPhyAdr;
577*53ee8cc1Swenshuai.xi 
578*53ee8cc1Swenshuai.xi typedef struct _stHDMITx_SetCECOnOff
579*53ee8cc1Swenshuai.xi {
580*53ee8cc1Swenshuai.xi     MS_BOOL bflag;
581*53ee8cc1Swenshuai.xi } stHDMITx_SetCECOnOff,*pstHDMITx_SetCECOnOff;
582*53ee8cc1Swenshuai.xi 
583*53ee8cc1Swenshuai.xi typedef struct _stHDMITx_GetCECStatus
584*53ee8cc1Swenshuai.xi {
585*53ee8cc1Swenshuai.xi     MS_BOOL bReturn;
586*53ee8cc1Swenshuai.xi } stHDMITx_GetCECStatus,*pstHDMITx_GetCECStatus;
587*53ee8cc1Swenshuai.xi 
588*53ee8cc1Swenshuai.xi typedef struct _stHDMITx_EdidChecking
589*53ee8cc1Swenshuai.xi {
590*53ee8cc1Swenshuai.xi     MS_BOOL bReturn;
591*53ee8cc1Swenshuai.xi } stHDMITx_EdidChecking,*pstHDMITx_EdidChecking;
592*53ee8cc1Swenshuai.xi 
593*53ee8cc1Swenshuai.xi typedef struct _stHDMITx_RxBypass_Mode
594*53ee8cc1Swenshuai.xi {
595*53ee8cc1Swenshuai.xi     HDMITX_INPUT_FREQ freq;
596*53ee8cc1Swenshuai.xi     MS_BOOL bflag;
597*53ee8cc1Swenshuai.xi     MS_BOOL bReturn;
598*53ee8cc1Swenshuai.xi } stHDMITx_RxBypass_Mode,*pstHDMITx_RxBypass_Mode;
599*53ee8cc1Swenshuai.xi 
600*53ee8cc1Swenshuai.xi typedef struct _stHDMITx_Disable_RxBypass
601*53ee8cc1Swenshuai.xi {
602*53ee8cc1Swenshuai.xi     MS_BOOL bReturn;
603*53ee8cc1Swenshuai.xi } stHDMITx_Disable_RxBypass,*pstHDMITx_Disable_RxBypass;
604*53ee8cc1Swenshuai.xi 
605*53ee8cc1Swenshuai.xi typedef struct _stHDMITx_SetAksv2R0Interval
606*53ee8cc1Swenshuai.xi {
607*53ee8cc1Swenshuai.xi     MS_U32 u32Interval;
608*53ee8cc1Swenshuai.xi     MS_BOOL bReturn;
609*53ee8cc1Swenshuai.xi } stHDMITx_SetAksv2R0Interval,*pstHDMITx_SetAksv2R0Interval;
610*53ee8cc1Swenshuai.xi 
611*53ee8cc1Swenshuai.xi typedef struct _stHDMITx_IsHDCPRxValid
612*53ee8cc1Swenshuai.xi {
613*53ee8cc1Swenshuai.xi     MS_BOOL bReturn;
614*53ee8cc1Swenshuai.xi } stHDMITx_IsHDCPRxValid,*pstHDMITx_IsHDCPRxValid;
615*53ee8cc1Swenshuai.xi 
616*53ee8cc1Swenshuai.xi typedef struct _stHDMITx_GetChipCaps
617*53ee8cc1Swenshuai.xi {
618*53ee8cc1Swenshuai.xi     EN_HDMITX_CAPS eCapType;
619*53ee8cc1Swenshuai.xi     MS_U32* pRet;
620*53ee8cc1Swenshuai.xi     MS_U32 ret_size;
621*53ee8cc1Swenshuai.xi     MS_BOOL bReturn;
622*53ee8cc1Swenshuai.xi } stHDMITx_GetChipCaps,*pstHDMITx_GetChipCaps;
623*53ee8cc1Swenshuai.xi 
624*53ee8cc1Swenshuai.xi typedef struct _stHDMITx_SetPowerState
625*53ee8cc1Swenshuai.xi {
626*53ee8cc1Swenshuai.xi     EN_POWER_MODE u16PowerState;
627*53ee8cc1Swenshuai.xi     MS_U32 u32Return;
628*53ee8cc1Swenshuai.xi } stHDMITx_SetPowerState,*pstHDMITx_SetPowerState;
629*53ee8cc1Swenshuai.xi 
630*53ee8cc1Swenshuai.xi typedef struct _stHDMITx_GetEdidDataBlocks
631*53ee8cc1Swenshuai.xi {
632*53ee8cc1Swenshuai.xi     HDMITX_CEA_DB_TAG_CODE enTagCode;
633*53ee8cc1Swenshuai.xi     HDMITX_CEA_EXT_TAG_CODE enExtTagCode;
634*53ee8cc1Swenshuai.xi     MS_U8* pu8Data;
635*53ee8cc1Swenshuai.xi     MS_U32 u32DataLen;
636*53ee8cc1Swenshuai.xi     MS_U32* pu32RealLen;
637*53ee8cc1Swenshuai.xi     MS_BOOL bReturn;
638*53ee8cc1Swenshuai.xi } stHDMITx_GetEdidDataBlocks, *pstHDMITx_GetEdidDataBlocks;
639*53ee8cc1Swenshuai.xi 
640*53ee8cc1Swenshuai.xi typedef struct _stHDMITx_GetKSVList
641*53ee8cc1Swenshuai.xi {
642*53ee8cc1Swenshuai.xi     MS_U8* pu8Bstatus;
643*53ee8cc1Swenshuai.xi     MS_U8* pu8KSVList;
644*53ee8cc1Swenshuai.xi     MS_U16 u16BufLen;
645*53ee8cc1Swenshuai.xi     MS_U16* pu16KSVLength;
646*53ee8cc1Swenshuai.xi     MS_BOOL bReturn;
647*53ee8cc1Swenshuai.xi } stHDMITx_GetKSVList, *pstHDMITx_GetKSVList;
648*53ee8cc1Swenshuai.xi 
649*53ee8cc1Swenshuai.xi typedef struct _stHDMITx_HDCP2AccessX74
650*53ee8cc1Swenshuai.xi {
651*53ee8cc1Swenshuai.xi     MS_U8 u8PortIdx;
652*53ee8cc1Swenshuai.xi     MS_U8 u8OffsetAddr;
653*53ee8cc1Swenshuai.xi     MS_U8 u8OpCode;
654*53ee8cc1Swenshuai.xi     MS_U8 *pu8RdBuf;
655*53ee8cc1Swenshuai.xi     MS_U16 u16RdLen;
656*53ee8cc1Swenshuai.xi     MS_U8 *pu8WRBuff;
657*53ee8cc1Swenshuai.xi     MS_U16 u16WrLen;
658*53ee8cc1Swenshuai.xi     MS_BOOL bReturn;
659*53ee8cc1Swenshuai.xi } stHDMITx_HDCP2AccessX74, *pstHDMITx_HDCP2AccessX74;
660*53ee8cc1Swenshuai.xi 
661*53ee8cc1Swenshuai.xi typedef struct _stHDMITx_HDCP2TxInit
662*53ee8cc1Swenshuai.xi {
663*53ee8cc1Swenshuai.xi     MS_U8 u8PortIdx;
664*53ee8cc1Swenshuai.xi     MS_BOOL bEnable;
665*53ee8cc1Swenshuai.xi } stHDMITx_HDCP2TxInit, *pstHDMITx_HDCP2TxInit;
666*53ee8cc1Swenshuai.xi 
667*53ee8cc1Swenshuai.xi typedef struct _stHDMITx_HDCP2TxEnableEncrypt
668*53ee8cc1Swenshuai.xi {
669*53ee8cc1Swenshuai.xi     MS_U8 u8PortIdx;
670*53ee8cc1Swenshuai.xi     MS_BOOL bEnable;
671*53ee8cc1Swenshuai.xi } stHDMITx_HDCP2TxEnableEncrypt, *pstHDMITx_HDCP2TxEnableEncrypt;
672*53ee8cc1Swenshuai.xi 
673*53ee8cc1Swenshuai.xi typedef struct _stHDMITx_HDCP2TxFillCipherKey
674*53ee8cc1Swenshuai.xi {
675*53ee8cc1Swenshuai.xi     MS_U8 u8PortIdx;
676*53ee8cc1Swenshuai.xi     MS_U8 *pu8Riv;
677*53ee8cc1Swenshuai.xi     MS_U8 *pu8KsXORLC128;
678*53ee8cc1Swenshuai.xi } stHDMITx_HDCP2TxFillCipherKey, *pstHDMITx_HDCP2TxFillCipherKey;
679*53ee8cc1Swenshuai.xi 
680*53ee8cc1Swenshuai.xi typedef struct _stHDMITx_GeneralCtrl
681*53ee8cc1Swenshuai.xi {
682*53ee8cc1Swenshuai.xi     MS_U32 u32Cmd;
683*53ee8cc1Swenshuai.xi     void *pu8Buf;
684*53ee8cc1Swenshuai.xi     MS_U32 u32BufSize;
685*53ee8cc1Swenshuai.xi     MS_BOOL bReturn;
686*53ee8cc1Swenshuai.xi } stHDMITx_GeneralCtrl, *pstHDMITx_GeneralCtrl;
687*53ee8cc1Swenshuai.xi 
688*53ee8cc1Swenshuai.xi typedef struct
689*53ee8cc1Swenshuai.xi {
690*53ee8cc1Swenshuai.xi     HDMITX_VIDEO_COLOR_FORMAT       input_color;
691*53ee8cc1Swenshuai.xi     HDMITX_VIDEO_COLOR_FORMAT       output_color;
692*53ee8cc1Swenshuai.xi     HDMITX_QUANT_RANGE               input_range;
693*53ee8cc1Swenshuai.xi     HDMITX_QUANT_RANGE               output_range;
694*53ee8cc1Swenshuai.xi     MS_BOOL                                         result;
695*53ee8cc1Swenshuai.xi } stHDMITX_COLOR_AND_RANGE_TRANSFORM_PARAMETERS, *pstHDMITX_COLOR_AND_RANGE_TRANSFORM_PARAMETERS;
696*53ee8cc1Swenshuai.xi 
697*53ee8cc1Swenshuai.xi typedef struct
698*53ee8cc1Swenshuai.xi {
699*53ee8cc1Swenshuai.xi     MS_U8                                             ubSSCEn;
700*53ee8cc1Swenshuai.xi     MS_BOOL                                         result;
701*53ee8cc1Swenshuai.xi } stHDMITX_SSCENABLE, *pstHDMITX_SSCENABLE;
702*53ee8cc1Swenshuai.xi 
703*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED
704*53ee8cc1Swenshuai.xi {
705*53ee8cc1Swenshuai.xi     MS_U32                      u32StructVersion;//StructVersion Control
706*53ee8cc1Swenshuai.xi     HDMITX_AVI_COLORIMETRY      colorimetry;
707*53ee8cc1Swenshuai.xi     MS_U8                       u8Return;
708*53ee8cc1Swenshuai.xi } stHDMITX_SET_COLORIMETRY, *pstHDMITX_SET_COLORIMETRY;
709*53ee8cc1Swenshuai.xi 
710*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED
711*53ee8cc1Swenshuai.xi {
712*53ee8cc1Swenshuai.xi     MS_U32  u32StructVersion;//StructVersion Control
713*53ee8cc1Swenshuai.xi     MS_U32  u32RxStatus;
714*53ee8cc1Swenshuai.xi } stHDMITX_GET_FULL_RX_STATUS, *pstHDMITX_GET_FULL_RX_STATUS;
715*53ee8cc1Swenshuai.xi 
716*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED
717*53ee8cc1Swenshuai.xi {
718*53ee8cc1Swenshuai.xi     MS_U32  u32StructVersion;//StructVersion Control
719*53ee8cc1Swenshuai.xi     HDMITX_OUTPUT_MODE eOutputMode;
720*53ee8cc1Swenshuai.xi     HDMITX_VIDEO_TIMING eTiming;
721*53ee8cc1Swenshuai.xi     HDMITX_VIDEO_COLOR_FORMAT eInColor;
722*53ee8cc1Swenshuai.xi     HDMITX_VIDEO_COLOR_FORMAT eOutColor;
723*53ee8cc1Swenshuai.xi     HDMITX_VIDEO_COLORDEPTH_VAL eColorDepth;
724*53ee8cc1Swenshuai.xi     HDMITX_TIMING_ERROR  ubRet;
725*53ee8cc1Swenshuai.xi } stHDMITX_CHECK_LEGAL_TIMING, *pstHDMITX_CHECK_LEGAL_TIMING;
726*53ee8cc1Swenshuai.xi 
727*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED
728*53ee8cc1Swenshuai.xi {
729*53ee8cc1Swenshuai.xi     MS_U32  u32StructVersion;//StructVersion Control
730*53ee8cc1Swenshuai.xi     MS_U32  u32TMDSStatus;
731*53ee8cc1Swenshuai.xi     MS_U32  u32Ret;
732*53ee8cc1Swenshuai.xi } stHDMITX_GET_TMDS_STATUS, *pstHDMITX_GET_TMDS_STATUS;
733*53ee8cc1Swenshuai.xi 
734*53ee8cc1Swenshuai.xi #if defined(VANCLEEF_MCP) || defined(RAPTORS_MCP)
735*53ee8cc1Swenshuai.xi typedef struct _stHDMITx_Vancleef_LoadHDCPKey
736*53ee8cc1Swenshuai.xi {
737*53ee8cc1Swenshuai.xi     MS_U8 *pHdcpKey;
738*53ee8cc1Swenshuai.xi     MS_U32 u32Size;
739*53ee8cc1Swenshuai.xi     MS_BOOL bReturn;
740*53ee8cc1Swenshuai.xi } stHDMITx_Vancleef_LoadHDCPKey,*pstHDMITx_Vancleef_LoadHDCPKey;
741*53ee8cc1Swenshuai.xi #endif
742*53ee8cc1Swenshuai.xi 
743*53ee8cc1Swenshuai.xi #ifdef __cplusplus
744*53ee8cc1Swenshuai.xi }
745*53ee8cc1Swenshuai.xi #endif
746*53ee8cc1Swenshuai.xi 
747*53ee8cc1Swenshuai.xi 
748*53ee8cc1Swenshuai.xi #endif // _API_HDMITX_H_
749*53ee8cc1Swenshuai.xi 
750