xref: /utopia/UTPA2-700.0.x/mxlib/include/apiXC_v2.h (revision 53ee8cc121a030b8d368113ac3e966b4705770ef)
1 //<MStar Software>
2 //******************************************************************************
3 // MStar Software
4 // Copyright (c) 2010 - 2012 MStar Semiconductor, Inc. All rights reserved.
5 // All software, firmware and related documentation herein ("MStar Software") are
6 // intellectual property of MStar Semiconductor, Inc. ("MStar") and protected by
7 // law, including, but not limited to, copyright law and international treaties.
8 // Any use, modification, reproduction, retransmission, or republication of all
9 // or part of MStar Software is expressly prohibited, unless prior written
10 // permission has been granted by MStar.
11 //
12 // By accessing, browsing and/or using MStar Software, you acknowledge that you
13 // have read, understood, and agree, to be bound by below terms ("Terms") and to
14 // comply with all applicable laws and regulations
15 //
16 // 1. MStar shall retain any and all right, ownership and interest to MStar
17 //    Software and any modification/derivatives thereof.
18 //    No right, ownership, or interest to MStar Software and any
19 //    modification/derivatives thereof is transferred to you under Terms.
20 //
21 // 2. You understand that MStar Software might include, incorporate or be
22 //    supplied together with third party`s software and the use of MStar
23 //    Software may require additional licenses from third parties.
24 //    Therefore, you hereby agree it is your sole responsibility to separately
25 //    obtain any and all third party right and license necessary for your use of
26 //    such third party`s software.
27 //
28 // 3. MStar Software and any modification/derivatives thereof shall be deemed as
29 //    MStar`s confidential information and you agree to keep MStar`s
30 //    confidential information in strictest confidence and not disclose to any
31 //    third party.
32 //
33 // 4. MStar Software is provided on an "AS IS" basis without warranties of any
34 //    kind. Any warranties are hereby expressly disclaimed by MStar, including
35 //    without limitation, any warranties of merchantability, non-infringement of
36 //    intellectual property rights, fitness for a particular purpose, error free
37 //    and in conformity with any international standard.  You agree to waive any
38 //    claim against MStar for any loss, damage, cost or expense that you may
39 //    incur related to your use of MStar Software.
40 //    In no event shall MStar be liable for any direct, indirect, incidental or
41 //    consequential damages, including without limitation, lost of profit or
42 //    revenues, lost or damage of data, and unauthorized system use.
43 //    You agree that this Section 4 shall still apply without being affected
44 //    even if MStar Software has been modified by MStar in accordance with your
45 //    request or instruction for your use, except otherwise agreed by both
46 //    parties in writing.
47 //
48 // 5. If requested, MStar may from time to time provide technical supports or
49 //    services in relation with MStar Software to you for your use of
50 //    MStar Software in conjunction with your or your customer`s product
51 //    ("Services").
52 //    You understand and agree that, except otherwise agreed by both parties in
53 //    writing, Services are provided on an "AS IS" basis and the warranty
54 //    disclaimer set forth in Section 4 above shall apply.
55 //
56 // 6. Nothing contained herein shall be construed as by implication, estoppels
57 //    or otherwise
58 //    (a) conferring any license or right to use MStar name, trademark, service
59 //        mark, symbol or any other identification;
60 //    (b) obligating MStar or any of its affiliates to furnish any person,
61 //        including without limitation, you and your customers, any assistance
62 //        of any kind whatsoever, or any information; or
63 //    (c) conferring any license or right under any intellectual property right.
64 //
65 // 7. These terms shall be governed by and construed in accordance with the laws
66 //    of Taiwan, R.O.C., excluding its conflict of law rules.
67 //    Any and all dispute arising out hereof or related hereto shall be finally
68 //    settled by arbitration referred to the Chinese Arbitration Association,
69 //    Taipei in accordance with the ROC Arbitration Law and the Arbitration
70 //    Rules of the Association by three (3) arbitrators appointed in accordance
71 //    with the said Rules.
72 //    The place of arbitration shall be in Taipei, Taiwan and the language shall
73 //    be English.
74 //    The arbitration award shall be final and binding to both parties.
75 //
76 //******************************************************************************
77 
78 #ifndef _XC_H_
79 #define _XC_H_
80 
81 #ifdef __cplusplus
82 extern "C"
83 {
84 #endif
85 #include "MsTypes.h"
86 #include "UFO.h"
87 //******** ENUM DEFINITIONS ********//
88 
89 typedef enum
90 {
91     // APIXC
92     E_XC_CMD_NONE = 0,
93     E_XC_CMD_GET_LIB_VERSION,
94     E_XC_CMD_GET_INFO,
95     E_XC_CMD_GET_STATUS,
96 #if defined(UFO_PUBLIC_HEADER_700)
97     E_XC_CMD_GET_STATUS_NODELAY,
98 #endif
99     E_XC_CMD_GET_STATUS_EX,
100     E_XC_CMD_SET_DBG_LEVEL,
101     E_XC_CMD_SET_FPLL_CUSTOMERMODE,
102     E_XC_CMD_SET_IOMAPBASE,
103     E_XC_CMD_INIT,
104     E_XC_CMD_INIT_MISC,
105     E_XC_CMD_GET_MISC_STATUS,
106     E_XC_CMD_GET_CAPABILITY,
107     E_XC_CMD_GET_CHIPCAPS,
108     E_XC_CMD_EXIT,
109     E_XC_CMD_SET_DYNAMIC_SCALING,
110     E_XC_CMD_SET_DYNAMIC_SCALING_FLAG,
111     E_XC_CMD_GET_DNR_BASEOFFSET,
112     E_XC_CMD_GET_STORE_FRAMENUM,
113     E_XC_CMD_GET_FRAMENUM_FACTOR,
114     E_XC_CMD_SET_WINDOW,
115     E_XC_CMD_SET_DUALWINDOW,
116     E_XC_CMD_SET_TRAVELING_WINDOW,
117     E_XC_CMD_SET_INPUTSOURCE,
118 #if defined(UFO_PUBLIC_HEADER_212)
119     E_XC_CMD_SET_FIELD_DETECT,
120 #endif
121     E_XC_CMD_CHECK_YUVSPACE,
122     E_XC_CMD_CHECK_MEMORYFORMAT422,
123     E_XC_CMD_SET_FORCE_RGBIN,
124     E_XC_CMD_SET_MIRRORMODE_EX,
125     E_XC_CMD_GET_MIRRORMODE_TYPEEX,
126     E_XC_CMD_GET_SYNC_STATUS,
127 #if defined(UFO_PUBLIC_HEADER_500_3) || defined(UFO_PUBLIC_HEADER_500) || defined(UFO_PUBLIC_HEADER_700)
128     E_XC_CMD_CONFIG_CMA,
129 #endif
130     E_XC_CMD_SET_WAIT_OUTPUT_VSYNC,
131     E_XC_CMD_SET_WAIT_INPUT_VSYNC,
132     E_XC_CMD_SET_HDMI_SYNCMODE,
133     E_XC_CMD_GET_HDMI_SYNCMODE,
134     E_XC_CMD_SET_REPORT_WINDOW,
135     E_XC_CMD_SET_SKIP_OPWRITEOFF_IN_SETWINDOW,
136     E_XC_CMD_GET_SKIP_OPWRITEOFF_IN_SETWINDOW,
137     E_XC_SET_SKIP_DISABLE_OPWRITEOFF_IN_FPLL,
138     E_XC_CMD_SET_OPWRITEOFF_ENABLE,
139     E_XC_CMD_SET_OPWRITEOFF_ENABLE_TO_REG,
140     E_XC_CMD_FORCESET_OPWRITEOFF_ENABLE,
141     E_XC_CMD_GET_OPWRITEOFF_ENABLE,
142     E_XC_CMD_SET_DISPLAY_WIN_TO_REG,
143     E_XC_CMD_GET_DISPLAY_WIN_FROM_REG,
144     E_XC_CMD_SET_FREEZEIMG,
145     E_XC_CMD_CHECK_FREEZEIMG,
146     E_XC_CMD_SET_BOTHWINDOW_BLACKVIDEO,
147     E_XC_CMD_SET_BLACKSCREEN,
148     E_XC_CMD_SET_BLACKVIDEO,
149     E_XC_CMD_CHECK_BLACKVIDEO_ENABLE,
150     E_XC_CMD_SET_FRAMEBUFFERLESS,
151     E_XC_CMD_CHECK_FRAMEBUFFERLESS,
152     E_XC_CMD_SET_REQUEST_FRAMEBUFFERLESS,
153     E_XC_CMD_CHECK_REQUEST_FRAMEBUFFERLESS,
154     E_XC_CMD_GET_3D_HWVERSION,
155     E_XC_CMD_CHECK_3D_SUPPORT_HW2DTO3D,
156     E_XC_CMD_SET_3D_MODE,
157     E_XC_CMD_SET_3D_MAINWIN_FIRST,
158     E_XC_CMD_SET_3D_LR_EXCHANGE,
159     E_XC_CMD_CHECK_3D_LR_EXCHANGED,
160     E_XC_CMD_GET_3D_INPUT_MODE,
161     E_XC_CMD_GET_3D_OUTPUT_MODE,
162     E_XC_CMD_GET_3D_PANELTYPE,
163     E_XC_CMD_GET_3D_MAINWIN_FIRST,
164     E_XC_CMD_CHECK_3D_MAINSUB_IPSYNC,
165     E_XC_CMD_SET_3D_VERTICALVIDEO_OFFSET,
166     E_XC_CMD_GET_3D_VERTICALVIDEO_OFFSET,
167     E_XC_CMD_CHECK_3D_FORMAT_SUPPORTED,
168     E_XC_CMD_SET_3D_HORIZONTAL_SHIFT,
169     E_XC_CMD_SET_3D_LR_SBS2LINE,
170     E_XC_CMD_GET_3D_HORIZONTAL_SHIFT,
171     E_XC_CMD_SET_3D_HW2DTO3D_BUFFER,
172     E_XC_CMD_SET_3D_HW2DTO3D_PARAMETERS,
173     E_XC_CMD_GET_3D_HW2DTO3D_PARAMETERS,
174     E_XC_CMD_SET_3D_DETECT_3DFORMAT_PARAMETERS,
175     E_XC_CMD_GET_3D_DETECT_3DFORMAT_PARAMETERS,
176     E_XC_CMD_GET_3D_FORMAT_DETECTED_BY_CONTENT,
177     E_XC_CMD_SET_NINELATTICE,
178     E_XC_CMD_SET_3D_POST_PQSETTING,
179     E_XC_CMD_SET_3D_FRAMEPACKING_INFO,
180     E_XC_CMD_SET_3D_AUTODETECT,
181     E_XC_CMD_GET_3D_AUTODETECT_3DFLAG,
182     E_XC_CMD_SET_3D_SUBWINCLOCK,
183     E_XC_CMD_CHECK_3D_LR_SBS2LINE,
184     E_XC_CMD_CHECK_3D_SKIP_DEFAULT_LR_FLAG,
185     E_XC_CMD_SET_3D_SKIP_DEFAULT_LR_FLAG,
186     E_XC_CMD_SET_MUX_INIT,
187     E_XC_CMD_SET_MUX_SOURCE_MONITOR,
188     E_XC_CMD_SET_MUX_CREATE_PATH,
189     E_XC_CMD_SET_MUX_DELETE_PATH,
190     E_XC_CMD_SET_MUX_ENABLE_PATH,
191     E_XC_CMD_SET_MUX_TRIGGER_PATH_SYNC_EVENT,
192     E_XC_CMD_SET_MUX_TRIGGER_DEST_ONOFF_EVENT,
193     E_XC_CMD_SET_MUX_ONOFF_PERIODIC_HANDLER,
194     E_XC_CMD_GET_MUX_PATHINFO,
195     E_XC_CMD_SET_MUX_SUPPORT_MHL_PATHINFO,
196     E_XC_CMD_SET_MUX_MHL_HOTPLUG_INVERSE_INFO,
197     E_XC_CMD_GET_MUX_HDMIPORT,
198     E_XC_CMD_GET_MUX_INPUTSOURCE2VDYMUXPORT,
199 #if defined(UFO_PUBLIC_HEADER_700)
200     E_XC_CMD_GET_MUX_MAPPINGTAB,
201 #endif
202     E_XC_CMD_SET_NR,
203     E_XC_CMD_SET_FILM_MODE_PATCH,
204     E_XC_CMD_CHECK_UC_ENABLED,
205     E_XC_CMD_SET_GENERATE_SPECIFIC_TIMING,
206     E_XC_CMD_GET_DE_BYPASS_MODE,
207     E_XC_CMD_GET_DE_WINDOW,
208     E_XC_CMD_GET_DE_WIN_WIDTH_HEIGHT_IN_DE_BYPASS_MODE,
209     E_XC_CMD_GET_CAPTURE_WINDOW,
210     E_XC_CMD_SET_CAPTURE_WINDOW_VSTART,
211     E_XC_CMD_SET_CAPTURE_WINDOW_HSTART,
212     E_XC_CMD_SET_CAPTURE_WINDOW_VSIZE,
213     E_XC_CMD_SET_CAPTURE_WINDOW_HSIZE,
214     E_XC_CMD_SET_SOFTWARE_RESET,
215     E_XC_CMD_GET_HFREQX10,
216     E_XC_CMD_GET_HFREQX1K,
217     E_XC_CMD_GET_VFREQX10,
218     E_XC_CMD_GET_VFREQX1K,
219     E_XC_CMD_GET_ACCURATE_VFREQX1k,
220     E_XC_CMD_SET_INTERRUPT_ATTACH,
221     E_XC_CMD_SET_INTERRUPT_DEATTACH,
222     E_XC_CMD_SET_DISABLE_INPUTSOURCE,
223     E_XC_CMD_CHECK_INPUTSOURCE_DISABLED,
224     E_XC_CMD_SET_CHANGE_PANELTYPE,
225     E_XC_CMD_GET_CURRENT_READBANK,
226     E_XC_CMD_GET_CURRENT_WRITEBANK,
227     E_XC_CMD_SET_AUTO_PRESCALING,
228     E_XC_CMD_GET_VSYNC_WIDTH,
229     E_XC_CMD_SET_GOP_ENABLE,
230     E_XC_CMD_SET_SELECT_IP_FOR_GOP,
231     E_XC_CMD_SET_VOP_NEW_BLENDING_LEVEL,
232     E_XC_CMD_GET_DESTINATION_INFO,
233     E_XC_CMD_SET_FDMASK_BYWIN,
234     E_XC_CMD_GET_FDMASK_BYWIN,
235     E_XC_CMD_SET_IP1_TESTPATTERN,
236     E_XC_CMD_SET_INIT_IP_FOR_INTERNAL_TIMING,
237     E_XC_CMD_SET_IPMUX,
238     E_XC_CMD_CHECK_HSYNC_ACTIVE,
239     E_XC_CMD_CHECK_VSYNC_ACTIVE,
240     E_XC_CMD_GET_AUTO_POSITION_WINDOW,
241     E_XC_CMD_SET_FRAMEBUFFER_ADDRESS,
242     E_XC_CMD_SET_FRCM_FRAMEBUFFER_ADDRESS,
243     E_XC_CMD_CHECK_FRAMEBUFFER_ENOUGH_FOR_CUSSCALING,
244     E_XC_CMD_SET_SCALER_MEMORY_REQUEST,
245     E_XC_CMD_GET_PIXEL_DATA,
246     E_XC_CMD_GET_AVAILABLE_SIZE,
247     E_XC_CMD_SET_FRAME_COLOR,
248     E_XC_CMD_SET_DISPLAY_WINDOW_COLOR,
249     E_XC_CMD_GET_SUPPORT_SOURCE_TO_VE,
250     E_XC_CMD_SET_OUTPUT_CAPTURE,
251     E_XC_CMD_SET_GAMMA_ONOFF,
252     E_XC_CMD_SET_PREGAMMA_GAIN,
253     E_XC_CMD_SET_PREGAMMA_OFFSET,
254     E_XC_CMD_SET_PANEL_TIMING,
255     E_XC_CMD_SET_OUTPUT_TIMING_MODE,
256     E_XC_CMD_SET_FREERUN_TIMING,
257     E_XC_CMD_SET_CUSTOMER_SYNC_INFO,
258     E_XC_CMD_GET_WAIT_FPLL_DONE,
259     E_XC_CMD_GET_OUTPUT_VFREQX100,
260     E_XC_CMD_GET_OP1_OUTPUT_VFREQX100,
261     E_XC_CMD_CHECK_FRAMELOCK,
262     E_XC_CMD_SET_CUSTOMIZE_FRC_TABLE,
263     E_XC_CMD_SET_OUTPUT_FRAME_CONTROL,
264     E_XC_CMD_SET_FPLL_FSM_ENABLE,
265     E_XC_CMD_SET_FORCE_FREERUN,
266     E_XC_CMD_CHECK_FORCE_FREERUN,
267     E_XC_CMD_SET_FREERUN_FREQ,
268     E_XC_CMD_SET_EXPANEL_INFO,
269     E_XC_CMD_SET_FPLL_THRESHMODE,
270     E_XC_CMD_GET_FPLL_THRESHMODE,
271     E_XC_CMD_SET_IPAUTONOSIGNAL,
272     E_XC_CMD_GET_IPAUTONOSIGNAL,
273     E_XC_CMD_SET_IPAUTOCOAST,
274     E_XC_CMD_SET_IPCOAST_DEBOUNCE_ENABLE,
275     E_XC_CMD_SET_CLEAR_IPCOAST_STATUS,
276     E_XC_CMD_SET_FPLL_MANUAL_SETTING_ENABLE,
277     E_XC_CMD_SET_FPLL_BOUNDARY_TEST,
278     E_XC_CMD_SET_OFFLINE_DETECTION,
279     E_XC_CMD_GET_OFFLINE_DETECTION,
280     E_XC_CMD_SET_OFFLINE_SOG_THRESHOLD,
281     E_XC_CMD_SET_OFFLINE_SOG_BW,
282     E_XC_CMD_SET_OFFLINE_INIT,
283     E_XC_CMD_SET_EXTRA_FETCH_ADV_LINE,
284     E_XC_CMD_SET_VGA_SOG_ENABLE,
285     E_XC_CMD_SET_WINDOW_ENABLE,
286     E_XC_CMD_CHECK_SUBWINDOW_ENABLE,
287     E_XC_CMD_SET_BORDER_FORMAT,
288     E_XC_CMD_SET_BORDER_ENABLE,
289     E_XC_CMD_SET_ZORDER_MAINWINDOW_FIRST,
290     E_XC_CMD_SET_PQ_LOADFUNCTION,
291     E_XC_CMD_CHECK_H_NONLINEAR_SCALING,
292     E_XC_CMD_SET_EUROHDTV_SUPPORT_ENABLE,
293     E_XC_CMD_SET_EUROHDTV_DETECTION_ENABLE,
294     E_XC_CMD_READBYTE,
295     E_XC_CMD_WRITEBYTE,
296     E_XC_CMD_WRITEBYTEMSK,
297     E_XC_CMD_WRITE2BYTEMSK,
298     E_XC_CMD_W2BYTE,
299     E_XC_CMD_R2BYTE,
300     E_XC_CMD_W4BYTE,
301     E_XC_CMD_R4BYTE,
302     E_XC_CMD_R2BYTEMSK,
303     E_XC_CMD_W2BYTEMSK,
304     E_XC_CMD_MLOAD_INIT,
305     E_XC_CMD_MLOAD_ENABLE,
306     E_XC_CMD_MLOAD_GETSTATUS,
307     E_XC_CMD_MLOAD_WRITE_CMD_AND_FIRE,
308     E_XC_CMD_MLOAD_WRITE_CMDS_AND_FIRE,
309     E_XC_CMD_MLOAD_COMBINE,
310     E_XC_CMD_MLG_INIT,
311     E_XC_CMD_MLG_ENABLE,
312     E_XC_CMD_MLG_GET_CAPS,
313     E_XC_CMD_MLG_GETSTATUS,
314     E_XC_CMD_SET_OSD2VEMODE,
315     E_XC_CMD_SET_IP2_PREFILTER_ENABLE,
316     E_XC_CMD_GET_PIXELRGB,
317     E_XC_CMD_SET_KEEP_PIXELPOINTER_APPEAR,
318     E_XC_CMD_SET_MEMORY_FORMAT_EX,
319     E_XC_CMD_CHECK_REQUEST_FRAMEBUFFERLESS_MODE,
320     E_XC_CMD_SET_SKIP_SWRESET,
321     E_XC_CMD_SET_REPORTWINDOW_FOR_FRAMECOLOR,
322     E_XC_CMD_SET_OSDLAYER,
323     E_XC_CMD_GET_OSDLAYER,
324     E_XC_CMD_SET_VIDEO_ALPHA,
325     E_XC_CMD_GET_VIDEO_ALPHA,
326     E_XC_CMD_SKIP_WAIT_VSYNC,
327 #if defined(UFO_PUBLIC_HEADER_500_3) || defined(UFO_PUBLIC_HEADER_500) ||defined(UFO_PUBLIC_HEADER_700)
328     E_XC_CMD_SET_CMA_HEAP_ID,
329 #endif
330     E_XC_CMD_SET_OP2VOP_DE_SELECTION,
331     E_XC_CMD_SET_FRC_WINDOW,
332     E_XC_CMD_SET_2INITFACTOR_ENABLE,
333     E_XC_CMD_CHECK_FIELDPACKINGMODE_SUPPORTED,
334     E_XC_CMD_PREINIT,
335     E_XC_CMD_GET_BUFFERDATA,
336     E_XC_CMD_SET_BUFFERDATA,
337     E_XC_CMD_SET_MAINWINDOW_ENABLE,
338     E_XC_CMD_SET_SUBWINDOW_ENABLE,
339     E_XC_CMD_SET_SUBWINDOW_DISABLE,
340     E_XC_CMD_SET_PIXEL_SHIFT,
341     E_XC_CMD_SET_VIDEO_ON_OSD,
342     E_XC_CMD_SET_OSD_LAYER_BLEANDING,
343     E_XC_CMD_SET_OSD_LAYER_ALPHA,
344     E_XC_CMD_SET_OSD_BLENDING_FORMULA,
345     E_XC_CMD_GET_REPORT_PIXEL_INFO,
346     E_XC_CMD_SET_SCALING,
347     E_XC_CMD_SET_MCDI_BUFFERADDRESS,
348     E_XC_CMD_SET_MCDI_ENABLE,
349     E_XC_CMD_SEND_CMD2FRC,
350     E_XC_CMD_GET_MSG_FROM_FRC,
351     E_XC_CMD_SET_AUTO_RWBANK_ENABLE,
352     E_XC_CMD_SET_RWBANK_MAPPING_NUM,
353     E_XC_CMD_GET_RWBANK_MAPPING_NUM,
354     E_XC_CMD_GET_RWBANK_MAPPING_NUM_FOR_ZAP,
355     E_XC_CMD_SET_BOBMODE,
356     E_XC_CMD_SET_FORCE_READBANK,
357     E_XC_CMD_SET_LOCK_POINT,
358     E_XC_CMD_LD_INIT,
359     E_XC_CMD_SET_LD_MEMORYADDRESS,
360     E_XC_CMD_GET_LD_VALUE,
361     E_XC_CMD_SET_LD_LEVEL,
362     E_XC_CMD_SET_LD_TURNOFF_LDBL,
363     E_XC_CMD_SET_NOTUPDATE_SPI_DATA_FLAGS,
364     E_XC_CMD_SET_LD_USERMODEFLAGS,
365     E_XC_CMD_SET_BL_LEVEL,
366     E_XC_CMD_SET_BWS_MODE,
367     E_XC_CMD_SET_FRC_COLOR_PATH_CONTROL,
368     E_XC_CMD_SET_FRC_OP2_RGBGAIN,
369     E_XC_CMD_SET_FRC_OP2_RGBOFFSET,
370     E_XC_CMD_SET_FRC_OP2_DITHER,
371     E_XC_CMD_FRC_BYPASS,
372     E_XC_CMD_FRC_MUTE,
373     E_XC_CMD_SET_FORCE_READ_FRAME,
374     E_XC_CMD_SET_CSC,
375     E_XC_CMD_SET_REGISTER_PQ_FPLL_THRESH_MODE,
376     E_XC_CMD_GET_FREERUN_STATUS,
377     E_XC_CMD_SET_BYPASS_CSC,
378     E_XC_CMD_GET_DS_FORCE_INDEX_SUPPORTED,
379     E_XC_CMD_SET_DS_FORCE_INDEX,
380     E_XC_CMD_SET_DS_INDEX_SOURCE_SELECT,
381     E_XC_CMD_GET_DS_STATUS,
382 #if defined(UFO_PUBLIC_HEADER_212)
383     E_XC_CMD_SET_DS_REGMODE,
384 #endif
385 #if defined(UFO_PUBLIC_HEADER_300)
386     E_XC_CMD_SET_DS_FORCEI_DEIMODE,
387 #endif
388     E_XC_CMD_OSDC_INITSETTING,
389     E_XC_CMD_OSDC_SET_OUTPUTVFREQX10,
390     E_XC_CMD_OSDC_CONTROL,
391     E_XC_CMD_OSDC_GET_DESTINATION_INFO,
392     E_XC_CMD_SET_POWERSTATE,
393     E_XC_CMD_SET_BYPASS_OSDVSYNC_POS,
394     E_XC_CMD_SET_BYPASS_INPUTSRC,
395     E_XC_CMD_SET_SEAMLESS_ZAPPING,
396     E_XC_CMD_GET_SEAMLESS_ZAPPING_STATUS,
397     E_XC_CMD_SET_VTRACK_PAYLOADDATA,
398     E_XC_CMD_SET_VTRACK_USERDEFINED_SETTING,
399     E_XC_CMD_SET_VTRACK_ENABLE,
400     E_XC_CMD_PRESET_PQINFO,
401     E_XC_GET_OP1_TESTPATTERN_ENABLED,
402     E_XC_SET_OP1_TESTPATTERN,
403     E_XC_SET_OP2_TESTPATTERN,
404     E_XC_CHECK_WHITEBALANCE_PATTERN_MODE,
405     E_XC_SET_HLINEARSCALING,
406     E_XC_SET_ENABLE_T3D,
407     E_XC_SET_FRC_INPUTTIMING,
408     E_XC_GET_FRC_INPUTTIMING,
409     E_XC_CMD_GET_VBOX_INFO,
410     E_XC_SET_OSD_DETECT,
411     E_XC_GET_OSD_DETECT,
412     E_XC_IS2K2KTOFRCMODE,
413 #if defined(UFO_PUBLIC_HEADER_212) || defined(UFO_PUBLIC_HEADER_300)
414     E_XC_CMD_ENABLE_SWITCH_MAIN_SUB_ZORDER,
415 #endif
416 //    E_XC_SET2PMODE,
417     E_XC_CMD_SET_XC_VOP,
418     E_XC_CMD_GET_SWDSIndex,
419     E_XC_CMD_GET_IS_SupportSWDS,
420 #if defined(UFO_PUBLIC_HEADER_500_3) ||defined(UFO_PUBLIC_HEADER_500) || defined(UFO_PUBLIC_HEADER_700)
421     E_XC_CMD_GET_FRCM_FRAMENUM,
422 #endif
423     E_XC_CMD_SET_PIXEL_SHIFT_FEATURES,
424 #if defined(UFO_PUBLIC_HEADER_500) || defined(UFO_PUBLIC_HEADER_700)
425     E_XC_CMD_IS_SUPPORT_2_STEP_SCALING,
426 #endif
427 
428 #if defined(UFO_PUBLIC_HEADER_700)
429     E_XC_CMD_GET_PQ_PATH,
430 #endif
431 #if defined(UFO_PUBLIC_HEADER_300) || defined(UFO_PUBLIC_HEADER_700)
432     E_XC_ENABLE_LOCKFREQONLY,
433 #endif
434 
435 #if defined(UFO_PUBLIC_HEADER_500_3)||defined(UFO_PUBLIC_HEADER_500)||defined(UFO_PUBLIC_HEADER_700)
436 #ifdef UFO_XC_SET_DSINFO_V0
437     E_XC_CMD_SET_DSINFO,
438 #endif
439 #elif defined(UFO_PUBLIC_HEADER_300)
440     E_XC_CMD_SET_DSINFO,
441 #endif
442 
443 #if defined(UFO_PUBLIC_HEADER_700)
444     E_XC_CMD_DUMP_SHM,
445 #endif
446 #if defined(UFO_PUBLIC_HEADER_500_3) ||defined(UFO_PUBLIC_HEADER_500) || defined(UFO_PUBLIC_HEADER_700)
447     /*************************** BWD CONFIG **********************/
448     E_XC_CMD_SET_BWD_CONFIG,
449 #endif
450 
451 #if defined(UFO_PUBLIC_HEADER_700) || defined(UFO_PUBLIC_HEADER_300) || defined(UFO_PUBLIC_HEADER_212)
452     /****Force Write***********************************/
453     E_XC_CMD_SET_FORCE_WRITE,
454     E_XC_CMD_GET_FORCE_WRITE,
455 #elif (defined(UFO_PUBLIC_HEADER_500) && defined(UFO_XC_FORCEWRITE_V2))
456     /****Force Write***********************************/
457     E_XC_CMD_SET_FORCE_WRITE,
458     E_XC_CMD_GET_FORCE_WRITE,
459 #endif
460 
461 #if defined(UFO_PUBLIC_HEADER_500_3) || defined(UFO_PUBLIC_HEADER_500) || defined(UFO_PUBLIC_HEADER_700)
462 #ifdef UFO_XC_AUTO_DOWNLOAD
463     /****Auto download***********************************/
464     E_XC_CMD_AUTODOWNLOAD_CONFIG_CTRL,
465     E_XC_CMD_AUTODOWNLOAD_WRITE_CTRL,
466     E_XC_CMD_AUTODOWNLOAD_FIRE_CTRL,
467 #endif
468 #ifdef UFO_XC_HDR
469 #if (UFO_XC_HDR_VERSION == 2)
470     E_XC_CMD_HDR_CTRL,
471 #endif
472 #endif
473     E_XC_CMD_MLOAD_CUS_INIT,
474     E_XC_CMD_MLOAD_CUS_ENABLE,
475 #endif
476 
477 #if defined(UFO_PUBLIC_HEADER_300) || defined(UFO_PUBLIC_HEADER_500_3) || defined(UFO_PUBLIC_HEADER_500) || defined(UFO_PUBLIC_HEADER_700)
478     E_XC_CMD_OPTEE_CTL,
479     E_XC_CMD_OPTEE_CHECKRBASE,
480     E_XC_CMD_OPTEE_MUX,
481     E_XC_CMD_GET_RES_BY_PIPE,
482     E_XC_CMD_CONFIG_PIPE,
483     E_XC_CMD_CHECK_PIPE,
484     E_XC_CMD_POLL_EVENT,
485 #endif
486 
487 #if defined(UFO_PUBLIC_HEADER_500_3) || defined(UFO_PUBLIC_HEADER_700)
488     E_XC_CMD_GET3DFORMAT,
489 #endif
490 #if defined(UFO_PUBLIC_HEADER_500) || defined(UFO_PUBLIC_HEADER_700)
491 /*************** Enbale dual mode *******************/
492 #ifdef UFO_XC_SUPPORT_DUAL_MIU
493     E_XC_CMD_ENABLE_DUAL_MODE,
494 #endif
495 #endif
496     E_XC_CMD_SET_SWDR_INFO,
497     E_XC_CMD_GET_SWDR_INFO,
498 
499 //** OBSELETE FUNCTION**//
500     E_XC_CMD_GET_OUTPUT_VFREQ,
501     E_XC_CMD_GET_CURRENT_OUTPUTVFREQX100,
502     E_XC_CMD_SET_MEMORY_WRITE_REQUEST,
503     E_XC_CMD_SET_MEMORY_FORMAT,
504     E_XC_CMD_SET_OUTPUT_ADJUST_SETTING,
505     E_XC_CMD_SET_FPLL_FSM,
506     E_XC_CMD_SET_MIRROR_MODE_ENABLE,
507     E_XC_CMD_SET_MIRROR_MODE2_ENABLE,
508 #if defined(UFO_PUBLIC_HEADER_700) || defined(UFO_PUBLIC_HEADER_500_3)
509 #ifdef UFO_XC_SETBLACKVIDEOBYMODE
510     E_XC_CMD_SET_BLACKVIDEO_BYMODE,
511 #endif
512 #endif
513 
514 #if defined(UFO_PUBLIC_HEADER_500_3) || defined(UFO_PUBLIC_HEADER_500) || defined(UFO_PUBLIC_HEADER_700)
515 #ifdef UFO_XC_FB_LEVEL
516     E_XC_CMD_SET_FB_LEVEL,
517     E_XC_CMD_GET_FB_LEVEL,
518 #endif
519 #ifdef UFO_XC_DE_MODE
520     E_XC_CMD_SET_DE_MODE,
521 #endif
522 #endif
523 
524 #if defined(UFO_PUBLIC_HEADER_700) || defined(UFO_PUBLIC_HEADER_500)
525     E_XC_CMD_SET_TESTPATTERN,
526 #endif
527 #if defined(UFO_PUBLIC_HEADER_300) && defined(STELLAR)
528     E_XC_CMD_S_DISP_CTRL,
529 #endif
530 
531 #if defined(UFO_PUBLIC_HEADER_700) || defined(UFO_PUBLIC_HEADER_500) || defined(UFO_PUBLIC_HEADER_300)
532     E_XC_CMD_VIDEO_PLAYBACK_CTRL,
533 #endif
534 
535 #if defined(UFO_PUBLIC_HEADER_700) || defined(UFO_PUBLIC_HEADER_500)
536     E_XC_CMD_SWDS_FIRE,
537 #endif
538     E_XC_CMD_GET_CONFIG,
539     E_XC_CMD_GET_FDMASK_STATUS,
540 #if defined(UFO_PUBLIC_HEADER_500_3)
541     E_XC_CMD_SET_SCAN_TYPE,
542 #endif
543 #if defined(UFO_PUBLIC_HEADER_500) || defined(UFO_PUBLIC_HEADER_500_3)
544     E_XC_CMD_MAX = 500,
545 #else
546     E_XC_CMD_MAX,
547 #endif
548 //** OBSELETE FUNCTION**//
549 
550     // APIXC_ADC
551     E_XC_ADC_CMD_NONE,
552     E_XC_ADC_CMD_SETCVBSOUT,
553     E_XC_ADC_CMD_ISCVBSOUTENABLED,
554     E_XC_ADC_CMD_SETPCCLOCK,
555     E_XC_ADC_CMD_SETPHASE,
556     E_XC_ADC_CMD_SETPHASEEX,
557     E_XC_ADC_CMD_GETPHASERANGE,
558     E_XC_ADC_CMD_GETPHASE,
559     E_XC_ADC_CMD_GETPHASEEX,
560     E_XC_ADC_CMD_ISSCARTRGB,
561     E_XC_ADC_CMD_GETPCCLOCK,
562     E_XC_ADC_CMD_GETSOGLEVELRANGE,
563     E_XC_ADC_CMD_SETSOGLEVEL,
564     E_XC_ADC_CMD_POWEROFF,
565     E_XC_ADC_CMD_GETDEFAULTGAINOFFSET,
566     E_XC_ADC_CMD_GETMAXIMALOFFSETVALUE,
567     E_XC_ADC_CMD_GETMAXIMALGAINVALUE,
568     E_XC_ADC_CMD_GETCENTERGAIN,
569     E_XC_ADC_CMD_GETCENTEROFFSET,
570     E_XC_ADC_CMD_SETGAIN,
571     E_XC_ADC_CMD_SETOFFSET,
572     E_XC_ADC_CMD_ADJUSTGAINOFFSET,
573     E_XC_ADC_CMD_SOURCE_CALIBRATE,
574     E_XC_ADC_CMD_SETSOGCAL,
575     E_XC_ADC_CMD_SETRGB_PIPE_DELAY,
576     E_XC_ADC_CMD_SCARTRGB_SOG_CLAMPDELAY,
577     E_XC_ADC_CMD_SET_YPBPRLOOSELPF,
578     E_XC_ADC_CMD_SET_SOGBW,
579     E_XC_ADC_CMD_SETCLAMPDURATION,
580     E_XC_ADC_CMD_ENABLEHWCALIBRATION,
581     E_XC_ADC_CMD_SET_IDACCURRENTMODE,
582     E_XC_ADC_CMD_GET_IDACCURRENTMODE,
583     E_XC_ADC_CMD_MAX,
584 
585     // APIXC_AUTO
586     E_XC_AUTO_CMD_NONE,
587     E_XC_AUTO_CMD_GEOMETRY,
588     E_XC_AUTO_CMD_GEOMETRY_EX,
589     E_XC_AUTO_CMD_STOPAUTOGEOMETRY,
590     E_XC_AUTO_CMD_GAINOFFSET,
591     E_XC_AUTO_CMD_GETHWFIXEDGAINOFFSET,
592     E_XC_AUTO_CMD_SETVALIDDATA,
593     E_XC_AUTO_CMD_AUTOOFFSET,
594     E_XC_AUTO_CMD_DETECTWIDTH,
595     E_XC_AUTO_CMD_SETCALIBRATIONMODE,
596     E_XC_AUTO_CMD_GETCALIBRATIONMODE,
597     E_XC_AUTO_CMD_GETSYNCINFO,
598     E_XC_AUTO_CMD_MAX ,
599 
600     // APIXC_MHL
601     E_XC_MHL_CMD_NONE,
602     E_XC_MHL_CMD_INIT,
603     E_XC_MHL_CMD_HANDLER,
604     E_XC_MHL_CMD_SETHPD,
605     E_XC_MHL_CMD_POWERCTRL,
606     E_XC_MHL_CMD_WAKEUPDETECT_HANDLER,
607     E_XC_MHL_CMD_MAX,
608 
609     // APIXC_MODEPARSE
610     E_XC_MODEPARSE_CMD_NONE,
611     E_XC_MODEPARSE_CMD_INIT,
612     E_XC_MODEPARSE_CMD_MATCHMODE,
613     E_XC_MODEPARSE_CMD_MATCHMODEEX,
614     E_XC_MODEPARSE_CMD_MAX,
615 
616     // APIXC_PCMONITOR
617     E_XC_PCMONITOR_CMD_NONE,
618     E_XC_PCMONITOR_CMD_INIT,
619     E_XC_PCMONITOR_CMD_RESTART,
620     E_XC_PCMONITOR_CMD_SETTIMINGCOUNT,
621     E_XC_PCMONITOR_CMD,
622     E_XC_PCMONITOR_CMD_GETCURRENTSTATE,
623     E_XC_PCMONITOR_CMD_GETSYNCSTATUS,
624     E_XC_PCMONITOR_CMD_GET_HFREQX10,
625     E_XC_PCMONITOR_CMD_GET_HFREQX1K,
626     E_XC_PCMONITOR_CMD_GET_VFREQX10,
627     E_XC_PCMONITOR_CMD_GET_VFREQX1K,
628     E_XC_PCMONITOR_CMD_GET_VTOTAL,
629     E_XC_PCMONITOR_CMD_GET_DVI_HDMI_DE_INFO,
630     E_XC_PCMONITOR_CMD_SYNCLOSS,
631     E_XC_PCMONITOR_CMD_INVALIDTIMINGDETECT,
632     E_XC_PCMONITOR_CMD_SETTIMINGCOUNTEX,
633     E_XC_PCMONITOR_CMD_MAX,
634 
635     // DRVHDMI_IF
636     E_XC_HDMI_IF_CMD_NONE,
637     E_XC_HDMI_IF_CMD_FUNC_CAPS,
638     E_XC_HDMI_IF_CMD_INIT,
639     E_XC_HDMI_IF_CMD_EXIT,
640     E_XC_HDMI_IF_CMD_PKT_RESET,
641     E_XC_HDMI_IF_CMD_PULLHPD,
642     E_XC_HDMI_IF_CMD_GC_INFO,
643     E_XC_HDMI_IF_CMD_PACKET_RECEIVED,
644     E_XC_HDMI_IF_CMD_GET_COLORFORMAT,
645     E_XC_HDMI_IF_CMD_GET_COLORRANGE,
646     E_XC_HDMI_IF_CMD_SET_EQ,
647     E_XC_HDMI_IF_CMD_SET_EQ_TO_PORT,
648     E_XC_HDMI_IF_CMD_AUDIO_MUTE_ENABLE,
649     E_XC_HDMI_IF_CMD_AUDIO_STATUS_CLEAR,
650     E_XC_HDMI_IF_CMD_GET_ASPECTRATIO,
651     E_XC_HDMI_IF_CMD_GET_ACTIVEFORMAT_ASPECTRATIO,
652     E_XC_HDMI_IF_CMD_GET_AVIINFOFRAMEVER,
653     E_XC_HDMI_IF_CMD_ERR_STATUS_UPDATE,
654     E_XC_HDMI_IF_CMD_GET_TMDS_FREQ,
655     E_XC_HDMI_IF_CMD_GET_POLLINGSTATUS,
656     E_XC_HDMI_IF_CMD_ISHDMI_MODE,
657     E_XC_HDMI_IF_CMD_GET_MID_INFO,
658     E_XC_HDMI_IF_CMD_GET_PACKET_VALUE,
659     E_XC_DVI_IF_CMD_CHANNELPHASESTATUS,
660     E_XC_DVI_IF_CMD_SOFTWARERESET,
661     E_XC_DVI_IF_CMD_RESET,
662     E_XC_HDMI_IF_CMD_AVIINFO_ACTIVEINFOPRESENT,
663     E_XC_DVI_IF_CMD_CLKPULLLOW,
664     E_XC_DVI_IF_CMD_SWITCHSRC,
665     E_XC_HDMI_IF_CMD_SETFORCLOCKLESSTHAN70MHZ,
666     E_XC_HDMI_IF_CMD_DVI_ADJUST,
667     E_XC_HDMI_IF_CMD_SETUPDATEPHASELINECOUNT,
668     E_XC_HDCP_IF_CMD_ENABLE,
669     E_XC_HDMI_IF_CMD_SET_HDCP_ENABLE,
670     E_XC_HDCP_IF_CMD_CLEARSTATUS,
671     E_XC_HDCP_IF_CMD_INITPRODUCTIONKEY,
672     E_XC_HDCP_IF_CMD_GETSTATUS,
673     E_XC_HDCP_IF_CMD_VSYNC_END_EN,
674     E_XC_HDMI_IF_CMD_AUDIO_OUTPUT,
675     E_XC_HDMI_IF_CMD_AUDIO_CP_HDR_INFO,
676     E_XC_HDMI_IF_CMD_AUDIO_CHANNEL_STATUS,
677     E_XC_HDMI_IF_CMD_GETLIBVER,
678     E_XC_HDMI_IF_CMD_GETINFO,
679     E_XC_HDMI_IF_CMD_GETSTATUS,
680     E_XC_HDMI_IF_CMD_READ_DDCRAM,
681     E_XC_HDMI_IF_CMD_PROG_DDCRAM,
682     E_XC_HDMI_IF_CMD_GET_CONTENT_TYPE,
683     E_XC_HDMI_IF_CMD_GET_EXTCOLORIMETRY,
684     E_XC_HDMI_IF_CMD_GET_PIXEL_REPETITION,
685     E_XC_HDMI_IF_CMD_CHECK_4K2K,
686     E_XC_HDMI_IF_CMD_3D_4KX2K_PROCESS,
687     E_XC_HDMI_IF_CMD_AVG_SCALERINGDOWN,
688     E_XC_HDMI_IF_CMD_CHECK_ADDITIONAL_FORMAT,
689     E_XC_HDMI_IF_CMD_GET_3D_STRUCTURE,
690     E_XC_HDMI_CMD_GET_3D_EXT_DATA,
691     E_XC_HDMI_IF_CMD_GET_3D_META_FIELD,
692     E_XC_HDMI_IF_CMD_GET_VIC_CODE,
693     E_XC_HDMI_IF_CMD_GET_4KX2K_VIC_CODE,
694     E_XC_HDMI_IF_CMD_ARC_PINCONTROL,
695     E_XC_HDMI_IF_CMD_DVI_SOFTWARE_RESET,
696     E_XC_HDMI_IF_CMD_SET_POWERSTATE,
697     E_XC_HDMI_IF_CMD_DVI_HF_ADJUST,
698     E_XC_HDMI_IF_CMD_CHECK_HDMI20_SETTING,
699 #if defined(UFO_PUBLIC_HEADER_212) || defined(UFO_PUBLIC_HEADER_500_3) || defined(UFO_PUBLIC_HEADER_300) ||defined(UFO_PUBLIC_HEADER_500)
700     E_XC_HDMI_IF_CMD_STABLE_POLLING,
701     E_XC_HDMI_IF_CMD_GET_SOURCE_VERSION,
702 #endif
703     E_XC_HDMI_IF_CMD_SET_5V_DETECT_GPIO_SELECT,
704     E_XC_HDMI_IF_CMD_GET_DE_STABLE_STATUS,
705     E_XC_HDMI_IF_CMD_Check_HDCP14,
706 #if defined(UFO_PUBLIC_HEADER_700)
707     E_XC_HDMI_IF_CMD_GET_DATA_INFO,
708 #endif
709     /*************************** HDCP22 ***************************/
710 #if defined(UFO_PUBLIC_HEADER_500_3)
711     E_XC_HDMI_IF_CMD_HDCP22_FILL_CIPHER_KEY = 800,
712 #else
713     E_XC_HDMI_IF_CMD_HDCP22_FILL_CIPHER_KEY = 600,
714 #endif
715 #if defined(UFO_PUBLIC_HEADER_212) || defined(UFO_PUBLIC_HEADER_500_3) || defined(UFO_PUBLIC_HEADER_300) ||defined(UFO_PUBLIC_HEADER_500)
716     E_XC_HDMI_IF_CMD_HDCP22_INIT_CBFUNC,
717 #endif
718     E_XC_HDMI_IF_CMD_HDCP22_PORT_INIT,
719     E_XC_HDMI_IF_CMD_HDCP22_POLLING_READ_DONE,
720     E_XC_HDMI_IF_CMD_HDCP22_ENABLE_CIPHER,
721     E_XC_HDMI_IF_CMD_HDCP22_SEND_MSG,
722     E_XC_HDMI_IF_CMD_HDCP22_HANDLER,
723     /*************************** HDCP22 ***************************/
724 #if defined(UFO_PUBLIC_HEADER_500_3)
725     E_XC_HDMI_IF_CMD_CTRL = 1000,
726 #elif (defined(UFO_PUBLIC_HEADER_500) || defined(UFO_PUBLIC_HEADER_700))
727     E_XC_HDMI_IF_CMD_CTRL = 800,
728 #endif
729 #if defined(UFO_PUBLIC_HEADER_500_3)
730     //HDMI Rx property
731     MAPI_CMD_HDMIRX_INITIAL,
732     MAPI_CMD_HDMIRX_STABLE_POLLING,
733     MAPI_CMD_HDMIRX_GET_SOURCE_VERSION,
734     MAPI_CMD_HDMIRX_CHECK_HDCP_STATE,
735     MAPI_CMD_HDMIRX_CHECK_HDCP14_KEY,
736     MAPI_CMD_HDMIRX_GET_HDCP14_KEY_VAILD,
737     MAPI_CMD_HDMIRX_SET_HPD_INVERT_FLAG,
738     MAPI_CMD_HDMIRX_GET_PACKET_RECEIVE,
739     /*************************** HDCP Repeater ***************************/
740     MAPI_CMD_HDMIRX_WRITE_X74,
741     MAPI_CMD_HDMIRX_READ_X74,
742     MAPI_CMD_HDMIRX_SET_REPEATER,
743     MAPI_CMD_HDMIRX_SET_BSTATUS,
744     MAPI_CMD_HDMIRX_SET_HDMI_MODE,
745     MAPI_CMD_HDMIRX_GET_INTERRUPT_STATUS,
746     MAPI_CMD_HDMIRX_WRITE_KSV_LIST,
747     MAPI_CMD_HDMIRX_SET_VPRIME,
748     MAPI_CMD_HDMIRX_HDCP22_FILL_CIPHER_KEY,
749     MAPI_CMD_HDMIRX_HDCP22_PORT_INIT,
750     MAPI_CMD_HDMIRX_HDCP22_POLLING_READ_DONE,
751     MAPI_CMD_HDMIRX_HDCP22_ENABLE_CIPHER,
752     MAPI_CMD_HDMIRX_HDCP22_SEND_MESSAGE,
753     MAPI_CMD_HDMIRX_HDCP22_HANDLER,
754     /*************************** HDCP Repeater ***************************/
755     MAPI_CMD_HDMIRX_CHECK_HDCP_ENC_STATE,
756 #endif
757     E_XC_HDMI_IF_CMD_MAX,
758 
759     // VMARK
760     E_XC_VMARK_CMD_NONE = 2000,
761     E_XC_VMARK_CMD_SET_VMARK_PARAMETERS,
762     E_XC_VMARK_CMD_MAX,
763 
764 #if defined(UFO_PUBLIC_HEADER_700) || defined(UFO_PUBLIC_HEADER_500)
765     E_XC_CMD_GET_HDMIPOLICY,
766 #endif
767     E_XC_CMD_NUM,
768 } E_XC_IOCTL_CMDS;
769 
770 typedef struct DLL_PACKED
771 {
772     const MSIF_Version **ppVersion;
773     E_APIXC_ReturnValue eReturnValue;
774 } stXC_GET_LIB_VER,*pstXC_GET_LIB_VER;
775 
776 typedef struct DLL_PACKED
777 {
778     XC_ApiInfo* stReturnValue;
779 } stXC_CMD_GET_INFO, *pstXC_CMD_GET_INFO;
780 
781 typedef struct DLL_PACKED
782 {
783     XC_ApiStatus* pDrvStatus;
784     SCALER_WIN eWindow;
785     MS_BOOL bReturnValue;
786 } stXC_GET_STATUS,*pstXC_GET_STATUS;
787 
788 typedef struct DLL_PACKED
789 {
790     ST_XC_APISTATUSNODELAY* pDrvStatus;
791     SCALER_WIN eWindow;
792     MS_U16 u16ReturnValue;
793 } ST_XC_GET_STATUS_NODELAY,*PST_XC_GET_STATUS_NODELAY;
794 
795 typedef struct DLL_PACKED
796 {
797     XC_ApiStatusEx* pDrvStatusEx;
798     SCALER_WIN eWindow;
799     MS_U16 u16ReturnValue;
800 } stXC_GET_STATUS_EX,*pstXC_GET_STATUS_EX;
801 
802 typedef struct
803 {
804     MS_U16 u16DbgSwitch;
805     MS_BOOL bReturnValue;
806 } stXC_SET_DBG_LEVEL,*pstXC_SET_DBG_LEVEL;
807 
808 typedef struct
809 {
810     EN_FPLL_MODE eMode;
811     EN_FPLL_FLAG eFlag;
812     MS_U32 u32Data;
813 } stXC_SET_FPLL_CUSTOMERMODE, *pstXC_SET_FPLL_CUSTOMERMODE;
814 
815 typedef struct
816 {
817     MS_BOOL bReturnValue;
818 } stXC_CMD_SET_IOMAPBASE, *pstXC_CMD_SET_IOMAPBASE;
819 
820 typedef struct DLL_PACKED
821 {
822     XC_INITDATA *pXC_InitData;
823     MS_U32 u32InitDataLen;
824     MS_BOOL bReturnValue;
825 } stXC_INIT,*pstXC_INIT;
826 typedef struct DLL_PACKED
827 {
828     XC_INITDATA *pXC_InitData;
829     E_APIXC_ReturnValue eReturnValue;
830 } stXC_GET_CONFIG,*pstXC_GET_CONFIG;
831 
832 typedef struct DLL_PACKED
833 {
834     XC_INITMISC *pXC_Init_Misc;
835     MS_U32 u32InitMiscDataLen;
836     E_APIXC_ReturnValue eReturnValue;
837 } stXC_INIT_MISC,*pstXC_INIT_MISC;
838 
839 typedef struct DLL_PACKED
840 {
841     XC_INITMISC *pXC_Init_Misc;
842     E_APIXC_ReturnValue eReturnValue;
843 } stXC_GET_MISC_STATUS, *pstXC_GET_MISC_STATUS;
844 
845 typedef struct
846 {
847     MS_U32 u32Id;
848     MS_U32 u32ReturnValue;
849 } stXC_GET_CAPABILITY, *pstXC_GET_CAPABILITY;
850 
851 typedef struct DLL_PACKED
852 {
853     E_XC_CAPS eCapType;
854     MS_U32*   pRet;
855     MS_U32    ret_size;
856     E_APIXC_ReturnValue eReturnValue;
857 } stXC_GET_CHIP_CAPS,*pstXC_GET_CHIP_CAPS;
858 
859 typedef struct
860 {
861     MS_BOOL bReturnValue;
862 } stXC_EXIT, *pstXC_EXIT;
863 
864 typedef struct DLL_PACKED
865 {
866     XC_DynamicScaling_Info *pstDSInfo;
867     MS_U32 u32DSInfoLen;
868     SCALER_WIN eWindow;
869     MS_BOOL bReturnValue;
870 } stXC_SET_DYNAMIC_SCALING, *pstXC_SET_DYNAMIC_SCALING;
871 
872 typedef struct
873 {
874     MS_BOOL bEnable;
875 } stXC_SET_DYNAMIC_SCALING_FLAG, *pstXC_SET_DYNAMIC_SCALING_FLAG;
876 
877 typedef struct
878 {
879     SCALER_WIN eWindow;
880 #if defined(UFO_PUBLIC_HEADER_700)
881     MS_PHY u32ReturnValue;
882 #else
883     MS_U32 u32ReturnValue;
884 #endif
885 } stXC_GET_DNR_BASEOFFSET, *pstXC_GET_DNR_BASEOFFSET;
886 
887 typedef struct
888 {
889     SCALER_WIN eWindow;
890     MS_U8 u8ReturnValue;
891 } stXC_GET_FRAMENUM_FACTOR, *pstXC_GET_FRAMENUM_FACTOR;
892 
893 typedef struct DLL_PACKED
894 {
895     XC_SETWIN_INFO *pstXC_SetWin_Info;
896     MS_U32 u32InitDataLen;
897     SCALER_WIN eWindow;
898     MS_BOOL bReturnValue;
899 } stXC_SET_WINDOW, *pstXC_SET_WINDOW;
900 
901 typedef struct DLL_PACKED
902 {
903     XC_SETWIN_INFO *pstXC_SetWin_Info_Main;
904     XC_SETWIN_INFO *pstXC_SetWin_Info_Sub;
905     MS_BOOL bReturnValue;
906 } stXC_SET_DUALWINDOW, *pstXC_SET_DUALWINDOW;
907 
908 typedef struct DLL_PACKED
909 {
910     XC_SETWIN_INFO *pstXC_SetWin_Info;
911     MS_U32 u32InitDataLen;
912     SCALER_WIN eWindow;
913     MS_BOOL bReturnValue;
914 } stXC_SET_TRAVELING_WINDOW, *pstXC_SET_TRAVELING_WINDOW;
915 
916 typedef struct
917 {
918     INPUT_SOURCE_TYPE_t enInputSourceType;
919     SCALER_WIN eWindow;
920 } stXC_SET_INPUTSOURCE, *pstXC_SET_INPUTSOURCE;
921 #ifdef UFO_PUBLIC_HEADER_212
922 typedef struct
923 {
924     INPUT_SOURCE_TYPE_t enInputSourceType;
925     EN_VIDEO_SCAN_TYPE enVideoScanType;
926     SCALER_WIN eWindow;
927 } stXC_SET_Field_Detect, *pstXC_SET_Field_Detect;
928 #endif
929 typedef struct
930 {
931     SCALER_WIN eWindow;
932     MS_BOOL bReturnValue;
933 } stXC_CHECK_YUVSPACE, *pstXC_CHECK_YUVSPACE;
934 
935 typedef struct
936 {
937     SCALER_WIN eWindow;
938     MS_BOOL bReturnValue;
939 } stXC_CHECK_MEMORYFORMAT422, *pstXC_CHECK_MEMORYFORMAT422;
940 
941 typedef struct
942 {
943     MS_BOOL bEnable;
944     SCALER_WIN eWindow;
945 } stXC_SET_FORCE_RGBIN, *pstXC_SET_FORCE_RGBIN;
946 
947 typedef struct
948 {
949     MirrorMode_t eMirrorMode;
950     SCALER_WIN eWindow;
951     MS_BOOL bReturnValue;
952 } stXC_SET_MIRRORMODE_EX, *pstXC_SET_MIRRORMODE_EX;
953 
954 typedef struct
955 {
956     SCALER_WIN eWindow;
957     MirrorMode_t eReturnValue;
958 } stXC_GET_MIRRORMODE_TYPEEX, *pstXC_GET_MIRRORMODE_TYPEEX;
959 
960 #ifdef UFO_XC_SCAN_TYPE
961 typedef struct
962 {
963     E_XC_SCAN_TYPE enScanType;
964 } stXC_SET_SCAN_TYPE, *pstXC_SET_SCAN_TYPE;
965 #endif
966 
967 typedef struct DLL_PACKED
968 {
969     INPUT_SOURCE_TYPE_t eCurrentSrc;
970     XC_IP_SYNC_STATUS *sXC_Sync_Status;
971     SCALER_WIN eWindow;
972 } stXC_GET_SYNC_STATUS, *pstXC_GET_SYNC_STATUS;
973 
974 typedef struct DLL_PACKED
975 {
976     XC_CMA_CONFIG *pstXC_CMA_Config;
977     XC_CMA_CLIENT enCmaClient;
978     MS_U32 u32InitDataLen;
979     SCALER_WIN eWindow;
980 } stXC_CONFIG_CMA, *pstXC_CONFIG_CMA;
981 
982 typedef struct
983 {
984     MS_U8 u8NumVSyncs;
985     MS_U16 u16Timeout;
986     SCALER_WIN eWindow;
987     MS_U8 u8ReturnValue;
988 } stXC_SET_WAIT_OUTPUT_VSYNC, *pstXC_SET_WAIT_OUTPUT_VSYNC;
989 
990 typedef struct
991 {
992     MS_U8 u8NumVSyncs;
993     MS_U16 u16Timeout;
994     SCALER_WIN eWindow;
995     MS_U8 u8ReturnValue;
996 } stXC_SET_WAIT_INPUT_VSYNC, *pstXC_SET_WAIT_INPUT_VSYNC;
997 
998 typedef struct
999 {
1000     E_HDMI_SYNC_TYPE eSynctype;
1001 } stXC_SET_HDMI_SYNCMODE, *pstXC_SET_HDMI_SYNCMODE;
1002 
1003 typedef struct
1004 {
1005     E_HDMI_SYNC_TYPE eReturnValue;
1006 } stXC_GET_HDMI_SYNCMODE, *pstXC_GET_HDMI_SYNCMODE;
1007 
1008 typedef struct
1009 {
1010     MS_BOOL bEnable;
1011     MS_WINDOW_TYPE Window;
1012     MS_U8 u8Color;
1013 } stXC_SET_REPORT_WINDOW, *pstXC_SET_REPORT_WINDOW;
1014 
1015 typedef struct
1016 {
1017     MS_BOOL bEnable;
1018     SCALER_WIN eWindow;
1019 } stXC_SET_SKIP_OPWRITEOFF_IN_SETWINDOW, *pstXC_SET_SKIP_OPWRITEOFF_IN_SETWINDOW;
1020 
1021 typedef struct
1022 {
1023     SCALER_WIN eWindow;
1024     MS_BOOL bReturnValue;
1025 } stXC_GET_SKIP_OPWRITEOFF_IN_SETWINDOW, *pstXC_GET_SKIP_OPWRITEOFF_IN_SETWINDOW;
1026 
1027 typedef struct
1028 {
1029     MS_BOOL bEnable;
1030     SCALER_WIN eWindow;
1031 } stXC_SET_SKIP_DISABLE_OPWRITEOFF_IN_FPLL, *pstXC_SET_SKIP_DISABLE_OPWRITEOFF_IN_FPLL;
1032 
1033 typedef struct
1034 {
1035     MS_BOOL bEnable;
1036     SCALER_WIN eWindow;
1037 } stXC_SET_OPWRITEOFF_ENABLE, *pstXC_SET_OPWRITEOFF_ENABLE;
1038 
1039 typedef struct
1040 {
1041     MS_BOOL bEnable;
1042     SCALER_WIN eWindow;
1043 } stXC_SET_OPWRITEOFF_ENABLE_TO_REG, *pstXC_SET_OPWRITEOFF_ENABLE_TO_REG;
1044 
1045 typedef struct
1046 {
1047     MS_BOOL bEnable;
1048     SCALER_WIN eWindow;
1049 } stXC_FORCESET_OPWRITEOFF_ENABLE, *pstXC_FORCESET_OPWRITEOFF_ENABLE;
1050 
1051 typedef struct
1052 {
1053     SCALER_WIN eWindow;
1054     MS_BOOL bReturnValue;
1055 } stXC_GET_OPWRITEOFF_ENABLE, *pstXC_GET_OPWRITEOFF_ENABLE;
1056 
1057 typedef struct DLL_PACKED
1058 {
1059     MS_WINDOW_TYPE *pstDspwin;
1060     SCALER_WIN eWindow;
1061 } stXC_SET_DISPLAY_WIN_TO_REG, *pstXC_SET_DISPLAY_WIN_TO_REG;
1062 
1063 typedef struct DLL_PACKED
1064 {
1065     MS_WINDOW_TYPE *pstDspwin;
1066     SCALER_WIN eWindow;
1067 } stXC_GET_DISPLAY_WIN_FROM_REG, *pstXC_GET_DISPLAY_WIN_FROM_REG;
1068 
1069 typedef struct
1070 {
1071     MS_BOOL bEnable;
1072     SCALER_WIN eWindow;
1073 } stXC_SET_FREEZEIMG, *pstXC_SET_FREEZEIMG;
1074 
1075 typedef struct
1076 {
1077     SCALER_WIN eWindow;
1078     MS_BOOL bReturnValue;
1079 } stXC_CHECK_FREEZEIMG, *pstXC_CHECK_FREEZEIMG;
1080 
1081 typedef struct
1082 {
1083     MS_BOOL bEnable;
1084 } stXC_SET_BOTHWINDOW_BLACKVIDEO, *pstXC_SET_BOTHWINDOW_BLACKVIDEO;
1085 
1086 typedef struct
1087 {
1088     MS_BOOL bEnable;
1089 } stXC_SET_BLACKSCREEN, *pstXC_SET_BLACKSCREEN;
1090 
1091 typedef struct
1092 {
1093     MS_BOOL bEnable;
1094     SCALER_WIN eWindow;
1095 } stXC_SET_BLACKVIDEO, *pstXC_SET_BLACKVIDEO;
1096 
1097 typedef struct
1098 {
1099     SCALER_WIN eWindow;
1100     MS_BOOL bReturnValue;
1101 } stXC_CHECK_BLACKVIDEO_ENABLE, *pstXC_CHECK_BLACKVIDEO_ENABLE;
1102 
1103 typedef struct
1104 {
1105     MS_BOOL bEnable;
1106 } stXC_SET_FRAMEBUFFERLESS, *pstXC_SET_FRAMEBUFFERLESS;
1107 
1108 typedef struct
1109 {
1110     MS_BOOL bReturnValue;
1111 } stXC_CHECK_FRAMEBUFFERLESS, *pstXC_CHECK_FRAMEBUFFERLESS;
1112 
1113 typedef struct
1114 {
1115     MS_BOOL bEnable;
1116 } stXC_SET_REQUEST_FRAMEBUFFERLESS, *pstXC_SET_REQUEST_FRAMEBUFFERLESS;
1117 
1118 typedef struct
1119 {
1120     MS_BOOL bReturnValue;
1121 } stXC_CHECK_REQUEST_FRAMEBUFFERLESS, *pstXC_CHECK_REQUEST_FRAMEBUFFERLESS;
1122 
1123 typedef struct
1124 {
1125     MS_U16 u16ReturnValue;
1126 } stXC_GET_3D_HWVERSION, *pstXC_GET_3D_HWVERSION;
1127 
1128 typedef struct
1129 {
1130     MS_BOOL bReturnValue;
1131 } stXC_CHECK_3D_SUPPORT_HW2DTO3D, *pstXC_CHECK_3D_SUPPORT_HW2DTO3D;
1132 
1133 typedef struct
1134 {
1135     E_XC_3D_INPUT_MODE e3dInputMode;
1136     E_XC_3D_OUTPUT_MODE e3dOutputMode;
1137     E_XC_3D_PANEL_TYPE e3dPanelType;
1138     SCALER_WIN eWindow;
1139     MS_BOOL bReturnValue;
1140 } stXC_SET_3D_MODE, *pstXC_SET_3D_MODE;
1141 
1142 typedef struct
1143 {
1144     MS_BOOL bMainFirst;
1145     MS_BOOL bReturnValue;
1146 } stXC_SET_3D_MAINWIN_FIRST, *pstXC_SET_3D_MAINWIN_FIRST;
1147 
1148 typedef struct
1149 {
1150     SCALER_WIN eWindow;
1151     MS_BOOL bReturnValue;
1152 } stXC_SET_3D_LR_EXCHANGE, *pstXC_SET_3D_LR_EXCHANGE;
1153 
1154 typedef struct
1155 {
1156     SCALER_WIN eWindow;
1157     MS_BOOL bReturnValue;
1158 } stXC_CHECK_3D_LR_EXCHANGED, *pstXC_CHECK_3D_LR_EXCHANGED;
1159 
1160 typedef struct
1161 {
1162     SCALER_WIN eWindow;
1163     E_XC_3D_INPUT_MODE eReturnValue;
1164 } stXC_GET_3D_INPUT_MODE, *pstXC_GET_3D_INPUT_MODE;
1165 
1166 typedef struct
1167 {
1168     E_XC_3D_OUTPUT_MODE eReturnValue;
1169 } stXC_GET_3D_OUTPUT_MODE, *pstXC_GET_3D_OUTPUT_MODE;
1170 
1171 typedef struct
1172 {
1173     E_XC_3D_PANEL_TYPE eReturnValue;
1174 } stXC_GET_3D_PANELTYPE, *pstXC_GET_3D_PANELTYPE;
1175 
1176 typedef struct
1177 {
1178     MS_BOOL bReturnValue;
1179 } stXC_GET_3D_MAINWIN_FIRST, *pstXC_GET_3D_MAINWIN_FIRST;
1180 
1181 typedef struct
1182 {
1183     MS_BOOL bReturnValue;
1184 } stXC_CHECK_3D_MAINSUB_IPSYNC, *pstXC_CHECK_3D_MAINSUB_IPSYNC;
1185 
1186 typedef struct
1187 {
1188     MS_U16 u163DVerVideoOffset;
1189     MS_BOOL bReturnValue;
1190 } stXC_SET_3D_VERTICALVIDEO_OFFSET, *pstXC_SET_3D_VERTICALVIDEO_OFFSET;
1191 
1192 typedef struct
1193 {
1194     MS_U16 u16ReturnValue;
1195 } stXC_GET_3D_VERTICALVIDEO_OFFSET, *pstXC_GET_3D_VERTICALVIDEO_OFFSET;
1196 
1197 typedef struct
1198 {
1199     E_XC_3D_INPUT_MODE e3dInputMode;
1200     E_XC_3D_OUTPUT_MODE e3dOutputMode;
1201     MS_BOOL bReturnValue;
1202 } stXC_CHECK_3D_FORMAT_SUPPORTED, *pstXC_CHECK_3D_FORMAT_SUPPORTED;
1203 
1204 typedef struct
1205 {
1206     MS_U16 u16HShift;
1207     MS_BOOL bReturnValue;
1208 } stXC_SET_3D_HORIZONTAL_SHIFT, *pstXC_SET_3D_HORIZONTAL_SHIFT;
1209 
1210 typedef struct
1211 {
1212     MS_BOOL bEnable;
1213     MS_BOOL bReturnValue;
1214 } stXC_SET_3D_LR_SBS2LINE, *pstXC_SET_3D_LR_SBS2LINE;
1215 
1216 typedef struct
1217 {
1218     MS_U16 u16ReturnValue;
1219 } stXC_GET_3D_HORIZONTAL_SHIFT, *pstXC_GET_3D_HORIZONTAL_SHIFT;
1220 
1221 typedef struct DLL_PACKED
1222 {
1223     MS_PHY u32HW2DTO3D_DD_Buf;
1224     MS_PHY u32HW2DTO3D_DR_Buf;
1225     MS_BOOL bReturnValue;
1226 } stXC_SET_3D_HW2DTO3D_BUFFER, *pstXC_SET_3D_HW2DTO3D_BUFFER;
1227 
1228 typedef struct
1229 {
1230     MS_XC_3D_HW2DTO3D_PARA st3DHw2DTo3DPara;
1231     MS_BOOL bReturnValue;
1232 } stXC_SET_3D_HW2DTO3D_PARAMETERS, *pstXC_SET_3D_HW2DTO3D_PARAMETERS;
1233 
1234 typedef struct
1235 {
1236     MS_XC_3D_HW2DTO3D_PARA *pst3DHw2DTo3DPara;
1237     MS_BOOL bReturnValue;
1238 } stXC_GET_3D_HW2DTO3D_PARAMETERS, *pstXC_GET_3D_HW2DTO3D_PARAMETERS;
1239 
1240 typedef struct DLL_PACKED
1241 {
1242     MS_XC_3D_DETECT3DFORMAT_PARA *pstDetect3DFormatPara;
1243     MS_BOOL bReturnValue;
1244 } stXC_SET_3D_DETECT_3DFORMAT_PARAMETERS, *pstXC_SET_3D_DETECT_3DFORMAT_PARAMETERS;
1245 
1246 typedef struct DLL_PACKED
1247 {
1248     MS_XC_3D_DETECT3DFORMAT_PARA *pstDetect3DFormatPara;
1249     MS_BOOL bReturnValue;
1250 } stXC_GET_3D_DETECT_3DFORMAT_PARAMETERS, *pstXC_GET_3D_DETECT_3DFORMAT_PARAMETERS;
1251 
1252 typedef struct
1253 {
1254     SCALER_WIN eWindow;
1255     E_XC_3D_INPUT_MODE eReturnValue;
1256 } stXC_GET_3D_FORMAT_DETECTED_BY_CONTENT, *pstXC_GET_3D_FORMAT_DETECTED_BY_CONTENT;
1257 
1258 typedef struct DLL_PACKED
1259 {
1260     SCALER_WIN eWindow;
1261     ST_DETECTNL_PARA* pstDetectNLatticePara;
1262     MS_BOOL bReturnValue;
1263 } stXC_SET_NINELATTICE, *pstXC_SET_NINELATTICE;
1264 
1265 typedef struct
1266 {
1267     SCALER_WIN eWindow;
1268     MS_BOOL bReturnValue;
1269 } stXC_SET_3D_POST_PQSETTING, *pstXC_SET_3D_POST_PQSETTING;
1270 
1271 typedef struct DLL_PACKED
1272 {
1273     MS_XC_3D_FPINFO_PARA *pstFPInfoPara;
1274     MS_BOOL bReturnValue;
1275 } stXC_SET_3D_FRAMEPACKING_INFO, *pstXC_SET_3D_FRAMEPACKING_INFO;
1276 
1277 typedef struct
1278 {
1279     MS_BOOL bEnable;
1280     E_XC_3D_AUTODETECT_METHOD enDetectMethod;
1281     MS_BOOL bReturnValue;
1282 } stXC_SET_3D_AUTODETECT, *pstXC_SET_3D_AUTODETECT;
1283 
1284 typedef struct DLL_PACKED
1285 {
1286     E_XC_3D_AUTODETECT_METHOD *penDetectMethod;
1287     MS_BOOL *pbEnable;
1288     MS_BOOL bReturnValue;
1289 } stXC_GET_3D_AUTODETECT_3DFLAG, *pstXC_GET_3D_AUTODETECT_3DFLAG;
1290 
1291 typedef struct
1292 {
1293     MS_BOOL bReturnValue;
1294 } stXC_SET_3D_SUBWINCLOCK, *pstXC_SET_3D_SUBWINCLOCK;
1295 
1296 typedef struct
1297 {
1298     MS_BOOL bReturnValue;
1299 } stXC_CHECK_3D_LR_SBS2LINE, *pstXC_CHECK_3D_LR_SBS2LINE;
1300 
1301 typedef struct
1302 {
1303     MS_BOOL bReturnValue;
1304 } stXC_CHECK_3D_SKIP_DEFAULT_LR_FLAG, *pstXC_CHECK_3D_SKIP_DEFAULT_LR_FLAG;
1305 
1306 typedef struct
1307 {
1308     MS_BOOL bEnable;
1309     MS_BOOL bReturnValue;
1310 } stXC_SET_3D_SKIP_DEFAULT_LR_FLAG, *pstXC_SET_3D_SKIP_DEFAULT_LR_FLAG;
1311 
1312 typedef struct DLL_PACKED
1313 {
1314     void (*input_source_to_input_port)(INPUT_SOURCE_TYPE_t src_ids , E_MUX_INPUTPORT* port_ids , MS_U8* u8port_count ) ;
1315 } stXC_SET_MUX_INIT, *pstXC_SET_MUX_INIT;
1316 
1317 typedef struct
1318 {
1319     MS_BOOL bRealTimeMonitorOnly;
1320 } stXC_SET_MUX_SOURCE_MONITOR, *pstXC_SET_MUX_SOURCE_MONITOR;
1321 
1322 typedef struct DLL_PACKED
1323 {
1324     XC_MUX_PATH_INFO* Path_Info;
1325     MS_U32 u32InitDataLen;
1326     MS_S16 s16ReturnValue;
1327 } stXC_SET_MUX_CREATE_PATH, *pstXC_SET_MUX_CREATE_PATH;
1328 
1329 typedef struct
1330 {
1331     INPUT_SOURCE_TYPE_t src;
1332     E_DEST_TYPE dest;
1333     MS_S16 s16ReturnValue;
1334 } stXC_SET_MUX_DELETE_PATH, *pstXC_SET_MUX_DELETE_PATH;
1335 
1336 typedef struct
1337 {
1338     MS_U16 PathId;
1339     MS_S16 s16ReturnValue;
1340 } stXC_SET_MUX_ENABLE_PATH, *pstXC_SET_MUX_ENABLE_PATH;
1341 
1342 typedef struct DLL_PACKED
1343 {
1344     INPUT_SOURCE_TYPE_t src;
1345     void* para;
1346 } stXC_SET_MUX_TRIGGER_PATH_SYNC_EVENT, *pstXC_SET_MUX_TRIGGER_PATH_SYNC_EVENT;
1347 
1348 typedef struct DLL_PACKED
1349 {
1350     INPUT_SOURCE_TYPE_t src;
1351     void* para;
1352 } stXC_SET_MUX_TRIGGER_DEST_ONOFF_EVENT, *pstXC_SET_MUX_TRIGGER_DEST_ONOFF_EVENT;
1353 
1354 typedef struct
1355 {
1356     INPUT_SOURCE_TYPE_t src;
1357     MS_BOOL bEnable;
1358     MS_S16 s16ReturnValue;
1359 } stXC_SET_MUX_ONOFF_PERIODIC_HANDLER, *pstXC_SET_MUX_ONOFF_PERIODIC_HANDLER;
1360 
1361 typedef struct DLL_PACKED
1362 {
1363     XC_MUX_PATH_INFO* Paths;
1364     MS_U8 u8ReturnValue;
1365 } stXC_GET_MUX_PATHINFO, *pstXC_GET_MUX_PATHINFO;
1366 
1367 typedef struct
1368 {
1369     MS_U8 u8MhlSupportInfo;
1370     E_APIXC_ReturnValue eReturnValue;
1371 } stXC_SET_MUX_SUPPORT_MHL_PATHINFO, *pstXC_SET_MUX_SUPPORT_MHL_PATHINFO;
1372 
1373 typedef struct
1374 {
1375     MS_BOOL bIsMhlHotPlugInverse;
1376     E_APIXC_ReturnValue eReturnValue;
1377 } stXC_SET_MUX_MHL_HOTPLUG_INVERSE_INFO, *pstXC_SET_MUX_MHL_HOTPLUG_INVERSE_INFO;
1378 
1379 typedef struct
1380 {
1381     INPUT_SOURCE_TYPE_t src;
1382     E_MUX_INPUTPORT eReturnValue;
1383 } stXC_GET_MUX_HDMIPORT, *pstXC_GET_MUX_HDMIPORT;
1384 
1385 typedef struct DLL_PACKED
1386 {
1387     XC_MUX_INPUTSRCTABLE* mapping_tab;
1388     MS_U32 length;
1389 } stXC_GET_MUX_MAPPINGTAB, *pstXC_GET_MUX_MAPPINGTAB;
1390 
1391 typedef struct
1392 {
1393     INPUT_SOURCE_TYPE_t u8InputSourceType;
1394     MS_U8 u8ReturnValue;
1395 } stXC_GET_MUX_INPUTSOURCE2VDYMUXPORT, *pstXC_GET_MUX_INPUTSOURCE2VDYMUXPORT;
1396 
1397 typedef struct
1398 {
1399     MS_BOOL bEn;
1400     SCALER_WIN eWindow;
1401 } stXC_SET_NR, *pstXC_SET_NR;
1402 
1403 typedef struct
1404 {
1405     SCALER_WIN eWindow;
1406     MS_BOOL bReturnValue;
1407 } stXC_CHECK_UC_ENABLED, *pstXC_CHECK_UC_ENABLED;
1408 
1409 typedef struct
1410 {
1411     XC_Internal_TimingType timingtype;
1412 } stXC_SET_GENERATE_SPECIFIC_TIMING, *pstXC_SET_GENERATE_SPECIFIC_TIMING;
1413 
1414 typedef struct
1415 {
1416     SCALER_WIN eWindow;
1417     MS_BOOL bReturnValue;
1418 } stXC_GET_DE_BYPASS_MODE, *pstXC_GET_DE_BYPASS_MODE;
1419 
1420 typedef struct DLL_PACKED
1421 {
1422     MS_WINDOW_TYPE *psWin;
1423     SCALER_WIN eWindow;
1424 } stXC_GET_DE_WINDOW, *pstXC_GET_DE_WINDOW;
1425 
1426 typedef struct DLL_PACKED
1427 {
1428     MS_U16* pu16Width;
1429     MS_U16* pu16Height;
1430     SCALER_WIN eWindow;
1431 } stXC_GET_DE_WIN_WIDTH_HEIGHT_IN_DE_BYPASS_MODE, *pstXC_GET_DE_WIN_WIDTH_HEIGHT_IN_DE_BYPASS_MODE;
1432 
1433 typedef struct DLL_PACKED
1434 {
1435     MS_WINDOW_TYPE* capture_win;
1436     SCALER_WIN eWindow;
1437 } stXC_GET_CAPTURE_WINDOW, *pstXC_GET_CAPTURE_WINDOW;
1438 
1439 typedef struct
1440 {
1441     MS_U16 u16Vstart;
1442     SCALER_WIN eWindow;
1443 } stXC_SET_CAPTURE_WINDOW_VSTART, *pstXC_SET_CAPTURE_WINDOW_VSTART;
1444 
1445 typedef struct
1446 {
1447     MS_U16 u16Hstart;
1448     SCALER_WIN eWindow;
1449 } stXC_SET_CAPTURE_WINDOW_HSTART, *pstXC_SET_CAPTURE_WINDOW_HSTART;
1450 
1451 typedef struct
1452 {
1453     MS_U16 u16Vsize;
1454     SCALER_WIN eWindow;
1455 } stXC_SET_CAPTURE_WINDOW_VSIZE, *pstXC_SET_CAPTURE_WINDOW_VSIZE;
1456 
1457 typedef struct
1458 {
1459     MS_U16 u16Hsize;
1460     SCALER_WIN eWindow;
1461 } stXC_SET_CAPTURE_WINDOW_HSIZE, *pstXC_SET_CAPTURE_WINDOW_HSIZE;
1462 
1463 typedef struct
1464 {
1465     MS_U8 u8Reset;
1466     SCALER_WIN eWindow;
1467 } stXC_SET_SOFTWARE_RESET, *pstXC_SET_SOFTWARE_RESET;
1468 
1469 typedef struct
1470 {
1471     MS_U16 u16HPeriod;
1472     MS_U16 u16ReturnValue;
1473 } stXC_GET_HFREQX10, *pstXC_GET_HFREQX10;
1474 
1475 typedef struct
1476 {
1477     MS_U16 u16HPeriod;
1478     MS_U32 u32ReturnValue;
1479 } stXC_GET_HFREQX1K, *pstXC_GET_HFREQX1K;
1480 
1481 typedef struct
1482 {
1483     MS_U16 u16HFreq;
1484     MS_U16 u16VTotal;
1485     MS_U16 u16ReturnValue;
1486 } stXC_GET_VFREQX10, *pstXC_GET_VFREQX10;
1487 
1488 typedef struct
1489 {
1490     MS_U32 u32HFreqx1K;
1491     MS_U16 u16VTotal;
1492     MS_U32 u32ReturnValue;
1493 } stXC_GET_VFREQX1K, *pstXC_GET_VFREQX1K;
1494 
1495 typedef struct
1496 {
1497     SCALER_WIN eWindow;
1498     MS_U32 u32ReturnValue;
1499 } stXC_GET_ACCURATE_VFREQX1k, *pstXC_GET_ACCURATE_VFREQX1k;
1500 
1501 typedef struct DLL_PACKED
1502 {
1503     SC_INT_SRC eIntNum;
1504     SC_InterruptCb pIntCb;
1505     void * pParam;
1506     MS_BOOL bReturnValue;
1507 } stXC_SET_INTERRUPT_ATTACH, *pstXC_SET_INTERRUPT_ATTACH;
1508 
1509 typedef struct DLL_PACKED
1510 {
1511     SC_INT_SRC eIntNum;
1512     SC_InterruptCb pIntCb;
1513     void * pParam;
1514     MS_BOOL bReturnValue;
1515 } stXC_SET_INTERRUPT_DEATTACH, *pstXC_SET_INTERRUPT_DEATTACH;
1516 
1517 typedef struct
1518 {
1519     MS_BOOL bDisable;
1520     SCALER_WIN eWindow;
1521 } stXC_SET_DISABLE_INPUTSOURCE, *pstXC_SET_DISABLE_INPUTSOURCE;
1522 
1523 typedef struct
1524 {
1525     SCALER_WIN eWindow;
1526     MS_BOOL bReturnValue;
1527 } stXC_CHECK_INPUTSOURCE_DISABLED, *pstXC_CHECK_INPUTSOURCE_DISABLED;
1528 
1529 typedef struct DLL_PACKED
1530 {
1531     XC_PANEL_INFO *pstPanelInfo;
1532 } stXC_SET_CHANGE_PANELTYPE, *pstXC_SET_CHANGE_PANELTYPE;
1533 
1534 typedef struct
1535 {
1536     SCALER_WIN eWindow;
1537     MS_U16 u16ReturnValue;
1538 } stXC_GET_CURRENT_READBANK, *pstXC_GET_CURRENT_READBANK;
1539 
1540 typedef struct
1541 {
1542     SCALER_WIN eWindow;
1543     MS_U16 u16ReturnValue;
1544 } stXC_GET_CURRENT_WRITEBANK, *pstXC_GET_CURRENT_WRITEBANK;
1545 
1546 typedef struct
1547 {
1548     MS_BOOL bEnable;
1549     SCALER_WIN eWindow;
1550 } stXC_SET_AUTO_PRESCALING, *pstXC_SET_AUTO_PRESCALING;
1551 
1552 typedef struct
1553 {
1554     SCALER_WIN eWindow;
1555     MS_U8 u8ReturnValue;
1556 } stXC_GET_VSYNC_WIDTH, *pstXC_GET_VSYNC_WIDTH;
1557 
1558 typedef struct
1559 {
1560     MS_U8 MaxGOP;
1561     MS_U8 UseNum;
1562     MS_U8 u8MuxNum;
1563     MS_BOOL bEnable;
1564     MS_BOOL bReturnValue;
1565 } stXC_SET_GOP_ENABLE, *pstXC_SET_GOP_ENABLE;
1566 
1567 typedef struct
1568 {
1569     MS_U8 u8MuxNum;
1570     MS_XC_IPSEL_GOP ipSelGop;
1571 } stXC_SET_SELECT_IP_FOR_GOP, *pstXC_SET_SELECT_IP_FOR_GOP;
1572 
1573 typedef struct DLL_PACKED
1574 {
1575     MS_XC_DST_DispInfo *pDstInfo;
1576     MS_U32 u32SizeofDstInfo;
1577     EN_GOP_XCDST_TYPE XCDstType;
1578     MS_BOOL bReturnValue;
1579 } stXC_GET_DESTINATION_INFO, *pstXC_GET_DESTINATION_INFO;
1580 
1581 typedef struct
1582 {
1583     MS_BOOL bEnable;
1584     SCALER_WIN eWindow;
1585 } stXC_SET_FDMASK_BYWIN, *pstXC_SET_FDMASK_BYWIN;
1586 
1587 typedef struct
1588 {
1589     SCALER_WIN eWindow;
1590     MS_BOOL bReturnValue;
1591 } stXC_GET_FDMASK_BYWIN, *pstXC_GET_FDMASK_BYWIN;
1592 
1593 typedef struct
1594 {
1595     SCALER_WIN eWindow;
1596     MS_BOOL bReturnValue;
1597 } stXC_GET_FDMASK_STATUS, *pstXC_GET_FDMASK_STATUS;
1598 
1599 typedef struct
1600 {
1601     MS_U8 u8Enable;
1602     MS_U16 u6Pattern_type;
1603     SCALER_WIN eWindow;
1604 } stXC_SET_IP1_TESTPATTERN, *pstXC_SET_IP1_TESTPATTERN;
1605 
1606 typedef struct
1607 {
1608     XC_Internal_TimingType timingtype;
1609 } stXC_SET_INIT_IP_FOR_INTERNAL_TIMING, *pstXC_SET_INIT_IP_FOR_INTERNAL_TIMING;
1610 
1611 typedef struct
1612 {
1613     MS_U8 u8Val;
1614 } stXC_SET_IPMUX, *pstXC_SET_IPMUX;
1615 
1616 typedef struct
1617 {
1618     SCALER_WIN eWindow;
1619     MS_BOOL bReturnValue;
1620 } stXC_CHECK_HSYNC_ACTIVE, *pstXC_CHECK_HSYNC_ACTIVE;
1621 
1622 typedef struct
1623 {
1624     SCALER_WIN eWindow;
1625     MS_BOOL bReturnValue;
1626 } stXC_CHECK_VSYNC_ACTIVE, *pstXC_CHECK_VSYNC_ACTIVE;
1627 
1628 typedef struct DLL_PACKED
1629 {
1630     MS_U8 u8ValidData;
1631     SCALER_WIN eWindow;
1632     MS_WINDOW_TYPE *pstAutoPositionWindow;
1633     MS_BOOL bReturnValue;
1634 } stXC_GET_AUTO_POSITION_WINDOW, *pstXC_GET_AUTO_POSITION_WINDOW;
1635 
1636 typedef struct DLL_PACKED
1637 {
1638     MS_PHY u32FBAddress;
1639     MS_PHY u32FBSize;
1640     SCALER_WIN eWindow;
1641 } stXC_SET_FRAMEBUFFER_ADDRESS, *pstXC_SET_FRAMEBUFFER_ADDRESS;
1642 
1643 typedef struct DLL_PACKED
1644 {
1645     XC_SETWIN_INFO *pstXC_SetWin_Info;
1646     SCALER_WIN eWindow;
1647     MS_BOOL bReturnValue;
1648 } stXC_CHECK_FRAMEBUFFER_ENOUGH_FOR_CUSSCALING, *pstXC_CHECK_FRAMEBUFFER_ENOUGH_FOR_CUSSCALING;
1649 
1650 typedef struct
1651 {
1652     MS_BOOL bEnable;
1653     E_XC_MEMORY_REQUEST_TYPE eRequestType;
1654     SCALER_WIN eWindow;
1655     E_APIXC_ReturnValue eReturnValue;
1656 } stXC_SET_SCALER_MEMORY_REQUEST, *pstXC_SET_SCALER_MEMORY_REQUEST;
1657 
1658 typedef struct
1659 {
1660     MS_U16 u16CorX;
1661     MS_U16 u16CorY;
1662     MS_PIXEL_32BIT* pixel;
1663 } stXC_GET_PIXEL_DATA, *pstXC_GET_PIXEL_DATA;
1664 
1665 typedef struct
1666 {
1667     SCALER_WIN eWindow;
1668     MS_U8 u8FBNum;
1669     MS_U32 u32InputSize;
1670     MS_U32 u32ReturnValue;
1671 } stXC_GET_AVAILABLE_SIZE, *pstXC_GET_AVAILABLE_SIZE;
1672 
1673 typedef struct
1674 {
1675     MS_U32 u32aRGB;
1676 } stXC_SET_FRAME_COLOR, *pstXC_SET_FRAME_COLOR;
1677 
1678 typedef struct
1679 {
1680     MS_U8 u8Color;
1681     SCALER_WIN eWindow;
1682 } stXC_SET_DISPLAY_WINDOW_COLOR, *pstXC_SET_DISPLAY_WINDOW_COLOR;
1683 
1684 typedef struct DLL_PACKED
1685 {
1686     MS_U16* pOutputCapability;
1687     E_APIXC_ReturnValue eReturnValue;
1688 } stXC_GET_SUPPORT_SOURCE_TO_VE, *pstXC_GET_SUPPORT_SOURCE_TO_VE;
1689 
1690 typedef struct
1691 {
1692     MS_BOOL bEnable;
1693     E_XC_SOURCE_TO_VE eSourceToVE;
1694     E_APIXC_ReturnValue eReturnValue;
1695 } stXC_SET_OUTPUT_CAPTURE, *pstXC_SET_OUTPUT_CAPTURE;
1696 
1697 typedef struct
1698 {
1699     MS_BOOL bEnable;
1700 } stXC_SET_GAMMA_ONOFF, *pstXC_SET_GAMMA_ONOFF;
1701 
1702 typedef struct
1703 {
1704     SCALER_WIN eWindow;
1705     MS_XC_VOP_CHANNEL_t eVop_Channel;
1706     MS_U16 u16Val;
1707 } stXC_SET_PREGAMMA_GAIN, *pstXC_SET_PREGAMMA_GAIN;
1708 
1709 typedef struct
1710 {
1711     SCALER_WIN eWindow;
1712     MS_XC_VOP_CHANNEL_t eVop_Channel;
1713     MS_U16 u16Val;
1714 } stXC_SET_PREGAMMA_OFFSET, *pstXC_SET_PREGAMMA_OFFSET;
1715 
1716 typedef struct DLL_PACKED
1717 {
1718     XC_SetTiming_Info *pTimingInfo;
1719     SCALER_WIN eWindow;
1720 } stXC_SET_PANEL_TIMING, *pstXC_SET_PANEL_TIMING;
1721 
1722 typedef struct
1723 {
1724     E_XC_PNL_OUT_TIMING_MODE enPnl_Out_Timing_Mode;
1725 } stXC_SET_OUTPUT_TIMING_MODE, *pstXC_SET_OUTPUT_TIMING_MODE;
1726 
1727 typedef struct
1728 {
1729     MS_U16 u16FrontPorch;
1730     MS_U16 u16SyncWidth;
1731     MS_U16 u16OutputVfreq;
1732     MS_BOOL bReturnValue;
1733 } stXC_SET_CUSTOMER_SYNC_INFO, *pstXC_SET_CUSTOMER_SYNC_INFO;
1734 
1735 typedef struct
1736 {
1737     MS_BOOL bReturnValue;
1738 } stXC_GET_WAIT_FPLL_DONE, *pstXC_GET_WAIT_FPLL_DONE;
1739 
1740 typedef struct
1741 {
1742     MS_U16 u16ReturnValue;
1743 } stXC_GET_OUTPUT_VFREQX100, *pstXC_GET_OUTPUT_VFREQX100;
1744 
1745 typedef struct
1746 {
1747     MS_U16 u16ReturnValue;
1748 } stXC_GET_OP1_OUTPUT_VFREQX100, *pstXC_GET_OP1_OUTPUT_VFREQX100;
1749 
1750 typedef struct
1751 {
1752     MS_BOOL bReturnValue;
1753 } stXC_CHECK_FRAMELOCK, *pstXC_CHECK_FRAMELOCK;
1754 
1755 typedef struct DLL_PACKED
1756 {
1757     SC_FRC_SETTING * stFRCTable;
1758     E_APIXC_ReturnValue eReturnValue;
1759 } stXC_SET_CUSTOMIZE_FRC_TABLE, *pstXC_SET_CUSTOMIZE_FRC_TABLE;
1760 
1761 typedef struct DLL_PACKED
1762 {
1763     MS_BOOL bEnable;
1764     XC_OUTPUTFRAME_Info *pstOutFrameInfo;
1765     SCALER_WIN eWindow;
1766     E_APIXC_ReturnValue eReturnValue;
1767 } stXC_SET_OUTPUT_FRAME_CONTROL, *pstXC_SET_OUTPUT_FRAME_CONTROL;
1768 
1769 typedef struct
1770 {
1771     MS_BOOL bTrue;
1772 } stXC_SET_FPLL_FSM_ENABLE, *pstXC_SET_FPLL_FSM_ENABLE;
1773 
1774 typedef struct
1775 {
1776     MS_BOOL bEnable;
1777 } stXC_SET_FORCE_FREERUN, *pstXC_SET_FORCE_FREERUN;
1778 
1779 typedef struct
1780 {
1781     MS_BOOL bReturnValue;
1782 } stXC_CHECK_FORCE_FREERUN, *pstXC_CHECK_FORCE_FREERUN;
1783 
1784 typedef struct
1785 {
1786     E_VFREQ_SEL VFreq;
1787 } stXC_SET_FREERUN_FREQ, *pstXC_SET_FREERUN_FREQ;
1788 
1789 typedef struct DLL_PACKED
1790 {
1791     MS_BOOL bEnable;
1792     XC_PANEL_INFO_EX *pPanelInfoEx;
1793     MS_BOOL bReturnValue;
1794 } stXC_SET_EXPANEL_INFO, *pstXC_SET_EXPANEL_INFO;
1795 
1796 typedef struct
1797 {
1798     MS_BOOL bEnable;
1799 } stXC_SET_FPLL_THRESHMODE, *pstXC_SET_FPLL_THRESHMODE;
1800 
1801 typedef struct
1802 {
1803     MS_BOOL bReturnValue;
1804 } stXC_GET_FPLL_THRESHMODE, *pstXC_GET_FPLL_THRESHMODE;
1805 
1806 typedef struct
1807 {
1808     MS_BOOL bEnable;
1809     SCALER_WIN eWindow;
1810     E_APIXC_ReturnValue eReturnValue;
1811 } stXC_SET_IPAUTONOSIGNAL, *pstXC_SET_IPAUTONOSIGNAL;
1812 
1813 typedef struct
1814 {
1815     SCALER_WIN eWindow;
1816     MS_BOOL bReturnValue;
1817 } stXC_GET_IPAUTONOSIGNAL, *pstXC_GET_IPAUTONOSIGNAL;
1818 
1819 typedef struct
1820 {
1821     MS_BOOL bEnable;
1822 } stXC_SET_IPAUTOCOAST, *pstXC_SET_IPAUTOCOAST;
1823 
1824 typedef struct
1825 {
1826     MS_BOOL bEnable;
1827 } stXC_SET_FPLL_MANUAL_SETTING_ENABLE, *pstXC_SET_FPLL_MANUAL_SETTING_ENABLE;
1828 
1829 typedef struct
1830 {
1831     MS_U32 u32FpllSetOffset;
1832     MS_U16 u16TestCnt;
1833 } stXC_SET_FPLL_BOUNDARY_TEST, *pstXC_SET_FPLL_BOUNDARY_TEST;
1834 
1835 typedef struct
1836 {
1837     INPUT_SOURCE_TYPE_t u8InputSourceType;
1838 } stXC_SET_OFFLINE_DETECTION, *pstXC_SET_OFFLINE_DETECTION;
1839 
1840 typedef struct
1841 {
1842     INPUT_SOURCE_TYPE_t u8InputSourceType;
1843     MS_U8 u8ReturnValue;
1844 } stXC_GET_OFFLINE_DETECTION, *pstXC_GET_OFFLINE_DETECTION;
1845 
1846 typedef struct
1847 {
1848     MS_U8 u8Threshold;
1849     MS_BOOL bReturnValue;
1850 } stXC_SET_OFFLINE_SOG_THRESHOLD, *pstXC_SET_OFFLINE_SOG_THRESHOLD;
1851 
1852 typedef struct
1853 {
1854     MS_U8 u8BW;
1855     MS_BOOL bReturnValue;
1856 } stXC_SET_OFFLINE_SOG_BW, *pstXC_SET_OFFLINE_SOG_BW;
1857 
1858 typedef struct
1859 {
1860     MS_BOOL bReturnValue;
1861 } stXC_SET_OFFLINE_INIT, *pstXC_SET_OFFLINE_INIT;
1862 
1863 typedef struct
1864 {
1865     MS_U8 u8val;
1866 } stXC_SET_EXTRA_FETCH_ADV_LINE, *pstXC_SET_EXTRA_FETCH_ADV_LINE;
1867 
1868 typedef struct
1869 {
1870     MS_BOOL bVGASogEn;
1871     E_APIXC_ReturnValue eReturnValue;
1872 } stXC_SET_VGA_SOG_ENABLE, *pstXC_SET_VGA_SOG_ENABLE;
1873 
1874 typedef struct
1875 {
1876     MS_BOOL bEnable;
1877     SCALER_WIN eWindow;
1878 } stXC_SET_WINDOW_ENABLE, *pstXC_SET_WINDOW_ENABLE;
1879 
1880 typedef struct
1881 {
1882     MS_BOOL bReturnValue;
1883 } stXC_CHECK_SUBWINDOW_ENABLE, *pstXC_CHECK_SUBWINDOW_ENABLE;
1884 
1885 typedef struct
1886 {
1887     MS_U8 u8Left;
1888     MS_U8 u8Right;
1889     MS_U8 u8Up;
1890     MS_U8 u8Down;
1891     MS_U8 u8color;
1892     SCALER_WIN eWindow;
1893 } stXC_SET_BORDER_FORMAT, *pstXC_SET_BORDER_FORMAT;
1894 
1895 typedef struct
1896 {
1897     MS_BOOL bEnable;
1898     SCALER_WIN eWindow;
1899 } stXC_SET_BORDER_ENABLE, *pstXC_SET_BORDER_ENABLE;
1900 
1901 typedef struct
1902 {
1903     MS_BOOL bMainFirst;
1904 } stXC_SET_ZORDER_MAINWINDOW_FIRST, *pstXC_SET_ZORDER_MAINWINDOW_FIRST;
1905 
1906 typedef struct DLL_PACKED
1907 {
1908     PQ_Function_Info* function_Info;
1909     MS_U32 u32InitDataLen;
1910 } stXC_SET_PQ_LOADFUNCTION, *pstXC_SET_PQ_LOADFUNCTION;
1911 
1912 typedef struct
1913 {
1914     MS_BOOL bReturnValue;
1915 } stXC_CHECK_H_NONLINEAR_SCALING, *pstXC_CHECK_H_NONLINEAR_SCALING;
1916 
1917 typedef struct
1918 {
1919     MS_BOOL bEnable;
1920 } stXC_SET_EUROHDTV_SUPPORT_ENABLE, *pstXC_SET_EUROHDTV_SUPPORT_ENABLE;
1921 
1922 typedef struct
1923 {
1924     MS_BOOL bEnable;
1925     SCALER_WIN eWindow;
1926 } stXC_SET_EUROHDTV_DETECTION_ENABLE, *pstXC_SET_EUROHDTV_DETECTION_ENABLE;
1927 
1928 typedef struct
1929 {
1930     MS_U32 u32Reg;
1931     MS_U8 u8ReturnValue;
1932 } stXC_READBYTE, *pstXC_READBYTE;
1933 
1934 typedef struct
1935 {
1936     MS_U32 u32Reg;
1937     MS_U8 u8Val;
1938 } stXC_WRITEBYTE, *pstXC_WRITEBYTE;
1939 
1940 typedef struct
1941 {
1942     MS_U32 u32Reg;
1943     MS_U8 u8Val;
1944     MS_U8 u8Msk;
1945 } stXC_WRITEBYTEMSK, *pstXC_WRITEBYTEMSK;
1946 
1947 typedef struct
1948 {
1949     MS_U32 u32Reg;
1950     MS_U16 u16val;
1951     MS_U16 u16Mask;
1952 } stXC_WRITE2BYTEMSK, *pstXC_WRITE2BYTEMSK;
1953 
1954 typedef struct
1955 {
1956     MS_U32 u32Reg;
1957     MS_U16 u16Val;
1958 } stXC_W2BYTE, *pstXC_W2BYTE;
1959 
1960 typedef struct
1961 {
1962     MS_U32 u32Reg;
1963     MS_U16 u16ReturnValue;
1964 } stXC_R2BYTE, *pstXC_R2BYTE;
1965 
1966 typedef struct
1967 {
1968     MS_U32 u32Reg;
1969     MS_U32 u32Val;
1970 } stXC_W4BYTE, *pstXC_W4BYTE;
1971 
1972 typedef struct
1973 {
1974     MS_U32 u32Reg;
1975     MS_U32 u32ReturnValue;
1976 } stXC_R4BYTE, *pstXC_R4BYTE;
1977 
1978 typedef struct
1979 {
1980     MS_U32 u32Reg;
1981     MS_U16 u16mask;
1982     MS_U16 u16ReturnValue;
1983 } stXC_R2BYTEMSK, *pstXC_R2BYTEMSK;
1984 
1985 typedef struct
1986 {
1987     MS_U32 u32Reg;
1988     MS_U16 u16Val;
1989     MS_U16 u16mask;
1990 } stXC_W2BYTEMSK, *pstXC_W2BYTEMSK;
1991 
1992 typedef struct DLL_PACKED
1993 {
1994     MS_PHY PhyAddr;
1995     MS_U32 u32BufByteLen;
1996 } stXC_MLOAD_INIT, *pstXC_MLOAD_INIT;
1997 
1998 typedef struct
1999 {
2000     MS_BOOL bEnable;
2001 } stXC_MLOAD_ENABLE, *pstXC_MLOAD_ENABLE;
2002 
2003 typedef struct DLL_PACKED
2004 {
2005     EN_MLOAD_CLIENT_SELECT eMloadSelect;
2006     MS_PHY PhyAddr;
2007     MS_U32 u32BufByteLen;
2008 } stXC_MLOAD_CUS_INIT, *pstXC_MLOAD_CUS_INIT;
2009 
2010 typedef struct
2011 {
2012     EN_MLOAD_CLIENT_SELECT eMloadSelect;
2013     MS_BOOL bEnable;
2014 } stXC_MLOAD_CUS_ENABLE, *pstXC_MLOAD_CUS_ENABLE;
2015 
2016 typedef struct
2017 {
2018     MLOAD_TYPE eReturnValue;
2019 } stXC_MLOAD_GETSTATUS, *pstXC_MLOAD_GETSTATUS;
2020 
2021 typedef struct
2022 {
2023     MS_U32 u32Addr;
2024     MS_U16 u16Data;
2025     MS_U16 u16Mask;
2026     MS_BOOL bReturnValue;
2027 } stXC_MLOAD_WRITE_CMD_AND_FIRE, *pstXC_MLOAD_WRITE_CMD_AND_FIRE;
2028 
2029 typedef struct DLL_PACKED
2030 {
2031     MS_U32 *pu32Addr;
2032     MS_U16 *pu16Data;
2033     MS_U16 *pu16Mask;
2034     MS_U16 u16CmdCnt;
2035     MS_BOOL bReturnValue;
2036 } stXC_MLOAD_WRITE_CMDS_AND_FIRE, *pstXC_MLOAD_WRITE_CMDS_AND_FIRE;
2037 
2038 typedef struct
2039 {
2040     MS_BOOL bEn;
2041     E_APIXC_ReturnValue eReturnValue;
2042 } stXC_MLOAD_COMBINE, *pstXC_MLOAD_COMBINE;
2043 
2044 typedef struct DLL_PACKED
2045 {
2046     MS_PHY PhyAddr;
2047     MS_U32 u32BufByteLen;
2048 } stXC_MLG_INIT, *pstXC_MLG_INIT;
2049 
2050 typedef struct
2051 {
2052     MS_BOOL bEnable;
2053 } stXC_MLG_ENABLE, *pstXC_MLG_ENABLE;
2054 
2055 typedef struct
2056 {
2057     MS_BOOL bReturnValue;
2058 } stXC_MLG_GET_CAPS, *pstXC_MLG_GET_CAPS;
2059 
2060 typedef struct
2061 {
2062     MLG_TYPE eReturnValue;
2063 } stXC_MLG_GETSTATUS, *pstXC_MLG_GETSTATUS;
2064 
2065 typedef struct
2066 {
2067     EN_VOP_SEL_OSD_XC2VE_MUX  eVOPSelOSD_MUX;
2068 } stXC_SET_OSD2VEMODE, *pstXC_SET_OSD2VEMODE;
2069 
2070 typedef struct
2071 {
2072     MS_BOOL bEnable;
2073 } stXC_SET_IP2_PREFILTER_ENABLE, *pstXC_SET_IP2_PREFILTER_ENABLE;
2074 
2075 typedef struct DLL_PACKED
2076 {
2077     XC_Get_Pixel_RGB *pData;
2078     SCALER_WIN eWindow;
2079     E_APIXC_GET_PixelRGB_ReturnValue eReturnValue;
2080 } stXC_GET_PIXELRGB, *pstXC_GET_PIXELRGB;
2081 
2082 typedef struct
2083 {
2084     MS_BOOL bEnable;
2085 } stXC_SET_KEEP_PIXELPOINTER_APPEAR, *pstXC_SET_KEEP_PIXELPOINTER_APPEAR;
2086 
2087 typedef struct
2088 {
2089     MS_XC_MEM_FMT eMemFmt;
2090     SCALER_WIN eWindow;
2091     MS_BOOL bReturnValue;
2092 } stXC_SET_MEMORY_FORMAT_EX, *pstXC_SET_MEMORY_FORMAT_EX;
2093 
2094 typedef struct
2095 {
2096     MS_BOOL bReturnValue;
2097 } stXC_CHECK_REQUEST_FRAMEBUFFERLESS_MODE, *pstXC_CHECK_REQUEST_FRAMEBUFFERLESS_MODE;
2098 
2099 typedef struct
2100 {
2101     MS_BOOL bFlag;
2102     E_APIXC_ReturnValue eReturnValue;
2103 } stXC_SET_SKIP_SWRESET, *pstXC_SET_SKIP_SWRESET;
2104 
2105 typedef struct
2106 {
2107     MS_BOOL bEnable;
2108 } stXC_SET_REPORTWINDOW_FOR_FRAMECOLOR, *pstXC_SET_REPORTWINDOW_FOR_FRAMECOLOR;
2109 
2110 typedef struct
2111 {
2112     E_VOP_OSD_LAYER_SEL eVOPOSDLayer;
2113     SCALER_WIN eWindow;
2114     E_APIXC_ReturnValue eReturnValue;
2115 } stXC_SET_OSDLAYER, *pstXC_SET_OSDLAYER;
2116 
2117 typedef struct
2118 {
2119     SCALER_WIN eWindow;
2120     E_VOP_OSD_LAYER_SEL eReturnValue;
2121 } stXC_GET_OSDLAYER, *pstXC_GET_OSDLAYER;
2122 
2123 typedef struct
2124 {
2125     MS_U8 u8Val;
2126     SCALER_WIN eWindow;
2127     E_APIXC_ReturnValue eReturnValue;
2128 } stXC_SET_VIDEO_ALPHA, *pstXC_SET_VIDEO_ALPHA;
2129 
2130 typedef struct DLL_PACKED
2131 {
2132     MS_U8 *pu8Val;
2133     SCALER_WIN eWindow;
2134     E_APIXC_ReturnValue eReturnValue;
2135 } stXC_GET_VIDEO_ALPHA, *pstXC_GET_VIDEO_ALPHA;
2136 
2137 typedef struct
2138 {
2139     EN_MUTE_TYPE enMuteType;
2140     MS_BOOL bIsForceWrite;
2141     E_APIXC_ReturnValue eReturnValue;
2142 } stXC_SET_FORCE_WRITE, *pstXC_SET_FORCE_WRITE;
2143 
2144 typedef struct
2145 {
2146     EN_MUTE_TYPE enMuteType;
2147     E_APIXC_ReturnValue eReturnValue;
2148 } stXC_GET_FORCE_WRITE, *pstXC_GET_FORCE_WRITE;
2149 
2150 typedef struct
2151 {
2152     MS_BOOL eWindow;
2153     MS_BOOL bIsSkipWaitVsyn;
2154     E_APIXC_ReturnValue eReturnValue;
2155 } stXC_SKIP_WAIT_VSYNC, *pstXC_SKIP_WAIT_VSYNC;
2156 
2157 typedef struct
2158 {
2159     MS_U8 u8CMAHeapID;
2160     SCALER_WIN eWindow;
2161     E_APIXC_ReturnValue eReturnValue;
2162 } stXC_SET_CMA_HEAP_ID, *pstXC_SET_CMA_HEAP_ID;
2163 
2164 typedef struct
2165 {
2166     E_OP2VOP_DE_SEL eVopDESel;
2167     E_APIXC_ReturnValue eReturnValue;
2168 } stXC_SET_OP2VOP_DE_SELECTION, *pstXC_SET_OP2VOP_DE_SELECTION;
2169 
2170 typedef struct
2171 {
2172     E_XC_3D_INPUT_MODE e3dInputMode;
2173     E_XC_3D_OUTPUT_MODE e3dOutputMode;
2174     E_XC_3D_PANEL_TYPE e3dPanelType;
2175 } stXC_SET_FRC_WINDOW, *pstXC_SET_FRC_WINDOW;
2176 
2177 typedef struct
2178 {
2179     MS_BOOL bEnable;
2180     SCALER_WIN eWindow;
2181     MS_BOOL bReturnValue;
2182 } stXC_SET_2INITFACTOR_ENABLE, *pstXC_SET_2INITFACTOR_ENABLE;
2183 
2184 typedef struct
2185 {
2186     MS_BOOL bReturnValue;
2187 } stXC_CHECK_FIELDPACKINGMODE_SUPPORTED, *pstXC_CHECK_FIELDPACKINGMODE_SUPPORTED;
2188 
2189 typedef struct DLL_PACKED
2190 {
2191     E_XC_PREINIT_t eType;
2192     void* para;
2193     MS_U32 u32Length;
2194     E_APIXC_ReturnValue eReturnValue;
2195 } stXC_PREINIT, *pstXC_PREINIT;
2196 
2197 typedef struct
2198 {
2199     E_XC_OUTPUTDATA_TYPE eBufType;
2200     MS_WINDOW_TYPE *pRect;
2201     void *pRectBuf;
2202     SCALER_WIN eWindow;
2203 } stXC_GET_BUFFERDATA, *pstXC_GET_BUFFERDATA;
2204 
2205 typedef struct DLL_PACKED
2206 {
2207     E_XC_INPUTDATA_TYPE eBufType;
2208     MS_WINDOW_TYPE *pDstRect;
2209     void *pSrcBuf;
2210     MS_WINDOW_TYPE *pSrcRect;
2211     SCALER_WIN eWindow;
2212 } stXC_SET_BUFFERDATA, *pstXC_SET_BUFFERDATA;
2213 
2214 typedef struct
2215 {
2216     MS_BOOL bEnable;
2217 } stXC_SET_MAINWINDOW_ENABLE, *pstXC_SET_MAINWINDOW_ENABLE;
2218 
2219 typedef struct DLL_PACKED
2220 {
2221     MS_WINDOW_TYPE *pstDispWin;
2222 } stXC_SET_SUBWINDOW_ENABLE, *pstXC_SET_SUBWINDOW_ENABLE;
2223 
2224 typedef struct
2225 {
2226     MS_S8 s8H;
2227     MS_S8 s8V;
2228     E_APIXC_ReturnValue eReturnValue;
2229 } stXC_SET_PIXEL_SHIFT, *pstXC_SET_PIXEL_SHIFT;
2230 
2231 typedef struct
2232 {
2233     E_VIDEO_ON_OSD_LAYER enlayer;
2234     SCALER_WIN eWindow;
2235     E_APIXC_ReturnValue eReturnValue;
2236 } stXC_SET_VIDEO_ON_OSD, *pstXC_SET_VIDEO_ON_OSD;
2237 
2238 typedef struct
2239 {
2240     MS_U8 u8Layer;
2241     MS_BOOL bEnable;
2242     SCALER_WIN eWindow;
2243     E_APIXC_ReturnValue eReturnValue;
2244 } stXC_SET_OSD_LAYER_BLENDING, *pstXC_SET_OSD_LAYER_BLENDING;
2245 
2246 typedef struct
2247 {
2248     MS_U8 u8Layer;
2249     MS_U8 u8Alpha;
2250     E_APIXC_ReturnValue eReturnValue;
2251 } stXC_SET_OSD_LAYER_ALPHA, *pstXC_SET_OSD_LAYER_ALPHA;
2252 
2253 typedef struct
2254 {
2255     E_XC_OSD_INDEX enOsdIndex;
2256     E_XC_OSD_BlENDING_TYPE enType;
2257     SCALER_WIN eWindow;
2258     E_APIXC_ReturnValue eReturnValue;
2259 } stXC_SET_OSD_BLENDING_FORMULA, *pstXC_SET_OSD_BLENDING_FORMULA;
2260 
2261 typedef struct DLL_PACKED
2262 {
2263     MS_XC_REPORT_PIXELINFO *pstRepPixInfo;
2264     MS_BOOL bReturnValue;
2265 } stXC_GET_REPORT_PIXEL_INFO, *pstXC_GET_REPORT_PIXEL_INFO;
2266 
2267 typedef struct
2268 {
2269     MS_BOOL bEnable;
2270     E_XC_SCALING_TYPE eScaling_type;
2271     E_XC_VECTOR_TYPE eVector_type;
2272     SCALER_WIN eWindow;
2273 } stXC_SET_SCALING, *pstXC_SET_SCALING;
2274 
2275 typedef struct DLL_PACKED
2276 {
2277     MS_PHY u32FBAddress;
2278     MS_PHY u32FBSize;
2279     E_XC_MCDI_TYPE eType;
2280 } stXC_SET_MCDI_BUFFERADDRESS, *pstXC_SET_MCDI_BUFFERADDRESS;
2281 
2282 typedef struct
2283 {
2284     MS_BOOL bEnable;
2285     E_XC_MCDI_TYPE eType;
2286 } stXC_SET_MCDI_ENABLE, *pstXC_SET_MCDI_ENABLE;
2287 
2288 typedef struct
2289 {
2290     MS_U8 u8Cmd;
2291     MS_U8 count;
2292     FRC_R2_CMD_PARAMETER_t pFRC_R2_Para;
2293     MS_BOOL bReturnValue;
2294 } stXC_SEND_CMD2FRC, *pstXC_SEND_CMD2FRC;
2295 
2296 typedef struct DLL_PACKED
2297 {
2298     MS_U8* pu8Cmd;
2299     MS_U8* pu8ParaCount;
2300     MS_U8* pu8Para;
2301     MS_BOOL bReturnValue;
2302 } stXC_GET_MSG_FROM_FRC, *pstXC_GET_MSG_FROM_FRC;
2303 
2304 typedef struct
2305 {
2306     MS_BOOL bEnable;
2307     SCALER_WIN eWindow;
2308 } stXC_SET_AUTO_RWBANK_ENABLE, *pstXC_SET_AUTO_RWBANK_ENABLE;
2309 
2310 typedef struct
2311 {
2312     MS_U8 u8Val;
2313     SCALER_WIN eWindow;
2314 } stXC_SET_RWBANK_MAPPING_NUM, *pstXC_SET_RWBANK_MAPPING_NUM;
2315 
2316 typedef struct
2317 {
2318     SCALER_WIN eWindow;
2319     MS_U8 u8ReturnValue;
2320 } stXC_GET_RWBANK_MAPPING_NUM, *pstXC_GET_RWBANK_MAPPING_NUM;
2321 
2322 typedef struct
2323 {
2324     SCALER_WIN eWindow;
2325     MS_U8 u8ReturnValue;
2326 } stXC_GET_RWBANK_MAPPING_NUM_FOR_ZAP, *pstXC_GET_RWBANK_MAPPING_NUM_FOR_ZAP;
2327 
2328 typedef struct
2329 {
2330     MS_BOOL bEnable;
2331     SCALER_WIN eWindow;
2332     MS_BOOL bReturnValue;
2333 } stXC_SET_BOBMODE, *pstXC_SET_BOBMODE;
2334 
2335 typedef struct
2336 {
2337     MS_BOOL bEnable;
2338     MS_U8 u8Bank;
2339     SCALER_WIN eWindow;
2340 } stXC_SET_FORCE_READBANK, *pstXC_SET_FORCE_READBANK;
2341 
2342 typedef struct
2343 {
2344     MS_U16 u16LockPoint;
2345     SCALER_WIN eWindow;
2346 } stXC_SET_LOCK_POINT, *pstXC_SET_LOCK_POINT;
2347 
2348 typedef struct
2349 {
2350     EN_LD_PANEL_TYPE enLDPanelType;
2351     MS_BOOL bReturnValue;
2352 } stXC_LD_INIT, *pstXC_LD_INIT;
2353 
2354 typedef struct DLL_PACKED
2355 {
2356     MS_U8 u8MIU;
2357     MS_PHY u32LDFBase0;
2358     MS_PHY u32LDFBase1;
2359     MS_PHY u32LDBBase0;
2360     MS_PHY u32LDBBase1;
2361     MS_PHY u32EDGE2DBase;
2362     MS_PHY u32LEDOffset;
2363     MS_BOOL bReturnValue;
2364 } stXC_SET_LD_MEMORYADDRESS, *pstXC_SET_LD_MEMORYADDRESS;
2365 
2366 typedef struct DLL_PACKED
2367 {
2368     MS_U8 *pu8LDValue;
2369     MS_U8 u8WSize;
2370     MS_U8 u8HSize;
2371     MS_BOOL bReturnValue;
2372 } stXC_GET_LD_VALUE, *pstXC_GET_LD_VALUE;
2373 
2374 typedef struct
2375 {
2376     EN_LD_MODE enMode;
2377     MS_BOOL bReturnValue;
2378 } stXC_SET_LD_LEVEL, *pstXC_SET_LD_LEVEL;
2379 
2380 typedef struct
2381 {
2382     MS_BOOL bTurnoffBL;
2383     MS_BOOL bReturnValue;
2384 } stXC_SET_LD_TURNOFF_LDBL, *pstXC_SET_LD_TURNOFF_LDBL;
2385 
2386 typedef struct
2387 {
2388     MS_BOOL bRefreshSPIData;
2389     MS_BOOL bReturnValue;
2390 } stXC_SET_NOTUPDATE_SPI_DATA_FLAGS, *pstXC_SET_NOTUPDATE_SPI_DATA_FLAGS;
2391 
2392 typedef struct
2393 {
2394     MS_BOOL bUserLDFlags;
2395     MS_BOOL bReturnValue;
2396 } stXC_SET_LD_USERMODEFLAGS, *pstXC_SET_LD_USERMODEFLAGS;
2397 
2398 typedef struct
2399 {
2400     MS_U8 u8BLLevel;
2401     MS_BOOL bReturnValue;
2402 } stXC_SET_BL_LEVEL, *pstXC_SET_BL_LEVEL;
2403 
2404 typedef struct
2405 {
2406     MS_BOOL bEnable;
2407     SCALER_WIN eWindow;
2408 } stXC_SET_BWS_MODE, *pstXC_SET_BWS_MODE;
2409 
2410 typedef struct
2411 {
2412     MS_U16 u16Path_sel;
2413     MS_BOOL bEnable;
2414 } stXC_SET_FRC_COLOR_PATH_CONTROL, *pstXC_SET_FRC_COLOR_PATH_CONTROL;
2415 
2416 typedef struct
2417 {
2418     MS_U16 u16RedGain;
2419     MS_U16 u16GreenGain;
2420     MS_U16 u16BlueGain;
2421 } stXC_SET_FRC_OP2_RGBGAIN, *pstXC_SET_FRC_OP2_RGBGAIN;
2422 
2423 typedef struct
2424 {
2425     MS_U16 u16RedOffset;
2426     MS_U16 u16GreenOffset;
2427     MS_U16 u16BlueOffset;
2428 } stXC_SET_FRC_OP2_RGBOFFSET, *pstXC_SET_FRC_OP2_RGBOFFSET;
2429 
2430 typedef struct
2431 {
2432     MS_U16 u16dither;
2433 } stXC_SET_FRC_OP2_DITHER, *pstXC_SET_FRC_OP2_DITHER;
2434 
2435 typedef struct
2436 {
2437     MS_BOOL bEnable;
2438     MS_BOOL bReturnValue;
2439 } stXC_FRC_BYPASS, *pstXC_FRC_BYPASS;
2440 
2441 typedef struct
2442 {
2443     MS_BOOL bEnable;
2444 } stXC_FRC_MUTE, *pstXC_FRC_MUTE;
2445 
2446 typedef struct
2447 {
2448     MS_BOOL bEnable;
2449     MS_U16 u16FrameIndex;
2450     E_APIXC_ReturnValue eReturnValue;
2451 } stXC_SET_FORCE_READ_FRAME, *pstXC_SET_FORCE_READ_FRAME;
2452 
2453 typedef struct
2454 {
2455     MS_BOOL bEnable;
2456     SCALER_WIN eWindow;
2457 } stXC_SET_CSC, *pstXC_SET_CSC;
2458 
2459 typedef struct DLL_PACKED
2460 {
2461     void (*fpPQCB)(MS_U8 u8PQWin);
2462 } stXC_SET_REGISTER_PQ_FPLL_THRESH_MODE, *pstXC_SET_REGISTER_PQ_FPLL_THRESH_MODE;
2463 
2464 typedef struct
2465 {
2466     MS_BOOL bReturnValue;
2467 } stXC_GET_FREERUN_STATUS, *pstXC_GET_FREERUN_STATUS;
2468 
2469 typedef struct
2470 {
2471     MS_BOOL bEnable;
2472 } stXC_SET_BYPASS_CSC, *pstXC_SET_BYPASS_CSC;
2473 
2474 typedef struct
2475 {
2476     SCALER_WIN eWindow;
2477     E_APIXC_ReturnValue eReturnValue;
2478 } stXC_GET_DS_FORCE_INDEX_SUPPORTED, *pstXC_GET_DS_FORCE_INDEX_SUPPORTED;
2479 
2480 typedef struct
2481 {
2482     MS_BOOL bEnable;
2483     MS_U8 u8Index;
2484     SCALER_WIN eWindow;
2485     E_APIXC_ReturnValue eReturnValue;
2486 } stXC_SET_DS_FORCE_INDEX, *pstXC_SET_DS_FORCE_INDEX;
2487 
2488 typedef struct
2489 {
2490     E_XC_DS_INDEX_SOURCE eDSIdxSrc;
2491     SCALER_WIN eWindow;
2492     E_APIXC_ReturnValue eReturnValue;
2493 } stXC_SET_DS_INDEX_SOURCE_SELECT, *pstXC_SET_DS_INDEX_SOURCE_SELECT;
2494 
2495 typedef struct
2496 {
2497     MS_BOOL bReturnValue;
2498 } stXC_GET_DS_STATUS, *pstXC_GET_DS_STATUS;
2499 
2500 typedef struct
2501 {
2502     MS_BOOL bCurrentPmode;
2503     MS_BOOL bIsTopField;
2504     MS_U16 u16CurrentFramerate;
2505     SCALER_WIN eWindow;
2506     E_APIXC_ReturnValue eReturnValue;
2507 } stXC_SET_DS_FORCEI_DEIMODE, *pstXC_SET_DS_FORCEI_DEIMODE;
2508 
2509 typedef struct
2510 {
2511     MS_BOOL bEnable;
2512     SCALER_WIN eWindow;
2513     E_APIXC_ReturnValue eReturnValue;
2514 } stXC_SET_DS_REGMODE, *pstXC_SET_DS_REGMODE;
2515 
2516 typedef struct DLL_PACKED
2517 {
2518     E_XC_OSDC_TGEN_Type e_osdctgen_type;
2519     MS_XC_OSDC_TGEN_INFO *pstOC_Tgen_Cus;
2520     MS_XC_OSDC_CTRL_INFO *pstOC_Ctrl;
2521     E_APIXC_ReturnValue eReturnValue;
2522 } stXC_OSDC_INITSETTING, *pstXC_OSDC_INITSETTING;
2523 
2524 typedef struct
2525 {
2526     MS_U16 u16Vfreq;
2527 } stXC_OSDC_SET_OUTPUTVFREQX10, *pstXC_OSDC_SET_OUTPUTVFREQX10;
2528 
2529 typedef struct
2530 {
2531     MS_U32 eCtrl_type;
2532     E_APIXC_ReturnValue eReturnValue;
2533 } stXC_OSDC_CONTROL, *pstXC_OSDC_CONTROL;
2534 
2535 typedef struct DLL_PACKED
2536 {
2537     MS_OSDC_DST_DispInfo *pDstInfo;
2538     MS_U32 u32SizeofDstInfo;
2539     E_APIXC_ReturnValue eReturnValue;
2540 } stXC_OSDC_GET_DESTINATION_INFO, *pstXC_OSDC_GET_DESTINATION_INFO;
2541 
2542 typedef struct
2543 {
2544     EN_POWER_MODE enPowerState;
2545     MS_U32 u32ReturnValue;
2546 } stXC_SET_POWERSTATE, *pstXC_SET_POWERSTATE;
2547 
2548 typedef struct
2549 {
2550     MS_U16 u16VsyncStart;
2551     MS_U16 u16VsyncEnd;
2552 } stXC_SET_BYPASS_OSDVSYNC_POS, *pstXC_SET_BYPASS_OSDVSYNC_POS;
2553 
2554 typedef struct
2555 {
2556     MS_BOOL bEnable;
2557     E_XC_BYPASS_InputSource input;
2558 } stXC_SET_BYPASS_INPUTSRC, *pstXC_SET_BYPASS_INPUTSRC;
2559 
2560 typedef struct
2561 {
2562     SCALER_WIN eWindow;
2563     MS_BOOL bEnable;
2564     E_APIXC_ReturnValue eReturnValue;
2565 } stXC_SET_SEAMLESS_ZAPPING, *pstXC_SET_SEAMLESS_ZAPPING;
2566 
2567 typedef struct DLL_PACKED
2568 {
2569     SCALER_WIN eWindow;
2570     MS_BOOL* pbEnable;
2571     E_APIXC_ReturnValue eReturnValue;
2572 } stXC_GET_SEAMLESS_ZAPPING_STATUS, *pstXC_GET_SEAMLESS_ZAPPING_STATUS;
2573 
2574 
2575 typedef struct
2576 {
2577     MS_U16 u16Timecode;
2578     MS_U8 u8OperatorID;
2579     E_APIXC_ReturnValue eReturnValue;
2580 } stXC_SET_VTRACK_PAYLOADDATA, *pstXC_SET_VTRACK_PAYLOADDATA;
2581 
2582 typedef struct DLL_PACKED
2583 {
2584     MS_BOOL bUserDefinded;
2585     MS_U8* pu8Setting;
2586     E_APIXC_ReturnValue eReturnValue;
2587 } stXC_SET_VTRACK_USERDEFINED_SETTING, *pstXC_SET_VTRACK_USERDEFINED_SETTING;
2588 
2589 typedef struct
2590 {
2591     MS_U8 u8FrameRate;
2592     MS_BOOL bEnable;
2593     E_APIXC_ReturnValue eReturnValue;
2594 } stXC_SET_VTRACK_ENABLE, *pstXC_SET_VTRACK_ENABLE;
2595 
2596 typedef struct DLL_PACKED
2597 {
2598     XC_SETWIN_INFO *pstXC_SetWin_Info;
2599     SCALER_WIN eWindow;
2600 } stXC_PRESET_PQINFO, *pstXC_PRESET_PQINFO;
2601 
2602 typedef struct
2603 {
2604     MS_BOOL bReturnValue;
2605 } stXC_GET_OP1_TESTPATTERN_ENABLED, *pstXC_GET_OP1_TESTPATTERN_ENABLED;
2606 
2607 typedef struct
2608 {
2609     EN_XC_OP1_PATTERN ePattern;
2610     EN_XC_OP1_PATGEN_MODE eMode;
2611     E_APIXC_ReturnValue eReturnValue;
2612 } stXC_SET_OP1_TESTPATTERN, *pstXC_SET_OP1_TESTPATTERN;
2613 
2614 typedef struct
2615 {
2616     EN_XC_WB_PATTERN_MODE eWBPattern;
2617     MS_BOOL eReturnValue;
2618 } stXC_CHECK_WB_TESTPATTERN, *pstXC_CHECK_WB_TESTPATTERN;
2619 
2620 
2621 typedef struct
2622 {
2623     MS_BOOL bEnable;
2624     MS_U16 u16R_Data;
2625     MS_U16 u16G_Data;
2626     MS_U16 u16B_Data;
2627     E_APIXC_ReturnValue eReturnValue;
2628 } stXC_SET_OP2_TESTPATTERN, *pstXC_SET_OP2_TESTPATTERN;
2629 
2630 
2631 typedef struct
2632 {
2633     MS_BOOL bEnable;
2634     MS_BOOL bSign;
2635     MS_U16 u16Delta;
2636     SCALER_WIN eWindow;
2637     E_APIXC_ReturnValue eReturnValue;
2638 } stXC_SET_HLINEARSCALING, *pstXC_SET_HLINEARSCALING;
2639 
2640 typedef struct
2641 {
2642     MS_BOOL bEnable;
2643     E_APIXC_ReturnValue eReturnValue;
2644 } stXC_EnableT3D, *pstXC_EnableT3D;
2645 
2646 // OBSOLETE STRUCT **START**, please avoid using these
2647 typedef struct
2648 {
2649     MS_U16 u16ReturnValue;
2650 } stXC_GET_OUTPUT_VFREQ, *pstXC_GET_OUTPUT_VFREQ;
2651 
2652 typedef struct
2653 {
2654     MS_U32 u32ReturnValue;
2655 } stXC_GET_CURRENT_OUTPUTVFREQX100, *pstXC_GET_CURRENT_OUTPUTVFREQX100;
2656 
2657 typedef struct
2658 {
2659     MS_BOOL bEnable;
2660     E_APIXC_ReturnValue eReturnValue;
2661 } stXC_SET_MEMORY_WRITE_REQUEST, *pstXC_SET_MEMORY_WRITE_REQUEST;
2662 
2663 typedef struct
2664 {
2665     MS_XC_MEM_FMT eMemFmt;
2666     MS_BOOL bReturnValue;
2667 } stXC_SET_MEMORY_FORMAT, *pstXC_SET_MEMORY_FORMAT;
2668 
2669 typedef struct DLL_PACKED
2670 {
2671     XC_OUTPUT_TIMING_ADJUST_SETTING *stAdjSetting;
2672     E_APIXC_ReturnValue eReturnValue;
2673 } stXC_SET_OUTPUT_ADJUST_SETTING, *pstXC_SET_OUTPUT_ADJUST_SETTING;
2674 
2675 typedef struct
2676 {
2677     SCALER_WIN eWindow;
2678 } stXC_SET_FPLL_FSM, *pstXC_SET_FPLL_FSM;
2679 
2680 typedef struct
2681 {
2682     MS_BOOL bEnable;
2683 } stXC_SET_MIRROR_MODE_ENABLE, *pstXC_SET_MIRROR_MODE_ENABLE;
2684 
2685 typedef struct
2686 {
2687     MirrorMode_t eMirrorMode;
2688 } stXC_SET_MIRROR_MODE2_ENABLE, *pstXC_SET_MIRROR_MODE2_ENABLE;
2689 
2690 typedef struct
2691 {
2692     MS_U8 u8ReturnValue;
2693 } stXC_GET_SWDSIndex, *pstXC_GET_SWDSIndex;
2694 
2695 typedef struct
2696 {
2697     MS_BOOL bEnable;
2698 } stXC_GET_Is_SupportSWDS,*pstXC_GET_Is_SupportSWDS;
2699 
2700 #ifdef UFO_XC_SET_DSINFO_V0
2701 typedef struct DLL_PACKED
2702 {
2703     XC_DS_INFO *pstSetDSInfo;
2704     MS_U32 u32DSInfoLen;
2705     SCALER_WIN eWindow;
2706 } stXC_SET_DSINFO, *pstXC_SET_DSINFO;
2707 #endif
2708 
2709 typedef struct
2710 {
2711     SCALER_WIN eWindow;
2712     MS_U8 u8ReturnValue;
2713 } stXC_GET_FRCM_FRAMENUM, *pstXC_GET_FRCM_FRAMENUM;
2714 
2715 typedef struct
2716 {
2717     MirrorMode_t eReturnValue;
2718 } stXC_GET_MIRROR_MODE_TYPE, *pstXC_GET_MIRROR_MODE_TYPE;
2719 // OBSOLETE STRUCT **END**, please avoid using these
2720 
2721 typedef struct
2722 {
2723     E_XC_FRC_InputTiming enFRC_InputTiming;
2724     E_APIXC_ReturnValue eReturnValue;
2725 } stXC_Set_FRC_InputTiming, *pstXC_Set_FRC_InputTiming;
2726 
2727 typedef struct DLL_PACKED
2728 {
2729     E_XC_FRC_InputTiming *penFRC_InputTiming;
2730     E_APIXC_ReturnValue eReturnValue;
2731 } stXC_Get_FRC_InputTiming, *pstXC_Get_FRC_InputTiming;
2732 
2733 typedef struct DLL_PACKED
2734 {
2735     XC_VBOX_INFO *pstXC_VboxInfo;
2736     E_APIXC_ReturnValue eReturnValue;
2737 } stXC_Get_VBOX_Info, *pstXC_Get_VBOX_Info;
2738 
2739 typedef struct
2740 {
2741     MS_BOOL bEnable;
2742     MS_U32 Threhold;
2743     E_APIXC_ReturnValue eReturnValue;
2744 } stXC_Set_OSD_DETECT, *pstXC_Set_OSD_DETECT;
2745 
2746 typedef struct DLL_PACKED
2747 {
2748     MS_BOOL *pbOSD;
2749     E_APIXC_ReturnValue eReturnValue;
2750 } stXC_Get_OSD_DETECT, *pstXC_Get_OSD_DETECT;
2751 
2752 typedef struct
2753 {
2754     MS_BOOL bReturnValue;
2755 } stXC_Is2K2KToFrcMode, *pstXC_Is2K2KToFrcMode;
2756 
2757 typedef struct
2758 {
2759     MS_BOOL bEnable;
2760 } stXC_EnableSwitchMainSubZorder, *pstXC_EnableSwitchMainSubZorder;
2761 
2762 #if 0
2763 typedef struct
2764 {
2765     MS_BOOL bEnable;
2766     SCALER_WIN eWindow;
2767     MS_BOOL bReturnValue;
2768 } stXC_Set2PMode, *pstXC_Set2PMode;
2769 #endif
2770 
2771 typedef struct
2772 {
2773     MS_XC_VOP_Data stXC_VOPData;
2774     MS_BOOL bReturn;
2775 } stXC_SetXC_VOP, *pstXC_SetXC_VOP;
2776 
2777 typedef struct
2778 {
2779     MS_U16 u16HPixelShiftRange;
2780     MS_U16 u16VPixelShiftRange;
2781     PIXEL_SHIFT_FEATURE ePixelShiftFeature;
2782     E_APIXC_ReturnValue eReturnValue;
2783 } stXC_SET_PIXELSHIFT_FEATURES, *pstXC_SET_PIXELSHIFT_FEATURES;
2784 
2785 typedef struct
2786 {
2787     MS_BOOL bEnable;
2788     E_APIXC_ReturnValue eReturnValue;
2789 } stXC_Enable_LockFreqOnly, *pstXC_Enable_LockFreqOnly;
2790 
2791 typedef struct DLL_PACKED
2792 {
2793     E_XC_BWD_CONFIG_TYPE  eType;
2794     SCALER_WIN eWindow;
2795     void *pstParam;
2796     MS_BOOL bReturnValue;
2797 } stXC_SetBwdConfig, *pstXC_SetBwdConfig;
2798 
2799 #ifdef UFO_XC_SETBLACKVIDEOBYMODE
2800 typedef struct
2801 {
2802     MS_BOOL bEnable;
2803     SCALER_WIN eWindow;
2804     EN_XC_BLACK_VIDEO_MODE eMode;
2805     E_APIXC_ReturnValue eReturnValue;
2806 } stXC_SET_BLACKVIDEO_BYMODE, *pstXC_SET_BLACKVIDEO_BYMODE;
2807 #endif
2808 typedef struct
2809 {
2810     MS_BOOL bReturnValue;
2811 } stXC_IsSupport2StepScaling, *pstXC_IsSupport2StepScaling;
2812 
2813 typedef struct
2814 {
2815     E_XC_PQ_Path_Type ePqPathType;
2816     MS_U16 u16Width;
2817     MS_U16 u16Height;
2818     MS_BOOL bReturnValue;
2819 }stXC_GetPqPathStatus, *pstXC_GetPqPathStatus;
2820 
2821 #ifdef UFO_XC_TEST_PATTERN
2822 typedef struct DLL_PACKED
2823 {
2824     EN_XC_TEST_PATTERN_MODE ePatternMode;
2825     void *para;
2826     MS_U16 u16Length;
2827 } stXC_SET_TESTPATTERN, *pstXC_SET_TESTPATTERN;
2828 #endif
2829 
2830 typedef struct DLL_PACKED
2831 {
2832     MS_U32 u32Cmd;
2833     void *pCmdArgs;
2834     MS_U32 u32CmdArgsSize;
2835     E_APIXC_ReturnValue eReturnValue;
2836 }stXC_VIDEO_PLAYBACK_CTRL, *pstXC_VIDEO_PLAYBACK_CTRL;
2837 
2838 typedef struct
2839 {
2840     MS_U32 u32Cmd;
2841     void *pbuf;
2842     MS_U32 u32BufSize;
2843     MS_BOOL bReturn;
2844 }stXC_CMD_S_DISP_CTRL, *pstXC_CMD_S_DISP_CTRL;
2845 
2846 #ifdef UFO_XC_AUTO_DOWNLOAD
2847 typedef struct
2848 {
2849     XC_AUTODOWNLOAD_CONFIG_INFO* pstConfigInfo;
2850     E_APIXC_ReturnValue eReturnValue;
2851 } stXC_AUTODOWNLOAD_CONFIG_CTRL, *pstXC_AUTODOWNLOAD_CONFIG_CTRL;
2852 
2853 typedef struct
2854 {
2855     XC_AUTODOWNLOAD_DATA_INFO* pstDataInfo;
2856     E_APIXC_ReturnValue eReturnValue;
2857 } stXC_AUTODOWNLOAD_WRITE_CTRL, *pstXC_AUTODOWNLOAD_WRITE_CTRL;
2858 
2859 typedef struct
2860 {
2861     EN_XC_AUTODOWNLOAD_CLIENT enClient;
2862     E_APIXC_ReturnValue eReturnValue;
2863 } stXC_AUTODOWNLOAD_FIRE_CTRL, *pstXC_AUTODOWNLOAD_FIRE_CTRL;
2864 #endif
2865 
2866 #ifdef UFO_XC_HDR
2867 #if (UFO_XC_HDR_VERSION == 2)
2868 typedef struct DLL_PACKED
2869 {
2870     EN_XC_HDR_CTRL_TYPE enCtrlType;
2871     void *pParam;
2872     E_APIXC_ReturnValue eReturnValue;
2873 } stXC_HDR_CTRL, *pstXC_HDR_CTRL;
2874 #endif
2875 #endif
2876 
2877 typedef struct
2878 {
2879     E_XC_FB_LEVEL eFBLevel;
2880     SCALER_WIN eWindow;
2881     E_APIXC_ReturnValue eReturnValue;
2882 } stXC_SET_FB_LEVEL, *pstXC_SET_FB_LEVEL;
2883 
2884 typedef struct
2885 {
2886     SCALER_WIN eWindow;
2887 #if defined(UFO_PUBLIC_HEADER_500)
2888     E_XC_FB_LEVEL eFBLevel;
2889 #else
2890     E_XC_FB_LEVEL eReturnValue;
2891 #endif
2892 } stXC_GET_FB_LEVEL, *pstXC_GET_FB_LEVEL;
2893 
2894 #ifdef UFO_XC_FRAMEBUFFERCAPS
2895 typedef struct
2896 {
2897     EN_XC_FB_CAPS       enScalingCapsType;
2898     void *pParam;
2899     E_APIXC_ReturnValue eReturnValue;
2900     SCALER_WIN eWindow;
2901 } stXC_GET_FRAMEBUFFERCAPS, *pstXC_GET_FRAMEBUFFERCAPS;
2902 #endif
2903 #ifdef UFO_XC_DE_MODE
2904 typedef struct
2905 {
2906     MS_U8 u8MD;
2907     SCALER_WIN eWindow;
2908     E_APIXC_ReturnValue eReturnValue;
2909 } stXC_SET_DE_MODE, *pstXC_SET_DE_MODE;
2910 #endif
2911 
2912 typedef struct DLL_PACKED
2913 {
2914     SCALER_WIN eWindow;
2915 } stXC_SWDS_FIRE,*pstXC_SWDS_FIRE;
2916 
2917 typedef struct
2918 {
2919     MS_BOOL bReturnValue;
2920 } stXC_POLL_EVENT, *pstXC_POLL_EVENT;
2921 
2922 typedef struct DLL_PACKED
2923 {
2924     MS_U32 u32PipeID;
2925     MS_U32*  U32RetResNum;
2926     RESOURCE* pResource;
2927     MS_U32 u32ReturnValue;
2928 } stXC_GetResourceByPipeID, *pstXC_GetResourceByPipeID;
2929 typedef struct
2930 {
2931     MS_U32 u32PipeID;
2932     MS_U32 u32SecureDMA;
2933     MS_U32 u32OperationMode;
2934     MS_U32 u32ReturnValue;
2935 } stXC_ConfigPipe, *pstXC_ConfigPipe;
2936 typedef struct
2937 {
2938     SCALER_WIN eWindow;
2939     MS_BOOL bReturn;
2940 } stXC_OPTEE_CheckRBase, *pstXC_OPTEE_CheckRBase;
2941 
2942 typedef struct
2943 {
2944     MS_U32 u32PipeID;
2945     MS_U32 u32SecureDMA;
2946     MS_U32 u32OperationMode;
2947     MS_U32 u32ReturnValue;
2948 } stXC_CheckPipe, *pstXC_CheckPipe;
2949 typedef struct DLL_PACKED
2950 {
2951     EN_XC_OPTEE_ACTION action;
2952     XC_OPTEE_HANDLER *xc_handler;
2953     MS_BOOL bReturn;
2954 } stXC_OPTEE_CTRL, *pstXC_OPTEE_CTRL;
2955 typedef struct
2956 {
2957     EN_XC_OPTEE_ACTION action;
2958     XC_OPTEE_MUX_DATA xc_mux_data;
2959     MS_BOOL bReturn;
2960 } stXC_OPTEE_MUX, *pstXC_OPTEE_MUX;
2961 
2962 #ifdef UFO_XC_SUPPORT_DUAL_MIU
2963 typedef struct DLL_PACKED
2964 {
2965     MS_BOOL bEnable;
2966     MS_U32 u32LeftFactor;
2967     MS_U32 u32RightFactor;
2968     SCALER_WIN eWindow;
2969     MS_BOOL bReturnValue;
2970 } stXC_EnableDualMode, *pstXC_EnableDualMode;
2971 #endif
2972 
2973 typedef struct DLL_PACKED
2974 {
2975     E_XC_3D_ATTRIBUTE_TYPE e3DAttrType;
2976     void* para;
2977     void* p3DFormat;
2978     MS_BOOL bReturnValue;
2979 } stXC_GET3DFORMAT, *pstXC_GET3DFORMAT;
2980 
2981 typedef struct DLL_PACKED
2982 {
2983     XC_SWDR_INFO *pSWDR_INFO;
2984     MS_BOOL bReturnValue;
2985 }stXC_SWDR_INFO, *pstXC_SWDR_INFO;
2986 
2987 #ifdef UFO_XC_SUPPORT_HDMI_DOWNSCALE_OUTPUT_POLICY
2988 typedef struct
2989 {
2990     MS_U32 u32HDMIPolicyInfo;
2991 } stXC_GET_HDMIPOLICY, *pstXC_GET_HDMIPOLICY;
2992 #endif
2993 
2994 #ifdef _XC_C_
2995 #define INTERFACE
2996 #else
2997 #define INTERFACE extern
2998 #endif
2999 
3000 #undef INTERFACE
3001 
3002 #ifdef __cplusplus
3003 }
3004 #endif
3005 
3006 #endif //_XC_H_
3007