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