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