xref: /utopia/UTPA2-700.0.x/modules/xc/api/xc/XC_private.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 
78 #ifndef _API_XC_PRIV_H_
79 #define _API_XC_PRIV_H_
80 
81 #include "UFO.h"
82 
83 ////////////////////////////////////////////////////////////////////////////////
84 // Header Files
85 ////////////////////////////////////////////////////////////////////////////////
86 
87 #include "utopia_relation.h"
88 
89 #ifdef __cplusplus
90 extern "C"
91 {
92 #endif
93 
94 /// Define XC device enum
95 typedef enum
96 {
97     E_XC_DEVICE0,
98     E_XC_DEVICE1,
99     E_XC_DEVICE_MAX,
100 } XC_DEVICE_NUM;
101 
102 typedef enum
103 {
104     E_XC_UNSET,
105     E_XC_FC100,
106     E_XC_FC85,
107     E_XC_FC50,
108 } XC_SC1_HVSPFILTER;
109 
110 // APIXC_H
111 typedef E_APIXC_ReturnValue              (*IOCTL_XC_GETLIBVER)                               (void*, const MSIF_Version**);
112 typedef XC_ApiInfo*                      (*IOCTL_XC_GETINFO)                                 (void*);
113 typedef MS_BOOL                          (*IOCTL_XC_GETSTATUS)                               (void*, XC_ApiStatus*, SCALER_WIN);
114 typedef MS_BOOL                          (*IOCTL_XC_GETSTATUS_NODELAY)                       (void*, ST_XC_APISTATUSNODELAY*, SCALER_WIN);
115 typedef MS_U16                           (*IOCTL_XC_GETSTATUSEX)                             (void*, XC_ApiStatusEx *, SCALER_WIN);
116 typedef MS_BOOL                          (*IOCTL_XC_SETDBGLEVEL)                             (void*, MS_U16);
117 typedef void                             (*IOCTL_XC_FPLLDBGMODE)                             (void*, EN_FPLL_DBG_MODE, EN_FPLL_DBG_FLAG, MS_U32);
118 typedef void                             (*IOCTL_XC_FPLLCUSTOMERMODE)                        (void*, EN_FPLL_MODE, EN_FPLL_FLAG, MS_U32);
119 typedef MS_BOOL                          (*IOCTL_XC_SETIOMAPBASE)                            (void*);
120 typedef MS_BOOL                          (*IOCTL_XC_INIT)                                    (void*, XC_INITDATA*, MS_U32);
121 typedef E_APIXC_ReturnValue              (*IOCTL_XC_GETCONFIG)                               (void*, XC_INITDATA*);
122 typedef E_APIXC_ReturnValue              (*IOCTL_XC_INIT_MISC)                               (void*, XC_INITMISC *, MS_U32);
123 typedef E_APIXC_ReturnValue              (*IOCTL_XC_GETMISCSTATUS)                           (void*, XC_INITMISC*);
124 typedef MS_U32                           (*IOCTL_XC_GETCAPABILITY)                           (void*, MS_U32);
125 typedef E_APIXC_ReturnValue              (*IOCTL_XC_GETCHIPCAPS)                             (void*, E_XC_CAPS, MS_U32*, MS_U32);
126 typedef MS_BOOL                          (*IOCTL_XC_EXIT)                                    (void*);
127 typedef MS_BOOL                          (*IOCTL_XC_SETDYNAMICSCALING)                       (void*, XC_DynamicScaling_Info*, MS_U32, SCALER_WIN);
128 typedef void                               (*IOCTL_XC_SETDYNAMICSCALING_FLAG)                  (void*, MS_BOOL);
129 typedef MS_PHY                           (*IOCTL_XC_GET_DNRBASEOFFSET)                       (void*, SCALER_WIN);
130 typedef MS_U8                            (*IOCTL_XC_GET_FRAMENUMFACTOR)                      (void*, SCALER_WIN);
131 typedef MS_BOOL                          (*IOCTL_XC_SETWINDOW)                               (void*, XC_SETWIN_INFO*, MS_U32, SCALER_WIN);
132 typedef MS_BOOL                          (*IOCTL_XC_SETDUALWINDOW)                           (void*, XC_SETWIN_INFO*, XC_SETWIN_INFO*);
133 typedef MS_BOOL                          (*IOCTL_XC_SETTRAVELINGWINDOW)                      (void*, XC_SETWIN_INFO*, MS_U32, SCALER_WIN);
134 typedef void                             (*IOCTL_XC_SETINPUTSOURCE)                          (void*, INPUT_SOURCE_TYPE_t, SCALER_WIN);
135 typedef MS_BOOL                          (*IOCTL_XC_ISYUVSPACE)                              (void*, SCALER_WIN);
136 typedef MS_BOOL                          (*IOCTL_XC_ISMEMORYFORMAT422)                       (void*, SCALER_WIN);
137 typedef void                             (*IOCTL_XC_ENABLEFORCERGBIN)                        (void*, MS_BOOL, SCALER_WIN);
138 typedef MS_BOOL                          (*IOCTL_XC_ENABLEMIRRORMODEEX)                      (void*, MirrorMode_t,  SCALER_WIN);
139 typedef MirrorMode_t                     (*IOCTL_XC_GETMIRRORMODETYPEEX)                     (void*, SCALER_WIN);
140 typedef void                             (*IOCTL_XC_GETSYNCSTATUS)                           (void*, INPUT_SOURCE_TYPE_t , XC_IP_SYNC_STATUS *, SCALER_WIN);
141 typedef MS_BOOL                          (*IOCTL_XC_CONFIGCMA)                               (void*, XC_CMA_CONFIG *, XC_CMA_CLIENT, MS_U32, SCALER_WIN);
142 typedef MS_U8                            (*IOCTL_XC_WAITOUTPUTVSYNC)                         (void*, MS_U8, MS_U16, SCALER_WIN);
143 typedef MS_U8                            (*IOCTL_XC_WAITINPUTVSYNC)                          (void*, MS_U8, MS_U16, SCALER_WIN);
144 typedef void                             (*IOCTL_XC_SETHDMISYNCMODE)                         (void*, E_HDMI_SYNC_TYPE);
145 typedef E_HDMI_SYNC_TYPE                 (*IOCTL_XC_GETHDMISYNCMODE)                         (void*);
146 typedef void                             (*IOCTL_XC_SETREPWINDOW)                            (void*, MS_BOOL,MS_WINDOW_TYPE,MS_U8);
147 typedef void                             (*IOCTL_XC_SET_SKIP_OPWRITEOFF_IN_SETWINDOW)        (void*, MS_BOOL, SCALER_WIN);
148 typedef MS_BOOL                          (*IOCTL_XC_GET_SKIP_OPWRITEOFF_IN_SETWINDOW)        (void*, SCALER_WIN);
149 typedef void                             (*IOCTL_XC_SET_SKIP_DISABLE_OPWRITEOFF_IN_FPLL)     (void*, MS_BOOL, SCALER_WIN);
150 typedef void                             (*IOCTL_XC_SET_OPWRITEOFFENABLE)                    (void*, MS_BOOL, SCALER_WIN);
151 typedef void                             (*IOCTL_XC_SET_OPWRITEOFF_ENABLE_TO_REG)            (void*, MS_BOOL, SCALER_WIN);
152 typedef void                             (*IOCTL_XC_FORCESET_OPWRITEOFF_ENABLE)              (void*, MS_BOOL, SCALER_WIN);
153 typedef MS_BOOL                          (*IOCTL_XC_GET_OPWRITEOFFENABLE)                    (void*, SCALER_WIN);
154 typedef void                             (*IOCTL_XC_SETDISPWINTOREG)                         (void*, MS_WINDOW_TYPE *, SCALER_WIN);
155 typedef void                             (*IOCTL_XC_GETDISPWINFROMREG)                       (void*, MS_WINDOW_TYPE *, SCALER_WIN);
156 typedef void                             (*IOCTL_XC_FREEZEIMG)                               (void*, MS_BOOL, SCALER_WIN);
157 typedef MS_BOOL                          (*IOCTL_XC_ISFREEZEIMG)                             (void*, SCALER_WIN);
158 typedef void                             (*IOCTL_XC_GENERATEBLACKVIDEOFORBOTHWIN)            (void*, MS_BOOL);
159 typedef void                             (*IOCTL_XC_SET_BLSK)                                (void*, MS_BOOL);
160 typedef void                             (*IOCTL_XC_GENERATEBLACKVIDEO)                      (void*, MS_BOOL, SCALER_WIN);
161 typedef MS_BOOL                          (*IOCTL_XC_ISBLACKVIDEOENABLE)                      (void*, SCALER_WIN);
162 typedef void                             (*IOCTL_XC_ENABLEFRAMEBUFFERLESS)                   (void*, MS_BOOL);
163 typedef MS_BOOL                          (*IOCTL_XC_ISCURRENTFRAMEBUFFERLESSMODE)            (void*);
164 typedef void                             (*IOCTL_XC_ENABLEREQUEST_FRAMEBUFFERLESS)           (void*, MS_BOOL);
165 typedef MS_BOOL                          (*IOCTL_XC_ISCURRENTREQUEST_FRAMEBUFFERLESSMODE)    (void*);
166 typedef MS_U16                           (*IOCTL_XC_GET_3D_HW_VERSION)                       (void*);
167 typedef MS_BOOL                          (*IOCTL_XC_GET_3D_ISSUPPORTEDHW2DTO3D)              (void*);
168 typedef MS_BOOL                          (*IOCTL_XC_SET_3D_MODE)                             (void*, E_XC_3D_INPUT_MODE, E_XC_3D_OUTPUT_MODE, E_XC_3D_PANEL_TYPE, SCALER_WIN);
169 typedef MS_BOOL                          (*IOCTL_XC_SET_3D_MAINWIN_FIRSTMODE)                (void*, MS_BOOL);
170 typedef MS_BOOL                          (*IOCTL_XC_SET_3D_LR_FRAME_EXCHG)                   (void*, SCALER_WIN);
171 typedef MS_BOOL                          (*IOCTL_XC_3D_IS_LR_FRAME_EXCHGED)                  (void*, SCALER_WIN);
172 typedef E_XC_3D_INPUT_MODE               (*IOCTL_XC_GET_3D_INPUT_MODE)                       (void*, SCALER_WIN);
173 typedef E_XC_3D_OUTPUT_MODE              (*IOCTL_XC_GET_3D_OUTPUT_MODE)                      (void*);
174 #ifdef UFO_XC_GET_3D_FORMAT
175 typedef MS_BOOL                         (*IOCTL_XC_GET3DFORMAT)                       (void*, E_XC_3D_ATTRIBUTE_TYPE e3DAttrType, void* para, void* p3DFormat);
176 #endif
177 typedef E_XC_3D_PANEL_TYPE               (*IOCTL_XC_GET_3D_PANEL_TYPE)                       (void*);
178 typedef MS_BOOL                          (*IOCTL_XC_GET_3D_MAINWIN_FIRST)                    (void*);
179 typedef MS_BOOL                          (*IOCTL_XC_3DMAINSUB_IPSYNC)                        (void*);
180 typedef MS_BOOL                          (*IOCTL_XC_SET_3D_VERVIDEOOFFSET)                   (void*, MS_U16);
181 typedef MS_U16                           (*IOCTL_XC_GET_3D_VERVIDEOOFFSET)                   (void*);
182 typedef MS_BOOL                          (*IOCTL_XC_IS3DFORMATSUPPORTED)                     (void*, E_XC_3D_INPUT_MODE,E_XC_3D_OUTPUT_MODE);
183 typedef MS_BOOL                          (*IOCTL_XC_SET_3D_HSHIFT)                           (void*, MS_U16);
184 typedef MS_BOOL                          (*IOCTL_XC_ENABLE_3D_LR_SBS2LINE)                   (void*, MS_BOOL);
185 typedef MS_U16                           (*IOCTL_XC_GET_3D_HSHIFT)                           (void*);
186 typedef MS_BOOL                          (*IOCTL_XC_SET_3D_HW2DTO3D_BUFFER)                  (void*, MS_PHY, MS_PHY);
187 typedef MS_BOOL                          (*IOCTL_XC_SET_3D_HW2DTO3D_PARAMETERS)              (void*, MS_XC_3D_HW2DTO3D_PARA);
188 typedef MS_BOOL                          (*IOCTL_XC_GET_3D_HW2DTO3D_PARAMETERS)              (void*, MS_XC_3D_HW2DTO3D_PARA*);
189 typedef MS_BOOL                          (*IOCTL_XC_SET_3D_DETECT3DFORMAT_PARAMETERS)        (void*, MS_XC_3D_DETECT3DFORMAT_PARA*);
190 typedef MS_BOOL                          (*IOCTL_XC_GET_3D_DETECT3DFORMAT_PARAMETERS)        (void*, MS_XC_3D_DETECT3DFORMAT_PARA*);
191 typedef E_XC_3D_INPUT_MODE               (*IOCTL_XC_DETECT3DFORMATBYCONTENT)                 (void*, SCALER_WIN);
192 typedef MS_BOOL                          (*IOCTL_XC_DETECTNL)                                (void*, SCALER_WIN, ST_DETECTNL_PARA*);
193 typedef MS_BOOL                          (*IOCTL_XC_3D_POSTPQSETTING)                        (void*, SCALER_WIN);
194 typedef MS_BOOL                          (*IOCTL_XC_SET_3D_FPINFO)                           (void*, MS_XC_3D_FPINFO_PARA *);
195 typedef MS_BOOL                          (*IOCTL_XC_ENABLEAUTODETECT3D)                      (void*, MS_BOOL, E_XC_3D_AUTODETECT_METHOD);
196 typedef MS_BOOL                          (*IOCTL_XC_GETAUTODETECT3DFLAG)                     (void*, E_XC_3D_AUTODETECT_METHOD*, MS_BOOL*);
197 typedef MS_BOOL                          (*IOCTL_XC_SET_3D_SUBWINCLK)                        (void*);
198 typedef MS_BOOL                          (*IOCTL_XC_3D_IS_LR_SBS2LINE)                       (void*);
199 typedef MS_BOOL                          (*IOCTL_SC_3D_IS_SKIP_DEFAULT_LR_FLAG)              (void*);
200 typedef MS_BOOL                          (*IOCTL_XC_3D_ENABLE_SKIP_DEFAULT_LR_FLAG)          (void*, MS_BOOL);
201 typedef void                             (*IOCTL_XC_MUX_INIT)                                (void*, void (*input_source_to_input_port)(INPUT_SOURCE_TYPE_t, E_MUX_INPUTPORT*, MS_U8*));
202 typedef void                             (*IOCTL_XC_MUX_SOURCEMONITOR)                       (void*, MS_BOOL);
203 typedef MS_S16                           (*IOCTL_XC_MUX_CREATEPATH)                          (void*, XC_MUX_PATH_INFO*, MS_U32);
204 typedef MS_S16                           (*IOCTL_XC_MUX_DELETEPATH)                          (void*, INPUT_SOURCE_TYPE_t, E_DEST_TYPE);
205 typedef MS_S16                           (*IOCTL_XC_MUX_ENABLEPATH)                          (void*, MS_U16);
206 typedef void                             (*IOCTL_XC_MUX_TRIGGERPATHSYNCEVENT)                (void*, INPUT_SOURCE_TYPE_t, void*);
207 typedef void                             (*IOCTL_XC_MUX_TRIGGERDESTONOFFEVENT)               (void*, INPUT_SOURCE_TYPE_t , void*);
208 typedef MS_S16                           (*IOCTL_XC_MUX_ONOFFPERIODICHANDLER)                (void*, INPUT_SOURCE_TYPE_t, MS_BOOL);
209 typedef MS_U8                            (*IOCTL_XC_MUX_GETPATHINFO)                         (void*, XC_MUX_PATH_INFO*);
210 typedef E_APIXC_ReturnValue              (*IOCTL_XC_MUX_SETSUPPORTMHLPATHINFO)               (void*, MS_U8);
211 typedef E_APIXC_ReturnValue              (*IOCTL_XC_MUX_SETMHLHOTPLUGINVERSEINFO)            (void*, MS_BOOL);
212 typedef E_MUX_INPUTPORT                  (*IOCTL_XC_MUX_GETHDMIPORT)                         (void*, INPUT_SOURCE_TYPE_t);
213 typedef void                             (*IOCTL_XC_MUX_GETMAPPINGTAB)                       (void*, XC_MUX_INPUTSRCTABLE* ,MS_U32);
214 typedef MS_U8                            (*IOCTL_XC_MUX_MAPINPUTSOURCETOVDYMUXPORT)          (void*, INPUT_SOURCE_TYPE_t);
215 typedef void                             (*IOCTL_XC_SET_NR)                                  (void*, MS_BOOL, SCALER_WIN);
216 typedef void                             (*IOCTL_XC_FILMMODE_P)                              (void*);
217 typedef MS_BOOL                          (*IOCTL_XC_GETUCENABLED)                            (void*, SCALER_WIN);
218 typedef void                             (*IOCTL_XC_GENSPECIFICTIMING)                       (void*, XC_Internal_TimingType);
219 typedef MS_BOOL                          (*IOCTL_XC_GETDEBYPASSMODE)                         (void*, SCALER_WIN);
220 typedef void                             (*IOCTL_XC_GETDEWINDOW)                             (void*, MS_WINDOW_TYPE *, SCALER_WIN);
221 typedef void                             (*IOCTL_XC_GETDEWIDTHHEIGHTINDEBYPASSMODE)          (void*, MS_U16*,MS_U16* ,SCALER_WIN);
222 typedef void                             (*IOCTL_XC_GETCAPTUREWINDOW)                        (void*, MS_WINDOW_TYPE*, SCALER_WIN);
223 typedef void                             (*IOCTL_XC_SETCAPTUREWINDOWVSTART)                  (void*, MS_U16 , SCALER_WIN);
224 typedef void                             (*IOCTL_XC_SETCAPTUREWINDOWHSTART)                  (void*, MS_U16 , SCALER_WIN);
225 typedef void                             (*IOCTL_XC_SETCAPTUREWINDOWVSIZE)                   (void*, MS_U16 , SCALER_WIN);
226 typedef void                             (*IOCTL_XC_SETCAPTUREWINDOWHSIZE)                   (void*, MS_U16 , SCALER_WIN);
227 typedef void                             (*IOCTL_XC_SOFTWARERESET)                           (void*, MS_U8, SCALER_WIN);
228 typedef MS_U16                           (*IOCTL_XC_CALCULATEHFREQX10)                       (void*, MS_U16);
229 typedef MS_U32                           (*IOCTL_XC_CALCULATEHFREQX1K)                       (void*, MS_U16);
230 typedef MS_U16                           (*IOCTL_XC_CALCULATEVFREQX10)                       (void*, MS_U16, MS_U16);
231 typedef MS_U32                           (*IOCTL_XC_CALCULATEVFREQX1K)                       (void*, MS_U32, MS_U16);
232 typedef MS_U32                           (*IOCTL_XC_GETACCURATEVFREQX1K)                     (void*, SCALER_WIN);
233 typedef MS_BOOL                          (*IOCTL_XC_INTERRUPTATTACH)                         (void*, SC_INT_SRC, SC_InterruptCb, void *);
234 typedef MS_BOOL                          (*IOCTL_XC_INTERRUPTDEATTACH)                       (void*, SC_INT_SRC, SC_InterruptCb, void *);
235 typedef void                             (*IOCTL_XC_DISABLEINPUTSOURCE)                      (void*, MS_BOOL, SCALER_WIN);
236 typedef MS_BOOL                          (*IOCTL_XC_ISINPUTSOURCEDISABLED)                   (void*, SCALER_WIN);
237 typedef void                             (*IOCTL_XC_CHANGEPANELTYPE)                         (void*, XC_PANEL_INFO *);
238 typedef MS_U16                           (*IOCTL_XC_GETCURRENTREADBANK)                      (void*, SCALER_WIN);
239 typedef MS_U16                           (*IOCTL_XC_GETCURRENTWRITEBANK)                     (void*, SCALER_WIN);
240 typedef void                             (*IOCTL_XC_SETAUTOPRESCALING)                       (void*, MS_BOOL, SCALER_WIN);
241 typedef MS_U8                            (*IOCTL_XC_GETVSYNCWIDTH)                           (void*, SCALER_WIN);
242 typedef MS_BOOL                          (*IOCTL_XC_SET_GOP_ENABLE)                          (void*, MS_U8, MS_U8, MS_U8, MS_BOOL);
243 typedef void                             (*IOCTL_XC_IP_SEL_FOR_GOP)                          (void*, MS_U8 , MS_XC_IPSEL_GOP);
244 typedef void                             (*IOCTL_XC_SETVOPNBL)                               (void*);
245 typedef MS_BOOL                          (*IOCTL_XC_GETDSTINFO)                              (void*, MS_XC_DST_DispInfo *, MS_U32, EN_GOP_XCDST_TYPE);
246 typedef void                             (*IOCTL_XC_SET_FD_MASK_BYWIN)                       (void*, MS_BOOL, SCALER_WIN);
247 typedef MS_BOOL                          (*IOCTL_XC_GET_FD_MASK_BYWIN)                       (void*, SCALER_WIN);
248 typedef MS_BOOL                          (*IOCTL_XC_GET_FD_MASK_STATUS)                       (void*, SCALER_WIN);
249 typedef void                             (*IOCTL_XC_SETIP1TESTPATTERN)                       (void*, MS_U8, MS_U16, SCALER_WIN);
250 #ifdef UFO_XC_TEST_PATTERN
251 typedef void                             (*IOCTL_XC_GENERATETESTPATTERN)                     (void*, EN_XC_TEST_PATTERN_MODE,void*, MS_U16);
252 #endif
253 typedef void                             (*IOCTL_XC_INITIPFORINTERNALTIMING)                 (void*, XC_Internal_TimingType);
254 typedef void                             (*IOCTL_XC_SETIPMUX)                                (void*, MS_U8);
255 typedef MS_BOOL                          (*IOCTL_XC_IS_H_SYNC_ACTIVE)                        (void*, SCALER_WIN);
256 typedef MS_BOOL                          (*IOCTL_XC_IS_V_SYNC_ACTIVE)                        (void*, SCALER_WIN);
257 typedef MS_BOOL                          (*IOCTL_XC_GETAUTOPOSITIONWINDOW)                   (void*, MS_U8, SCALER_WIN, MS_WINDOW_TYPE *);
258 typedef void                             (*IOCTL_XC_SETFRAMEBUFFERADDRESS)                   (void*, MS_PHY, MS_PHY, SCALER_WIN);
259 typedef void                             (*IOCTL_XC_SETFRCMFRAMEBUFFERADDRESS)               (void*, MS_PHY, MS_PHY, SCALER_WIN);
260 typedef MS_BOOL                          (*IOCTL_XC_SETDUALFRAMEBUFFERADDRESS)                   (void*, MS_PHY, MS_PHY, SCALER_WIN);
261 typedef MS_BOOL                          (*IOCTL_XC_ENABLEMIUDUALMODE)                       (void *, MS_BOOL, MS_U32, MS_U32, SCALER_WIN);
262 typedef MS_BOOL                          (*IOCTL_XC_ISFRAMEBUFFERENOUGHFORCUSSCALING)        (void*, XC_SETWIN_INFO *, SCALER_WIN);
263 typedef E_APIXC_ReturnValue              (*IOCTL_XC_SETSCALERMEMORYREQUEST)                  (void*, MS_BOOL, E_XC_MEMORY_REQUEST_TYPE, SCALER_WIN);
264 typedef void                             (*IOCTL_XC_GET_PIXELDATA)                           (void*, MS_U16,  MS_U16, MS_PIXEL_32BIT*);
265 typedef MS_U32                           (*IOCTL_XC_GETAVAILABLESIZE)                        (void*, SCALER_WIN, MS_U8, MS_U32);
266 typedef void                             (*IOCTL_XC_SETFRAMECOLOR)                           (void*, MS_U32);
267 typedef void                             (*IOCTL_XC_SETDISPWINDOWCOLOR)                      (void*, MS_U8, SCALER_WIN);
268 typedef E_APIXC_ReturnValue              (*IOCTL_XC_SUPPORTSOURCETOVE)                       (void*, MS_U16*);
269 typedef E_APIXC_ReturnValue              (*IOCTL_XC_SETOUTPUTCAPTURE)                        (void*, MS_BOOL,E_XC_SOURCE_TO_VE);
270 typedef void                             (*IOCTL_XC_SETGAMMAONOFF)                           (void*, MS_BOOL);
271 typedef void                             (*IOCTL_XC_SETPREGAMMAGAIN)                         (void*, SCALER_WIN, MS_XC_VOP_CHANNEL_t, MS_U16);
272 typedef void                             (*IOCTL_XC_SETPREGAMMAOFFSET)                       (void*, SCALER_WIN, MS_XC_VOP_CHANNEL_t, MS_U16);
273 typedef void                             (*IOCTL_XC_SETPANELTIMING)                          (void*, XC_SetTiming_Info *, SCALER_WIN);
274 typedef void                             (*IOCTL_XC_SETOUTTIMINGMODE)                        (void*, E_XC_PNL_OUT_TIMING_MODE);
275 typedef void                             (*IOCTL_XC_SETFREERUNTIMING)                        (void*);
276 typedef MS_BOOL                          (*IOCTL_XC_SET_CUSTOMERSYNCINFO)                    (void*, MS_U16, MS_U16, MS_U16);
277 typedef MS_BOOL                          (*IOCTL_XC_WAITFPLLDONE)                            (void*);
278 typedef MS_U16                           (*IOCTL_XC_GETOUTPUTVFREQX100)                     (void*);
279 typedef MS_U16                           (*IOCTL_XC_GETOP1OUTPUTVFREQX100)                  (void*);
280 typedef MS_BOOL                          (*IOCTL_XC_FRAMELOCKCHECK)                          (void*);
281 typedef E_APIXC_ReturnValue              (*IOCTL_XC_CUSTOMIZEFRCTABLE)                       (void*, SC_FRC_SETTING*);
282 typedef E_APIXC_ReturnValue              (*IOCTL_XC_OUTPUTFRAMECTRL)                         (void*, MS_BOOL,XC_OUTPUTFRAME_Info *,SCALER_WIN);
283 typedef void                             (*IOCTL_SC_ENABLE_FPLL_FSM)                         (void*, MS_BOOL);
284 typedef void                             (*IOCTL_SC_FORCEFREERUN)                            (void*, MS_BOOL);
285 typedef MS_BOOL                          (*IOCTL_SC_ISFORCEFREERUN)                          (void*);
286 typedef void                             (*IOCTL_SC_SETFREERUNVFREQ)                         (void*, E_VFREQ_SEL);
287 typedef MS_BOOL                          (*IOCTL_XC_SETEXPANELINFO)                          (void*, MS_BOOL, XC_PANEL_INFO_EX *);
288 typedef void                             (*IOCTL_XC_ENABLE_FPLL_THRESH_MODE)                 (void*, MS_BOOL);
289 typedef MS_BOOL                          (*IOCTL_XC_GET_FPLL_THRESH_MODE)                    (void*);
290 typedef E_APIXC_ReturnValue              (*IOCTL_XC_ENABLEIPAUTONOSIGNAL)                    (void*, MS_BOOL, SCALER_WIN );
291 typedef MS_BOOL                          (*IOCTL_XC_GETIPAUTONOSIGNAL)                       (void*, SCALER_WIN );
292 typedef void                             (*IOCTL_XC_ENABLEIPAUTOCOAST)                       (void*, MS_BOOL);
293 typedef void                             (*IOCTL_XC_ENABLEIPCOASTDEBOUNCE)                   (void*);
294 typedef void                             (*IOCTL_XC_CLEARIPCOASTSTATUS)                      (void*);
295 typedef void                             (*IOCTL_XC_ENABLEFPLLMANUALSETTING)                 (void*, MS_BOOL);
296 typedef void                             (*IOCTL_XC_FPLLBOUNDARYTEST)                        (void*, MS_U32, MS_U16);
297 typedef void                             (*IOCTL_XC_SETOFFLINEDETECTION)                     (void*, INPUT_SOURCE_TYPE_t);
298 typedef MS_U8                            (*IOCTL_XC_GETOFFLINEDETECTION)                     (void*, INPUT_SOURCE_TYPE_t);
299 typedef MS_BOOL                          (*IOCTL_XC_SETOFFLINESOGTHRESHOLD)                  (void*, MS_U8);
300 typedef MS_BOOL                          (*IOCTL_XC_SETOFFLINESOGBW)                         (void*, MS_U8);
301 typedef MS_BOOL                          (*IOCTL_XC_OFFLINEINIT)                             (void*);
302 typedef void                             (*IOCTL_XC_SET_EXTRA_FETCH_ADV_LINE)                (void*, MS_U8);
303 typedef E_APIXC_ReturnValue              (*IOCTL_XC_SETVGASOGEN)                             (void*, MS_BOOL);
304 typedef void                             (*IOCTL_XC_ENABLEWINDOW)                            (void*, MS_BOOL, SCALER_WIN);
305 typedef MS_BOOL                          (*IOCTL_XC_IS_SUBWINDOWEANBLE)                      (void*);
306 typedef void                             (*IOCTL_XC_SETBORDERFORMAT)                         (void*, MS_U8, MS_U8, MS_U8, MS_U8, MS_U8, SCALER_WIN);
307 typedef void                             (*IOCTL_XC_ENABLEBORDER)                            (void*, MS_BOOL, SCALER_WIN);
308 typedef void                             (*IOCTL_XC_ZORDERMAINWINDOWFIRST)                   (void*, MS_BOOL);
309 typedef void                             (*IOCTL_XC_PQ_LOADFUNCTION)                         (void*, PQ_Function_Info* , MS_U32);
310 typedef MS_BOOL                          (*IOCTL_XC_CHECK_HNONLINEARSCALING)                 (void*);
311 typedef void                             (*IOCTL_XC_ENABLEEUROHDTVSUPPORT)                   (void*, MS_BOOL);
312 typedef void                             (*IOCTL_XC_ENABLEEUROHDTVDETECTION)                 (void*, MS_BOOL, SCALER_WIN);
313 typedef MS_U8                            (*IOCTL_XC_READBYTE)                                (void*, MS_U32);
314 typedef void                             (*IOCTL_XC_WRITEBYTE)                               (void*, MS_U32, MS_U8);
315 typedef void                             (*IOCTL_XC_WRITEBYTEMASK)                           (void*, MS_U32, MS_U8, MS_U8);
316 typedef void                             (*IOCTL_XC_WRITE2BYTEMASK)                          (void*, MS_U32, MS_U16, MS_U16);
317 typedef void                             (*IOCTL_XC_W2BYTE)                                  (void*, MS_U32, MS_U16);
318 typedef MS_U16                           (*IOCTL_XC_R2BYTE)                                  (void*, MS_U32);
319 typedef void                             (*IOCTL_XC_W4BYTE)                                  (void*, MS_U32, MS_U32);
320 typedef MS_U32                           (*IOCTL_XC_R4BYTE)                                  (void*, MS_U32);
321 typedef MS_U16                           (*IOCTL_XC_R2BYTEMSK)                               (void*, MS_U32, MS_U16);
322 typedef void                             (*IOCTL_XC_W2BYTEMSK)                               (void*, MS_U32, MS_U16, MS_U16);
323 typedef void                             (*IOCTL_XC_MLOAD_INIT)                              (void*, MS_PHY, MS_U32);
324 typedef void                             (*IOCTL_XC_MLOAD_ENABLE)                            (void*, MS_BOOL);
325 typedef void                             (*IOCTL_XC_MLOAD_CUS_INIT)                             (void*, EN_MLOAD_CLIENT_SELECT, MS_PHY, MS_U32);
326 typedef void                             (*IOCTL_XC_MLOAD_CUS_ENABLE)                           (void*, EN_MLOAD_CLIENT_SELECT, MS_BOOL);
327 typedef MLOAD_TYPE                       (*IOCTL_XC_MLOAD_GETSTATUS)                         (void*);
328 typedef MS_BOOL                          (*IOCTL_XC_MLOAD_WRITECMD_AND_FIRE)                 (void*, MS_U32, MS_U16, MS_U16);
329 typedef MS_BOOL                          (*IOCTL_XC_MLOAD_WRITECMDS_AND_FIRE)                (void*, MS_U32 *, MS_U16 *, MS_U16 *, MS_U16);
330 typedef E_APIXC_ReturnValue              (*IOCTL_XC_MLOAD_COMBINE)                           (void*, MS_BOOL);
331 typedef void                             (*IOCTL_XC_MLG_INIT)                                (void*, MS_PHY, MS_U32);
332 typedef void                             (*IOCTL_XC_MLG_ENABLE)                              (void*, MS_BOOL);
333 typedef MS_BOOL                          (*IOCTL_XC_MLG_GETCAPS)                             (void*);
334 typedef MLG_TYPE                         (*IOCTL_XC_MLG_GETSTATUS)                           (void*);
335 typedef void                             (*IOCTL_XC_SETOSD2VEMODE)                           (void*, EN_VOP_SEL_OSD_XC2VE_MUX );
336 typedef void                             (*IOCTL_XC_IP2_PREFILTER_ENABLE)                    (void*, MS_BOOL);
337 typedef E_APIXC_GET_PixelRGB_ReturnValue (*IOCTL_XC_GET_PIXEL_RGB)                           (void*, XC_Get_Pixel_RGB *, SCALER_WIN);
338 typedef void                             (*IOCTL_XC_KEEPPIXELPOINTERAPPEAR)                  (void*, MS_BOOL);
339 typedef MS_BOOL                          (*IOCTL_XC_SET_MEMFMTEX)                            (void*, MS_XC_MEM_FMT, SCALER_WIN);
340 typedef MS_BOOL                          (*IOCTL_XC_ISREQUESTFRAMEBUFFERLESSMODE)            (void*);
341 typedef E_APIXC_ReturnValue              (*IOCTL_XC_SKIPSWRESET)                             (void*, MS_BOOL);
342 typedef void                             (*IOCTL_XC_ENABLEREPWINDOWFORFRAMECOLOR)            (void*, MS_BOOL);
343 typedef E_APIXC_ReturnValue              (*IOCTL_XC_SETOSDLAYER)                             (void*, E_VOP_OSD_LAYER_SEL , SCALER_WIN);
344 typedef E_VOP_OSD_LAYER_SEL              (*IOCTL_XC_GETOSDLAYER)                             (void*, SCALER_WIN);
345 typedef E_APIXC_ReturnValue              (*IOCTL_XC_SETVIDEOALPHA)                           (void*, MS_U8, SCALER_WIN);
346 typedef E_APIXC_ReturnValue              (*IOCTL_XC_GETVIDEOALPHA)                           (void*, MS_U8 *, SCALER_WIN);
347 typedef E_APIXC_ReturnValue              (*IOCTL_XC_SKIPWAITVSYNC)                           (void*, MS_BOOL,MS_BOOL);
348 typedef E_APIXC_ReturnValue              (*IOCTL_XC_SETCMAHEAPID)                            (void*, MS_U8,SCALER_WIN);
349 typedef E_APIXC_ReturnValue              (*IOCTL_XC_OP2VOPDESEL)                             (void*, E_OP2VOP_DE_SEL);
350 typedef void                             (*IOCTL_XC_FRC_SETWINDOW)                           (void*, E_XC_3D_INPUT_MODE, E_XC_3D_OUTPUT_MODE, E_XC_3D_PANEL_TYPE);
351 typedef MS_BOOL                          (*IOCTL_XC_ENABLE_TWOINITFACTOR)                    (void*, MS_BOOL, SCALER_WIN);
352 typedef MS_BOOL                          (*IOCTL_XC_ISFIELDPACKINGMODESUPPORTED)             (void*);
353 typedef E_APIXC_ReturnValue              (*IOCTL_XC_PREINIT)                                 (void*, E_XC_PREINIT_t ,void*, MS_U32);
354 typedef void                             (*IOCTL_XC_GET_BUFFERDATA)                          (void*, E_XC_OUTPUTDATA_TYPE, MS_WINDOW_TYPE *, void *, SCALER_WIN);
355 typedef void                             (*IOCTL_XC_SET_BUFFERDATA)                          (void*, E_XC_INPUTDATA_TYPE, MS_WINDOW_TYPE *, void *, MS_WINDOW_TYPE *, SCALER_WIN);
356 typedef void                             (*IOCTL_XC_ENABLEMAINWINDOW)                        (void*, MS_BOOL);
357 typedef void                             (*IOCTL_XC_ENABLESUBWINDOW)                         (void*, MS_WINDOW_TYPE *);
358 typedef void                             (*IOCTL_XC_DISABLESUBWINDOW)                        (void*);
359 typedef E_APIXC_ReturnValue              (*IOCTL_XC_SETPIXELSHIFT)                           (void*, MS_S8, MS_S8);
360 typedef E_APIXC_ReturnValue              (*IOCTL_XC_SETVIDEOONOSD)                           (void*, E_VIDEO_ON_OSD_LAYER, SCALER_WIN);
361 typedef E_APIXC_ReturnValue              (*IOCTL_XC_SETOSDLAYERBLENDING)                     (void*, MS_U8, MS_BOOL, SCALER_WIN);
362 typedef E_APIXC_ReturnValue              (*IOCTL_XC_SETOSDLAYERALPHA)                        (void*, MS_U8, MS_U8);
363 typedef E_APIXC_ReturnValue              (*IOCTL_XC_SETOSDBLENDINGFORMULA)                   (void*, E_XC_OSD_INDEX, E_XC_OSD_BlENDING_TYPE, SCALER_WIN);
364 typedef MS_BOOL                          (*IOCTL_XC_REPORTPIXELINFO)                         (void*, MS_XC_REPORT_PIXELINFO *);
365 typedef void                             (*IOCTL_XC_SETSCALING)                              (void*, MS_BOOL, E_XC_SCALING_TYPE, E_XC_VECTOR_TYPE, SCALER_WIN);
366 typedef void                             (*IOCTL_XC_SETMCDIBUFFERADDRESS)                    (void*, MS_PHY, MS_PHY, E_XC_MCDI_TYPE);
367 typedef void                             (*IOCTL_XC_ENABLEMCDI)                              (void*, MS_BOOL, E_XC_MCDI_TYPE);
368 typedef MS_BOOL                          (*IOCTL_XC_SENDCMDTOFRC)                            (void*, MS_U8, MS_U8, FRC_R2_CMD_PARAMETER_t);
369 typedef MS_BOOL                          (*IOCTL_XC_GETMSGFROMFRC)                           (void*, MS_U8*, MS_U8*, MS_U8*);
370 typedef void                             (*IOCTL_XC_ENABLERWBANKAUTO)                        (void*, MS_BOOL, SCALER_WIN);
371 typedef void                             (*IOCTL_XC_SETWRBANKMAPPINGNUM)                     (void*, MS_U8, SCALER_WIN);
372 typedef MS_U8                            (*IOCTL_XC_GETWRBANKMAPPINGNUM)                     (void*, SCALER_WIN);
373 typedef MS_U8                            (*IOCTL_XC_GETWRBANKMAPPINGNUMFORZAP)               (void*, SCALER_WIN);
374 typedef MS_BOOL                          (*IOCTL_XC_SET_BOBMODE)                             (void*, MS_BOOL, SCALER_WIN);
375 typedef void                             (*IOCTL_XC_SET_FORCE_READBANK)                      (void*, MS_BOOL, MS_U8, SCALER_WIN);
376 typedef void                             (*IOCTL_XC_SET_LOCK_POINT)                      (void*, MS_U16, SCALER_WIN);
377 typedef MS_BOOL                          (*IOCTL_XC_LD_INIT)                                 (void*, EN_LD_PANEL_TYPE);
378 typedef MS_BOOL                          (*IOCTL_XC_LD_SETMEMORYADDRESS)                     (void*, MS_U8,MS_PHY,MS_PHY,MS_PHY,MS_PHY,MS_PHY,MS_PHY);
379 typedef MS_BOOL                          (*IOCTL_XC_LD_GET_VALUE)                            (void*, MS_U8*, MS_U8, MS_U8);
380 typedef MS_BOOL                          (*IOCTL_XC_LD_SETLEVEL)                             (void*, EN_LD_MODE);
381 typedef MS_BOOL                          (*IOCTL_SET_TURNOFFLDBL)                            (void*, MS_BOOL);
382 typedef MS_BOOL                          (*IOCTL_SET_NOTUPDATESPIDATAFLAGS)                  (void*, MS_BOOL);
383 typedef MS_BOOL                          (*IOCTL_SET_USERMODELDFLAGS)                        (void*, MS_BOOL);
384 typedef MS_BOOL                          (*IOCTL_SET_BLLEVEL)                                (void*, MS_U8);
385 typedef void                             (*IOCTL_XC_SET_BWS_MODE)                            (void*, MS_BOOL, SCALER_WIN);
386 typedef void                             (*IOCTL_XC_FRC_COLORPATHCTRL)                       (void*, MS_U16, MS_BOOL);
387 typedef void                             (*IOCTL_XC_FRC_OP2_SETRGBGAIN)                      (void*, MS_U16, MS_U16, MS_U16);
388 typedef void                             (*IOCTL_XC_FRC_OP2_SETRGBOFFSET)                    (void*, MS_U16, MS_U16, MS_U16);
389 typedef void                             (*IOCTL_XC_FRC_OP2_SETDITHER)                       (void*, MS_U16);
390 typedef MS_BOOL                          (*IOCTL_XC_FRC_BYPASSMFC)                           (void*, MS_BOOL);
391 typedef void                             (*IOCTL_XC_FRC_MUTE)                                (void*, MS_BOOL);
392 typedef E_APIXC_ReturnValue              (*IOCTL_XC_FORCEREADFRAME)                          (void*, MS_BOOL, MS_U16);
393 typedef void                             (*IOCTL_XC_SETCSC)                                  (void*, MS_BOOL, SCALER_WIN);
394 typedef void                             (*IOCTL_XC_REGISTERPQSETFPLLTHRESHMODE)             (void*, void (*fpPQCB)(MS_U8));
395 typedef MS_BOOL                          (*IOCTL_XC_GETFREERUNSTATUS)                        (void*);
396 typedef void                             (*IOCTL_XC_SET_BYPASS_CSC)                          (void*, MS_BOOL);
397 typedef E_APIXC_ReturnValue              (*IOCTL_XC_GET_DSFORCEINDEXSUPPORTED)               (void*, SCALER_WIN);
398 typedef E_APIXC_ReturnValue              (*IOCTL_XC_SET_DSFORCEINDEX)                        (void*, MS_BOOL, MS_U8, SCALER_WIN);
399 typedef E_APIXC_ReturnValue              (*IOCTL_XC_SET_DSINDEXSOURCESELECT)                 (void*, E_XC_DS_INDEX_SOURCE, SCALER_WIN);
400 typedef MS_BOOL                          (*IOCTL_XC_GET_DYNAMICSCALINGSTATUS)                (void*);
401 typedef E_APIXC_ReturnValue              (*IOCTL_XC_OSDC_INITSETTING)                        (void*, E_XC_OSDC_TGEN_Type,MS_XC_OSDC_TGEN_INFO*,MS_XC_OSDC_CTRL_INFO*);
402 typedef void                             (*IOCTL_XC_OSDC_SET_OUTPUTVFREQX10)                 (void*, MS_U16);
403 typedef E_APIXC_ReturnValue              (*IOCTL_XC_OSDC_CONTROL)                            (void*, MS_U32);
404 typedef E_APIXC_ReturnValue              (*IOCTL_XC_OSDC_GETDSTINFO)                         (void*, MS_OSDC_DST_DispInfo*, MS_U32);
405 typedef MS_U32                           (*IOCTL_XC_SET_POWERSTATE)                          (void*, EN_POWER_MODE);
406 typedef void                             (*IOCTL_XC_SET_BYPASS_OSDVSYNC_POS)                 (void*, MS_U16, MS_U16);
407 typedef void                             (*IOCTL_XC_SET_BYPASS_INPUTSRC)                     (void*, MS_BOOL, E_XC_BYPASS_InputSource);
408 typedef E_APIXC_ReturnValue              (*IOCTL_XC_SET_SEAMELESS_ZAPPING)                   (void*, SCALER_WIN, MS_BOOL);
409 typedef E_APIXC_ReturnValue              (*IOCTL_XC_GET_SEAMELESS_ZAPPING_STATUS)            (void*, SCALER_WIN, MS_BOOL*);
410 typedef E_APIXC_ReturnValue              (*IOCTL_XC_SET_VTRACK_PAYLOADDATA)                  (void*, MS_U16, MS_U8);
411 typedef E_APIXC_ReturnValue              (*IOCTL_XC_SET_VTRACK_USERDEFINED_SETTING)          (void*, MS_BOOL, MS_U8*);
412 typedef E_APIXC_ReturnValue              (*IOCTL_XC_SET_VTRACK_ENABLE)                       (void*, MS_U8, MS_BOOL);
413 typedef void                             (*IOCTL_XC_PRESET_PQINFO)                           (void*, XC_SETWIN_INFO*, SCALER_WIN);
414 typedef MS_BOOL                          (*IOCTL_XC_GET_OP1_TESTPATTERN_ENABLED)             (void*);
415 typedef E_APIXC_ReturnValue              (*IOCTL_XC_SET_OP1_TESTPATTERN)                     (void*, EN_XC_OP1_PATTERN, EN_XC_OP1_PATGEN_MODE);
416 typedef E_APIXC_ReturnValue              (*IOCTL_XC_SET_OP2_TESTPATTERN)                     (void*, MS_BOOL, MS_U16, MS_U16, MS_U16);
417 typedef MS_BOOL                          (*IOCTL_XC_CHECK_WHITEBALANCE_PATTERN_MODE)         (void*, EN_XC_WB_PATTERN_MODE);
418 typedef E_APIXC_ReturnValue              (*IOCTL_XC_SET_HLINEARSCALING)                      (void*, MS_BOOL, MS_BOOL, MS_U16, SCALER_WIN);
419 typedef E_APIXC_ReturnValue              (*IOCTL_XC_ENABLE_T3D)                              (void*, MS_BOOL);
420 typedef E_APIXC_ReturnValue              (*IOCTL_XC_SET_FRC_INPUTTIMING)                     (void*, E_XC_FRC_InputTiming);
421 typedef E_APIXC_ReturnValue              (*IOCTL_XC_GET_FRC_INPUTTIMING)                     (void*, E_XC_FRC_InputTiming*);
422 typedef E_APIXC_ReturnValue              (*IOCTL_XC_GET_VBOX_INFO)                           (void*, XC_VBOX_INFO*);
423 typedef E_APIXC_ReturnValue              (*IOCTL_XC_SET_OSD_DETECT)                          (void*, MS_BOOL, MS_U32);
424 typedef E_APIXC_ReturnValue              (*IOCTL_XC_GET_OSD_DETECT)                          (void*, MS_BOOL*);
425 typedef E_APIXC_ReturnValue              (*IOCTL_XC_ENABLE_LOCKFREQONLY)                    (void*, MS_BOOL);
426 typedef MS_BOOL                          (*IOCTL_XC_IS2K2KTOFRCMODE)                         (void*);
427 typedef MS_BOOL                          (*IOCTL_XC_SET_XC_VOP_DATA)                          (void*, MS_XC_VOP_Data);
428 typedef MS_U8                            (*IOCTL_XC_GETSWDSINDEX)                            (void*);
429 typedef MS_BOOL                          (*IOCTL_XC_GET_Is_SupportSWDS)                      (void*);
430 typedef MS_U8                            (*IOCTL_XC_GET_FRCM_FRAMENUM)                       (void*, SCALER_WIN);
431 typedef E_APIXC_ReturnValue              (*IOCTL_XC_SET_PIXELSHIFT_FEATURES)                 (void*, MS_U16, MS_U16, PIXEL_SHIFT_FEATURE);
432 typedef MS_BOOL                          (*IOCTL_XC_SET_BWD_CONFIG)                                 (void*, E_XC_BWD_CONFIG_TYPE, void *, SCALER_WIN);
433 typedef E_APIXC_ReturnValue              (*IOCTL_XC_SETFORCEWRITE)                           (void*, EN_MUTE_TYPE,MS_BOOL);
434 typedef MS_BOOL                          (*IOCTL_XC_GETFORCEWRITE)                           (void*, EN_MUTE_TYPE);
435 #ifdef UFO_XC_AUTO_DOWNLOAD
436 typedef E_APIXC_ReturnValue              (*IOCTL_XC_AUTODOWNLOAD_CONFIG_CTRL)                   (void*, XC_AUTODOWNLOAD_CONFIG_INFO*);
437 typedef E_APIXC_ReturnValue              (*IOCTL_XC_AUTODOWNLOAD_WRITE_CTRL)                     (void*, XC_AUTODOWNLOAD_DATA_INFO*);
438 typedef E_APIXC_ReturnValue              (*IOCTL_XC_AUTODOWNLOAD_FIRE_CTRL)                     (void*, EN_XC_AUTODOWNLOAD_CLIENT);
439 #endif
440 #ifdef UFO_XC_HDR
441 #if (UFO_XC_HDR_VERSION == 2)
442 typedef E_APIXC_ReturnValue              (*IOCTL_XC_HDR_CTRL)                                    (void*, EN_XC_HDR_CTRL_TYPE, void *);
443 #endif
444 #endif
445 typedef MS_BOOL                          (*IOCTL_XC_OPTEE_CTRL)                              (void *,EN_XC_OPTEE_ACTION ,XC_OPTEE_HANDLER*);
446 typedef MS_BOOL                          (*IOCTL_XC_OPTEE_CHECKRBASE)                        (void *,SCALER_WIN);
447 typedef MS_BOOL                          (*IOCTL_XC_OPTEE_MUX)                               (void *,EN_XC_OPTEE_ACTION ,XC_OPTEE_MUX_DATA);
448 typedef MS_U32                           (*IOCTL_XC_GET_RES_BY_PIPE)                         (void* ,MS_U32 , MS_U32* , RESOURCE*);
449 typedef MS_U32                           (*IOCTL_XC_CONFIG_PIPE)                             (void* ,MS_U32 , MS_U32 , MS_U32);
450 typedef MS_U32                           (*IOCTL_XC_CHECK_PIPE)                              (void* ,MS_U32 , MS_U32 , MS_U32);
451 // OBSOLETE FUNCTION POINTER START
452 typedef MS_U16                           (*IOCTL_SC_GET_OUTPUT_VFREQ)                        (void*);
453 typedef MS_U32                           (*IOCTL_XC_GET_CURRENT_OUTPUTVFREQX100)             (void*);
454 typedef E_APIXC_ReturnValue              (*IOCTL_XC_SETMEMORYWRITEREQUEST)                   (void*, MS_BOOL);
455 typedef MS_BOOL                          (*IOCTL_XC_SET_MEMFMT)                              (void*, MS_XC_MEM_FMT);
456 typedef E_APIXC_ReturnValue              (*IOCTL_XC_SETOUTPUTADJUSTSETTING)                  (void*, XC_OUTPUT_TIMING_ADJUST_SETTING*);
457 typedef void                             (*IOCTL_SCALER_FPLL_FSM)                            (void*, SCALER_WIN);
458 typedef void                             (*IOCTL_XC_ENABLEMIRRORMODE)                        (void*, MS_BOOL);
459 typedef void                             (*IOCTL_XC_ENABLEMIRRORMODE2)                       (void*, MirrorMode_t);
460 typedef MirrorMode_t                     (*IOCTL_XC_GETMIRRORMODETYPE)                       (void*);
461 // OBSOLETE FUNCTION POINTER END
462 typedef MS_BOOL                          (*IOCTL_XC_CMD_IS_SUPPORT_2_STEP_SCALING)           (void*);
463 typedef MS_BOOL                          (*IOCTL_XC_CMD_GET_PQ_PATH_STATUS)                  (void*, E_XC_PQ_Path_Type, MS_U16 , MS_U16);
464 #ifdef UFO_XC_SET_DSINFO_V0
465 typedef void                             (*IOCTL_XC_SETDSINFO)                               (void*,XC_DS_INFO*, MS_U32, SCALER_WIN);
466 #endif
467 typedef E_APIXC_ReturnValue              (*IOCTL_XC_VIDEO_PLAYBACK_CTRL)                     (void*, MS_U32, void*,MS_U32);
468 #ifdef UFO_XC_SETBLACKVIDEOBYMODE
469 typedef E_APIXC_ReturnValue              (*IOCTL_XC_GENERATEBLACKVIDEOBYMODE)              (void*, MS_BOOL, SCALER_WIN, EN_XC_BLACK_VIDEO_MODE);
470 #endif
471 
472 #ifdef UFO_XC_FB_LEVEL
473 typedef E_APIXC_ReturnValue              (*IOCTL_XC_SET_FB_LEVEL)                            (void*, E_XC_FB_LEVEL, SCALER_WIN);
474 typedef E_XC_FB_LEVEL                    (*IOCTL_XC_GET_FB_LEVEL)                            (void*, SCALER_WIN);
475 #endif
476 typedef MS_BOOL                          (*IOCTL_XC_SET_SWDR_INFO)                          (void*, XC_SWDR_INFO*);
477 typedef MS_BOOL                          (*IOCTL_XC_GET_SWDR_INFO)                          (void*, XC_SWDR_INFO*);
478 
479 
480 // APIXC_ADC_H
481 typedef void                             (*IOCTL_XC_ADC_SETCVBSOUT)                         (void*, MS_BOOL, E_DEST_TYPE , INPUT_SOURCE_TYPE_t, MS_BOOL);
482 typedef MS_BOOL                          (*IOCTL_XC_ADC_ISCVBSOUTENABLED)                   (void*, E_DEST_TYPE);
483 typedef void                             (*IOCTL_XC_ADC_SETPCCLOCK)                         (void*, MS_U16);
484 typedef void                             (*IOCTL_XC_ADC_SETPHASE)                           (void*, MS_U8);
485 typedef void                             (*IOCTL_XC_ADC_SETPHASEEX)                         (void*, MS_U16);
486 typedef MS_U16                           (*IOCTL_XC_ADC_GETPHASERANGE)                      (void*);
487 typedef MS_U8                            (*IOCTL_XC_ADC_GETPHASE)                           (void*);
488 typedef MS_U16                           (*IOCTL_XC_ADC_GETPHASEEX)                         (void*);
489 typedef MS_BOOL                          (*IOCTL_XC_ADC_ISSCARTRGB)                         (void*);
490 typedef MS_U16                           (*IOCTL_XC_ADC_GETPCCLOCK)                         (void*);
491 typedef void                             (*IOCTL_XC_ADC_GETSOGLEVELRANGE)                   (void*, MS_U32*, MS_U32*, MS_U32*);
492 typedef void                             (*IOCTL_XC_ADC_SETSOGLEVEL)                        (void*, MS_U32);
493 typedef void                             (*IOCTL_XC_ADC_POWEROFF)                           (void*);
494 typedef void                             (*IOCTL_XC_ADC_GETDEFAULTGAINOFFSET)               (void*, INPUT_SOURCE_TYPE_t, APIXC_AdcGainOffsetSetting*);
495 typedef MS_U16                           (*IOCTL_XC_ADC_GETMAXIMALOFFSETVALUE)              (void*);
496 typedef MS_U16                           (*IOCTL_XC_ADC_GETMAXIMALGAINVALUE)                (void*);
497 typedef MS_U16                           (*IOCTL_XC_ADC_GETCENTERGAIN)                      (void*);
498 typedef MS_U16                           (*IOCTL_XC_ADC_GETCENTEROFFSET)                    (void*);
499 typedef void                             (*IOCTL_XC_ADC_SETGAIN)                            (void*, MS_U8, MS_U16);
500 typedef void                             (*IOCTL_XC_ADC_SETOFFSET)                          (void*, MS_U8, MS_U16);
501 typedef void                             (*IOCTL_XC_ADC_ADJUSTGAINOFFSET)                   (void*, APIXC_AdcGainOffsetSetting*);
502 typedef void                             (*IOCTL_XC_ADC_SOURCE_CALIBRATE)                   (void*, INPUT_SOURCE_TYPE_t);
503 typedef void                             (*IOCTL_XC_ADC_SETSOGCAL)                          (void*);
504 typedef void                             (*IOCTL_XC_ADC_SETRGB_PIPE_DELAY)                  (void*, MS_U8);
505 typedef void                             (*IOCTL_XC_ADC_SCARTRGB_SOG_CLAMPDELAY)            (void*, MS_U16, MS_U16);
506 typedef void                             (*IOCTL_XC_ADC_SET_YPBPRLOOSELPF)                  (void*, MS_BOOL);
507 typedef void                             (*IOCTL_XC_ADC_SET_SOGBW)                          (void*, MS_U16);
508 typedef void                             (*IOCTL_XC_ADC_SETCLAMPDURATION)                   (void*, MS_U16);
509 typedef MS_BOOL                          (*IOCTL_XC_ADC_ENABLEHWCALIBRATION)                (void*, MS_BOOL);
510 typedef MS_BOOL                          (*IOCTL_XC_ADC_SETIDACCURRENTMODE)                 (void*, ADC_DacCurrentMode_t);
511 typedef ADC_DacCurrentMode_t             (*IOCTL_XC_ADC_GETIDACCURRENTMODE)                 (void*);
512 
513 // APIXC_AUTO_H
514 typedef MS_BOOL                          (*IOCTL_XC_AUTO_GEOMETRY)                          (void*, XC_Auto_TuneType, XC_Auto_Signal_Info*, XC_Auto_Signal_Info*, SCALER_WIN);
515 typedef MS_BOOL                          (*IOCTL_XC_AUTO_GEOMETRY_EX)                       (void*, XC_Auto_TuneType, XC_Auto_Signal_Info_Ex*, XC_Auto_Signal_Info_Ex*, SCALER_WIN);
516 typedef MS_BOOL                          (*IOCTL_XC_AUTO_STOPAUTOGEOMETRY)                  (void*);
517 typedef MS_BOOL                          (*IOCTL_XC_AUTO_GAINOFFSET)                        (void*, XC_Auto_CalibrationType, XC_Auto_TuneType, APIXC_AdcGainOffsetSetting*, SCALER_WIN);
518 typedef MS_BOOL                          (*IOCTL_XC_AUTO_GETHWFIXEDGAINOFFSET)              (void*, XC_Auto_TuneType, APIXC_AdcGainOffsetSetting*);
519 typedef MS_BOOL                          (*IOCTL_XC_AUTO_SETVALIDDATA)                      (void*, MS_U8);
520 typedef void                             (*IOCTL_XC_AUTO_AUTOOFFSET)                        (void*, MS_BOOL, MS_BOOL);
521 typedef MS_BOOL                          (*IOCTL_XC_AUTO_DETECTWIDTH)                       (void*, XC_Auto_Signal_Info_Ex*, SCALER_WIN);
522 typedef MS_BOOL                          (*IOCTL_XC_AUTO_SETCALIBRATIONMODE)                (void*, XC_Auto_CalibrationMode);
523 typedef void                             (*IOCTL_XC_AUTO_GETCALIBRATIONMODE)            (void*, XC_Auto_CalibrationMode*);
524 typedef void                             (*IOCTL_XC_AUTO_GETSYNCINFO)                       (void*, XC_AUTO_SYNC_INFO*);
525 
526 // APIXC_MODEPARSE_H
527 typedef MS_BOOL                          (*IOCTL_XC_MODEPARSE_INIT)                         (void*);
528 typedef XC_MODEPARSE_RESULT              (*IOCTL_XC_MODEPARSE_MATCHMODE)                    (void*, MS_PCADC_MODETABLE_TYPE*, MS_U8, XC_MODEPARSE_INPUT_INFO*);
529 typedef XC_MODEPARSE_RESULT              (*IOCTL_XC_MODEPARSE_MATCHMODEEX)                  (void*, MS_PCADC_MODETABLE_TYPE_EX*, MS_U8, XC_MODEPARSE_INPUT_INFO*);
530 
531 // APIXC_PCMONITOR_H
532 typedef MS_BOOL                          (*IOCTL_XC_PCMONITOR_INIT)                         (void*, MS_U8);
533 typedef void                             (*IOCTL_XC_PCMONITOR_RESTART)                      (void*, SCALER_WIN);
534 typedef void                             (*IOCTL_XC_PCMONITOR_SETTIMINGCOUNT)               (void*, MS_U16, MS_U16);
535 typedef XC_PCMONITOR_STATUS              (*IOCTL_XC_PCMONITOR)                              (void*, INPUT_SOURCE_TYPE_t, SCALER_WIN);
536 typedef XC_PCMONITOR_STATUS              (*IOCTL_XC_PCMONITOR_GETCURRENTSTATE)              (void*, SCALER_WIN);
537 typedef MS_U8                            (*IOCTL_XC_PCMONITOR_GETSYNCSTATUS)                (void*, SCALER_WIN);
538 typedef MS_U16                           (*IOCTL_XC_PCMONITOR_GET_HFREQX10)                 (void*, SCALER_WIN);
539 typedef MS_U32                           (*IOCTL_XC_PCMONITOR_GET_HFREQX1K)                 (void*, SCALER_WIN);
540 typedef MS_U16                           (*IOCTL_XC_PCMONITOR_GET_VFREQX10)                 (void*, SCALER_WIN);
541 typedef MS_U32                           (*IOCTL_XC_PCMONITOR_GET_VFREQX1K)                 (void*, SCALER_WIN);
542 typedef MS_U16                           (*IOCTL_XC_PCMONITOR_GET_VTOTAL)                   (void*, SCALER_WIN);
543 typedef void                             (*IOCTL_XC_PCMONITOR_GET_DVI_HDMI_DE_INFO)         (void*, SCALER_WIN, MS_WINDOW_TYPE*);
544 typedef MS_BOOL                          (*IOCTL_XC_PCMONITOR_SYNCLOSS)                     (void*, SCALER_WIN);
545 typedef MS_BOOL                          (*IOCTL_XC_PCMONITOR_INVALIDTIMINGDETECT)          (void*, MS_BOOL, SCALER_WIN);
546 typedef E_APIXC_ReturnValue              (*IOCTL_XC_PCMONITOR_SETTIMINGCOUNTEX)             (void*, INPUT_SOURCE_TYPE_t, MS_U16, MS_U16);
547 
548 
549 // DRVXC_HDMI_IF_H
550 typedef MS_U16                           (*IOCTL_HDMI_FUNC_CAPS)                            (void*);
551 typedef stHDMI_INITIAL_TABLE             (*IOCTL_HDMI_INIT)                                 (void*);
552 typedef void                             (*IOCTL_HDMI_EXIT)                                 (void*);
553 typedef void                             (*IOCTL_HDMI_PKT_RESET)                            (void*, HDMI_REST_t);
554 typedef void                             (*IOCTL_HDMI_PULLHPD)                              (void*, MS_BOOL, E_MUX_INPUTPORT, MS_BOOL);
555 typedef MS_U16                           (*IOCTL_HDMI_GC_INFO)                              (void*, MS_U8, HDMI_GControl_INFO_t);
556 typedef void                             (*IOCTL_HDMI_PACKET_RECEIVED)                      (void*, MS_U8, MS_BOOL, MS_U32);
557 typedef MS_HDMI_COLOR_FORMAT             (*IOCTL_HDMI_GET_COLORFORMAT)                      (void*, MS_U8);
558 typedef EN_HDMI_COLOR_RANGE              (*IOCTL_HDMI_GET_COLORRANGE)                       (void*, MS_U8);
559 typedef void                             (*IOCTL_HDMI_SET_EQ)                               (void*, MS_HDMI_EQ, MS_U8);
560 typedef MS_BOOL                          (*IOCTL_HDMI_SET_EQ_TO_PORT)                       (void*, MS_HDMI_EQ, MS_U8, E_MUX_INPUTPORT);
561 typedef void                             (*IOCTL_HDMI_AUDIO_MUTE_ENABLE)                    (void*, MS_U16, MS_U16);
562 typedef void                             (*IOCTL_HDMI_AUDIO_STATUS_CLEAR)                   (void*);
563 typedef MS_HDMI_AR_TYPE                  (*IOCTL_HDMI_GET_ASPECTRATIO)                      (void*, MS_U8, MS_BOOL, MS_BOOL);
564 typedef MS_HDMI_AR_TYPE                  (*IOCTL_HDMI_GET_ACTIVEFORMAT_ASPECTRATIO)         (void*, MS_U8, MS_BOOL);
565 typedef EN_AVI_INFOFRAME_VERSION         (*IOCTL_HDMI_GET_AVIINFOFRAMEVER)                  (void*, MS_U8);
566 typedef MS_U8                            (*IOCTL_HDMI_ERR_STATUS_UPDATE)                    (void*, MS_U8, MS_U8, MS_BOOL);
567 typedef MS_U16                           (*IOCTL_HDMI_GET_TMDS_FREQ)                        (void*);
568 typedef void                             (*IOCTL_HDMI_GET_POLLINGSTATUS)                    (void*, HDMI_POLLING_STATUS_t**);
569 typedef MS_BOOL                          (*IOCTL_HDMI_ISHDMI_MODE)                          (void*);
570 typedef void                             (*IOCTL_HDMI_GET_MID_INFO)                         (void*, MS_U8, MS_U8*);
571 typedef MS_BOOL                          (*IOCTL_HDMI_GET_PACKET_VALUE)                     (void*, MS_U8, MS_HDMI_PACKET_STATE_t, MS_U8, MS_U8*);
572 typedef MS_U16                           (*IOCTL_DVI_CHANNELPHASESTATUS)                    (void*,  MS_DVI_CHANNEL_TYPE);
573 typedef void                             (*IOCTL_DVI_SOFTWARERESET)                         (void*,  MS_U16);
574 typedef void                             (*IOCTL_DVI_RESET)                                 (void*);
575 typedef MS_BOOL                          (*IOCTL_HDMI_AVIINFO_ACTIVEINFOPRESENT)            (void*, MS_U8);
576 typedef void                             (*IOCTL_DVI_CLKPULLLOW)                            (void*, MS_BOOL, E_MUX_INPUTPORT);
577 typedef void                             (*IOCTL_DVI_SWITCHSRC)                             (void*, E_MUX_INPUTPORT, MS_U8);
578 typedef MS_BOOL                          (*IOCTL_HDMI_SETFORCLOCKLESSTHAN70MHZ)             (void*, E_MUX_INPUTPORT);
579 typedef void                             (*IOCTL_HDMI_DVI_ADJUST)                           (void*, MS_BOOL);
580 typedef void                             (*IOCTL_HDMI_SETUPDATEPHASELINECOUNT)              (void*, INPUT_SOURCE_TYPE_t);
581 typedef void                             (*IOCTL_HDCP_ENABLE)                               (void*, MS_BOOL);
582 typedef MS_BOOL                          (*IOCTL_HDMI_SETHDCPENABLE)                        (void*, E_MUX_INPUTPORT,MS_BOOL);
583 typedef void                             (*IOCTL_HDCP_CLEARSTATUS)                          (void*);
584 typedef void                             (*IOCTL_HDCP_INITPRODUCTIONKEY)                    (void*, MS_U8*);
585 typedef MS_U16                           (*IOCTL_HDCP_GETSTATUS)                            (void*);
586 typedef void                             (*IOCTL_HDCP_VSYNC_END_EN)                         (void*, MS_BOOL);
587 typedef void                             (*IOCTL_HDMI_AUDIO_OUTPUT)                         (void*, MS_BOOL);
588 typedef MS_U8                            (*IOCTL_HDMI_AUDIO_CP_HDR_INFO)                    (void*, MS_U8);
589 typedef MS_U8                            (*IOCTL_HDMI_AUDIO_CHANNEL_STATUS)                 (void*, MS_U8, MS_U8);
590 typedef HDMI_Ret_Value                   (*IOCTL_HDMI_GETLIBVER)                            (void*, const MSIF_Version**);
591 typedef HDMI_Ret_Value                   (*IOCTL_HDMI_GETINFO)                              (void*, MS_HDMI_INFO*);
592 typedef HDMI_Ret_Value                   (*IOCTL_HDMI_GETSTATUS)                            (void*, MS_HDMI_Status*);
593 typedef void                             (*IOCTL_HDMI_READ_DDCRAM)                          (void*, XC_DDCRAM_PROG_INFO*, MS_U32);
594 typedef void                             (*IOCTL_HDMI_PROG_DDCRAM)                          (void*, XC_DDCRAM_PROG_INFO*, MS_U32);
595 typedef MS_HDMI_CONTENT_TYPE             (*IOCTL_HDMI_GET_CONTENT_TYPE)                     (void*, MS_U8);
596 typedef MS_HDMI_EXT_COLORIMETRY_FORMAT   (*IOCTL_HDMI_GET_EXT_COLORIMETRY)                  (void*, MS_U8);
597 typedef MS_U8                            (*IOCTL_HDMI_GET_PIXEL_REPETITION)                 (void*, MS_U8);
598 typedef MS_BOOL                          (*IOCTL_HDMI_CHECK_4K2K)                           (void*, MS_U8);
599 typedef void                             (*IOCTL_HDMI_3D_4KX2K_PROCESS)                     (void*, MS_U8);
600 typedef void                             (*IOCTL_HDMI_AVG_SCALERINGDOWN)                    (void*, MS_U8, MS_BOOL);
601 typedef E_HDMI_ADDITIONAL_VIDEO_FORMAT   (*IOCTL_HDMI_CHECK_ADDITIONAL_FORMAT)              (void*, MS_U8);
602 typedef E_XC_3D_INPUT_MODE               (*IOCTL_HDMI_GET_3D_STRUCTURE)                     (void*, MS_U8);
603 typedef E_HDMI_3D_EXT_DATA_T             (*IOCTL_HDMI_GET_3D_EXT_DATA)                      (void*, MS_U8);
604 typedef void                             (*IOCTL_HDMI_GET_3D_META_FIELD)                    (void*, MS_U8, sHDMI_3D_META_FIELD*);
605 typedef MS_U8                            (*IOCTL_HDMI_GET_VIC_CODE)                         (void*, MS_U8);
606 typedef E_HDMI_VIC_4Kx2K_CODE            (*IOCTL_HDMI_GET_4KX2K_VIC_CODE)                   (void*, MS_U8);
607 typedef void                             (*IOCTL_HDMI_ARC_PINCONTROL)                       (void*, E_MUX_INPUTPORT, MS_BOOL, MS_BOOL);
608 typedef void                             (*IOCTL_DVI_SOFTWARE_RESET)                        (void*, E_MUX_INPUTPORT, MS_U16);
609 typedef MS_U32                           (*IOCTL_HDMI_SET_POWERSTATE)                       (void*, EN_POWER_MODE);
610 typedef void                             (*IOCTL_HDMI_DVI_HF_ADJUST)                        (void*);
611 typedef MS_BOOL                          (*IOCTL_HDMI_CHECKHDMI20_SETTING)                  (void*, E_MUX_INPUTPORT);
612 typedef void                             (*IOCTL_HDMI_SET_5V_DETECT_GPIO_SELECT)            (void*, MS_U32);
613 typedef MS_BOOL                          (*IOCTL_HDMI_GET_DE_STABLE_STATUS)                 (void*, E_MUX_INPUTPORT);
614 typedef MS_BOOL                          (*IOCTL_HDMI_CTRL)                                 (void*, MS_U8, MS_U32, void*, MS_U32);
615 typedef MS_U16                           (*IOCTL_HDMI_GET_DATA_INFO)                        (void*, E_HDMI_GET_DATA_INFO, MS_U8);
616 typedef void                             (*IOCTL_DUMP_SHM)                                  (void*);
617 
618 #ifdef UFO_XC_VMARK
619 // APIXC_VMARK
620 typedef E_APIXC_ReturnValue          (*IOCTL_XC_VMARK_SET_PARAMETERS)                       (void*, MS_U8, XC_VMARK_PARAMETER*);
621 #endif
622 
623 typedef void                             (*IOCTL_SWDS_Fire)                                  (void*, SCALER_WIN);
624 #ifdef UFO_XC_SUPPORT_DUAL_MIU
625 typedef MS_BOOL                          (*IOCTL_XC_ENABLE_DUAL_MODE)                      (void*, MS_BOOL , MS_U32 , MS_U32 , SCALER_WIN);
626 #endif
627 
628 #ifdef UFO_XC_SUPPORT_HDMI_DOWNSCALE_OUTPUT_POLICY
629 typedef MS_U32                           (*IOCTL_XC_GET_HDMI_POLICY)                       (void*);
630 #endif
631 // apiXC_Auto.c
632 typedef struct __attribute__((aligned(4)))
633 {
634     MS_BOOL bHaltAutoGeometry;
635     MS_U8 _u8ThresholdValue;
636     XC_Auto_CalibrationMode g_enCalbrationMode;
637 } ST_APIXC_AUTO;
638 
639 // apiXC_PCMonitor.c
640 typedef struct __attribute__((aligned(4)))
641 {
642     MS_U8 g_u8RGBSOG_DetectStatus;
643     MS_U16 _u16TimingStableCounter[MAX_WINDOW];
644     MS_U16 _u16TimingNosyncCounter[MAX_WINDOW];
645 
646     MS_U16 _u16TimingStableCounter_VGA;
647     MS_U16 _u16TimingNosyncCounter_VGA;
648     MS_U16 _u16TimingStableCounter_YPBPR;
649     MS_U16 _u16TimingNosyncCounter_YPBPR;
650     MS_U16 _u16TimingStableCounter_HDMI;
651     MS_U16 _u16TimingNosyncCounter_HDMI;
652 
653     // for enable auto no signal detect use.
654     MS_BOOL _bEnableAutoNoSignalDetect[MAX_WINDOW];
655 
656     // General function static variables
657     // apiXC_PCMonitor()
658     MS_U8 u8DeNoiseCount[MAX_WINDOW];
659     MS_U8 u8DeStableCnt[MAX_WINDOW];
660 
661     // for 1080oi mode detect
662     MS_BOOL _bNewModeInterlacedDetect;
663 } ST_APIXC_PCMONITOR;
664 
665 typedef struct __attribute__((aligned(4)))
666 {
667     //MS_HDMI_PACKET_VALUE_t pkt_value;
668 
669     /// Debug information
670     MS_HDMI_INFO _info;
671     MS_HDMI_Status _status;
672 
673     // mdrv_dvi_reset()
674     MS_BOOL _ResetDone;
675 
676     // _MDrv_HDCP_GetStatus()
677     MS_HDCP_STATUS_INFO_t enStatus_info;
678 
679     // MDrv_HDCP_Vsync_end_en()
680     MS_BOOL _bHDCP_Vsync_done;
681     MS_BOOL _bHDCP_Vsync_count;
682     MS_BOOL bHDCP14RxREEFlag;
683     MS_U32 u32VsyncTimer;
684     MS_U32 ulPacketStatus[2];
685 
686     // MDrv_HDMI_SetPowerState()
687     EN_POWER_MODE _prev_enPowerState;
688 
689     // HDCP22 relative
690 
691     void *pDummyCont;
692 #if !defined (__aarch64__)
693     MS_U32 u32AlignmentDummy0;
694 #endif
695 }  ST_DRV_HDMI;
696 
697 #if (LD_ENABLE==1)
698 typedef struct __attribute__((aligned(4)))
699 {
700     MS_BOOL _bMDrvLD_InitFinished;
701     ST_DRV_LD_INFO _stDrvLDInfo;
702     EN_LD_PANEL_TYPE _enLDPanelType;
703     ST_LD_DRAM_ADDR gsLDDramBaseAddr;
704 
705     // MDrv_LD_Test1()
706     MS_U16 _u16LedPos;
707     MS_U8 _au8Test_LedData[DRV_LD_SPI_BUF_MAX_SIZE];
708 
709     MS_BOOL _bIsLDPanel;
710 
711 } ST_DRV_LD;
712 
713 typedef struct __attribute__((aligned(4)))
714 {
715     MS_U8 _u8Input_Block[18][32];
716     MS_U8 _u8HDown_Block[18][32];
717     MS_U8 _u8VDown_Block[18][32];
718     MS_U8 _u8SBSDown_Block[18][32];
719     MS_U8 _u8TBDown_Block[18][32];
720     MS_U8 _u8Gamma_Block[18][32];
721     MS_U8 _u8Histogram_Image[16];
722     MS_U8 _u8VDown_Block_Pre[18][32];
723     MS_U8 _u8PWM_Block[18][32];
724     MS_U8 _u8LD_AlgoSPIBuffer[18*32];
725     MS_U8 _u8IIR_T2[1152];
726     MS_U32 _u32IIR_T2B[1152];
727     MS_U32 _u32IIR_T2C[1152];
728     MS_U8 _u8LED_resort[32*18];
729     MS_U8 _u8H_Down_Ratio;
730     MS_U8 _u8V_Down_Ratio;
731     MS_U8 _u8H_Down_Ratio_3D;
732     MS_U8 _u8V_Down_Ratio_3D;
733     MS_U8 _u8Pack_Length_LD;
734     MS_U8 _u8Pack_Length_PWM;
735     MS_U8 _u8Frame_Idx;
736     MS_U8 _u8Frame_Idx_Final;
737     MS_U8 _u8Frame_Idx_Test;
738     MS_U8 _u8Iluma_Pre;
739     MS_U16 _u16Histogram_Zero;
740     MS_U32 _u32Lluma_Sum;
741     MS_U8 _u8DebugArrayDumpDummyCnt;
742     MS_U8 _u8Gamma_Control;
743     MS_U8 _u8OSDEnable;
744     ST_TYPE_LD_PANEL_TYPE _stLDPanelPara;
745     EN_LD_BLOCK_NUM _enLDBlock_Num;
746     ST_DRV_LD_INFO _stLDInfo;
747     MS_BOOL _bLDoff;
748 } ST_DRV_LDALGO;
749 #endif
750 
751 typedef struct __attribute__((aligned(4)))
752 {
753     E_XC_3D_INPUT_MODE _eInput3DMode[MAX_WINDOW]; // main and sub win could have different 3d input mode
754     E_XC_3D_OUTPUT_MODE _eOutput3DMode; // main and sub win could only have the same 3d input mode
755     E_XC_3D_PANEL_TYPE _e3DPanelType; // main and sub win could only have the same 3d input mode
756     MS_BOOL  _b3DMainFirst; // main and sub win start address exchange
757     MS_U16   _u163DHShift;            // horizontal shift pixel
758 
759 #if HW_2DTO3D_SUPPORT
760     MS_PHY _u32HW2DTO3D_DD_Buf;   //hw 2D to 3D depth detect buffer
761     MS_PHY _u32HW2DTO3D_DR_Buf;   //hw 2D to 3D depth render buffer
762     MS_XC_3D_HW2DTO3D_PARA _st3DHw2DTo3DPara; //hw 2d to 3d para
763     MS_BOOL _bIsHW2Dto3DPatchEnabled;
764 #endif
765 
766 #if (HW_DESIGN_3D_VER < 2)
767     MS_BOOL  _bFrmpackToLinealterOpt;                    //optimize falg for framepacking in,line alternative out
768 #endif
769     MS_BOOL  _bIsLR_Sbs2Line;                            //is sbs2line case
770     MS_BOOL  _bSkipDefaultLRFlag;                        //do we need to skip lib default LR flag report, and using the Ap layer's setting?
771     MS_XC_3D_DETECT3DFORMAT_PARA _stDetect3DFormatPara;  //detect 3d format para
772     MS_XC_3D_FPINFO_PARA         _stFPInfoPara;          //define 3d fp info para
773     MS_BOOL _bEnableAutoDetect3D;
774     MS_BOOL _bCurEnableAutoDetect3D;
775     E_XC_3D_AUTODETECT_METHOD _enAutoDetectMethod;
776     E_XC_3D_INPUT_MODE _enCurDetectedRes;
777     MS_BOOL _bResetFrameCount;
778     MS_U16 _u16CheckedFrameCount;
779     MS_BOOL _bDoubleAlign;
780     MS_BOOL _bAutoDetect3DReadFirstBank;
781 
782 #if HW_2DTO3D_SUPPORT
783 #if (HW_2DTO3D_VER >= 3)
784     //mark Tp/Dn BG color
785     PIXEL _stBlockStatus_Avg[NBLK_V_MAX][NBLK_H_MAX]; // avg color value
786     PIXEL _stBlockStatus_YCCAvg[NBLK_V_MAX][NBLK_H_MAX]; // avg YCvCr value
787     MS_U16   _u16BlockStatus_Edge[NBLK_V_MAX][NBLK_H_MAX]; // edge info
788     MS_BOOL _bTpBGColorMarker[NBLK_V_MAX][NBLK_H_MAX];
789     MS_BOOL _bDnBGColorMarker[NBLK_V_MAX][NBLK_H_MAX];
790     MS_BOOL _bSkyMarker[NBLK_V_MAX][NBLK_H_MAX];
791     MS_U32   _u32Histogram[32];//From DLC Histogram
792     MS_S16 _s16TBB_BGColorSelWei;
793     PIXEL _stBgPixelDn;
794     PIXEL _stBgPixelTp;
795     PIXEL _stBgPixelDnYCC;
796     PIXEL _stBgPixelTpYCC;
797     MS_S16 _s16TpBGCOLOR_ValidWei;//instead of TpBGCOLOR_Valid
798     MS_S16 _s16DnBGCOLOR_ValidWei;//instead of DnBGCOLOR_Valid
799     MS_S16 _s16DistantViewWei;// for blue sky ratio
800     MS_S16 _s16DistantViewWei_Bottom;// for blue sky ratio
801     MS_S16 _s16TBA_BGColorWei;
802     MS_S16 _s16TBB_BGColorWei;
803     MS_S16 _s16BothTpBGSKY_COLORCnt;
804     MS_S16 _s16BothDnBGSKY_COLORCnt;
805     MS_S16 _s16BlueSkyRatio;
806 
807     //for horizontal detection
808     MS_U16 _u16Y_Sep;        // horizontal detection
809     MS_U16 _u16Y_Sep_OUT;    // horizontal detection for output frame position
810 
811     MS_U8 _u8Pre_BlueAndFlatBlkCnt;
812     MS_U8 _u8Pre_BlueAndFlatBlkCnt_Dn;
813 
814     //keeps blueSkyRatio stable
815     MS_U8 _u8Pre_BlueSkyRatio1;
816     MS_U8 _u8Pre_BlueSkyRatio2;
817 
818     //for blkbased Depth
819     MS_U8 _u8Lowpass_En; // 1: 3x3 2: 5x5  3:7x7  4:disable bilinear
820     MS_U8 _u8Bilateral_En;
821     MS_U8 _u8DepthAB; //1:TableA 2:TableB 3:ABweight
822     MS_U8 _u8Bilinear_En;
823     MS_S16 _s16DistantViewRatio3;
824 
825     //multiview adjust dummy
826     MS_S8 _s8Shift_Value;
827     MS_S8 _s8Clamp_Value;
828     MS_S8 _s8Multi_Gain;
829     MS_U8 _u8RGB3DLUT_A[8][8][8]; //update to HW color table
830     MS_U8 _u8RGB3DLUT_B[8][8][8]; //update to HW color table
831     MS_U8 u8SRAMDataA[8][64];
832     MS_U8 u8SRAMDataB[8][64];
833     MS_U8 _u8RegionBlkWeightFrame[NBLK_V_MAX][NBLK_H_MAX]; //Table AB blending wei
834     MS_U8 _u8DepthBlkBased[NBLK_V_MAX][NBLK_H_MAX];
835     MS_S32 _s32Depth_Control_Var_IIR;
836     MS_S32 _s32Mean_Depth_IIR;
837     MS_U8 _u8Horizontal_Step;
838     MS_U8 _u8Vertical_Step;
839 
840     //for IIR
841     MS_U8  u8IIR_En;
842     MS_U16 u16BL_IIRweight;
843     MS_U16 u16PreDistantViewRatio1;
844     MS_U16 u16PreDistantViewRatio2;
845     MS_U16 u16Pre_RGB3DLUT_A[8][8][8];
846     MS_U16 u16Pre_RGB3DLUT_B[8][8][8];
847     MS_U16 u16Pre_YSep;
848     MS_U16 u16Pre_depthBlkBased[NBLK_V_MAX][NBLK_H_MAX];
849     MS_U16 u16Pre_RegionBlkWeightFrame[NBLK_V_MAX][NBLK_H_MAX];
850 
851     // _MDrv_SC_3D_2DTo3D_DepthDetectionPIX()
852     MS_BOOL s_bFirst;
853     //u9 new variable
854     //HW_Info_Read
855     MS_U8 _stBlockStatus_mot[NBLK_V_MAX][NBLK_H_MAX];
856     MS_U8 NoMot_Cnt;
857     MS_BOOL NoMot_Flg;
858     MS_U8 _field[NBLK_V_MAX*NBLK_H_MAX];
859     //BGColorDetection
860     int BGColorBlkCntTp;
861     int BGColorBlkCntBn;
862     int BGColor_CbTp;
863     int BGColor_CrTp;
864     int BGColor_CbBn;
865     int BGColor_CrBn;
866     int BGColorBlkCntforTp;
867     int BGColorBlkCntforBn;
868     MS_U8 _u8TBABGColorWei;
869     //MainObjDetection
870     MS_U8 _u8NonSkyColorIdx[NBLK_H_MAX];
871     MS_U8 _u8NonTpBGColorIdx[NBLK_H_MAX];
872     //MS_U8 _u8MainObjBlkWeight[NBLK_V_MAX_OUT][NBLK_H_MAX_OUT]; //Table AB blending wei for MainObj
873     MS_U8 _u8MainObjBlkWeight[NBLK_H_MAX][NBLK_H_MAX]; //Table AB blending wei for MainObj
874     MS_U8 _u8MainObjWei;
875     ////for LGE ver GLOBAL depth
876     MS_S16 _s16BLKblueSkyRatio1;
877     MS_S16 _s16BLKblueSkyRatio2;
878 
879     //for TrendDetection
880     MS_U8 u8VerGLB_Wei;
881     //for DEBUGFn
882     MS_U8 u8DBG_En;
883     MS_U8 u8Round;
884     //for jubs division in refreshing LUT
885     MS_U8 job_id;
886     MS_U8 job_freq;
887     MS_U8 updateSRAM_state;
888     MS_U8 updateSRAM_PreState;
889     //for Size related settings
890     MS_U16 _u16PanelWidth;
891     MS_U16 _u16PanelHeight;
892     MS_U16 _u8NBLK_DR_H;
893     MS_U16 _u8NBLK_DR_V;
894 #endif
895 #endif
896 
897     // MDrv_SC_3D_Adjust_PreHorDstSize()
898 #if HW_2DTO3D_SUPPORT
899     MS_BOOL bAdjustDNRSize;
900     MS_U32  u32OriginalDNRSize;
901 #endif
902 
903     // remap()
904     MS_U8 s_u8flg;
905     MS_U8 s_u8Ptr;
906 
907     // _MDrv_SC_3D_2DTo3D_DepthRefine()
908     MS_U8 u8Ptr;
909     MS_BOOL bFirstFlag;
910 
911     //  MDrv_XC_3D_LoadReg()
912     E_XC_3D_INPUT_MODE  ePreInputMode;
913     E_XC_3D_OUTPUT_MODE ePreOutputMode;
914 
915 #if HW_2DTO3D_SUPPORT
916     MS_U8  _u8FieldArray[ELEMENTNUM][HBLOCKNUM * VBLOCKNUM];
917     MS_U8  _u8YCtrArray[MAXINDEX][HBLOCKNUM * VBLOCKNUM];
918     MS_U32 _32YSumArray[HBLOCKNUM * VBLOCKNUM];
919     MS_U32 _u32HisWeight;
920     MS_U32 _u32ArtWeight;
921     MS_U32 _u32ReturnWeightCur;
922     MS_U32 _u32ReturnWeight;
923     MS_U32 _u32X;
924     MS_U32 _u32RemapAvgCurArray[MAXINDEX];
925     MS_U32 _u32RemapAvgCurSum;
926     MS_U32 _u32RemapAvgBseArray[MAXINDEX];
927     MS_U32 _u32RemapAvgBseSum;
928     MS_U32 _u32RemapAvgCur;
929     MS_U32 _u32RemapAvgBse;
930     MS_U8 _u8RemapAvgBias;
931     MS_U8 _u8RemapLpfArray[HBLOCKNUM * VBLOCKNUM];
932     MS_U16 _u16SBSCount;
933     MS_U16 _u16TBCount;
934     MS_U16 _u162DCount;
935     MS_U16 _u16TotalCount;
936 #endif
937     E_XC_3D_INPUT_MODE _ePreUsedInput3DMode[MAX_WINDOW]; // previous used 3d input format
938     E_XC_3D_OUTPUT_MODE _ePreUsedOutput3DMode; // previous used 3d output format
939     MS_BOOL             _bNeedRestore3DFormat; //need restore last using 3d format or not
940     MS_BOOL  _bFALLRRToFA; //change 3D format frame_alternative_LLRR to frame_alternative in utopia
941     MS_U16 _u16DDHSize; //DD H size
942     MS_U16 _u16DDVSize; //DD V size
943     E_XC_3D_INPUT_MODE _eFrcInput3DMode; // FRC 3d input mode
944     E_XC_3D_OUTPUT_MODE _eFrcOutput3DMode; // FRC 3d output mode
945     MS_BOOL  _bFAToTB; //change 3D format frame alternative to top bootom in utopia
946     MS_BOOL  _bLAToTB; //change 3D format line alternative to top bootom in utopia
947     MS_BOOL  _bFRC3DEnabled; //FRC 3D enable.
948 } ST_DRVXC_3D;
949 
950 typedef struct __attribute__((aligned(4)))
951 {
952     EN_FPLL_FSM _enFpllFsm; //PDP_FRAMELOCK
953     EN_FPLL_THRESH_MODE _enFpllThreshMode;
954     MS_BOOL _bFSM_FPLL_Working;
955     MS_BOOL _bFSM_FPLL_Setting;
956     MS_BOOL _bFPLL_Thresh_Mode;
957 
958     MS_BOOL  _bFpllCusFlag[E_FPLL_FLAG_MAX];
959     MS_U32   _u32FpllCusData[E_FPLL_FLAG_MAX];
960     MS_PHY   _u32MCDIFBAddress[E_XC_MCDI_MAX];
961     MS_PHY   _u32MCDIFBSize[E_XC_MCDI_MAX];
962     MS_BOOL _bForceFreerun;
963     E_VFREQ_SEL _ForceVFreq;
964     MS_U16 _u16DefaultVSyncWidth, _u16DefaultVSyncBackPorch, _u16DefaultHSyncWidth, _u16DefaultHSyncBackPorch;
965     MS_BOOL _bHSyncChanged, _bVSyncChanged;
966 
967     //try to control flow: one setpaneltiming with one enable MC feature.
968     //Note: if one setpaneltiming with two enable MC, some chaos flow may cause different param to Hal_SC_SetOPWriteOff().
969     //if no fpll, it shouldn't enable MC feature    //Variable used for set MCNR in FPLL
970     MS_BOOL _bNeedReloadMCNR;
971 
972     //PQ excel notify driver: whether this MADi mode needs MC feature
973     MS_BOOL _bEnableMCNR[MAX_WINDOW];
974 
975     //MApi_XC_ForceSet_OPWriteOffEnable() will force disable MC directly, so we should skip other enable MC code until MApi_XC_ForceSet_OPWriteOffEnable(FALSE) is called
976     MS_BOOL _bForceDisableMCNR;
977 
978     //Wait some vsync(_MDrv_SC_FPLL_GetMCNRDelayTime), then turn on MCNR, to avoid garbage
979     MS_U32 _u32MCNRTimer;
980 
981     //when change zoom in UI, no need to do fpll again, so no need to do UCNR disable/Enable.
982     //This flag is for skip UCNR disable action in setwindow for above case.
983     MS_BOOL _abSkipOPWOffInSetWindow[MAX_WINDOW];
984 
985     MS_BOOL bFPLL_FSM;
986     MS_U8 _u8CoastClearDebounce;
987     MS_BOOL _bDisableCoastDebounce;
988     MS_BOOL _bUseCustomFRCTable;
989     MS_BOOL u32OutputPhaseStable;
990     MS_BOOL u32OutputPRDLock;
991     MS_BOOL _bSkipDisableOPWriteOffInFPLL[MAX_WINDOW];
992 
993     //FRC control
994     SC_FRC_SETTING sFRC_Tbl[MAX_FRC_TABLE_INDEX];
995     MS_U32 s_u32DelayT;
996     MS_U32 s_u32InputVsyncStart;
997 
998     // _MApi_XC_FPLL_FSM_ISR()
999     MS_U16 s_u16OrigPrd;         // max PRD error
1000     MS_U16 s_u16OrigPhase;             // max phase error
1001     MS_U32 s_u32FSMTimer;
1002 #ifdef UFO_XC_AUTO_DOWNLOAD
1003     // auto download enable
1004     XC_AUTODOWNLOAD_CLIENT_INFO _stClientInfo[E_XC_AUTODOWNLOAD_CLIENT_MAX];
1005 #endif
1006 #ifdef UFO_XC_HDR
1007 #if (UFO_XC_HDR_VERSION == 2)
1008     MS_BOOL _bEnableHDR;
1009     EN_XC_HDR_TYPE _enHDRType;
1010     EN_XC_INPUT_SOURCE_TYPE _enInputSourceType;
1011     XC_HDR_DMA_CONFIG_INFO _stDMAConfigInfo;
1012     XC_HDR_DMA_INIT_INFO _stDMAInitInfo;
1013 #ifdef UFO_XC_HDMI_4K2K_DMA
1014     XC_HDR_DMA_INIT_INFO _stDMAInitInfo_Hdmi;
1015 #endif
1016     EN_XC_HDR_COLOR_FORMAT _enColorFormat;
1017 #endif
1018 #endif
1019     //FrcInOut ratio
1020     MS_U8 g_u8FrcIn;
1021     MS_U8 g_u8FrcOut;
1022 } ST_DRVXC_DISPLAY;
1023 
1024 typedef struct __attribute__((aligned(4)))
1025 {
1026     MS_BOOL _bDSForceIndexEnable[MAX_WINDOW];
1027 } ST_DRVXC_DYNAMICSCALING;
1028 
1029 typedef struct __attribute__((aligned(4)))
1030 {
1031     XC_PCMONITOR_HK_INFO sPCMONITOR_status[2];
1032 
1033 #if ENABLE_DEBUG_CAPTURE_N_FRAMES
1034     MS_BOOL bFinishedInputVSyncISR;
1035     MS_U8 u8Cnt;
1036 #endif
1037 
1038     // MApi_XC_EuroHdtvHandler()
1039     MS_U8 u8Count;
1040 } ST_DRVXC_IP;
1041 
1042 typedef struct __attribute__((aligned(4)))
1043 {
1044     XC_ISR_INFO stXCIsrInfo[MAX_SC_INT][MAX_ISR_NUM_OF_EACH_INT];
1045 } ST_DRVXC_ISR;
1046 
1047 typedef struct __attribute__((packed))
1048 {
1049     MS_MLoad_Info stMLoadInfo;
1050     MS_MLoad_Info stMLGInfo;
1051     MS_U8 u8XCMLoadMIUSel;
1052     MS_BOOL g_bMLoadInitted;
1053 } ST_DRVXC_MENULOAD;
1054 
1055 typedef struct __attribute__((aligned(4)))
1056 {
1057     MS_PHY _u32DNRBaseAddr0[2];
1058     MS_PHY _u32DNRBufSize[2];
1059 
1060     // add FRCM buffer baseaddress and buffer size
1061     MS_PHY _u32FRCMBaseAddr0[2];
1062     MS_PHY _u32FRCMBufSize[2];
1063 
1064     MS_BOOL _bHAutoFitPrescalingEna;
1065     MS_BOOL _bVAutoFitPrescalingEna; //TRUE: Means driver auto prescaling to fit display window
1066 
1067     //HSize After prescaling is changed in Driver logic(3D, ForcePrescaling, etc), in this case, PQ HSD setting should be skipped
1068     MS_BOOL _bHSizeChangedManually;
1069     MS_PHY u32DNRBaseOffset[2];
1070     MS_PHY u32FRCMBaseOffset[2];
1071     MS_U8  _au8StoreFrameNumFactor[2];
1072     MS_BOOL _bMainWinSkipWaitOutputVsync;
1073     MS_BOOL _bSubWinSkipWaitOutputVsync;
1074     MS_BOOL _bPQSetHPreScalingratio;
1075 
1076 #ifdef ENABLE_SCALING_WO_MUTE
1077     MS_U8 _u8OPMFetchRatio[MAX_WINDOW]; // for skip OPM line
1078 #endif
1079     MS_PHY _au32PreFBAddress[MAX_WINDOW];
1080     MS_PHY _au32PreFBSize[MAX_WINDOW];
1081 
1082     // MDrv_SC_set_prescaling_ratio()
1083     // Store Pre-scaling source / dest size of previouse
1084     MS_U16 _u16HScaleSrc[MAX_WINDOW];
1085     MS_U16 _u16HScaleDst[MAX_WINDOW];
1086     MS_U16 _u16VScaleSrc[MAX_WINDOW];
1087     MS_U16 _u16VScaleDst[MAX_WINDOW];
1088     MS_U8  _u8HSD_Idx;
1089 
1090 #if (HW_DESIGN_4K2K_VER == 4)
1091     MS_U8  _u8StoreFRCMFrameNumFactor[2];
1092 #endif
1093 
1094     // add dual miu buffer baseaddress and buffer size
1095     MS_PHY _u32PreDualFBAddress[MAX_WINDOW];
1096     MS_PHY _u32PreDualFBSize[MAX_WINDOW];
1097     MS_PHY _u32DualMiuDNRBaseAddr0[MAX_WINDOW];
1098     MS_PHY _u32DualMiuDNRBufSize[MAX_WINDOW];
1099 
1100     //The flag indicate Panel mute
1101     MS_BOOL _bPanelSkipWaitOutputVsync;
1102 } ST_DRVXC_SCALING;
1103 
1104 typedef struct __attribute__((aligned(4)))
1105 {
1106     MS_BOOL bNeedInitShared;
1107 
1108 #if(XC_CONTEXT_ENABLE)
1109     XC_Context _SContext;
1110     XC_Context_Shared _SCShared;
1111 #endif
1112 
1113     MS_XC_MEM_FMT s_eMemFmt[MAX_WINDOW];
1114     MS_BOOL       s_bKeepPixelPointerAppear;
1115     InputSource_Mux_Attr s_InputSource_Mux_attr;
1116 
1117     // For skip redundant set-inputsource.
1118     // Notice!! If disconnect source, this source variable must be cleared
1119     // (To prevent below case: Create source A -> Delete source A -> Create source A again.
1120     // The 2nd create source will re-download ADC table or other setting. We need reset SC IP again for correct setting flow.
1121     // So we need SetScalerInputSource again.)
1122     INPUT_SOURCE_TYPE_t enOldInputSrc_ForScalerSetSource[MAX_WINDOW];
1123 
1124     XC_ApiInfo  _stXC_ApiInfo;
1125     MS_BOOL _bSkipSWReset;   ///< Flag for: If the system needs to show Logo from MBoot layer to APP layer without flashing. \n We bypass SW reset in MApi_XC_Init.
1126     MS_BOOL _bDFBInit;
1127     MS_S8 s8HPixelShift;
1128     MS_S8 s8VPixelShift;
1129 
1130 #ifndef DISABLE_HW_PATTERN_FUNCTION
1131 #ifdef SUPPORT_HW_TESTPATTERN
1132     MS_BOOL bIsHWPatternEnabled;
1133     MS_BOOL bIsMute;
1134     MS_BOOL bIsInputSrcDisabled;
1135 #endif
1136 #endif
1137 
1138 #if SUPPORT_OP2_TEST_PATTERN
1139     MS_U16  u16OP2_color_3x3;
1140     MS_BOOL bIsOP2TestPattern;
1141     MS_BOOL bIsOP2InputSrcDisabled;
1142     MS_BOOL bIsOP2Mute;
1143 #endif
1144 
1145 #if FRC_INSIDE
1146     MS_BOOL bEnableUserMode;
1147 #endif
1148 
1149 #if (ENABLE_NONSTD_INPUT_MCNR==1)
1150     MS_BOOL bIsUnStdSignal;
1151     MS_U8 u8StdSignalStbCnt;
1152     MS_U8 u8UnStdOutput[MAX_WINDOW];
1153 #endif
1154 
1155     MS_U16 OSDC_FREQ;  // default 60Hz
1156 
1157     // _MApi_XC_SetWindow()
1158     MS_BOOL _bSetDualMainWinDone;
1159     MS_BOOL _bSetDualSubWinDone;
1160 
1161     // MApi_XC_SetPowerState()
1162     EN_POWER_MODE _enPrevPowerState;
1163 
1164     // Pixel Shift related
1165     MS_U16 gu16HPixelShiftRange;
1166     MS_U16 gu16VPixelShiftRange;
1167     PIXEL_SHIFT_FEATURE gePixelShiftFeature;
1168 
1169     XC_MUX_INPUTSRCTABLE mapping_tab[50];
1170     MS_U32 matrix_length;
1171 
1172     //signal stabel for STR
1173     MS_BOOL bSignalStableForStr;
1174 
1175     //Use DDR4 DRAM
1176     MS_BOOL bUseDdr4DramForXc;
1177     MS_BOOL bUseDdr4DramForFrc;
1178 
1179     //Multi Process re-init
1180     MS_BOOL bModuleInited;
1181 
1182     MS_BOOL bTimingUnstableForStr;
1183     MS_U8  u8DebounceForStr;
1184 } ST_DRVXC_MVIDEO;
1185 
1186 typedef struct __attribute__((aligned(4)))
1187 {
1188     E_HDMI_SYNC_TYPE s_HDMISYNC_type;
1189     MS_BOOL _bSupportHVMode;
1190 
1191     MS_BOOL g_bIsIMMESWITCH;
1192     MS_BOOL g_bIMMESWITCH_DVI_POWERSAVING;
1193     MS_BOOL g_bDVI_AUTO_EQ;
1194     MS_BOOL g_bIsMhlHotPlugInverse;
1195     MS_U8 _u8MhlSupportInfo;
1196 
1197     // XC Init
1198     XC_INITDATA g_XC_InitData;
1199 
1200     // XC Init MISC
1201     XC_INITMISC g_XC_Init_Misc;
1202 
1203     //SC
1204     SC_SWDB_INFO stDBreg;         ///< SW double buffer
1205     SC_SWDB_INFO stMainDBreg;     ///< SW double buffer main window
1206     SC_SWDB_INFO stSubDBreg;      ///< SW double buffer sub window
1207 
1208 #ifndef DISABLE_HW_PATTERN_FUNCTION
1209 #ifdef SUPPORT_HW_TESTPATTERN
1210     // For HW internal test pattern using
1211     MS_BOOL bOP1_PatGen_Init;
1212 #endif
1213 #endif
1214 
1215     MS_WINDOW_TYPE g_RepWindow;
1216     MS_BOOL g_bEnableRepWindowForFrameColor;
1217     MS_BOOL bMainIsOnTop;
1218 
1219     // for Fast Boot
1220     MS_U8 g_u8HdcpKeyDataBackUp[HDCP_KEY_LENGTH];
1221     MS_BOOL g_bHDMIInverseBackUp[4];
1222     MS_U8  g_u8EDID_DVIBackUp[5][EDID_KEY_LENGTH]; // 5 for 5 types of EDID
1223     MS_U32 g_u32InitDataLen_Suspend;
1224     MS_U32 g_u32InitMiscDataLen_Suspend;
1225     MS_PHY g_u32MLoadPhyAddr_Suspend;
1226     MS_U32 g_u32MLoadBufByteLen_Suspend;
1227     MS_U8 g_u8DispWindowColor_Suspend[MAX_WINDOW];
1228     MS_PHY g_u32MCDIFBAddress_Suspend[E_XC_MCDI_MAX];
1229     MS_PHY g_u32MCDIFBSize_Suspend[E_XC_MCDI_MAX];
1230     MS_BOOL g_bEnableMCDI_Suspend[E_XC_MCDI_MAX];
1231     MS_U32 g_u32OSDCCtrltype_Suspend;
1232     MS_U32 g_u32FrameColor_Suspend;
1233 
1234     //FRC
1235     XC_PREINIT_INFO_t g_XC_Pnl_Misc;
1236 
1237     //EURO HDTV support flag
1238     MS_BOOL _bEnableEuro;
1239 
1240 #if FRC_INSIDE
1241     MS_BOOL bIsFRCInited;
1242     E_XC_FRC_InputTiming enFRC_CurrentInputTiming;
1243 #if (HW_DESIGN_4K2K_VER == 6) // For Manhattan, FSC+FRC
1244     MS_BOOL g_bFSCEnabled;
1245     MS_BOOL g_bFRCEnabled;
1246     MS_U16  g_u16GOPOffsetH;
1247     MS_U16  g_u16GOPOffsetV;
1248     MS_U16  g_u16MEMCLevel;
1249     MS_BOOL bIsFRCMute;
1250     MS_BOOL g_bIsAddrUpdated;
1251     XC_FRC_ADDRESS_INFO g_stXC_FRC_Address;
1252 #endif
1253 #endif
1254     MS_BOOL g_bFast_Get_VFreq;
1255     MS_BOOL g_bEnableLockFreqOnly;
1256     ST_DRVXC_MENULOAD stdrvXC_Menuload[MAX_XC_DEVICE_NUM];
1257     MS_BOOL g_bSpreandEnable;
1258 #if (HW_DESIGN_HDMITX_VER == 2)
1259     EN_XC_HDMITX_COLORDEPTH enHDMITXColorDepth;
1260 #endif
1261 
1262 } ST_DRVXC_MVIDEO_CONTEXT;
1263 
1264 typedef struct __attribute__((aligned(4)))
1265 {
1266 #ifdef MSOS_TYPE_LINUX_KERNEL
1267     wait_queue_head_t _XC_EventQueue;
1268     MS_U32            _XC_EventFlag;
1269     MS_BOOL           _XC_VSyncRun;
1270     MS_U32            _XC_VSyncCount;
1271     MS_U32            _XC_VSyncMax;
1272 #endif
1273 } ST_XC_UTILITY;
1274 
1275 typedef struct __attribute__((aligned(4)))
1276 {
1277     XC_Adc_BackupSetting _stAutoAdcSetting;
1278     MS_BOOL bIsYPbPrLooseLPF;
1279     MS_BOOL _bSourceSwitched;
1280     MS_BOOL _bEnableHWCalibration;
1281     MS_BOOL _bUseBandgap;
1282     E_ADC_CVBSOUT_TYPE _eCvbsOutType;
1283 
1284     // Hal_ADC_set_mode()
1285     ADC_INPUTSOURCE_TYPE enLastSourceType;
1286     MS_U16 u16LastHtotal;
1287     MS_U16 u16LastPixelClk;
1288     MS_U16 u16LastSamplingRatio;
1289     MS_U16 _u16IdacCurrrenMode;
1290 } ST_HAL_ADC;
1291 
1292 #if FRC_INSIDE
1293 typedef struct __attribute__((aligned(4)))
1294 {
1295     MS_AutoDownLoad_Info stADLGInfo;
1296     FRCTABLE_INFO _FRCTableInfo;
1297     MS_U8 _u8FRCTabIdx[FRC_IP_NUM_Passive]; // store all TabIdx of all IPs
1298     SC_MIUMASK_t FRC_Miu0Mask;
1299     SC_MIUMASK_t FRC_Miu1Mask;
1300     SC_MIUMASK_t FRC_Miu0MaskOld;
1301     SC_MIUMASK_t FRC_Miu1MaskOld;
1302 } ST_HAL_FRC;
1303 #endif
1304 
1305 typedef struct __attribute__((aligned(4)))
1306 {
1307     MS_BOOL _bSetVGASogEn;
1308     MS_U8   _u8SetSogDetectStatus;
1309 } ST_HAL_IP;
1310 
1311 typedef struct __attribute__((aligned(4)))
1312 {
1313     SC_MIUMASK_t Miu0Mask;
1314     SC_MIUMASK_t Miu1Mask;
1315     SC_MIUMASK_t Miu2Mask;
1316     SC_MIUMASK_t Miu0MaskOld;
1317     SC_MIUMASK_t Miu1MaskOld;
1318     SC_MIUMASK_t Miu2MaskOld;
1319     MS_BOOL bDynamicScalingEnable;
1320     MS_PHY _u32DNRBaseAddress[MAX_WINDOW];
1321     MS_PHY _u32DNRBufferSize[MAX_WINDOW];
1322 
1323     MS_PHY _u32FRCBaseAddress[MAX_WINDOW];
1324     MS_PHY _u32FRCBufferSize[MAX_WINDOW];
1325 
1326     MS_U16 u16OP1_fclk_gate_en;
1327     MS_U16 u16OP1_reg_ip2_clk_gate_en;
1328     MS_U16 u16OP1_ficlk_status;
1329     MS_U32 u32OP1_reg_pre_down_f2;
1330     MS_U32 u32OP1_reg_pre_down_f1;
1331     MS_U16 u16OP1_color_3x3;
1332     MS_U16 u16OP1_color_vip;
1333     MS_U16 u16OP1_reg_di1lb_en;
1334     MS_U16 u16OP1_bypass_miu;
1335     MS_U16 u16OP1_vop_dualpixel;
1336     MS_U16  g_u16TmpValue;
1337     MS_BOOL g_bCntFlg;
1338     MS_BOOL bVSDshift[MAX_WINDOW];
1339 
1340     // MHAL_SC_Set_DynamicScaling()
1341     MS_S32 s32_HalXC_MotionHistoryRestore_TimerId;
1342     MS_U16 su16OldValue;
1343     MS_U16 su16OldValue_BWD_Status;
1344     MS_BOOL sbOldValueReaded;
1345 
1346     MS_BOOL bTrig_pStored;
1347     MS_BOOL bDynamicScalingOPMEnable;
1348     MS_BOOL bDynamicScalingOPSEnable;
1349 
1350     // HAL_SC_FilmMode_Patch1()
1351     MS_U8 u8Time_count;
1352 
1353     // For Seamless Zapping
1354 #if SUPPORT_SEAMLESS_ZAPPING
1355     MS_PHY u32DynamicScalingBaseAddr;
1356     MS_U8 u8DynamicScalingIndexDepth;
1357     MS_BOOL bSeamlessZappingEnable[MAX_WINDOW];
1358     MS_U8 u8SeamlessZappingCurIndex[MAX_WINDOW];
1359     MS_U8 u8SeamlessZappingNextIndex[MAX_WINDOW];
1360 #endif
1361 
1362 #if (HW_DESIGN_4K2K_VER == 4)
1363     MS_PHY u32DynamicScalingBaseAddr;
1364     MS_U8  u8DynamicScalingIndexDepth;
1365     MS_U32 u32DynamicScalingBufSize;
1366     MS_U8  u8DynamicScalingCurrentIndex[MAX_WINDOW];
1367     MS_U8  u8DynamicScalingCurrentIndex_Ring[MAX_WINDOW];
1368     MS_U8  u8DynamicScalingNextIndex[MAX_WINDOW];
1369 #endif
1370 
1371 #if (HW_DESIGN_4K2K_VER == 6) || (HW_DESIGN_4K2K_VER == 7)
1372     MS_PHY u32DynamicScalingBaseAddr;
1373     MS_PHY u32DynamicScalingBaseAddr_OPM;
1374     MS_PHY u32DynamicScalingBaseAddr_IPS;
1375     MS_PHY u32DynamicScalingBaseAddr_OPS;
1376     MS_U8  u8DynamicScalingIndexDepth;
1377     MS_U32 u32DynamicScalingBufSize;
1378     MS_U8  u8DynamicScalingCurrentIndex[MAX_WINDOW];
1379     MS_U8  u8DynamicScalingCurrentIndex_Ring[MAX_WINDOW];
1380     MS_U8  u8DynamicScalingNextIndex[MAX_WINDOW];
1381 #endif
1382 
1383     //save value array
1384     MS_U16  u16OldValue[E_STORE_VALUE_MAX];
1385     MS_U16  u16NewValue[E_STORE_VALUE_MAX];
1386     MS_BOOL bUsingNewValue[E_STORE_VALUE_MAX];
1387 
1388 #if (HW_DESIGN_4K2K_VER == 7)
1389     MS_BOOL bSc1HvspFilterIsSet;
1390     MS_U16 u16Sc1HvspFilterValue;
1391 #endif
1392 } ST_HAL_SC;
1393 
1394 typedef struct __attribute__((aligned(4)))
1395 {
1396     XC_OPTEE_HANDLER op_tee_xc[MAX_WINDOW];
1397     XC_OPTEE_MUX_DATA op_tee_mux;
1398 } ST_HAL_OPTEE;
1399 
1400 #ifdef UFO_XC_PACKED_SHM
1401 typedef struct __attribute__((packed))
1402 #else
1403 typedef struct __attribute__((aligned(4)))
1404 #endif
1405 {
1406     // flow control related
1407     MS_BOOL bResourceRegistered;
1408 
1409     ST_APIXC_AUTO stapiXC_Auto;
1410     ST_APIXC_PCMONITOR stapiXC_PCMonitor;
1411     ST_DRV_HDMI stdrv_HDMI;
1412 
1413 #if (LD_ENABLE==1)
1414     ST_DRV_LD stdrv_LD;
1415     ST_DRV_LDALGO stdrv_LDALGO;
1416 #endif
1417 
1418     ST_DRVXC_3D stdrvXC_3D;
1419     ST_DRVXC_DISPLAY stdrvXC_Display;
1420     ST_DRVXC_DYNAMICSCALING stdrvXC_Dynamicscaling;
1421     ST_DRVXC_IP stdrvXC_IP;
1422     ST_DRVXC_ISR stdrvXC_ISR;
1423     ST_DRVXC_SCALING stdrvXC_Scaling;
1424     ST_DRVXC_MVIDEO stdrvXC_MVideo;
1425     ST_DRVXC_MVIDEO_CONTEXT stdrvXC_MVideo_Context;
1426     ST_XC_UTILITY stXC_Utility;
1427 
1428     ST_HAL_ADC sthal_ADC;
1429 #if FRC_INSIDE
1430     ST_HAL_FRC sthal_FRC;
1431 #endif
1432     ST_HAL_IP sthal_IP;
1433     ST_HAL_SC sthal_SC;
1434     ST_HAL_OPTEE sthal_Optee;
1435 
1436     MS_PHY _u32DualDNRBaseAddress[MAX_WINDOW];
1437     MS_PHY _u32DualDNRBufferSize[MAX_WINDOW];
1438 
1439     MS_U16  usVSDBPacketInfo[HDMI_VSDB_PACKET_SIZE];
1440     MS_U16  usHDRPacketInfo[HDMI_HDR_PACKET_SIZE];
1441     MS_BOOL bVSDBReceiveFlag;
1442     MS_BOOL bHDRReceiveFlag;
1443     MS_BOOL bXCMWEStatus;
1444 } XC_RESOURCE_PRIVATE;
1445 
1446 typedef struct __attribute__((aligned(4)))
1447 {
1448     ST_HAL_OPTEE sthal_Optee;
1449 } XC_RESOURCE_PRIVATE_FOR_TEE;
1450 
1451 typedef struct
1452 {
1453     INPUT_SOURCE_TYPE_t input_source[MAX_WINDOW];
1454     XC_MUX_PATH_INFO Path_Info[MAX_DATA_PATH_SUPPORTED];
1455     MS_U8 u8PathStatus[MAX_DATA_PATH_SUPPORTED];
1456     XC_SETWIN_INFO pstXC_SetWin_Info[MAX_WINDOW];
1457     XC_SetTiming_Info pTimingInfo;
1458     MS_BOOL bPIP_enable;
1459 
1460     XC_Auto_CalibrationType enAuto_Cal_type;
1461     XC_Auto_TuneType enAutoTuneType;
1462     APIXC_AdcGainOffsetSetting stADCSetting;
1463 } XC_REGS_SAVE_AREA;
1464 
1465 typedef struct __attribute__((packed))
1466 {
1467     MS_U64 dummy;
1468 } MLOAD_RESOURCE_PRIVATE;
1469 
1470 typedef struct __attribute__((packed))
1471 {
1472     MS_U32 u32DeviceID;
1473     // APIXC_H
1474     IOCTL_XC_GETLIBVER                              fpXC_GetLibVer;
1475     IOCTL_XC_GETINFO                                fpXC_GetInfo;
1476     IOCTL_XC_GETSTATUS                              fpXC_GetStatus;
1477     IOCTL_XC_GETSTATUS_NODELAY                      fpXC_GetStatus_nodelay;
1478     IOCTL_XC_GETSTATUSEX                            fpXC_GetStatusEx;
1479     IOCTL_XC_SETDBGLEVEL                            fpXC_SetDbgLevel;
1480     IOCTL_XC_FPLLDBGMODE                            fpXC_FPLLDbgMode;
1481     IOCTL_XC_FPLLCUSTOMERMODE                       fpXC_FPLLCustomerMode;
1482     IOCTL_XC_SETIOMAPBASE                           fpXC_SetIOMapBase;
1483     IOCTL_XC_INIT                                   fpXC_Init;
1484     IOCTL_XC_GETCONFIG                              fpXC_GetConfig;
1485     IOCTL_XC_INIT_MISC                              fpXC_Init_MISC;
1486     IOCTL_XC_GETMISCSTATUS                          fpXC_GetMISCStatus;
1487     IOCTL_XC_GETCAPABILITY                          fpXC_GetCapability;
1488     IOCTL_XC_GETCHIPCAPS                            fpXC_GetChipCaps;
1489     IOCTL_XC_EXIT                                   fpXC_Exit;
1490     IOCTL_XC_SETDYNAMICSCALING                      fpXC_SetDynamicScaling;
1491     IOCTL_XC_SETDYNAMICSCALING_FLAG                 fpXC_SetDynamicScalingFlag;
1492     IOCTL_XC_GET_DNRBASEOFFSET                      fpXC_Get_DNRBaseOffset;
1493     IOCTL_XC_GET_FRAMENUMFACTOR                     fpXC_Get_FrameNumFactor;
1494     IOCTL_XC_SETWINDOW                              fpXC_SetWindow;
1495     IOCTL_XC_SETDUALWINDOW                          fpXC_SetDualWindow;
1496     IOCTL_XC_SETTRAVELINGWINDOW                     fpXC_SetTravelingWindow;
1497     IOCTL_XC_SETINPUTSOURCE                         fpXC_SetInputSource;
1498     IOCTL_XC_ISYUVSPACE                             fpXC_IsYUVSpace;
1499     IOCTL_XC_ISMEMORYFORMAT422                      fpXC_IsMemoryFormat422;
1500     IOCTL_XC_ENABLEFORCERGBIN                       fpXC_EnableForceRGBin;
1501     IOCTL_XC_ENABLEMIRRORMODEEX                     fpXC_EnableMirrorModeEx;
1502     IOCTL_XC_GETMIRRORMODETYPEEX                    fpXC_GetMirrorModeTypeEx;
1503     IOCTL_XC_GETSYNCSTATUS                          fpXC_GetSyncStatus;
1504     IOCTL_XC_CONFIGCMA                              fpXC_ConfigCMA;
1505     IOCTL_XC_WAITOUTPUTVSYNC                        fpXC_WaitOutputVSync;
1506     IOCTL_XC_WAITINPUTVSYNC                         fpXC_WaitInputVSync;
1507     IOCTL_XC_SETHDMISYNCMODE                        fpXC_SetHdmiSyncMode;
1508     IOCTL_XC_GETHDMISYNCMODE                        fpXC_GetHdmiSyncMode;
1509     IOCTL_XC_SETREPWINDOW                           fpXC_SetRepWindow;
1510     IOCTL_XC_SET_SKIP_OPWRITEOFF_IN_SETWINDOW       fpXC_SkipOPWriteOffInSetWindow;
1511     IOCTL_XC_GET_SKIP_OPWRITEOFF_IN_SETWINDOW       fpXC_GetSkipOPWriteOffInSetWindow;
1512     IOCTL_XC_SET_SKIP_DISABLE_OPWRITEOFF_IN_FPLL    fpXC_SetSkipDisableOPWriteOffInFPLL;
1513     IOCTL_XC_SET_OPWRITEOFFENABLE                   fpXC_Set_OPWriteOffEnable;
1514     IOCTL_XC_SET_OPWRITEOFF_ENABLE_TO_REG           fpXC_Set_OPWriteOffEnableToReg;
1515     IOCTL_XC_FORCESET_OPWRITEOFF_ENABLE             fpXC_ForceSet_OPWriteOffEnable;
1516     IOCTL_XC_GET_OPWRITEOFFENABLE                   fpXC_Get_OPWriteOffEnable;
1517     IOCTL_XC_SETDISPWINTOREG                        fpXC_SetDispWinToReg;
1518     IOCTL_XC_GETDISPWINFROMREG                      fpXC_GetDispWinFromReg;
1519     IOCTL_XC_FREEZEIMG                              fpXC_FreezeImg;
1520     IOCTL_XC_ISFREEZEIMG                            fpXC_IsFreezeImg;
1521     IOCTL_XC_GENERATEBLACKVIDEOFORBOTHWIN           fpXC_GenerateBlackVideoForBothWin;
1522     IOCTL_XC_SET_BLSK                               fpXC_Set_BLSK;
1523     IOCTL_XC_GENERATEBLACKVIDEO                     fpXC_GenerateBlackVideo;
1524     IOCTL_XC_ISBLACKVIDEOENABLE                     fpXC_IsBlackVideoEnable;
1525     IOCTL_XC_ENABLEFRAMEBUFFERLESS                  fpXC_EnableFrameBufferLess;
1526     IOCTL_XC_ISCURRENTFRAMEBUFFERLESSMODE           fpXC_IsCurrentFrameBufferLessMode;
1527     IOCTL_XC_ENABLEREQUEST_FRAMEBUFFERLESS          fpXC_EnableRequest_FrameBufferLess;
1528     IOCTL_XC_ISCURRENTREQUEST_FRAMEBUFFERLESSMODE   fpXC_IsCurrentRequest_FrameBufferLessMode;
1529     IOCTL_XC_GET_3D_HW_VERSION                      fpXC_Get_3D_HW_Version;
1530     IOCTL_XC_GET_3D_ISSUPPORTEDHW2DTO3D             fpXC_Get_3D_IsSupportedHW2DTo3D;
1531     IOCTL_XC_SET_3D_MODE                            fpXC_Set_3D_Mode;
1532     IOCTL_XC_SET_3D_MAINWIN_FIRSTMODE               fpXC_Set_3D_MainWin_FirstMode;
1533     IOCTL_XC_SET_3D_LR_FRAME_EXCHG                  fpXC_Set_3D_LR_Frame_Exchg;
1534     IOCTL_XC_3D_IS_LR_FRAME_EXCHGED                 fpXC_3D_Is_LR_Frame_Exchged;
1535     IOCTL_XC_GET_3D_INPUT_MODE                      fpXC_Get_3D_Input_Mode;
1536     IOCTL_XC_GET_3D_OUTPUT_MODE                     fpXC_Get_3D_Output_Mode;
1537     IOCTL_XC_GET_3D_PANEL_TYPE                      fpXC_Get_3D_Panel_Type;
1538     IOCTL_XC_GET_3D_MAINWIN_FIRST                   fpXC_Get_3D_MainWin_First;
1539     IOCTL_XC_3DMAINSUB_IPSYNC                       fpXC_3DMainSub_IPSync;
1540     IOCTL_XC_SET_3D_VERVIDEOOFFSET                  fpXC_Set_3D_VerVideoOffset;
1541     IOCTL_XC_GET_3D_VERVIDEOOFFSET                  fpXC_Get_3D_VerVideoOffset;
1542     IOCTL_XC_IS3DFORMATSUPPORTED                    fpXC_Is3DFormatSupported;
1543     IOCTL_XC_SET_3D_HSHIFT                          fpXC_Set_3D_HShift;
1544     IOCTL_XC_ENABLE_3D_LR_SBS2LINE                  fpXC_Enable_3D_LR_Sbs2Line;
1545     IOCTL_XC_GET_3D_HSHIFT                          fpXC_Get_3D_HShift;
1546     IOCTL_XC_SET_3D_HW2DTO3D_BUFFER                 fpXC_Set_3D_HW2DTo3D_Buffer;
1547     IOCTL_XC_SET_3D_HW2DTO3D_PARAMETERS             fpXC_Set_3D_HW2DTo3D_Parameters;
1548     IOCTL_XC_GET_3D_HW2DTO3D_PARAMETERS             fpXC_Get_3D_HW2DTo3D_Parameters;
1549     IOCTL_XC_SET_3D_DETECT3DFORMAT_PARAMETERS       fpXC_Set_3D_Detect3DFormat_Parameters;
1550     IOCTL_XC_GET_3D_DETECT3DFORMAT_PARAMETERS       fpXC_Get_3D_Detect3DFormat_Parameters;
1551     IOCTL_XC_DETECT3DFORMATBYCONTENT                fpXC_Detect3DFormatByContent;
1552     IOCTL_XC_DETECTNL                               fpXC_DetectNL;
1553     IOCTL_XC_3D_POSTPQSETTING                       fpXC_3D_PostPQSetting;
1554     IOCTL_XC_SET_3D_FPINFO                          fpXC_Set_3D_FPInfo;
1555     IOCTL_XC_ENABLEAUTODETECT3D                     fpXC_EnableAutoDetect3D;
1556     IOCTL_XC_GETAUTODETECT3DFLAG                    fpXC_GetAutoDetect3DFlag;
1557     IOCTL_XC_SET_3D_SUBWINCLK                       fpXC_Set_3D_SubWinClk;
1558     IOCTL_XC_3D_IS_LR_SBS2LINE                      fpXC_3D_Is_LR_Sbs2Line;
1559     IOCTL_SC_3D_IS_SKIP_DEFAULT_LR_FLAG             fpSC_3D_Is_Skip_Default_LR_Flag;
1560     IOCTL_XC_3D_ENABLE_SKIP_DEFAULT_LR_FLAG         fpXC_3D_Enable_Skip_Default_LR_Flag;
1561     IOCTL_XC_MUX_INIT                               fpXC_Mux_Init;
1562     IOCTL_XC_MUX_SOURCEMONITOR                      fpXC_Mux_SourceMonitor;
1563     IOCTL_XC_MUX_CREATEPATH                         fpXC_Mux_CreatePath;
1564     IOCTL_XC_MUX_DELETEPATH                         fpXC_Mux_DeletePath;
1565     IOCTL_XC_MUX_ENABLEPATH                         fpXC_Mux_EnablePath;
1566     IOCTL_XC_MUX_TRIGGERPATHSYNCEVENT               fpXC_Mux_TriggerPathSyncEvent;
1567     IOCTL_XC_MUX_TRIGGERDESTONOFFEVENT              fpXC_Mux_TriggerDestOnOffEvent;
1568     IOCTL_XC_MUX_ONOFFPERIODICHANDLER               fpXC_Mux_OnOffPeriodicHandler;
1569     IOCTL_XC_MUX_GETPATHINFO                        fpXC_Mux_GetPathInfo;
1570     IOCTL_XC_MUX_SETSUPPORTMHLPATHINFO              fpXC_Mux_SetSupportMhlPathInfo;
1571     IOCTL_XC_MUX_SETMHLHOTPLUGINVERSEINFO           fpXC_Mux_SetMhlHotPlugInverseInfo;
1572     IOCTL_XC_MUX_GETHDMIPORT                        fpXC_Mux_GetHDMIPort;
1573     IOCTL_XC_MUX_GETMAPPINGTAB                      fpXC_Mux_GetMappingTab;
1574     IOCTL_XC_MUX_MAPINPUTSOURCETOVDYMUXPORT         fpXC_MUX_MApinputSourceToVDYMuxPORT;
1575     IOCTL_XC_SET_NR                                 fpXC_Set_NR;
1576     IOCTL_XC_FILMMODE_P                             fpXC_FilmMode_P;
1577     IOCTL_XC_GETUCENABLED                           fpXC_GetUCEnabled;
1578     IOCTL_XC_GENSPECIFICTIMING                      fpXC_GenSpecificTiming;
1579     IOCTL_XC_GETDEBYPASSMODE                        fpXC_GetDEBypassMode;
1580     IOCTL_XC_GETDEWINDOW                            fpXC_GetDEWindow;
1581     IOCTL_XC_GETDEWIDTHHEIGHTINDEBYPASSMODE         fpXC_GetDEWidthHeightInDEByPassMode;
1582     IOCTL_XC_GETCAPTUREWINDOW                       fpXC_GetCaptureWindow;
1583     IOCTL_XC_SETCAPTUREWINDOWVSTART                 fpXC_SetCaptureWindowVstart;
1584     IOCTL_XC_SETCAPTUREWINDOWHSTART                 fpXC_SetCaptureWindowHstart;
1585     IOCTL_XC_SETCAPTUREWINDOWVSIZE                  fpXC_SetCaptureWindowVsize;
1586     IOCTL_XC_SETCAPTUREWINDOWHSIZE                  fpXC_SetCaptureWindowHsize;
1587     IOCTL_XC_SOFTWARERESET                          fpXC_SoftwareReset;
1588     IOCTL_XC_CALCULATEHFREQX10                      fpXC_CalculateHFreqx10;
1589     IOCTL_XC_CALCULATEHFREQX1K                      fpXC_CalculateHFreqx1K;
1590     IOCTL_XC_CALCULATEVFREQX10                      fpXC_CalculateVFreqx10;
1591     IOCTL_XC_CALCULATEVFREQX1K                      fpXC_CalculateVFreqx1K;
1592     IOCTL_XC_GETACCURATEVFREQX1K                    fpXC_GetAccurateVFreqx1K;
1593     IOCTL_XC_INTERRUPTATTACH                        fpXC_InterruptAttach;
1594     IOCTL_XC_INTERRUPTDEATTACH                      fpXC_InterruptDeAttach;
1595     IOCTL_XC_DISABLEINPUTSOURCE                     fpXC_DisableInputSource;
1596     IOCTL_XC_ISINPUTSOURCEDISABLED                  fpXC_IsInputSourceDisabled;
1597     IOCTL_XC_CHANGEPANELTYPE                        fpXC_ChangePanelType;
1598     IOCTL_XC_GETCURRENTREADBANK                     fpXC_GetCurrentReadBank;
1599     IOCTL_XC_GETCURRENTWRITEBANK                    fpXC_GetCurrentWriteBank;
1600     IOCTL_XC_SETAUTOPRESCALING                      fpXC_SetAutoPreScaling;
1601     IOCTL_XC_GETVSYNCWIDTH                          fpXC_GetVSyncWidth;
1602     IOCTL_XC_SET_GOP_ENABLE                         fpXC_set_GOP_Enable;
1603     IOCTL_XC_IP_SEL_FOR_GOP                         fpXC_ip_sel_for_gop;
1604     IOCTL_XC_SETVOPNBL                              fpXC_SetVOPNBL;
1605     IOCTL_XC_GETDSTINFO                             fpXC_GetDstInfo;
1606     IOCTL_XC_SET_FD_MASK_BYWIN                      fpXC_Set_FD_Mask_ByWin;
1607     IOCTL_XC_GET_FD_MASK_BYWIN                      fpXC_Get_FD_Mask_ByWin;
1608     IOCTL_XC_GET_FD_MASK_STATUS                     fpXC_Get_FD_Mask_Status;
1609     IOCTL_XC_SETIP1TESTPATTERN                      fpXC_SetIP1TestPattern;
1610 #ifdef UFO_XC_TEST_PATTERN
1611     IOCTL_XC_GENERATETESTPATTERN                    fpXC_GenerateTestPattern;
1612 #endif
1613     IOCTL_XC_INITIPFORINTERNALTIMING                fpXC_InitIPForInternalTiming;
1614     IOCTL_XC_SETIPMUX                               fpXC_SetIPMux;
1615     IOCTL_XC_IS_H_SYNC_ACTIVE                       fpXC_Is_H_Sync_Active;
1616     IOCTL_XC_IS_V_SYNC_ACTIVE                       fpXC_Is_V_Sync_Active;
1617     IOCTL_XC_GETAUTOPOSITIONWINDOW                  fpXC_GetAutoPositionWindow;
1618     IOCTL_XC_SETFRAMEBUFFERADDRESS                  fpXC_SetFrameBufferAddress;
1619     IOCTL_XC_SETFRCMFRAMEBUFFERADDRESS              fpXC_SetFRCMFrameBufferAddress;
1620     IOCTL_XC_SETDUALFRAMEBUFFERADDRESS              fpXC_SetDualFrameBufferAddress;
1621     IOCTL_XC_ENABLEMIUDUALMODE                      fpXC_EnableMiuDualMode;
1622     IOCTL_XC_ISFRAMEBUFFERENOUGHFORCUSSCALING       fpXC_IsFrameBufferEnoughForCusScaling;
1623     IOCTL_XC_SETSCALERMEMORYREQUEST                 fpXC_SetScalerMemoryRequest;
1624     IOCTL_XC_GET_PIXELDATA                          fpXC_Get_PixelData;
1625     IOCTL_XC_GETAVAILABLESIZE                       fpXC_GetAvailableSize;
1626     IOCTL_XC_SETFRAMECOLOR                          fpXC_SetFrameColor;
1627     IOCTL_XC_SETDISPWINDOWCOLOR                     fpXC_SetDispWindowColor;
1628     IOCTL_XC_SUPPORTSOURCETOVE                      fpXC_SupportSourceToVE;
1629     IOCTL_XC_SETOUTPUTCAPTURE                       fpXC_SetOutputCapture;
1630     IOCTL_XC_SETGAMMAONOFF                          fpXC_SetGammaOnOff ;
1631     IOCTL_XC_SETPREGAMMAGAIN                        fpXC_SetPreGammaGain;
1632     IOCTL_XC_SETPREGAMMAOFFSET                      fpXC_SetPreGammaOffset;
1633     IOCTL_XC_SETPANELTIMING                         fpXC_SetPanelTiming;
1634     IOCTL_XC_SETOUTTIMINGMODE                       fpXC_SetOutTimingMode;
1635     IOCTL_XC_SETFREERUNTIMING                       fpXC_SetFreeRunTiming;
1636     IOCTL_XC_SET_CUSTOMERSYNCINFO                   fpXC_Set_CustomerSyncInfo;
1637     IOCTL_XC_WAITFPLLDONE                           fpXC_WaitFPLLDone;
1638     IOCTL_XC_GETOUTPUTVFREQX100                     fpXC_GetOutputVFreqX100;
1639     IOCTL_XC_GETOP1OUTPUTVFREQX100                  fpXC_GetOP1OutputVFreqX100;
1640     IOCTL_XC_FRAMELOCKCHECK                         fpXC_FrameLockCheck;
1641     IOCTL_XC_CUSTOMIZEFRCTABLE                      fpXC_CustomizeFRCTable;
1642     IOCTL_XC_OUTPUTFRAMECTRL                        fpXC_OutputFrameCtrl;
1643     IOCTL_SC_ENABLE_FPLL_FSM                        fpSC_Enable_FPLL_FSM;
1644     IOCTL_SC_FORCEFREERUN                           fpSC_ForceFreerun;
1645     IOCTL_SC_ISFORCEFREERUN                         fpSC_IsForceFreerun;
1646     IOCTL_SC_SETFREERUNVFREQ                        fpSC_SetFreerunVFreq;
1647     IOCTL_XC_SETEXPANELINFO                         fpXC_SetExPanelInfo;
1648     IOCTL_XC_ENABLE_FPLL_THRESH_MODE                fpXC_Enable_FPLL_Thresh_Mode;
1649     IOCTL_XC_GET_FPLL_THRESH_MODE                   fpXC_Get_FPLL_Thresh_Mode;
1650     IOCTL_XC_ENABLEIPAUTONOSIGNAL                   fpXC_EnableIPAutoNoSignal;
1651     IOCTL_XC_GETIPAUTONOSIGNAL                      fpXC_GetIPAutoNoSignal;
1652     IOCTL_XC_ENABLEIPAUTOCOAST                      fpXC_EnableIPAutoCoast;
1653     IOCTL_XC_ENABLEIPCOASTDEBOUNCE                  fpXC_EnableIPCoastDebounce;
1654     IOCTL_XC_CLEARIPCOASTSTATUS                     fpXC_ClearIPCoastStatus;
1655     IOCTL_XC_ENABLEFPLLMANUALSETTING                fpXC_EnableFpllManualSetting;
1656     IOCTL_XC_FPLLBOUNDARYTEST                       fpXC_FpllBoundaryTest;
1657     IOCTL_XC_SETOFFLINEDETECTION                    fpXC_SetOffLineDetection ;
1658     IOCTL_XC_GETOFFLINEDETECTION                    fpXC_GetOffLineDetection;
1659     IOCTL_XC_SETOFFLINESOGTHRESHOLD                 fpXC_SetOffLineSogThreshold;
1660     IOCTL_XC_SETOFFLINESOGBW                        fpXC_SetOffLineSogBW;
1661     IOCTL_XC_OFFLINEINIT                            fpXC_OffLineInit;
1662     IOCTL_XC_SET_EXTRA_FETCH_ADV_LINE               fpXC_Set_Extra_fetch_adv_line;
1663     IOCTL_XC_SETVGASOGEN                            fpXC_SetVGASogEn;
1664     IOCTL_XC_ENABLEWINDOW                           fpXC_EnableWindow;
1665     IOCTL_XC_IS_SUBWINDOWEANBLE                     fpXC_Is_SubWindowEanble;
1666     IOCTL_XC_SETBORDERFORMAT                        fpXC_SetBorderFormat;
1667     IOCTL_XC_ENABLEBORDER                           fpXC_EnableBorder;
1668     IOCTL_XC_ZORDERMAINWINDOWFIRST                  fpXC_ZorderMainWindowFirst;
1669     IOCTL_XC_PQ_LOADFUNCTION                        fpXC_PQ_LoadFunction;
1670     IOCTL_XC_CHECK_HNONLINEARSCALING                fpXC_Check_HNonLinearScaling;
1671     IOCTL_XC_ENABLEEUROHDTVSUPPORT                  fpXC_EnableEuroHdtvSupport;
1672     IOCTL_XC_ENABLEEUROHDTVDETECTION                fpXC_EnableEuroHdtvDetection;
1673     IOCTL_XC_READBYTE                               fpXC_ReadByte;
1674     IOCTL_XC_WRITEBYTE                              fpXC_WriteByte;
1675     IOCTL_XC_WRITEBYTEMASK                          fpXC_WriteByteMask;
1676     IOCTL_XC_WRITE2BYTEMASK                         fpXC_Write2ByteMask;
1677     IOCTL_XC_W2BYTE                                 fpXC_W2BYTE;
1678     IOCTL_XC_R2BYTE                                 fpXC_R2BYTE;
1679     IOCTL_XC_W4BYTE                                 fpXC_W4BYTE;
1680     IOCTL_XC_R4BYTE                                 fpXC_R4BYTE;
1681     IOCTL_XC_R2BYTEMSK                              fpXC_R2BYTEMSK;
1682     IOCTL_XC_W2BYTEMSK                              fpXC_W2BYTEMSK;
1683     IOCTL_XC_MLOAD_INIT                             fpXC_MLoad_Init;
1684     IOCTL_XC_MLOAD_ENABLE                           fpXC_MLoad_Enable;
1685     IOCTL_XC_MLOAD_CUS_INIT                         fpXC_MLoad_Cus_Init;
1686     IOCTL_XC_MLOAD_CUS_ENABLE                       fpXC_MLoad_Cus_Enable;
1687     IOCTL_XC_MLOAD_GETSTATUS                        fpXC_MLoad_GetStatus;
1688     IOCTL_XC_MLOAD_WRITECMD_AND_FIRE                fpXC_MLoad_WriteCmd_And_Fire;
1689     IOCTL_XC_MLOAD_WRITECMDS_AND_FIRE               fpXC_MLoad_WriteCmds_And_Fire;
1690     IOCTL_XC_MLOAD_COMBINE                          fpXC_MLoad_Combine_Enable;
1691     IOCTL_XC_MLG_INIT                               fpXC_MLG_Init;
1692     IOCTL_XC_MLG_ENABLE                             fpXC_MLG_Enable;
1693     IOCTL_XC_MLG_GETCAPS                            fpXC_MLG_GetCaps;
1694     IOCTL_XC_MLG_GETSTATUS                          fpXC_MLG_GetStatus;
1695     IOCTL_XC_SETOSD2VEMODE                          fpXC_SetOSD2VEMode;
1696     IOCTL_XC_IP2_PREFILTER_ENABLE                   fpXC_IP2_PreFilter_Enable;
1697     IOCTL_XC_GET_PIXEL_RGB                          fpXC_Get_Pixel_RGB;
1698     IOCTL_XC_KEEPPIXELPOINTERAPPEAR                 fpXC_KeepPixelPointerAppear;
1699     IOCTL_XC_SET_MEMFMTEX                           fpXC_Set_MemFmtEx;
1700     IOCTL_XC_ISREQUESTFRAMEBUFFERLESSMODE           fpXC_IsRequestFrameBufferLessMode;
1701     IOCTL_XC_SKIPSWRESET                            fpXC_SkipSWReset;
1702     IOCTL_XC_ENABLEREPWINDOWFORFRAMECOLOR           fpXC_EnableRepWindowForFrameColor;
1703     IOCTL_XC_SETOSDLAYER                            fpXC_SetOSDLayer;
1704     IOCTL_XC_GETOSDLAYER                            fpXC_GetOSDLayer;
1705     IOCTL_XC_SETVIDEOALPHA                          fpXC_SetVideoAlpha;
1706     IOCTL_XC_GETVIDEOALPHA                          fpXC_GetVideoAlpha;
1707     IOCTL_XC_SKIPWAITVSYNC                          fpXC_SkipWaitVsync;
1708     IOCTL_XC_SETCMAHEAPID                           fpXC_SetCMAHeapID;
1709     IOCTL_XC_OP2VOPDESEL                            fpXC_OP2VOPDESel;
1710     IOCTL_XC_FRC_SETWINDOW                          fpXC_FRC_SetWindow;
1711     IOCTL_XC_ENABLE_TWOINITFACTOR                   fpXC_Enable_TwoInitFactor;
1712     IOCTL_XC_ISFIELDPACKINGMODESUPPORTED            fpXC_IsFieldPackingModeSupported;
1713     IOCTL_XC_PREINIT                                fpXC_PreInit;
1714     IOCTL_XC_GET_BUFFERDATA                         fpXC_Get_BufferData;
1715     IOCTL_XC_SET_BUFFERDATA                         fpXC_Set_BufferData;
1716     IOCTL_XC_ENABLEMAINWINDOW                       fpXC_EnableMainWindow;
1717     IOCTL_XC_ENABLESUBWINDOW                        fpXC_EnableSubWindow;
1718     IOCTL_XC_DISABLESUBWINDOW                       fpXC_DisableSubWindow;
1719     IOCTL_XC_SETPIXELSHIFT                          fpXC_SetPixelShift;
1720     IOCTL_XC_SETVIDEOONOSD                          fpXC_SetVideoOnOSD;
1721     IOCTL_XC_SETOSDLAYERBLENDING                    fpXC_SetOSDLayerBlending;
1722     IOCTL_XC_SETOSDLAYERALPHA                       fpXC_SetOSDLayerAlpha;
1723     IOCTL_XC_SETOSDBLENDINGFORMULA                  fpXC_SetOSDBlendingFormula;
1724     IOCTL_XC_REPORTPIXELINFO                        fpXC_ReportPixelInfo;
1725     IOCTL_XC_SETSCALING                             fpXC_SetScaling;
1726     IOCTL_XC_SETMCDIBUFFERADDRESS                   fpXC_SetMCDIBufferAddress;
1727     IOCTL_XC_ENABLEMCDI                             fpXC_EnableMCDI;
1728     IOCTL_XC_SENDCMDTOFRC                           fpXC_SendCmdToFRC;
1729     IOCTL_XC_GETMSGFROMFRC                          fpXC_GetMsgFromFRC;
1730     IOCTL_XC_ENABLERWBANKAUTO                       fpXC_EnableRWBankAuto;
1731     IOCTL_XC_SETWRBANKMAPPINGNUM                    fpXC_SetWRBankMappingNum;
1732     IOCTL_XC_GETWRBANKMAPPINGNUM                    fpXC_GetWRBankMappingNum;
1733     IOCTL_XC_GETWRBANKMAPPINGNUMFORZAP              fpXC_GetWRBankMappingNumForZap;
1734     IOCTL_XC_SET_BOBMODE                            fpXC_SetBOBMode;
1735     IOCTL_XC_SET_FORCE_READBANK                     fpXC_SetForceReadBank;
1736     IOCTL_XC_SET_LOCK_POINT                         fpXC_SetLockPoint;
1737     IOCTL_XC_LD_INIT                                fpXC_LD_Init;
1738     IOCTL_XC_LD_SETMEMORYADDRESS                    fpXC_LD_SetMemoryAddress;
1739     IOCTL_XC_LD_GET_VALUE                           fpXC_LD_Get_Value;
1740     IOCTL_XC_LD_SETLEVEL                            fpXC_LD_SetLevel;
1741     IOCTL_SET_TURNOFFLDBL                           fpSet_TurnoffLDBL;
1742     IOCTL_SET_NOTUPDATESPIDATAFLAGS                 fpSet_notUpdateSPIDataFlags;
1743     IOCTL_SET_USERMODELDFLAGS                       fpSet_UsermodeLDFlags;
1744     IOCTL_SET_BLLEVEL                               fpSet_BLLevel;
1745     IOCTL_XC_SET_BWS_MODE                           fpXC_Set_BWS_Mode;
1746     IOCTL_XC_FRC_COLORPATHCTRL                      fpXC_FRC_ColorPathCtrl;
1747     IOCTL_XC_FRC_OP2_SETRGBGAIN                     fpXC_FRC_OP2_SetRGBGain;
1748     IOCTL_XC_FRC_OP2_SETRGBOFFSET                   fpXC_FRC_OP2_SetRGBOffset;
1749     IOCTL_XC_FRC_OP2_SETDITHER                      fpXC_FRC_OP2_SetDither;
1750     IOCTL_XC_FRC_BYPASSMFC                          fpXC_FRC_BypassMFC;
1751     IOCTL_XC_FRC_MUTE                               fpXC_FRC_Mute;
1752     IOCTL_XC_FORCEREADFRAME                         fpXC_ForceReadFrame;
1753     IOCTL_XC_SETCSC                                 fpXC_SetCsc;
1754     IOCTL_XC_REGISTERPQSETFPLLTHRESHMODE            fpXC_RegisterPQSetFPLLThreshMode;
1755     IOCTL_XC_GETFREERUNSTATUS                       fpXC_GetFreeRunStatus;
1756     IOCTL_XC_SET_BYPASS_CSC                         fpXC_BYPASS_SetCSC;
1757     IOCTL_XC_GET_DSFORCEINDEXSUPPORTED              fpXC_Get_DSForceIndexSupported;
1758     IOCTL_XC_SET_DSFORCEINDEX                       fpXC_Set_DSForceIndex;
1759     IOCTL_XC_SET_DSINDEXSOURCESELECT                fpXC_Set_DSIndexSourceSelect;
1760     IOCTL_XC_GET_DYNAMICSCALINGSTATUS               fpXC_GetDynamicScalingStatus;
1761     IOCTL_XC_OSDC_INITSETTING                       fpXC_OSDC_InitSetting;
1762     IOCTL_XC_OSDC_SET_OUTPUTVFREQX10                fpXC_OSDC_SetOutVfreqx10;
1763     IOCTL_XC_OSDC_CONTROL                           fpXC_OSDC_Control;
1764     IOCTL_XC_OSDC_GETDSTINFO                        fpXC_OSDC_GetDstInfo;
1765     IOCTL_XC_SET_POWERSTATE                         fpXC_Set_PowerState;
1766     IOCTL_XC_SET_BYPASS_OSDVSYNC_POS                fpXC_BYPASS_SetOSDVsyncPos;
1767     IOCTL_XC_SET_BYPASS_INPUTSRC                    fpXC_BYPASS_SetInputSrc;
1768     IOCTL_XC_SET_SEAMELESS_ZAPPING                  fpXC_SetSeamlessZapping;
1769     IOCTL_XC_GET_SEAMELESS_ZAPPING_STATUS           fpXC_GetSeamlessZappingStatus;
1770     IOCTL_XC_SET_VTRACK_PAYLOADDATA                 fpXC_Vtrack_SetPayloadData;
1771     IOCTL_XC_SET_VTRACK_USERDEFINED_SETTING         fpXC_Vtrack_SetUserDefindedSetting;
1772     IOCTL_XC_SET_VTRACK_ENABLE                      fpXC_Vtrack_Enable;
1773     IOCTL_XC_PRESET_PQINFO                          fpXC_PreSetPQInfo;
1774     IOCTL_XC_GET_OP1_TESTPATTERN_ENABLED            fpXC_Is_OP1_TestPattern_Enabled;
1775     IOCTL_XC_SET_OP1_TESTPATTERN                    fpXC_Set_OP1_TestPattern;
1776     IOCTL_XC_SET_OP2_TESTPATTERN                    fpXC_Set_OP2_TestPattern;
1777     IOCTL_XC_CHECK_WHITEBALANCE_PATTERN_MODE        fpXC_Check_WhiteBalance_Pattern_Mode;
1778     IOCTL_XC_SET_HLINEARSCALING                     fpXC_Set_HLinearScaling;
1779     IOCTL_XC_ENABLE_T3D                             fpXC_EnableT3D;
1780     IOCTL_XC_SET_FRC_INPUTTIMING                    fpXC_Set_FRC_InputTiming;
1781     IOCTL_XC_GET_FRC_INPUTTIMING                    fpXC_Get_FRC_InputTiming;
1782     IOCTL_XC_GET_VBOX_INFO                          fpXC_Get_VirtualBox_Info;
1783     IOCTL_XC_SET_OSD_DETECT                         fpXC_Set_OSD_DETECT;
1784     IOCTL_XC_GET_OSD_DETECT                         fpXC_Get_OSD_DETECT;
1785     IOCTL_XC_ENABLE_LOCKFREQONLY                    fpXC_Enable_LockFreqOnly;
1786     IOCTL_XC_IS2K2KTOFRCMODE                        fpXC_Is2K2KToFrcMode;
1787     IOCTL_XC_SET_XC_VOP_DATA                        fpXC_SetXCVOPdata;
1788     IOCTL_XC_GETSWDSINDEX                           fpXC_GetSWDSIndex;
1789     IOCTL_XC_GET_Is_SupportSWDS                     fpXC_Get_Is_SupportSWDS;
1790     IOCTL_XC_GET_FRCM_FRAMENUM                      fpXC_Get_FRCM_FrameNum;
1791     IOCTL_XC_SET_PIXELSHIFT_FEATURES                fpXC_SetPixelShiftFeatures;
1792     IOCTL_XC_SET_BWD_CONFIG                         fpXC_SetBwdConfig;
1793     IOCTL_XC_CMD_IS_SUPPORT_2_STEP_SCALING          fpXC_IsSupport2StepScaling;
1794     IOCTL_XC_CMD_GET_PQ_PATH_STATUS                 fpXC_GetPQPathStatus;
1795     IOCTL_XC_SETFORCEWRITE                          fpXC_SetForceWrite;
1796     IOCTL_XC_GETFORCEWRITE                          fpXC_GetForceWrite;
1797 #ifdef UFO_XC_SET_DSINFO_V0
1798     IOCTL_XC_SETDSINFO                              fpXC_SetDSInfo;
1799 #endif
1800 #ifdef UFO_XC_AUTO_DOWNLOAD
1801     IOCTL_XC_AUTODOWNLOAD_CONFIG_CTRL               fpXC_AutoDownloadConfig;
1802     IOCTL_XC_AUTODOWNLOAD_WRITE_CTRL                fpXC_AutoDownloadWrite;
1803     IOCTL_XC_AUTODOWNLOAD_FIRE_CTRL                 fpXC_AutoDownloadFire;
1804 #endif
1805 #ifdef UFO_XC_HDR
1806 #if (UFO_XC_HDR_VERSION == 2)
1807     IOCTL_XC_HDR_CTRL                               fpXC_HDRControl;
1808 #endif
1809 #endif
1810     IOCTL_XC_OPTEE_CTRL                             fpXC_OPTEE_Ctrl;
1811     IOCTL_XC_OPTEE_CHECKRBASE                       fpXC_OPTEE_CheckRBase;
1812     IOCTL_XC_OPTEE_MUX                              fpXC_OPTEE_Mux;
1813     IOCTL_XC_GET_RES_BY_PIPE                        fpXC_GetResourceByPipeID;
1814     IOCTL_XC_CONFIG_PIPE                            fpXC_ConfigPipe;
1815     IOCTL_XC_CHECK_PIPE                             fpXC_CheckPipe;
1816 
1817     // OBSOLETE FUNCTION POINTER START
1818     // avoid using these functions pointers!!!!
1819     IOCTL_SC_GET_OUTPUT_VFREQ                       fpsc_get_output_vfreq;
1820     IOCTL_XC_GET_CURRENT_OUTPUTVFREQX100            fpXC_Get_Current_OutputVFreqX100;
1821     IOCTL_XC_SETMEMORYWRITEREQUEST                  fpXC_SetMemoryWriteRequest;
1822     IOCTL_XC_SET_MEMFMT                             fpXC_Set_MemFmt;
1823     IOCTL_XC_SETOUTPUTADJUSTSETTING                 fpXC_SetOutputAdjustSetting;
1824     IOCTL_SCALER_FPLL_FSM                           fsScaler_FPLL_FSM;
1825     IOCTL_XC_ENABLEMIRRORMODE                       fpXC_EnableMirrorMode;
1826     IOCTL_XC_ENABLEMIRRORMODE2                      fpXC_EnableMirrorMode2;
1827     IOCTL_XC_GETMIRRORMODETYPE                      fpXC_GetMirrorModeType;
1828     // OBSOLETE FUNCTION POINTER END
1829     // avoid using these functions pointers!!!!
1830     IOCTL_XC_VIDEO_PLAYBACK_CTRL                    fpXC_VideoPlaybackCtrl;
1831 #ifdef UFO_XC_SETBLACKVIDEOBYMODE
1832     IOCTL_XC_GENERATEBLACKVIDEOBYMODE               fpXC_GenerateBlackVideoByMode;
1833 #endif
1834 
1835 #ifdef UFO_XC_FB_LEVEL
1836     IOCTL_XC_SET_FB_LEVEL                           fpXC_SetFBLevel;
1837     IOCTL_XC_GET_FB_LEVEL                           fpXC_GetFBLevel;
1838 #endif
1839     IOCTL_XC_SET_SWDR_INFO                          fpXC_Set_SWDR_Info;
1840     IOCTL_XC_GET_SWDR_INFO                          fpXC_Get_SWDR_Info;
1841 
1842 // APIXC_ADC_H
1843     IOCTL_XC_ADC_SETCVBSOUT                         fpXC_ADC_SetCVBSOut;
1844     IOCTL_XC_ADC_ISCVBSOUTENABLED                   fpXC_ADC_IsCVBSOutEnabled;
1845     IOCTL_XC_ADC_SETPCCLOCK                         fpXC_ADC_SetPcClock;
1846     IOCTL_XC_ADC_SETPHASE                           fpXC_ADC_SetPhase;
1847     IOCTL_XC_ADC_SETPHASEEX                         fpXC_ADC_SetPhaseEx;
1848     IOCTL_XC_ADC_GETPHASERANGE                      fpXC_ADC_GetPhaseRange;
1849     IOCTL_XC_ADC_GETPHASE                           fpXC_ADC_GetPhase;
1850     IOCTL_XC_ADC_GETPHASEEX                         fpXC_ADC_GetPhaseEx;
1851     IOCTL_XC_ADC_ISSCARTRGB                         fpXC_ADC_IsScartRGB;
1852     IOCTL_XC_ADC_GETPCCLOCK                         fpXC_ADC_GetPcClock;
1853     IOCTL_XC_ADC_GETSOGLEVELRANGE                   fpXC_ADC_GetSoGLevelRange;
1854     IOCTL_XC_ADC_SETSOGLEVEL                        fpXC_ADC_SetSoGLevel;
1855     IOCTL_XC_ADC_POWEROFF                           fpXC_ADC_PowerOff;
1856     IOCTL_XC_ADC_GETDEFAULTGAINOFFSET               fpXC_ADC_GetDefaultGainOffset;
1857     IOCTL_XC_ADC_GETMAXIMALOFFSETVALUE              fpXC_ADC_GetMaximalOffsetValue;
1858     IOCTL_XC_ADC_GETMAXIMALGAINVALUE                fpXC_ADC_GetMaximalGainValue;
1859     IOCTL_XC_ADC_GETCENTERGAIN                      fpXC_ADC_GetCenterGain;
1860     IOCTL_XC_ADC_GETCENTEROFFSET                    fpXC_ADC_GetCenterOffset;
1861     IOCTL_XC_ADC_SETGAIN                            fpXC_ADC_SetGain;
1862     IOCTL_XC_ADC_SETOFFSET                          fpXC_ADC_SetOffset;
1863     IOCTL_XC_ADC_ADJUSTGAINOFFSET                   fpXC_ADC_AdjustGainOffset;
1864     IOCTL_XC_ADC_SOURCE_CALIBRATE                   fpXC_ADC_Source_Calibrate;
1865     IOCTL_XC_ADC_SETSOGCAL                          fpXC_ADC_SetSoGCal;
1866     IOCTL_XC_ADC_SETRGB_PIPE_DELAY                  fpXC_ADC_SetRGB_PIPE_Delay;
1867     IOCTL_XC_ADC_SCARTRGB_SOG_CLAMPDELAY            fpXC_ADC_ScartRGB_SOG_ClampDelay;
1868     IOCTL_XC_ADC_SET_YPBPRLOOSELPF                  fpXC_ADC_Set_YPbPrLooseLPF;
1869     IOCTL_XC_ADC_SET_SOGBW                          fpXC_ADC_Set_SOGBW;
1870     IOCTL_XC_ADC_SETCLAMPDURATION                   fpXC_ADC_SetClampDuration;
1871     IOCTL_XC_ADC_ENABLEHWCALIBRATION                fpXC_ADC_EnableHWCalibration;
1872     IOCTL_XC_ADC_SETIDACCURRENTMODE                 fpXC_ADC_SetIdacCurrentMode;
1873     IOCTL_XC_ADC_GETIDACCURRENTMODE                 fpXC_ADC_GetIdacCurrentMode;
1874 
1875 // APIXC_AUTO_H
1876     IOCTL_XC_AUTO_GEOMETRY                          fpXC_Auto_Geometry;
1877     IOCTL_XC_AUTO_GEOMETRY_EX                       fpXC_Auto_Geometry_Ex;
1878     IOCTL_XC_AUTO_STOPAUTOGEOMETRY                  fpXC_Auto_StopAutoGeometry;
1879     IOCTL_XC_AUTO_GAINOFFSET                        fpXC_Auto_GainOffset;
1880     IOCTL_XC_AUTO_GETHWFIXEDGAINOFFSET              fpXC_Auto_GetHWFixedGainOffset;
1881     IOCTL_XC_AUTO_SETVALIDDATA                      fpXC_Auto_SetValidData;
1882     IOCTL_XC_AUTO_AUTOOFFSET                        fpXC_Auto_AutoOffset;
1883     IOCTL_XC_AUTO_DETECTWIDTH                       fpXC_Auto_DetectWidth;
1884     IOCTL_XC_AUTO_SETCALIBRATIONMODE                fpXC_Auto_SetCalibrationMode;
1885     IOCTL_XC_AUTO_GETCALIBRATIONMODE            fpXC_Auto_GetCalibrationMode;
1886     IOCTL_XC_AUTO_GETSYNCINFO                       fpXC_Auto_GetSyncInfo;
1887 
1888 // APIXC_MODEPARSE_H
1889     IOCTL_XC_MODEPARSE_INIT                         fpXC_ModeParse_Init;
1890     IOCTL_XC_MODEPARSE_MATCHMODE                    fpXC_ModeParse_MatchMode;
1891     IOCTL_XC_MODEPARSE_MATCHMODEEX                  fpXC_ModeParse_MatchModeEx;
1892 
1893 // APIXC_PCMONITOR_H
1894     IOCTL_XC_PCMONITOR_INIT                         fpXC_PCMonitor_Init;
1895     IOCTL_XC_PCMONITOR_RESTART                      fpXC_PCMonitor_Restart;
1896     IOCTL_XC_PCMONITOR_SETTIMINGCOUNT               fpXC_PCMonitor_SetTimingCount;
1897     IOCTL_XC_PCMONITOR                              fpXC_PCMonitor;
1898     IOCTL_XC_PCMONITOR_GETCURRENTSTATE              fpXC_PCMonitor_GetCurrentState;
1899     IOCTL_XC_PCMONITOR_GETSYNCSTATUS                fpXC_PCMonitor_GetSyncStatus;
1900     IOCTL_XC_PCMONITOR_GET_HFREQX10                 fpXC_PCMonitor_Get_HFreqx10;
1901     IOCTL_XC_PCMONITOR_GET_HFREQX1K                 fpXC_PCMonitor_Get_HFreqx1K;
1902     IOCTL_XC_PCMONITOR_GET_VFREQX10                 fpXC_PCMonitor_Get_VFreqx10;
1903     IOCTL_XC_PCMONITOR_GET_VFREQX1K                 fpXC_PCMonitor_Get_VFreqx1K;
1904     IOCTL_XC_PCMONITOR_GET_VTOTAL                   fpXC_PCMonitor_Get_Vtotal;
1905     IOCTL_XC_PCMONITOR_GET_DVI_HDMI_DE_INFO         fpXC_PCMonitor_Get_Dvi_Hdmi_De_Info;
1906     IOCTL_XC_PCMONITOR_SYNCLOSS                     fpXC_PCMonitor_SyncLoss;
1907     IOCTL_XC_PCMONITOR_INVALIDTIMINGDETECT          fpXC_PCMonitor_InvalidTimingDetect;
1908     IOCTL_XC_PCMONITOR_SETTIMINGCOUNTEX             fpXC_PCMonitor_SetTimingCountEx;
1909 
1910 // DRVXC_HDMI_IF_H
1911     IOCTL_HDMI_FUNC_CAPS                            fpHDMI_Func_Caps;
1912     IOCTL_HDMI_INIT                                 fpHDMI_init;
1913     IOCTL_HDMI_EXIT                                 fpHDMI_Exit;
1914     IOCTL_HDMI_PKT_RESET                            fpHDMI_pkt_reset;
1915     IOCTL_HDMI_PULLHPD                              fpHDMI_pullhpd;
1916     IOCTL_HDMI_GC_INFO                              fpHDMI_GC_Info;
1917     IOCTL_HDMI_PACKET_RECEIVED                      fpHDMI_Packet_Received;
1918     IOCTL_HDMI_GET_COLORFORMAT                      fpHDMI_Get_ColorFormat;
1919     IOCTL_HDMI_GET_COLORRANGE                       fpHDMI_Get_ColorRange;
1920     IOCTL_HDMI_SET_EQ                               fpHDMI_Set_EQ;
1921     IOCTL_HDMI_SET_EQ_TO_PORT                       fpHDMI_Set_EQ_To_Port;
1922     IOCTL_HDMI_AUDIO_MUTE_ENABLE                    fpHDMI_Audio_MUTE_Enable;
1923     IOCTL_HDMI_AUDIO_STATUS_CLEAR                   fpHDMI_Audio_Status_Clear;
1924     IOCTL_HDMI_GET_ASPECTRATIO                      fpHDMI_Get_AspectRatio;
1925     IOCTL_HDMI_GET_ACTIVEFORMAT_ASPECTRATIO         fpHDMI_Get_ActiveFormat_AspectRatio;
1926     IOCTL_HDMI_GET_AVIINFOFRAMEVER                  fpHDMI_Get_AVIInfoFrameVer;
1927     IOCTL_HDMI_ERR_STATUS_UPDATE                    fpHDMI_err_status_update;
1928     IOCTL_HDMI_GET_TMDS_FREQ                        fpHDMI_Get_TMDS_freq;
1929     IOCTL_HDMI_GET_POLLINGSTATUS                    fpHDMI_Get_PollingStatus;
1930     IOCTL_HDMI_ISHDMI_MODE                          fpHDMI_IsHDMI_Mode;
1931     IOCTL_HDMI_GET_MID_INFO                         fpHDMI_Get_MID_info;
1932     IOCTL_HDMI_GET_PACKET_VALUE                     fpHDMI_get_packet_value;
1933     IOCTL_DVI_CHANNELPHASESTATUS                    fpDVI_ChannelPhaseStatus;
1934     IOCTL_DVI_SOFTWARERESET                         fpDVI_SoftwareReset;
1935     IOCTL_DVI_RESET                                 fpdvi_reset;
1936     IOCTL_HDMI_AVIINFO_ACTIVEINFOPRESENT            fpHDMI_Get_AVIInfoActiveInfoPresent;
1937     IOCTL_DVI_CLKPULLLOW                            fpDVI_ClkPullLow;
1938     IOCTL_DVI_SWITCHSRC                             fpDVI_SwitchSrc;
1939     IOCTL_HDMI_SETFORCLOCKLESSTHAN70MHZ             fpHDMI_SetForClockLessThan70Mhz;
1940     IOCTL_HDMI_DVI_ADJUST                           fpHDMI_dvi_adjust;
1941     IOCTL_HDMI_SETUPDATEPHASELINECOUNT              fpHDMI_SetUpdatePhaseLineCount;
1942     IOCTL_HDCP_ENABLE                               fpHDCP_Enable;
1943     IOCTL_HDMI_SETHDCPENABLE                        fpHDMI_SetHdcpEnable;
1944     IOCTL_HDCP_CLEARSTATUS                          fpHDCP_ClearStatus;
1945     IOCTL_HDCP_INITPRODUCTIONKEY                    fpHDCP_initproductionkey;
1946     IOCTL_HDCP_GETSTATUS                            fpHDCP_GetStatus;
1947     IOCTL_HDCP_VSYNC_END_EN                         fpHDCP_Vsync_end_en;
1948     IOCTL_HDMI_AUDIO_OUTPUT                         fpHDMI_audio_output;
1949     IOCTL_HDMI_AUDIO_CP_HDR_INFO                    fpHDMI_audio_cp_hdr_info;
1950     IOCTL_HDMI_AUDIO_CHANNEL_STATUS                 fpHDMI_audio_channel_status;
1951     IOCTL_HDMI_GETLIBVER                            fpHDMI_GetLibVer;
1952     IOCTL_HDMI_GETINFO                              fpHDMI_GetInfo;
1953     IOCTL_HDMI_GETSTATUS                            fpHDMI_GetStatus;
1954     IOCTL_HDMI_READ_DDCRAM                          fpHDMI_READ_DDCRAM;
1955     IOCTL_HDMI_PROG_DDCRAM                          fpHDMI_PROG_DDCRAM;
1956     IOCTL_HDMI_GET_CONTENT_TYPE                     fpHDMI_Get_Content_Type;
1957     IOCTL_HDMI_GET_EXT_COLORIMETRY                  fpHDMI_Get_Ext_Colorimetry;
1958     IOCTL_HDMI_GET_PIXEL_REPETITION                 fpHDMI_Get_Pixel_Repetition;
1959     IOCTL_HDMI_CHECK_4K2K                           fpHDMI_Check4K2K;
1960     IOCTL_HDMI_3D_4KX2K_PROCESS                     fpHDMI_3D_4Kx2K_Process;
1961     IOCTL_HDMI_AVG_SCALERINGDOWN                    fpHDMI_AVG_ScaleringDown;
1962     IOCTL_HDMI_CHECK_ADDITIONAL_FORMAT              fpHDMI_Check_Additional_Format;
1963     IOCTL_HDMI_GET_3D_STRUCTURE                     fpHDMI_Get_3D_Structure;
1964     IOCTL_HDMI_GET_3D_EXT_DATA                      fpHDMI_Get_3D_Ext_Data;
1965     IOCTL_HDMI_GET_3D_META_FIELD                    fpHDMI_Get_3D_Meta_Field;
1966     IOCTL_HDMI_GET_VIC_CODE                         fpHDMI_Get_VIC_Code;
1967     IOCTL_HDMI_GET_4KX2K_VIC_CODE                   fpHDMI_Get_4Kx2K_VIC_Code;
1968     IOCTL_HDMI_ARC_PINCONTROL                       fpHDMI_ARC_PINControl;
1969     IOCTL_DVI_SOFTWARE_RESET                        fpDVI_Software_Reset;
1970     IOCTL_HDMI_SET_POWERSTATE                       fpHDMI_Set_PowerState;
1971     IOCTL_HDMI_DVI_HF_ADJUST                        fpHDMI_dvi_hf_adjust;
1972     IOCTL_HDMI_CHECKHDMI20_SETTING                  fpHDMI_checkhdmi20_setting;
1973     IOCTL_HDMI_SET_5V_DETECT_GPIO_SELECT            fpHDMI_Set5VDetectGPIOSelect;
1974     IOCTL_HDMI_GET_DE_STABLE_STATUS                 fpHDMI_GetDEStableStatus;
1975     IOCTL_HDMI_CTRL                                 fpHDMI_Ctrl;
1976     IOCTL_HDMI_GET_DATA_INFO                        fpHDMI_GetDataInfo;
1977     IOCTL_DUMP_SHM                                  fpXC_dump_shm;
1978 
1979 #ifdef UFO_XC_VMARK
1980     IOCTL_XC_VMARK_SET_PARAMETERS                   fpXC_VMark_SetParameters;
1981 #endif
1982     IOCTL_SWDS_Fire                                 fpXC_swds_fire;
1983 #ifdef UFO_XC_SUPPORT_DUAL_MIU
1984     IOCTL_XC_ENABLE_DUAL_MODE                       fpXC_enableDualMode;
1985 #endif
1986 
1987 #ifdef UFO_XC_GET_3D_FORMAT
1988     IOCTL_XC_GET3DFORMAT                        fpXC_Get3DFormat;
1989 #endif
1990 
1991 #ifdef UFO_XC_SUPPORT_HDMI_DOWNSCALE_OUTPUT_POLICY
1992     IOCTL_XC_GET_HDMI_POLICY                        fpXC_GetHDMIPolicy;
1993 #endif
1994 } XC_INSTANCE_PRIVATE;
1995 
1996 // APIXC_H
1997 E_APIXC_ReturnValue MApi_XC_GetLibVer_U2(void* pInstance, const MSIF_Version **ppVersion);
1998 XC_ApiInfo * MApi_XC_GetInfo_U2(void* pInstance);
1999 MS_BOOL MApi_XC_GetStatus_U2(void* pInstance, XC_ApiStatus *pDrvStatus, SCALER_WIN eWindow);
2000 MS_BOOL MApi_XC_GetStatusNodelay_U2(void* pInstance, ST_XC_APISTATUSNODELAY *pDrvStatus, SCALER_WIN eWindow);
2001 MS_U16  MApi_XC_GetStatusEx_U2(void* pInstance, XC_ApiStatusEx *pDrvStatusEx, SCALER_WIN eWindow);
2002 MS_BOOL MApi_XC_SetDbgLevel_U2(void* pInstance, MS_U16 u16DbgSwitch);
2003 void    MApi_XC_FPLLCustomerMode_U2(void* pInstance, EN_FPLL_MODE eMode, EN_FPLL_FLAG eFlag, MS_U32 u32Data);
2004 MS_BOOL MDrv_XC_SetIOMapBase_U2(void* pInstance);
2005 MS_BOOL MApi_XC_Init_U2(void* pInstance, XC_INITDATA *pXC_InitData, MS_U32 u32InitDataLen);
2006 E_APIXC_ReturnValue MApi_XC_GetConfig_U2(void* pInstance, XC_INITDATA *pXC_InitData);
2007 E_APIXC_ReturnValue MApi_XC_Init_MISC_U2(void* pInstance, XC_INITMISC *pXC_Init_Misc, MS_U32 u32InitMiscDataLen);
2008 E_APIXC_ReturnValue MApi_XC_GetMISCStatus_U2(void* pInstance, XC_INITMISC *pXC_Init_Misc);
2009 MS_U32  MApi_XC_GetCapability_U2(void* pInstance, MS_U32 u32Id);
2010 E_APIXC_ReturnValue MApi_XC_GetChipCaps_U2(void* pInstance, E_XC_CAPS eCapType, MS_U32* pRet, MS_U32 ret_size);
2011 MS_BOOL MApi_XC_Exit_U2(void* pInstance);
2012 MS_BOOL MApi_XC_SetDynamicScaling_U2(void* pInstance, XC_DynamicScaling_Info *pstDSInfo, MS_U32 u32DSInfoLen, SCALER_WIN eWindow);
2013 void    MApi_XC_Set_DynamicScalingFlag_U2(void *pInstance,MS_BOOL bEnable);
2014 MS_PHY  MApi_XC_Get_DNRBaseOffset_U2(void* pInstance, SCALER_WIN eWindow);
2015 MS_U8   MApi_XC_Get_FrameNumFactor_U2(void* pInstance, SCALER_WIN eWindow);
2016 MS_BOOL MApi_XC_SetWindow_U2(void* pInstance, XC_SETWIN_INFO *pstXC_SetWin_Info, MS_U32 u32InitDataLen, SCALER_WIN eWindow);
2017 MS_BOOL MApi_XC_SetDualWindow_U2(void* pInstance, XC_SETWIN_INFO *pstXC_SetWin_Info_Main, XC_SETWIN_INFO *pstXC_SetWin_Info_Sub);
2018 MS_BOOL MApi_XC_SetTravelingWindow_U2(void* pInstance, XC_SETWIN_INFO *pstXC_SetWin_Info, MS_U32 u32InitDataLen, SCALER_WIN eWindow);
2019 void    MApi_XC_SetInputSource_U2(void* pInstance,  INPUT_SOURCE_TYPE_t enInputSourceType, SCALER_WIN eWindow );
2020 MS_BOOL MApi_XC_IsYUVSpace_U2(void* pInstance, SCALER_WIN eWindow);
2021 MS_BOOL MApi_XC_IsMemoryFormat422_U2(void* pInstance, SCALER_WIN eWindow);
2022 void    MApi_XC_EnableForceRGBin_U2(void* pInstance, MS_BOOL bEnable, SCALER_WIN eWindow);
2023 MS_BOOL    MApi_XC_EnableMirrorModeEx_U2(void* pInstance,  MirrorMode_t eMirrorMode,  SCALER_WIN eWindow);
2024 MirrorMode_t MApi_XC_GetMirrorModeTypeEx_U2(void* pInstance, SCALER_WIN eWindow);
2025 void    MApi_XC_GetSyncStatus_U2(void* pInstance, INPUT_SOURCE_TYPE_t eCurrentSrc , XC_IP_SYNC_STATUS *sXC_Sync_Status, SCALER_WIN eWindow);
2026 MS_BOOL MApi_XC_ConfigCMA_U2(void *pInstance, XC_CMA_CONFIG *pstXC_CMA_Config, XC_CMA_CLIENT enCmaClient, MS_U32 u32DataLen, SCALER_WIN eWindow);
2027 MS_U8   MApi_XC_WaitOutputVSync_U2(void* pInstance, MS_U8 u8NumVSyncs, MS_U16 u16Timeout, SCALER_WIN eWindow);
2028 MS_U8   MApi_XC_WaitInputVSync_U2(void* pInstance, MS_U8 u8NumVSyncs, MS_U16 u16Timeout, SCALER_WIN eWindow);
2029 void    MApi_XC_SetHdmiSyncMode_U2(void* pInstance, E_HDMI_SYNC_TYPE esynctype);
2030 E_HDMI_SYNC_TYPE MApi_XC_GetHdmiSyncMode_U2(void* pInstance);
2031 void    MApi_XC_SetRepWindow_U2(void* pInstance, MS_BOOL bEnable,MS_WINDOW_TYPE Window,MS_U8 u8Color);
2032 void    MApi_XC_SkipOPWriteOffInSetWindow_U2(void* pInstance, MS_BOOL bEnable, SCALER_WIN eWindow);
2033 MS_BOOL MApi_XC_GetSkipOPWriteOffInSetWindow_U2(void* pInstance, SCALER_WIN eWindow);
2034 void    MApi_XC_SetSkipDisableOPWriteOffInFPLL_U2(void* pInstance, MS_BOOL bEnable, SCALER_WIN eWindow);
2035 void    MApi_XC_Set_OPWriteOffEnable_U2(void* pInstance, MS_BOOL bEnable, SCALER_WIN eWindow);
2036 void    MApi_XC_Set_OPWriteOffEnableToReg_U2(void* pInstance, MS_BOOL bEnable, SCALER_WIN eWindow);
2037 void    MApi_XC_ForceSet_OPWriteOffEnable_U2(void* pInstance, MS_BOOL bEnable ,SCALER_WIN eWindow);
2038 MS_BOOL MApi_XC_Get_OPWriteOffEnable_U2(void* pInstance, SCALER_WIN eWindow);
2039 void    MApi_XC_SetDispWinToReg_U2(void* pInstance, MS_WINDOW_TYPE *pstDspwin, SCALER_WIN eWindow);
2040 void    MApi_XC_GetDispWinFromReg_U2(void* pInstance, MS_WINDOW_TYPE *pstDspwin, SCALER_WIN eWindow);
2041 void    MApi_XC_FreezeImg_U2(void* pInstance, MS_BOOL bEnable, SCALER_WIN eWindow);
2042 MS_BOOL MApi_XC_IsFreezeImg_U2(void* pInstance, SCALER_WIN eWindow);
2043 void    MApi_XC_GenerateBlackVideoForBothWin_U2(void* pInstance,  MS_BOOL bEnable);
2044 void    MApi_XC_Set_BLSK_U2(void* pInstance, MS_BOOL bEnable);
2045 void    MApi_XC_GenerateBlackVideo_U2(void* pInstance, MS_BOOL bEnable, SCALER_WIN eWindow);
2046 MS_BOOL MApi_XC_IsBlackVideoEnable_U2(void* pInstance, SCALER_WIN eWindow);
2047 void    MApi_XC_EnableFrameBufferLess_U2(void* pInstance, MS_BOOL bEnable);
2048 MS_BOOL MApi_XC_IsCurrentFrameBufferLessMode_U2(void* pInstance);
2049 void    MApi_XC_EnableRequest_FrameBufferLess_U2(void* pInstance, MS_BOOL bEnable);
2050 MS_BOOL MApi_XC_IsCurrentRequest_FrameBufferLessMode_U2(void* pInstance);
2051 MS_U16  MApi_XC_Get_3D_HW_Version_U2(void* pInstance);
2052 MS_BOOL MApi_XC_Get_3D_IsSupportedHW2DTo3D_U2(void* pInstance);
2053 MS_BOOL MApi_XC_Set_3D_Mode_U2(void* pInstance, E_XC_3D_INPUT_MODE e3dInputMode, E_XC_3D_OUTPUT_MODE e3dOutputMode, E_XC_3D_PANEL_TYPE e3dPanelType, SCALER_WIN eWindow);
2054 MS_BOOL MApi_XC_Set_3D_MainWin_FirstMode_U2(void* pInstance, MS_BOOL bMainFirst);
2055 MS_BOOL MApi_XC_Set_3D_LR_Frame_Exchg_U2(void* pInstance, SCALER_WIN eWindow);
2056 MS_BOOL MApi_XC_3D_Is_LR_Frame_Exchged_U2(void* pInstance, SCALER_WIN eWindow);
2057 E_XC_3D_INPUT_MODE MApi_XC_Get_3D_Input_Mode_U2(void* pInstance, SCALER_WIN eWindow);
2058 E_XC_3D_OUTPUT_MODE MApi_XC_Get_3D_Output_Mode_U2(void* pInstance);
2059 #ifdef UFO_XC_GET_3D_FORMAT
2060 MS_BOOL MApi_XC_Get3DFormat_U2(void* pInstance, E_XC_3D_ATTRIBUTE_TYPE e3DAttrType, void* para, void* p3DFormat);
2061 #endif
2062 E_XC_3D_PANEL_TYPE MApi_XC_Get_3D_Panel_Type_U2(void* pInstance);
2063 MS_BOOL MApi_XC_Get_3D_MainWin_First_U2(void* pInstance);
2064 MS_BOOL MApi_XC_3DMainSub_IPSync_U2(void* pInstance);
2065 MS_BOOL MApi_XC_Set_3D_VerVideoOffset_U2(void* pInstance, MS_U16 u163DVerVideoOffset);
2066 MS_U16  MApi_XC_Get_3D_VerVideoOffset_U2(void* pInstance);
2067 MS_BOOL MApi_XC_Is3DFormatSupported_U2(void* pInstance, E_XC_3D_INPUT_MODE e3dInputMode,E_XC_3D_OUTPUT_MODE e3dOutputMode);
2068 MS_BOOL MApi_XC_Set_3D_HShift_U2(void* pInstance, MS_U16 u16HShift);
2069 MS_BOOL MApi_XC_Enable_3D_LR_Sbs2Line_U2(void* pInstance, MS_BOOL bEnable);
2070 MS_U16  MApi_XC_Get_3D_HShift_U2(void* pInstance);
2071 MS_BOOL MApi_XC_Set_3D_HW2DTo3D_Buffer_U2(void* pInstance, MS_PHY u32HW2DTO3D_DD_Buf, MS_PHY u32HW2DTO3D_DR_Buf);
2072 MS_BOOL MApi_XC_Set_3D_HW2DTo3D_Parameters_U2(void* pInstance, MS_XC_3D_HW2DTO3D_PARA st3DHw2DTo3DPara);
2073 MS_BOOL MApi_XC_Get_3D_HW2DTo3D_Parameters_U2(void* pInstance, MS_XC_3D_HW2DTO3D_PARA *pst3DHw2DTo3DPara);
2074 MS_BOOL MApi_XC_Set_3D_Detect3DFormat_Parameters_U2(void* pInstance, MS_XC_3D_DETECT3DFORMAT_PARA *pstDetect3DFormatPara);
2075 MS_BOOL MApi_XC_Get_3D_Detect3DFormat_Parameters_U2(void* pInstance, MS_XC_3D_DETECT3DFORMAT_PARA *pstDetect3DFormatPara);
2076 E_XC_3D_INPUT_MODE MApi_XC_Detect3DFormatByContent_U2(void* pInstance, SCALER_WIN eWindow);
2077 MS_BOOL MApi_XC_DetectNL_U2(void* pInstance, SCALER_WIN eWindow, ST_DETECTNL_PARA* pstDetectNLatticePara);
2078 MS_BOOL MApi_XC_3D_PostPQSetting_U2(void* pInstance, SCALER_WIN eWindow);
2079 MS_BOOL MApi_XC_Set_3D_FPInfo_U2(void* pInstance, MS_XC_3D_FPINFO_PARA *pstFPInfoPara);
2080 MS_BOOL MApi_XC_EnableAutoDetect3D_U2(void* pInstance, MS_BOOL bEnable, E_XC_3D_AUTODETECT_METHOD enDetectMethod);
2081 MS_BOOL MApi_XC_GetAutoDetect3DFlag_U2(void* pInstance, E_XC_3D_AUTODETECT_METHOD *penDetectMethod, MS_BOOL *pbEnable);
2082 MS_BOOL MApi_XC_Set_3D_SubWinClk_U2(void* pInstance);
2083 MS_BOOL MApi_XC_3D_Is_LR_Sbs2Line_U2(void* pInstance);
2084 MS_BOOL MApi_SC_3D_Is_Skip_Default_LR_Flag_U2(void* pInstance);
2085 MS_BOOL MApi_XC_3D_Enable_Skip_Default_LR_Flag_U2(void* pInstance, MS_BOOL bEnable);
2086 void    MApi_XC_Mux_Init_U2(void* pInstance, void (*input_source_to_input_port)(INPUT_SOURCE_TYPE_t src_ids , E_MUX_INPUTPORT* port_ids , MS_U8* u8port_count ) );
2087 void    MApi_XC_Mux_SourceMonitor_U2(void* pInstance, MS_BOOL bRealTimeMonitorOnly);
2088 MS_S16  MApi_XC_Mux_CreatePath_U2(void* pInstance, XC_MUX_PATH_INFO* Path_Info, MS_U32 u32InitDataLen);
2089 MS_S16  MApi_XC_Mux_DeletePath_U2(void* pInstance, INPUT_SOURCE_TYPE_t src, E_DEST_TYPE dest);
2090 MS_S16  MApi_XC_Mux_EnablePath_U2(void* pInstance, MS_U16 PathId);
2091 void    MApi_XC_Mux_TriggerPathSyncEvent_U2(void* pInstance,  INPUT_SOURCE_TYPE_t src , void* para);
2092 void    MApi_XC_Mux_TriggerDestOnOffEvent_U2(void* pInstance,  INPUT_SOURCE_TYPE_t src , void* para);
2093 MS_S16  MApi_XC_Mux_OnOffPeriodicHandler_U2(void* pInstance,  INPUT_SOURCE_TYPE_t src, MS_BOOL bEnable);
2094 MS_U8   MApi_XC_Mux_GetPathInfo_U2(void* pInstance, XC_MUX_PATH_INFO* Paths);
2095 E_APIXC_ReturnValue MApi_XC_Mux_SetSupportMhlPathInfo_U2(void* pInstance, MS_U8 u8MhlSupportInfo);
2096 E_APIXC_ReturnValue MApi_XC_Mux_SetMhlHotPlugInverseInfo_U2(void* pInstance, MS_BOOL bIsMhlHotPlugInverse);
2097 E_MUX_INPUTPORT MApi_XC_Mux_GetHDMIPort_U2(void* pInstance,  INPUT_SOURCE_TYPE_t src );
2098 void MApi_XC_Mux_GetPortMappingMatrix_U2(void *pInstance,XC_MUX_INPUTSRCTABLE *mapping_tab,MS_U32 length);
2099 MS_U8   MApi_XC_MUX_MapInputSourceToVDYMuxPORT_U2(void* pInstance,  INPUT_SOURCE_TYPE_t u8InputSourceType );
2100 void    MApi_XC_Set_NR_U2(void* pInstance, MS_BOOL bEn, SCALER_WIN eWindow);
2101 void    MApi_XC_FilmMode_P_U2(void* pInstance);
2102 MS_BOOL MApi_XC_GetUCEnabled_U2(void* pInstance, SCALER_WIN eWindow);
2103 void    MApi_XC_GenSpecificTiming_U2(void* pInstance, XC_Internal_TimingType timingtype);
2104 MS_BOOL MApi_XC_GetDEBypassMode_U2(void* pInstance, SCALER_WIN eWindow);
2105 void    MApi_XC_GetDEWindow_U2(void* pInstance, MS_WINDOW_TYPE *psWin, SCALER_WIN eWindow);
2106 void    MApi_XC_GetDEWidthHeightInDEByPassMode_U2(void* pInstance, MS_U16* pu16Width,MS_U16* pu16Height ,SCALER_WIN eWindow);
2107 void    MApi_XC_GetCaptureWindow_U2(void* pInstance, MS_WINDOW_TYPE* capture_win, SCALER_WIN eWindow);
2108 void    MApi_XC_SetCaptureWindowVstart_U2(void* pInstance, MS_U16 u16Vstart , SCALER_WIN eWindow);
2109 void    MApi_XC_SetCaptureWindowHstart_U2(void* pInstance, MS_U16 u16Hstart , SCALER_WIN eWindow);
2110 void    MApi_XC_SetCaptureWindowVsize_U2(void* pInstance, MS_U16 u16Vsize , SCALER_WIN eWindow);
2111 void    MApi_XC_SetCaptureWindowHsize_U2(void* pInstance, MS_U16 u16Hsize , SCALER_WIN eWindow);
2112 void    MApi_XC_SoftwareReset_U2(void* pInstance, MS_U8 u8Reset, SCALER_WIN eWindow);
2113 MS_U16  MApi_XC_CalculateHFreqx10_U2(void* pInstance, MS_U16 u16HPeriod);
2114 MS_U32 MApi_XC_CalculateHFreqx1K_U2(void* pInstance, MS_U16 u16HPeriod);
2115 MS_U16  MApi_XC_CalculateVFreqx10_U2(void* pInstance, MS_U16 u16HFreq, MS_U16 u16VTotal);
2116 MS_U32 MApi_XC_CalculateVFreqx1K_U2(void* pInstance, MS_U32 u16HFreq, MS_U16 u16VTotal);
2117 MS_U32 MApi_XC_GetAccurateVFreqx1K_U2(void* pInstance, SCALER_WIN eWindow);
2118 MS_BOOL MApi_XC_InterruptAttach_U2(void* pInstance, SC_INT_SRC enIntNum, SC_InterruptCb pIntCb, void * pParam);
2119 MS_BOOL MApi_XC_InterruptDeAttach_U2(void* pInstance, SC_INT_SRC enIntNum, SC_InterruptCb pIntCb, void * pParam);
2120 void    MApi_XC_DisableInputSource_U2(void* pInstance, MS_BOOL bDisable, SCALER_WIN eWidnow);
2121 MS_BOOL MApi_XC_IsInputSourceDisabled_U2(void* pInstance, SCALER_WIN eWindow);
2122 void    MApi_XC_ChangePanelType_U2(void* pInstance, XC_PANEL_INFO *pstPanelInfo);
2123 MS_U16  MApi_XC_GetCurrentReadBank_U2(void* pInstance, SCALER_WIN eWindow);
2124 MS_U16  MApi_XC_GetCurrentWriteBank_U2(void* pInstance, SCALER_WIN eWindow);
2125 void    MApi_XC_SetAutoPreScaling_U2(void* pInstance, MS_BOOL bEnable, SCALER_WIN eWindow);
2126 MS_U8   MApi_XC_GetVSyncWidth_U2(void* pInstance, SCALER_WIN eWindow);
2127 MS_BOOL MApi_XC_set_GOP_Enable_U2(void* pInstance, MS_U8 MaxGOP, MS_U8 UseNum, MS_U8 u8MuxNum, MS_BOOL bEnable);
2128 void    MApi_XC_ip_sel_for_gop_U2(void* pInstance, MS_U8 u8MuxNum , MS_XC_IPSEL_GOP ipSelGop);
2129 void    MApi_XC_SetVOPNBL_U2(void* pInstance);
2130 MS_BOOL MApi_XC_GetDstInfo_U2(void* pInstance, MS_XC_DST_DispInfo *pDstInfo, MS_U32 u32SizeofDstInfo, EN_GOP_XCDST_TYPE XCDstType);
2131 void    MApi_XC_Set_FD_Mask_ByWin_U2(void* pInstance, MS_BOOL bEnable, SCALER_WIN eWindow);
2132 MS_BOOL MApi_XC_Get_FD_Mask_ByWin_U2(void* pInstance, SCALER_WIN eWindow);
2133 MS_BOOL MApi_XC_Get_FD_Mask_Status_U2(void* pInstance, SCALER_WIN eWindow);
2134 void    MApi_XC_SetIP1TestPattern_U2(void* pInstance, MS_U8 u8Enable, MS_U16 u6Pattern_type, SCALER_WIN eWindow);
2135 #ifdef UFO_XC_TEST_PATTERN
2136 void    MApi_XC_GenerateTestPattern_U2(void* pInstance,EN_XC_TEST_PATTERN_MODE ePatternMode,void* para, MS_U16 u16Length);
2137 #endif
2138 void    MApi_XC_InitIPForInternalTiming_U2(void* pInstance, XC_Internal_TimingType timingtype);
2139 void    MApi_XC_SetIPMux_U2(void* pInstance, MS_U8 u8Val);
2140 MS_BOOL MApi_XC_Is_H_Sync_Active_U2(void* pInstance, SCALER_WIN eWindow);
2141 MS_BOOL MApi_XC_Is_V_Sync_Active_U2(void* pInstance, SCALER_WIN eWindow);
2142 MS_BOOL MApi_XC_GetAutoPositionWindow_U2(void* pInstance, MS_U8 u8ValidData, SCALER_WIN eWindow, MS_WINDOW_TYPE *pstAutoPositionWindow);
2143 void    MApi_XC_SetFrameBufferAddress_U2(void* pInstance, MS_PHY u32FBAddress, MS_PHY u32FBSize, SCALER_WIN eWindow);
2144 void    MApi_XC_SetFRCMFrameBufferAddress_U2(void* pInstance, MS_PHY u32FBAddress, MS_PHY u32FBSize, SCALER_WIN eWindow);
2145 MS_BOOL MApi_XC_SetDualFrameBufferAddress_U2(void* pInstance, MS_PHY u32FBAddress, MS_PHY u32FBSize, SCALER_WIN eWindow);
2146 #ifdef UFO_XC_SUPPORT_DUAL_MIU
2147 MS_BOOL MApi_XC_EnableMiuDualMode_U2(void* pInstance, MS_BOOL bEnable, MS_U32 u32LeftFactor, MS_U32 u32RightFactor, SCALER_WIN eWindow);
2148 #endif
2149 MS_BOOL MApi_XC_IsFrameBufferEnoughForCusScaling_U2(void* pInstance, XC_SETWIN_INFO *pstXC_SetWin_Info, SCALER_WIN eWindow);
2150 E_APIXC_ReturnValue MApi_XC_SetScalerMemoryRequest_U2(void* pInstance, MS_BOOL bEnable, E_XC_MEMORY_REQUEST_TYPE eType, SCALER_WIN eWindow);
2151 void    MApi_XC_Get_PixelData_U2(void* pInstance, MS_U16 u16CorX,  MS_U16 u16CorY, MS_PIXEL_32BIT* pixel);
2152 MS_U32  MApi_XC_GetAvailableSize_U2(void* pInstance, SCALER_WIN eWindow, MS_U8 u8FBNum, MS_U32 u32InputSize);
2153 void    MApi_XC_SetFrameColor_U2(void* pInstance, MS_U32 u32aRGB);
2154 void    MApi_XC_SetDispWindowColor_U2(void* pInstance, MS_U8 u8Color, SCALER_WIN eWindow);
2155 E_APIXC_ReturnValue MApi_XC_SupportSourceToVE_U2(void* pInstance, MS_U16* pOutputCapability);
2156 E_APIXC_ReturnValue MApi_XC_SetOutputCapture_U2(void* pInstance, MS_BOOL bEnable,E_XC_SOURCE_TO_VE eSourceToVE);
2157 void    MApi_XC_SetGammaOnOff_U2(void* pInstance, MS_BOOL bEnable);
2158 void    MApi_XC_SetPreGammaGain_U2(void* pInstance, SCALER_WIN eWindow, MS_XC_VOP_CHANNEL_t eVop_Channel, MS_U16 u16Val);
2159 void    MApi_XC_SetPreGammaOffset_U2(void* pInstance, SCALER_WIN eWindow, MS_XC_VOP_CHANNEL_t eVop_Channel, MS_U16 u16Val);
2160 void    MApi_XC_SetPanelTiming_U2(void* pInstance, XC_SetTiming_Info *pTimingInfo, SCALER_WIN eWindow);
2161 void    MApi_XC_SetOutTimingMode_U2(void* pInstance, E_XC_PNL_OUT_TIMING_MODE enPnl_Out_Timing_Mode);
2162 void    MApi_XC_SetFreeRunTiming_U2(void* pInstance);
2163 MS_BOOL MApi_XC_Set_CustomerSyncInfo_U2(void* pInstance, MS_U16 u16FrontPorch, MS_U16 u16SyncWidth, MS_U16 u16OutputVfreq);
2164 MS_BOOL MApi_XC_WaitFPLLDone_U2(void* pInstance);
2165 MS_U16  MApi_XC_GetOutputVFreqX100_U2(void* pInstance);
2166 MS_U16  MApi_XC_GetOP1OutputVFreqX100_U2(void* pInstance);
2167 MS_BOOL MApi_XC_SetBwdConfig_U2(void* pInstance, E_XC_BWD_CONFIG_TYPE eType, void *pstParam, SCALER_WIN eWindow);
2168 
2169 MS_BOOL MApi_XC_FrameLockCheck_U2(void* pInstance);
2170 E_APIXC_ReturnValue MApi_XC_CustomizeFRCTable_U2(void* pInstance, SC_FRC_SETTING* stFRCTable);
2171 E_APIXC_ReturnValue MApi_XC_OutputFrameCtrl_U2(void* pInstance, MS_BOOL bEnable,XC_OUTPUTFRAME_Info * stOutFrameInfo,SCALER_WIN eWindow);
2172 void    MApi_SC_Enable_FPLL_FSM_U2(void* pInstance, MS_BOOL bTrue);
2173 void    MApi_SC_ForceFreerun_U2(void* pInstance, MS_BOOL bEnable);
2174 MS_BOOL MApi_SC_IsForceFreerun_U2(void* pInstance);
2175 void    MApi_SC_SetFreerunVFreq_U2(void* pInstance, E_VFREQ_SEL VFreq);
2176 MS_BOOL MApi_XC_SetExPanelInfo_U2(void* pInstance, MS_BOOL bEnable, XC_PANEL_INFO_EX *pPanelInfoEx);
2177 void    MApi_XC_Enable_FPLL_Thresh_Mode_U2(void* pInstance, MS_BOOL bEnable);
2178 MS_BOOL MApi_XC_Get_FPLL_Thresh_Mode_U2(void* pInstance);
2179 E_APIXC_ReturnValue MApi_XC_EnableIPAutoNoSignal_U2(void* pInstance, MS_BOOL bEnable, SCALER_WIN eWindow );
2180 MS_BOOL MApi_XC_GetIPAutoNoSignal_U2(void* pInstance, SCALER_WIN eWindow );
2181 void    MApi_XC_EnableIPAutoCoast_U2(void* pInstance, MS_BOOL bEnable);
2182 void    MApi_XC_EnableIPCoastDebounce_U2(void* pInstance);
2183 void    MApi_XC_ClearIPCoastStatus_U2(void* pInstance);
2184 void    MApi_XC_EnableFpllManualSetting_U2(void* pInstance, MS_BOOL bEnable);
2185 void    MApi_XC_FpllBoundaryTest_U2(void* pInstance, MS_U32 u32FpllSetOffset, MS_U16 u16TestCnt);
2186 void    MApi_XC_SetOffLineDetection_U2(void* pInstance, INPUT_SOURCE_TYPE_t);
2187 MS_U8   MApi_XC_GetOffLineDetection_U2(void* pInstance,  INPUT_SOURCE_TYPE_t);
2188 MS_BOOL MApi_XC_SetOffLineSogThreshold_U2(void* pInstance, MS_U8 u8Threshold);
2189 MS_BOOL MApi_XC_SetOffLineSogBW_U2(void* pInstance, MS_U8 u8BW);
2190 MS_BOOL MApi_XC_OffLineInit_U2(void* pInstance);
2191 void    MApi_XC_Set_Extra_fetch_adv_line_U2(void* pInstance, MS_U8 u8val);
2192 E_APIXC_ReturnValue MApi_XC_SetVGASogEn_U2(void* pInstance, MS_BOOL bVGASogEn);
2193 void    MApi_XC_EnableWindow_U2(void* pInstance, MS_BOOL bEnable, SCALER_WIN eWindow);
2194 MS_BOOL MApi_XC_Is_SubWindowEanble_U2(void* pInstance);
2195 void    MApi_XC_SetBorderFormat_U2(void* pInstance,  MS_U8 u8Left, MS_U8 u8Right, MS_U8 u8Up, MS_U8 u8Down, MS_U8 u8color, SCALER_WIN eWindow );
2196 void    MApi_XC_EnableBorder_U2(void* pInstance, MS_BOOL bEnable, SCALER_WIN eWindow);
2197 void    MApi_XC_ZorderMainWindowFirst_U2(void* pInstance, MS_BOOL bMainFirst);
2198 void    MApi_XC_PQ_LoadFunction_U2(void* pInstance, PQ_Function_Info* function_Info , MS_U32 u32InitDataLen);
2199 MS_BOOL MApi_XC_Check_HNonLinearScaling_U2(void* pInstance);
2200 void    MApi_XC_EnableEuroHdtvSupport_U2(void* pInstance, MS_BOOL bEnable);
2201 void    MApi_XC_EnableEuroHdtvDetection_U2(void* pInstance, MS_BOOL bEnable, SCALER_WIN eWindow);
2202 MS_U8   MApi_XC_ReadByte_U2(void* pInstance, MS_U32 u32Reg);
2203 void    MApi_XC_WriteByte_U2(void* pInstance, MS_U32 u32Reg, MS_U8 u8Val);
2204 void    MApi_XC_WriteByteMask_U2(void* pInstance, MS_U32 u32Reg, MS_U8 u8Val, MS_U8 u8Msk);
2205 void    MApi_XC_Write2ByteMask_U2(void* pInstance, MS_U32 u32Reg, MS_U16 u16val, MS_U16 u16Mask);
2206 void    MApi_XC_W2BYTE_U2(void* pInstance, MS_U32 u32Reg, MS_U16 u16Val);
2207 MS_U16  MApi_XC_R2BYTE_U2(void* pInstance, MS_U32 u32Reg);
2208 void    MApi_XC_W4BYTE_U2(void* pInstance, MS_U32 u32Reg, MS_U32 u32Val);
2209 MS_U32  MApi_XC_R4BYTE_U2(void* pInstance, MS_U32 u32Reg);
2210 MS_U16  MApi_XC_R2BYTEMSK_U2(void* pInstance, MS_U32 u32Reg, MS_U16 u16Mask);
2211 void    MApi_XC_W2BYTEMSK_U2(void* pInstance, MS_U32 u32Reg, MS_U16 u16Val, MS_U16 u16Mask);
2212 void    MApi_XC_MLoad_Init_U2(void* pInstance, MS_PHY PhyAddr, MS_U32 u32BufByteLen);
2213 void    MApi_XC_MLoad_Enable_U2(void* pInstance, MS_BOOL bEnable);
2214 void    MApi_XC_MLoad_Cus_Init_U2(void* pInstance, EN_MLOAD_CLIENT_SELECT eMloadSelect, MS_PHY PhyAddr, MS_U32 u32BufByteLen);
2215 void    MApi_XC_MLoad_Cus_Enable_U2(void* pInstance, EN_MLOAD_CLIENT_SELECT eMloadSelect, MS_BOOL bEnable);
2216 MLOAD_TYPE MApi_XC_MLoad_GetStatus_U2(void* pInstance);
2217 MS_BOOL MApi_XC_MLoad_WriteCmd_And_Fire_U2(void* pInstance, MS_U32 u32Addr, MS_U16 u16Data, MS_U16 u16Mask);
2218 MS_BOOL MApi_XC_MLoad_WriteCmds_And_Fire_U2(void* pInstance, MS_U32 *pu32Addr, MS_U16 *pu16Data, MS_U16 *pu16Mask, MS_U16 u16CmdCnt);
2219 void    MApi_XC_MLG_Init_U2(void* pInstance, MS_PHY PhyAddr, MS_U32 u32BufByteLen);
2220 void    MApi_XC_MLG_Enable_U2(void* pInstance, MS_BOOL bEnable);
2221 MS_BOOL MApi_XC_MLG_GetCaps_U2(void* pInstance);
2222 MLG_TYPE MApi_XC_MLG_GetStatus_U2(void* pInstance);
2223 void    MApi_XC_SetOSD2VEMode_U2(void* pInstance, EN_VOP_SEL_OSD_XC2VE_MUX  eVOPSelOSD_MUX);
2224 void    MApi_XC_IP2_PreFilter_Enable_U2(void* pInstance, MS_BOOL bEnable);
2225 E_APIXC_GET_PixelRGB_ReturnValue MApi_XC_Get_Pixel_RGB_U2(void* pInstance, XC_Get_Pixel_RGB *pData, SCALER_WIN eWindow);
2226 void    MApi_XC_KeepPixelPointerAppear_U2(void* pInstance, MS_BOOL bEnable);
2227 MS_BOOL MApi_XC_Set_MemFmtEx_U2(void* pInstance, MS_XC_MEM_FMT eMemFmt, SCALER_WIN eWindow);
2228 MS_BOOL MApi_XC_IsRequestFrameBufferLessMode_U2(void* pInstance);
2229 E_APIXC_ReturnValue MApi_XC_SkipSWReset_U2(void* pInstance, MS_BOOL bFlag);
2230 void    MApi_XC_EnableRepWindowForFrameColor_U2(void* pInstance, MS_BOOL bEnable);
2231 E_APIXC_ReturnValue MApi_XC_SetOSDLayer_U2(void* pInstance, E_VOP_OSD_LAYER_SEL  eVOPOSDLayer, SCALER_WIN eWindow);
2232 E_VOP_OSD_LAYER_SEL MApi_XC_GetOSDLayer_U2(void* pInstance, SCALER_WIN eWindow);
2233 E_APIXC_ReturnValue MApi_XC_SetVideoAlpha_U2(void* pInstance, MS_U8 u8Val, SCALER_WIN eWindow);
2234 E_APIXC_ReturnValue MApi_XC_GetVideoAlpha_U2(void* pInstance, MS_U8 *pu8Val, SCALER_WIN eWindow);
2235 E_APIXC_ReturnValue MApi_XC_SkipWaitVsync_U2(void* pInstance,  MS_BOOL eWindow,MS_BOOL bIsSkipWaitVsyn);
2236 E_APIXC_ReturnValue MApi_XC_SetCMAHeapID_U2( void* pInstance, MS_U8 u8CMAHeapID, SCALER_WIN eWindow);
2237 E_APIXC_ReturnValue MApi_XC_OP2VOPDESel_U2(void* pInstance, E_OP2VOP_DE_SEL eVopDESel);
2238 void    MApi_XC_FRC_SetWindow_U2(void* pInstance, E_XC_3D_INPUT_MODE e3dInputMode, E_XC_3D_OUTPUT_MODE e3dOutputMode, E_XC_3D_PANEL_TYPE e3dPanelType);
2239 MS_BOOL MApi_XC_Enable_TwoInitFactor_U2(void* pInstance, MS_BOOL bEnable, SCALER_WIN eWindow);
2240 MS_BOOL MApi_XC_IsFieldPackingModeSupported_U2(void* pInstance);
2241 E_APIXC_ReturnValue MApi_XC_PreInit_U2(void* pInstance,  E_XC_PREINIT_t eType ,void* para, MS_U32 u32Length);
2242 void    MApi_XC_Get_BufferData_U2(void* pInstance, E_XC_OUTPUTDATA_TYPE eBufType, MS_WINDOW_TYPE *pRect, void *pRectBuf, SCALER_WIN eWindow);
2243 void    MApi_XC_Set_BufferData_U2(void* pInstance, E_XC_INPUTDATA_TYPE eBufType, MS_WINDOW_TYPE *pDstRect, void *pSrcBuf, MS_WINDOW_TYPE *pSrcRect, SCALER_WIN eWindow);
2244 void    MApi_XC_EnableMainWindow_U2(void* pInstance, MS_BOOL bEnable);
2245 void    MApi_XC_EnableSubWindow_U2(void* pInstance, MS_WINDOW_TYPE *pstDispWin);
2246 void    MApi_XC_DisableSubWindow_U2(void* pInstance);
2247 E_APIXC_ReturnValue MApi_XC_SetPixelShift_U2(void* pInstance, MS_S8 s8H, MS_S8 s8V);
2248 E_APIXC_ReturnValue MApi_XC_SetPixelShiftFeatures_U2(void* pInstance,
2249         MS_U16 u16HPixelShiftRange,
2250         MS_U16 u16VPixelShiftRange,
2251         PIXEL_SHIFT_FEATURE ePixelShiftFeature);
2252 E_APIXC_ReturnValue MApi_XC_Combine_MLoadEn_U2(void* pInstance, MS_BOOL bEn);
2253 E_APIXC_ReturnValue MApi_XC_SetVideoOnOSD_U2(void* pInstance, E_VIDEO_ON_OSD_LAYER enlayer, SCALER_WIN eWindow);
2254 E_APIXC_ReturnValue MApi_XC_SetOSDLayerBlending_U2(void* pInstance, MS_U8 u8Layer, MS_BOOL bEnable, SCALER_WIN eWindow);
2255 E_APIXC_ReturnValue MApi_XC_SetOSDLayerAlpha_U2(void* pInstance, MS_U8 u8Layer, MS_U8 u8Alpha);
2256 E_APIXC_ReturnValue MApi_XC_SetOSDBlendingFormula_U2(void* pInstance, E_XC_OSD_INDEX enOsdIndex, E_XC_OSD_BlENDING_TYPE enType, SCALER_WIN eWindow);
2257 MS_BOOL MApi_XC_ReportPixelInfo_U2(void* pInstance, MS_XC_REPORT_PIXELINFO *pstRepPixInfo);
2258 void    MApi_XC_SetScaling_U2(void* pInstance,  MS_BOOL bEnable, E_XC_SCALING_TYPE eScaling_type, E_XC_VECTOR_TYPE eVector_type, SCALER_WIN eWindow );
2259 void    MApi_XC_SetMCDIBufferAddress_U2(void* pInstance, MS_PHY u32FBAddress, MS_PHY u32FBSize, E_XC_MCDI_TYPE eType);
2260 void    MApi_XC_EnableMCDI_U2(void* pInstance, MS_BOOL bEnable, E_XC_MCDI_TYPE eType);
2261 MS_BOOL MApi_XC_SendCmdToFRC_U2(void* pInstance,  MS_U8 u8Cmd, MS_U8 count, FRC_R2_CMD_PARAMETER_t pFRC_R2_Para );
2262 MS_BOOL MApi_XC_GetMsgFromFRC_U2(void* pInstance, MS_U8* pu8Cmd, MS_U8* pu8ParaCount, MS_U8* pu8Para);
2263 void    MApi_XC_EnableRWBankAuto_U2(void* pInstance, MS_BOOL bEnable, SCALER_WIN eWindow);
2264 void    MApi_XC_Dump_SHM_U2(void *pInstance);
2265 void MApi_XC_SetWRBankMappingNum_U2(void* pInstance, MS_U8 u8Val, SCALER_WIN eWindow);
2266 MS_U8 MApi_XC_GetWRBankMappingNum_U2(void* pInstance, SCALER_WIN eWindow);
2267 MS_U8 MApi_XC_GetWRBankMappingNumForZap_U2(void* pInstance, SCALER_WIN eWindow);
2268 MS_BOOL MApi_XC_SetBOBMode_U2(void* pInstance, MS_BOOL bEnable, SCALER_WIN eWindow);
2269 void MApi_XC_SetForceReadBank_U2(void* pInstance, MS_BOOL bEnable, MS_U8 u8Bank, SCALER_WIN eWindow);
2270 void MApi_XC_SetLockPoint_U2(void* pInstance, MS_U16 u16LockPoint, SCALER_WIN eWindow);
2271 MS_BOOL MApi_XC_LD_Init_U2(void* pInstance, EN_LD_PANEL_TYPE eLDPanelType );
2272 MS_BOOL MApi_XC_LD_SetMemoryAddress_U2(void* pInstance, MS_U8 u8MIU ,MS_PHY u32LDFBase0,MS_PHY u32LDFBase1,MS_PHY u32LDBBase0,MS_PHY u32LDBBase1,MS_PHY u32EDGE2DBase,MS_PHY u32LEDoffset);
2273 MS_BOOL MApi_XC_LD_Get_Value_U2(void* pInstance, MS_U8 *pu8LDValue, MS_U8 u8WSize, MS_U8 u8HSize);
2274 MS_BOOL MApi_XC_LD_SetLevel_U2(void* pInstance, EN_LD_MODE eMode);
2275 MS_BOOL MApi_Set_TurnoffLDBL_U2(void* pInstance, MS_BOOL bturnoffbl);
2276 MS_BOOL MApi_Set_notUpdateSPIDataFlags_U2(void* pInstance, MS_BOOL brefreshSpidata);
2277 MS_BOOL MApi_Set_UsermodeLDFlags_U2(void* pInstance, MS_BOOL buserLDFlags);
2278 MS_BOOL MApi_Set_BLLevel_U2(void* pInstance, MS_U8 u8BLLeve);
2279 void MApi_XC_Set_BWS_Mode_U2(void* pInstance, MS_BOOL bEnable, SCALER_WIN eWindow);
2280 void MApi_XC_FRC_ColorPathCtrl_U2(void* pInstance, MS_U16 u16Path_sel, MS_BOOL bEnable);
2281 void MApi_XC_FRC_OP2_SetRGBGain_U2(void* pInstance, MS_U16 u16RedGain, MS_U16 u16GreenGain, MS_U16 u16BlueGain);
2282 void MApi_XC_FRC_OP2_SetRGBOffset_U2(void* pInstance, MS_U16 u16RedOffset, MS_U16 u16GreenOffset, MS_U16 u16BlueOffset);
2283 void MApi_XC_FRC_OP2_SetDither_U2(void* pInstance, MS_U16 u16dither);
2284 MS_BOOL MApi_XC_FRC_BypassMFC_U2(void* pInstance, MS_BOOL bEnable);
2285 void MApi_XC_FRC_Mute_U2(void* pInstance, MS_BOOL bEnable);
2286 E_APIXC_ReturnValue MApi_XC_ForceReadFrame_U2(void* pInstance, MS_BOOL bEnable, MS_U16 u16FrameIndex);
2287 void MApi_XC_SetCsc_U2(void* pInstance,  MS_BOOL bEnable, SCALER_WIN eWindow );
2288 void MApi_XC_RegisterPQSetFPLLThreshMode_U2(void* pInstance, void (*fpPQCB)(MS_U8 u8PQWin));
2289 MS_BOOL MApi_XC_GetFreeRunStatus_U2(void* pInstance);
2290 void MApi_XC_BYPASS_SetCSC_U2(void* pInstance, MS_BOOL bEnable);
2291 E_APIXC_ReturnValue MApi_XC_Get_DSForceIndexSupported_U2(void* pInstance, SCALER_WIN eWindow);
2292 E_APIXC_ReturnValue MApi_XC_Set_DSForceIndex_U2(void* pInstance, MS_BOOL bEnable, MS_U8 u8Index, SCALER_WIN eWindow);
2293 E_APIXC_ReturnValue MApi_XC_Set_DSIndexSourceSelect_U2(void* pInstance, E_XC_DS_INDEX_SOURCE eDSIdxSrc, SCALER_WIN eWindow);
2294 MS_BOOL MApi_XC_GetDynamicScalingStatus_U2(void* pInstance);
2295 E_APIXC_ReturnValue MApi_XC_OSDC_InitSetting_U2(void* pInstance, E_XC_OSDC_TGEN_Type E_XC_OSDC_TGEN_Type, MS_XC_OSDC_TGEN_INFO *pstOC_Tgen_Cus, MS_XC_OSDC_CTRL_INFO *pstOC_Ctrl);
2296 void MApi_XC_OSDC_SetOutVfreqx10_U2(void* pInstance, MS_U16 u16Vfreq);
2297 E_APIXC_ReturnValue MApi_XC_OSDC_Control_U2(void* pInstance, MS_U32 eCtrl_type);
2298 E_APIXC_ReturnValue MApi_XC_OSDC_GetDstInfo_U2(void* pInstance, MS_OSDC_DST_DispInfo *pDstInfo, MS_U32 u32SizeofDstInfo);
2299 MS_U32 MApi_XC_SetPowerState_U2(void* pInstance, EN_POWER_MODE enPowerState);
2300 void MApi_XC_BYPASS_SetOSDVsyncPos_U2(void* pInstance, MS_U16 u16VsyncStart, MS_U16 u16VsyncEnd);
2301 void MApi_XC_BYPASS_SetInputSrc_U2(void* pInstance, MS_BOOL bEnable, E_XC_BYPASS_InputSource input);
2302 E_APIXC_ReturnValue MApi_XC_SetSeamlessZapping_U2(void* pInstance, SCALER_WIN eWindow, MS_BOOL bEnable);
2303 E_APIXC_ReturnValue MApi_XC_GetSeamlessZappingStatus_U2(void* pInstance, SCALER_WIN eWindow, MS_BOOL* pbEnable);
2304 E_APIXC_ReturnValue MApi_XC_Vtrack_SetPayloadData_U2(void* pInstance, MS_U16 u16Timecode, MS_U8 u8OperatorID);
2305 E_APIXC_ReturnValue MApi_XC_Vtrack_SetUserDefindedSetting_U2(void* pInstance, MS_BOOL bUserDefinded, MS_U8 *pu8Setting);
2306 E_APIXC_ReturnValue MApi_XC_Vtrack_Enable_U2(void* pInstance, MS_U8 u8FrameRate, MS_BOOL bEnable);
2307 void MApi_XC_PreSetPQInfo_U2(void* pInstance, XC_SETWIN_INFO *pstXC_SetWin_Info, SCALER_WIN eWindow);
2308 MS_BOOL MApi_XC_Is_OP1_TestPattern_Enabled_U2(void* pInstance);
2309 E_APIXC_ReturnValue MApi_XC_Set_OP1_TestPattern_U2(void* pInstance, EN_XC_OP1_PATTERN ePattern, EN_XC_OP1_PATGEN_MODE eMode);
2310 E_APIXC_ReturnValue MApi_XC_Set_OP2_Pattern_U2(void* pInstance, MS_BOOL bEnable, MS_U16 u16R_Data, MS_U16 u16G_Data ,MS_U16 u16B_Data);
2311 MS_BOOL MApi_XC_CheckWhiteBalancePatternModeSupport_U2(void* pInstance, EN_XC_WB_PATTERN_MODE enWBPatternMode);
2312 E_APIXC_ReturnValue MApi_XC_SetHLinearScaling_U2(void* pInstance, MS_BOOL bEnable, MS_BOOL bSign, MS_U16 u16Delta, SCALER_WIN eWindow);
2313 E_APIXC_ReturnValue MApi_XC_SetForceWrite_U2(void* pInstance,  EN_MUTE_TYPE enMuteType, MS_BOOL bIsForceWrite);
2314 MS_BOOL MApi_XC_GetForceWrite_U2(void* pInstance,  EN_MUTE_TYPE enMuteType);
2315 // OBSOLETE FUNCTION POINTER START
2316 MS_U16  mvideo_sc_get_output_vfreq_U2(void* pInstance);
2317 MS_U32  MApi_XC_Get_Current_OutputVFreqX100_U2(void* pInstance);
2318 E_APIXC_ReturnValue MApi_XC_SetMemoryWriteRequest_U2(void* pInstance, MS_BOOL bEnable);
2319 MS_BOOL MApi_XC_Set_MemFmt_U2(void* pInstance, MS_XC_MEM_FMT eMemFmt);
2320 E_APIXC_ReturnValue MApi_XC_SetOutputAdjustSetting_U2(void* pInstance, XC_OUTPUT_TIMING_ADJUST_SETTING *stAdjSetting);
2321 void    msAPI_Scaler_FPLL_FSM_U2(void* pInstance, SCALER_WIN eWindow);
2322 void    MApi_XC_EnableMirrorMode_U2(void* pInstance,  MS_BOOL bEnable );
2323 void    MApi_XC_EnableMirrorMode2_U2(void* pInstance,  MirrorMode_t eMirrorMode );
2324 MirrorMode_t MApi_XC_GetMirrorModeType_U2(void* pInstance);
2325 // OBSOLETE FUNCTION POINTER END
2326 
2327 E_APIXC_ReturnValue MApi_XC_EnableT3D_U2(void* pInstance, MS_BOOL bEnable);
2328 E_APIXC_ReturnValue MApi_XC_Set_FRC_InputTiming_U2(void* pInstance, E_XC_FRC_InputTiming enFRC_InputTiming);
2329 E_APIXC_ReturnValue MApi_XC_Get_FRC_InputTiming_U2(void* pInstance, E_XC_FRC_InputTiming *penFRC_InputTiming);
2330 E_APIXC_ReturnValue MApi_XC_Get_VirtualBox_Info_U2(void * pInstance,XC_VBOX_INFO * pstXC_VboxInfo);
2331 E_APIXC_ReturnValue MApi_XC_Set_OSD_Detect_U2(void* pInstance,MS_BOOL bEnable, MS_U32 Threhold);
2332 E_APIXC_ReturnValue MApi_XC_Get_OSD_Detect_U2(void* pInstance,MS_BOOL *pbOSD);
2333 E_APIXC_ReturnValue MApi_XC_Enable_LockFreqOnly_U2(void* pInstance, MS_BOOL bEnable);
2334 MS_BOOL             MApi_XC_Is2K2KToFrcMode_U2(void* pInstance);
2335 //MS_BOOL             MApi_XC_Set_2P_Mode_U2(void* pInstance, MS_BOOL bEnable, SCALER_WIN eWindow);
2336 MS_BOOL MApi_XC_Set_XC_VOP_U2(void * pInstance, MS_XC_VOP_Data stXCVOPData);
2337 MS_U8 MApi_XC_GetSWDSIndex_U2(void* pInstance);
2338 MS_BOOL MApi_XC_Is_SupportSWDS_U2(void *pInstance);
2339 MS_U8 MApi_XC_Get_FRCM_FrameNum_U2(void* pInstance, SCALER_WIN eWindow);
2340 
2341 #ifdef UFO_XC_FB_LEVEL
2342 E_APIXC_ReturnValue MApi_XC_Set_FB_Level_U2(void* pInstance, E_XC_FB_LEVEL eFBLevel, SCALER_WIN eWindow);
2343 E_XC_FB_LEVEL MApi_XC_Get_FB_Level_U2(void* pInstance, SCALER_WIN eWindow);
2344 #endif
2345 
2346 #ifdef UFO_XC_SET_DSINFO_V0
2347 void MApi_XC_SetDSInfo_U2(void* pInstance,XC_DS_INFO *pstSetDSInfo, MS_U32 u32DSInfoLen, SCALER_WIN eWindow);
2348 #endif
2349 E_APIXC_ReturnValue MApi_XC_VideoPlaybackCtrl_U2(void* pInstance,MS_U32 u32Cmd,void *pCmdArgs,MS_U32 u32CmdArgsSize);
2350 
2351 #ifdef UFO_XC_AUTO_DOWNLOAD
2352 E_APIXC_ReturnValue MApi_XC_AutoDownload_Config_U2(void* pInstance, XC_AUTODOWNLOAD_CONFIG_INFO *pstConfigInfo);
2353 E_APIXC_ReturnValue MApi_XC_AutoDownload_Write_U2(void* pInstance, XC_AUTODOWNLOAD_DATA_INFO *pstDataInfo);
2354 E_APIXC_ReturnValue MApi_XC_AutoDownload_Fire_U2(void* pInstance, EN_XC_AUTODOWNLOAD_CLIENT enClient);
2355 #endif
2356 #ifdef UFO_XC_HDR
2357 #if (UFO_XC_HDR_VERSION == 2)
2358 E_APIXC_ReturnValue MApi_XC_HDR_Control_U2(void* pInstance, EN_XC_HDR_CTRL_TYPE enCtrlType, void *pParam);
2359 #endif
2360 #endif
2361 #ifdef UFO_XC_SETBLACKVIDEOBYMODE
2362 E_APIXC_ReturnValue MApi_XC_GenerateBlackVideoByMode_U2(void* pInstance, MS_BOOL bEnable, SCALER_WIN eWindow, EN_XC_BLACK_VIDEO_MODE eMode);
2363 #endif
2364 MS_BOOL MApi_XC_OPTEE_Control_U2(void *pInstance,EN_XC_OPTEE_ACTION action,XC_OPTEE_HANDLER* xc_handler);
2365 MS_BOOL  MApi_XC_OPTEE_CheckRBase_U2(void *pInstance,SCALER_WIN eWindow);
2366 MS_BOOL MApi_XC_OPTEE_Mux_U2(void *pInstance,EN_XC_OPTEE_ACTION action,XC_OPTEE_MUX_DATA xc_mux_data);
2367 MS_U32 MApi_XC_GetResourceByPipeID_U2(void* pInstance,MS_U32 u32PipeID, MS_U32*  U32RetResNum, RESOURCE* pResource);
2368 MS_U32 MApi_XC_ConfigPipe_U2(void* pInstance,MS_U32 u32PipeID, MS_U32 u32SecureDMA, MS_U32 u32OperationMode);
2369 MS_U32 MApi_XC_CheckPipe_U2(void* pInstance,MS_U32 u32PipeID, MS_U32 u32SecureDMA, MS_U32 u32OperationMode);
2370 
2371 // APIXC_ADC_H
2372 void    MApi_XC_ADC_SetCVBSOut_U2(void* pInstance, MS_BOOL bEnable, E_DEST_TYPE enOutputType , INPUT_SOURCE_TYPE_t enInputPortType, MS_BOOL isDigitalSource);
2373 MS_BOOL MApi_XC_ADC_IsCVBSOutEnabled_U2(void* pInstance, E_DEST_TYPE enOutputType);
2374 void    MApi_XC_ADC_SetPcClock_U2(void* pInstance, MS_U16 u16Clock);
2375 void    MApi_XC_ADC_SetPhase_U2(void* pInstance, MS_U8 u8Value);
2376 void    MApi_XC_ADC_SetPhaseEx_U2(void* pInstance, MS_U16 u16Value);
2377 MS_U16  MApi_XC_ADC_GetPhaseRange_U2(void* pInstance);
2378 MS_U8   MApi_XC_ADC_GetPhase_U2(void* pInstance);
2379 MS_U16  MApi_XC_ADC_GetPhaseEx_U2(void* pInstance);
2380 MS_BOOL MApi_XC_ADC_IsScartRGB_U2(void* pInstance);
2381 MS_U16  MApi_XC_ADC_GetPcClock_U2(void* pInstance);
2382 void    MApi_XC_ADC_GetSoGLevelRange_U2(void* pInstance, MS_U32 *u32min, MS_U32 *u32max, MS_U32 *u32Recommend_value);
2383 void    MApi_XC_ADC_SetSoGLevel_U2(void* pInstance, MS_U32 u32Value);
2384 void    MApi_XC_ADC_PowerOff_U2(void* pInstance);
2385 void    MApi_XC_ADC_GetDefaultGainOffset_U2(void* pInstance, INPUT_SOURCE_TYPE_t eSource , APIXC_AdcGainOffsetSetting* pstADCSetting);
2386 MS_U16  MApi_XC_ADC_GetMaximalOffsetValue_U2(void* pInstance);
2387 MS_U16  MApi_XC_ADC_GetMaximalGainValue_U2(void* pInstance);
2388 MS_U16  MApi_XC_ADC_GetCenterGain_U2(void* pInstance);
2389 MS_U16  MApi_XC_ADC_GetCenterOffset_U2(void* pInstance);
2390 void    MApi_XC_ADC_SetGain_U2(void* pInstance, MS_U8 u8Color, MS_U16 u16Value);
2391 void    MApi_XC_ADC_SetOffset_U2(void* pInstance, MS_U8 u8Color, MS_U16 u16Value);
2392 void    MApi_XC_ADC_AdjustGainOffset_U2(void* pInstance, APIXC_AdcGainOffsetSetting* pstADCSetting);
2393 void    MApi_XC_ADC_Source_Calibrate_U2(void* pInstance, INPUT_SOURCE_TYPE_t enInputSourceType);
2394 void    MApi_XC_ADC_SetSoGCal_U2(void* pInstance);
2395 void    MApi_XC_ADC_SetRGB_PIPE_Delay_U2(void* pInstance, MS_U8 u8Value);
2396 void    MApi_XC_ADC_ScartRGB_SOG_ClampDelay_U2(void* pInstance, MS_U16 u16Clpdly, MS_U16 u16Caldur);
2397 void    MApi_XC_ADC_Set_YPbPrLooseLPF_U2(void* pInstance, MS_BOOL benable);
2398 void    MApi_XC_ADC_Set_SOGBW_U2(void* pInstance, MS_U16 u16value);
2399 void    MApi_XC_ADC_SetClampDuration_U2(void* pInstance, MS_U16 u16Value);
2400 MS_BOOL MApi_XC_ADC_EnableHWCalibration_U2(void* pInstance, MS_BOOL bEnable);
2401 MS_BOOL MApi_XC_ADC_SetIdacCurrentMode_U2(void* pInstance, ADC_DacCurrentMode_t eMode);
2402 ADC_DacCurrentMode_t MApi_XC_ADC_GetIdacCurrentMode_U2(void* pInstance);
2403 
2404 
2405 // APIXC_AUTO_H
2406 MS_BOOL MApi_XC_Auto_Geometry_U2(void* pInstance, XC_Auto_TuneType enAutoTuneType, XC_Auto_Signal_Info *ActiveInfo, XC_Auto_Signal_Info *StandardInfo, SCALER_WIN eWindow);
2407 MS_BOOL MApi_XC_Auto_Geometry_Ex_U2(void* pInstance, XC_Auto_TuneType enAutoTuneType, XC_Auto_Signal_Info_Ex *ActiveInfo, XC_Auto_Signal_Info_Ex *StandardInfo, SCALER_WIN eWindow);
2408 MS_BOOL MApi_XC_Auto_StopAutoGeometry_U2(void* pInstance);
2409 MS_BOOL MApi_XC_Auto_GainOffset_U2(void* pInstance, XC_Auto_CalibrationType type, XC_Auto_TuneType enAutoTuneType,  APIXC_AdcGainOffsetSetting *pstADCSetting, SCALER_WIN eWindow);
2410 MS_BOOL MApi_XC_Auto_GetHWFixedGainOffset_U2(void* pInstance, XC_Auto_TuneType enAutoTuneType, APIXC_AdcGainOffsetSetting *pstADCSetting);
2411 MS_BOOL MApi_XC_Auto_SetValidData_U2(void* pInstance, MS_U8 Value);
2412 void    MApi_XC_Auto_AutoOffset_U2(void* pInstance, MS_BOOL bEnable, MS_BOOL bIsYPbPrFlag);
2413 MS_BOOL MApi_XC_Auto_DetectWidth_U2(void* pInstance, XC_Auto_Signal_Info_Ex *pSignalInfo , SCALER_WIN eWindow);
2414 MS_BOOL MApi_XC_Auto_SetCalibrationMode_U2(void* pInstance, XC_Auto_CalibrationMode eMode);
2415 void    MApi_XC_Auto_GetCalibrationMode_U2(void* pInstance, XC_Auto_CalibrationMode *eMode);
2416 void    MApi_XC_AUTO_GetSyncInfo_U2(void* pInstance,XC_AUTO_SYNC_INFO *pSyncInfo);
2417 
2418 // APIXC_MODEPARSE_H
2419 MS_BOOL MApi_XC_ModeParse_Init_U2(void* pInstance);
2420 XC_MODEPARSE_RESULT MApi_XC_ModeParse_MatchMode_U2(void* pInstance, MS_PCADC_MODETABLE_TYPE* ModeDB, MS_U8 u8NumberOfItems , XC_MODEPARSE_INPUT_INFO *psInputInfo);
2421 XC_MODEPARSE_RESULT MApi_XC_ModeParse_MatchModeEx_U2(void* pInstance, MS_PCADC_MODETABLE_TYPE_EX* ModeDB, MS_U8 u8NumberOfItems , XC_MODEPARSE_INPUT_INFO *psInputInfo);
2422 
2423 
2424 // APIXC_PCMONITOR_H
2425 MS_BOOL MApi_XC_PCMonitor_Init_U2(void* pInstance, MS_U8 u8MaxWindowNum);
2426 void MApi_XC_PCMonitor_Restart_U2(void* pInstance, SCALER_WIN eWindow);
2427 void MApi_XC_PCMonitor_SetTimingCount_U2(void* pIstance, MS_U16 u16TimingStableCounter, MS_U16 u16TimingNosyncCounter);
2428 XC_PCMONITOR_STATUS MApi_XC_PCMonitor_U2(void* pInstance, INPUT_SOURCE_TYPE_t src, SCALER_WIN eWindow);
2429 XC_PCMONITOR_STATUS MApi_XC_PCMonitor_GetCurrentState_U2(void* pInstance, SCALER_WIN eWindow);
2430 MS_U8 MApi_XC_PCMonitor_GetSyncStatus_U2(void* pInstance, SCALER_WIN eWindow);
2431 MS_U16 MApi_XC_PCMonitor_Get_HFreqx10_U2(void* pInstance, SCALER_WIN eWindow);
2432 MS_U32 MApi_XC_PCMonitor_Get_HFreqx1K_U2(void* pInstance, SCALER_WIN eWindow);
2433 MS_U16 MApi_XC_PCMonitor_Get_VFreqx10_U2(void* pInstance, SCALER_WIN eWindow);
2434 MS_U32 MApi_XC_PCMonitor_Get_VFreqx1K_U2(void* pInstance, SCALER_WIN eWindow);
2435 MS_U16 MApi_XC_PCMonitor_Get_Vtotal_U2(void* pInstance, SCALER_WIN eWindow);
2436 void MApi_XC_PCMonitor_Get_Dvi_Hdmi_De_Info_U2(void* pInstance, SCALER_WIN eWindow,MS_WINDOW_TYPE* msWin);
2437 MS_BOOL MApi_XC_PCMonitor_SyncLoss_U2(void* pInstance, SCALER_WIN eWindow);
2438 MS_BOOL MApi_XC_PCMonitor_InvalidTimingDetect_U2(void* pInstance, MS_BOOL bPollingOnly, SCALER_WIN eWindow);
2439 E_APIXC_ReturnValue MApi_XC_PCMonitor_SetTimingCountEx_U2(void* pInstance,  INPUT_SOURCE_TYPE_t eCurrentSrc, MS_U16 u16TimingStableCounter, MS_U16 u16TimingNosyncCounter);
2440 
2441 
2442 
2443 // DRVXC_HDMI_IF_H
2444 MS_U16 MDrv_HDMI_Func_Caps_U2(void* pInstance);
2445 stHDMI_INITIAL_TABLE MDrv_HDMI_init_U2(void* pInstance);
2446 void MDrv_HDMI_Exit_U2(void* pInstance);
2447 void MDrv_HDMI_pkt_reset_U2(void* pInstance,  HDMI_REST_t breset );
2448 void MDrv_HDMI_pullhpd_U2(void* pInstance,  MS_BOOL bHighLow, E_MUX_INPUTPORT enInputPortType, MS_BOOL bInverse);
2449 MS_U16 MDrv_HDMI_GC_Info_U2(void* pInstance, MS_U8 ucHDMIInfoSource, HDMI_GControl_INFO_t gcontrol);
2450 void MDrv_HDMI_Packet_Received_U2(void* pInstance, MS_U8 ucHDMIInfoSource, MS_BOOL bEnable, MS_U32 ulPacketStatus);
2451 MS_HDMI_COLOR_FORMAT MDrv_HDMI_Get_ColorFormat_U2(void* pInstance, MS_U8 ucHDMIInfoSource);
2452 EN_HDMI_COLOR_RANGE MDrv_HDMI_Get_ColorRange_U2(void* pInstance, MS_U8 ucHDMIInfoSource);
2453 void MDrv_HDMI_Set_EQ_U2(void* pInstance, MS_HDMI_EQ enEq, MS_U8 u8EQValue);
2454 MS_BOOL MDrv_HDMI_Set_EQ_To_Port_U2(void* pInstance, MS_HDMI_EQ enEq, MS_U8 u8EQValue, E_MUX_INPUTPORT enInputPortType);
2455 void MDrv_HDMI_Audio_MUTE_Enable_U2(void* pInstance, MS_U16 u16MuteEvent, MS_U16 u16MuteMask);
2456 void MDrv_HDMI_Audio_Status_Clear_U2(void* pInstance);
2457 MS_HDMI_AR_TYPE MDrv_HDMI_Get_AspectRatio_U2(void* pInstance, MS_U8 ucHDMIInfoSource, MS_BOOL bEn_PAR, MS_BOOL bEn_AFAR);
2458 MS_HDMI_AR_TYPE MDrv_HDMI_Get_ActiveFormat_AspectRatio_U2(void* pInstance, MS_U8 ucHDMIInfoSource, MS_BOOL bEn_AFAR);
2459 EN_AVI_INFOFRAME_VERSION MDrv_HDMI_Get_AVIInfoFrameVer_U2(void* pInstance, MS_U8 ucHDMIInfoSource);
2460 MS_U8 MDrv_HDMI_err_status_update_U2(void* pInstance, MS_U8 ucHDMIInfoSource, MS_U8 u8value, MS_BOOL bread);
2461 void MDrv_HDMI_Get_PollingStatus_U2(void* pInstance, HDMI_POLLING_STATUS_t **pStatus);
2462 MS_BOOL MDrv_HDMI_IsHDMI_Mode_U2(void* pInstance);
2463 void MDrv_HDMI_Get_MID_info_U2(void* pInstance, MS_U8 ucHDMIInfoSource, MS_U8 * pu8ManufactorData);
2464 MS_BOOL MDrv_HDMI_get_packet_value_U2(void* pInstance, MS_U8 ucHDMIInfoSource, MS_HDMI_PACKET_STATE_t u8state, MS_U8 u8byte_idx, MS_U8 *pValue);
2465 MS_U16  MDrv_DVI_ChannelPhaseStatus_U2(void* pInstance,  MS_DVI_CHANNEL_TYPE u8Channel);
2466 void MDrv_DVI_SoftwareReset_U2(void* pInstance,  MS_U16 u16Reset );
2467 void mdrv_dvi_reset_U2(void* pInstance);
2468 MS_BOOL MDrv_HDMI_Get_AVIInfoActiveInfoPresent_U2(void* pInstance, MS_U8 ucHDMIInfoSource);
2469 void MDrv_DVI_ClkPullLow_U2(void* pInstance, MS_BOOL bPullLow, E_MUX_INPUTPORT enInputPortType);
2470 void MDrv_DVI_SwitchSrc_U2(void* pInstance, E_MUX_INPUTPORT enInputPortType, MS_U8 ucHDMIInfoSource);
2471 MS_BOOL MDrv_HDMI_SetForClockLessThan70Mhz_U2(void* pInstance,  E_MUX_INPUTPORT InputSourceType  );
2472 void MDrv_HDMI_dvi_adjust_U2(void* pInstance,  MS_BOOL bClockLessThan70MHz);
2473 void MDrv_HDMI_SetUpdatePhaseLineCount_U2(void* pInstance, INPUT_SOURCE_TYPE_t enInputSourceType);
2474 void MDrv_HDCP_Enable_U2(void* pInstance, MS_BOOL bEnable);
2475 MS_BOOL MDrv_HDMI_SetHdcpEnable_U2(void* pInstance, E_MUX_INPUTPORT enInputPortType,MS_BOOL bEnable);
2476 void MDrv_HDCP_ClearStatus_U2(void* pInstance);
2477 void MDrv_HDCP_initproductionkey_U2(void* pInstance,  MS_U8 * pu8HdcpKeyData );
2478 MS_U16 MDrv_HDCP_GetStatus_U2(void* pInstance);
2479 void MDrv_HDCP_Vsync_end_en_U2(void* pInstance, MS_BOOL bStable);
2480 void MDrv_HDMI_audio_output_U2(void* pInstance,  MS_BOOL bEnable );
2481 MS_U8 MDrv_HDMI_audio_cp_hdr_info_U2(void* pInstance, MS_U8 ucHDMIInfoSource);
2482 MS_U8 MDrv_HDMI_audio_channel_status_U2(void* pInstance, MS_U8 ucHDMIInfoSource, MS_U8 u8byte);
2483 HDMI_Ret_Value MDrv_HDMI_GetLibVer_U2(void* pInstance, const MSIF_Version **ppVersion);
2484 HDMI_Ret_Value MDrv_HDMI_GetInfo_U2(void* pInstance, MS_HDMI_INFO *pInfo);
2485 HDMI_Ret_Value MDrv_HDMI_GetStatus_U2(void* pInstance, MS_HDMI_Status *pStatus);
2486 void MDrv_HDMI_READ_DDCRAM_U2(void* pInstance, XC_DDCRAM_PROG_INFO *pstDDCRam_Info, MS_U32 u32SizeOfInfo);
2487 void MDrv_HDMI_PROG_DDCRAM_U2(void* pInstance, XC_DDCRAM_PROG_INFO *pstDDCRam_Info, MS_U32 u32SizeOfInfo);
2488 MS_HDMI_CONTENT_TYPE MDrv_HDMI_Get_Content_Type_U2(void* pInstance, MS_U8 ucHDMIInfoSource);
2489 MS_HDMI_EXT_COLORIMETRY_FORMAT MDrv_HDMI_Get_ExtColorimetry_U2(void* pInstance, MS_U8 ucHDMIInfoSource);
2490 MS_U8 MDrv_HDMI_Get_Pixel_Repetition_U2(void* pInstance, MS_U8 ucHDMIInfoSource);
2491 MS_BOOL MDrv_HDMI_Check4K2K_U2(void* pInstance, MS_U8 ucHDMIInfoSource);
2492 void MDrv_HDMI_3D_4Kx2K_Process_U2(void* pInstance, MS_U8 ucHDMIInfoSource);
2493 void MDrv_HDMI_AVG_ScaleringDown_U2(void* pInstance, MS_U8 ucHDMIInfoSource, MS_BOOL bTrue);
2494 E_HDMI_ADDITIONAL_VIDEO_FORMAT MDrv_HDMI_Check_Additional_Format_U2(void* pInstance, MS_U8 ucHDMIInfoSource);
2495 E_XC_3D_INPUT_MODE MDrv_HDMI_Get_3D_Structure_U2(void* pInstance, MS_U8 ucHDMIInfoSource);
2496 E_HDMI_3D_EXT_DATA_T MDrv_HDMI_Get_3D_Ext_Data_U2(void* pInstance, MS_U8 ucHDMIInfoSource);
2497 void MDrv_HDMI_Get_3D_Meta_Field_U2(void* pInstance, MS_U8 ucHDMIInfoSource, sHDMI_3D_META_FIELD *pdata);
2498 MS_U8 MDrv_HDMI_Get_VIC_Code_U2(void* pInstance, MS_U8 ucHDMIInfoSource);
2499 E_HDMI_VIC_4Kx2K_CODE MDrv_HDMI_Get_4Kx2K_VIC_Code_U2(void* pInstance, MS_U8 ucHDMIInfoSource);
2500 void MDrv_HDMI_ARC_PINControl_U2(void* pInstance, E_MUX_INPUTPORT enInputPortType, MS_BOOL bEnable, MS_BOOL bDrivingHigh);
2501 void MDrv_DVI_Software_Reset_U2(void* pInstance, E_MUX_INPUTPORT enInputPortType, MS_U16 u16Reset);
2502 MS_U32 MDrv_HDMI_SetPowerState_U2(void* pInstance, EN_POWER_MODE);
2503 void MDrv_DVI_HF_adjust_U2(void* pInstance);
2504 MS_U16 MDrv_HDMI_GetTMDSFreq_U2(void* pInstance);
2505 MS_BOOL MDrv_HDMI_CheckHDMI20_Setting_U2(void* pInstance, E_MUX_INPUTPORT enInputPortType);
2506 void MDrv_HDMI_Set5VDetectGPIOSelect_U2(void* pInstance, MS_U32 ul5VDetectGPIOIndex);
2507 MS_BOOL MDrv_HDMI_GetDEStableStatus_U2(void* pInstance, E_MUX_INPUTPORT enInputPortType);
2508 MS_BOOL MDrv_HDMI_Ctrl_U2(void* pInstance, MS_U8 ucHDMIInfoSource, MS_U32 u32Cmd, void *pBuf, MS_U32 u32BufSize);
2509 MS_U16 MDrv_HDMI_GetDataInfo_U2(void* pInstance, E_HDMI_GET_DATA_INFO enInfo, MS_U8 ucHDMIInfoSource);
2510 #ifdef UFO_XC_VMARK
2511 // APIXC_VMARK_H
2512 E_APIXC_ReturnValue MApi_XC_VMark_SetParameters_U2(void* pInstance, MS_U8 u8ServiceIndex, XC_VMARK_PARAMETER *pstXC_VMarkParameters);
2513 #endif
2514 void XCRegisterToUtopia(FUtopiaOpen ModuleType);
2515 MS_U32 XCOpenFull(void** ppInstance, const void* const pAttribute);
2516 MS_U32 XCOpenMinimum(void** ppInstance, const void* const pAttribute);
2517 MS_U32 XCOpenForTEE(void** ppInstance, const void* const pAttribute);
2518 MS_U32 XCClose(void* pInstance);
2519 MS_U32 XCIoctl(void* pInstance, MS_U32 u32Cmd, void* pArgs);
2520 MS_U32 _XCIoctl(void* pInstance, MS_U32 u32Cmd, void* pArgs);
2521 void XC_Initialize(XC_INSTANCE_PRIVATE* psXCInstPri, const void* const pAttribute);
2522 MS_U32 _ADCIoctl(void* pInstance, MS_U32 u32Cmd, void* pArgs);
2523 void ADC_Initialize(XC_INSTANCE_PRIVATE* psXCInstPri, const void* const pAttribute);
2524 MS_U32 _AUTOIoctl(void* pInstance, MS_U32 u32Cmd, void* pArgs);
2525 void AUTO_Initialize(XC_INSTANCE_PRIVATE* psXCInstPri, const void* const pAttribute);
2526 MS_U32 _MODEPARSEIoctl(void* pInstance, MS_U32 u32Cmd, void* pArgs);
2527 void MODEPARSE_Initialize(XC_INSTANCE_PRIVATE* psXCInstPri, const void* const pAttribute);
2528 MS_U32 _PCMONITORIoctl(void* pInstance, MS_U32 u32Cmd, void* pArgs);
2529 void PCMONITOR_Initialize(XC_INSTANCE_PRIVATE* psXCInstPri, const void* const pAttribute);
2530 MS_U32 _HDMI_IF_Ioctl(void * pInstance, MS_U32 u32Cmd, void * pArgs);
2531 void HDMI_IF_Initialize(XC_INSTANCE_PRIVATE* psXCInstPri, const void* const pAttribute);
2532 MS_BOOL MApi_XC_IsSupport2StepScaling_U2(void* pInstance);
2533 MS_BOOL MApi_XC_GetPQPathStatus_U2(void* pInstance, E_XC_PQ_Path_Type ePqPathType, MS_U16 u16Width, MS_U16 u16Height);
2534 #ifdef UFO_XC_VMARK
2535 void VMARK_Initialize(XC_INSTANCE_PRIVATE* psXCInstPri, const void* const pAttribute);
2536 MS_U32 _VMARKIoctl(void* pInstance, MS_U32 u32Cmd, void* pArgs);
2537 #endif
2538 void MApi_SWDS_Fire_U2(void *pInstance, SCALER_WIN eWindow );
2539 MS_BOOL MApi_XC_SetSWDRInfo_U2(void* pInstance, XC_SWDR_INFO *pSWDR_INFO);
2540 MS_BOOL MApi_XC_GetSWDRInfo_U2(void* pInstance, XC_SWDR_INFO *pSWDR_INFO);
2541 #ifdef UFO_XC_SUPPORT_HDMI_DOWNSCALE_OUTPUT_POLICY
2542 MS_U32 MApi_XC_GetHDMIPolicy_U2(void* pInstance);
2543 #endif
2544 
2545 #ifdef __cplusplus
2546 }
2547 #endif
2548 
2549 #undef _API_XC_PRIV_H_
2550 #endif // _API_XC_PRIV_H_
2551