xref: /utopia/UTPA2-700.0.x/modules/pq/drv/pq/include/PQ_private.h (revision 53ee8cc121a030b8d368113ac3e966b4705770ef)
1 //<MStar Software>
2 //******************************************************************************
3 // MStar Software
4 // Copyright (c) 2010 - 2012 MStar Semiconductor, Inc. All rights reserved.
5 // All software, firmware and related documentation herein ("MStar Software") are
6 // intellectual property of MStar Semiconductor, Inc. ("MStar") and protected by
7 // law, including, but not limited to, copyright law and international treaties.
8 // Any use, modification, reproduction, retransmission, or republication of all
9 // or part of MStar Software is expressly prohibited, unless prior written
10 // permission has been granted by MStar.
11 //
12 // By accessing, browsing and/or using MStar Software, you acknowledge that you
13 // have read, understood, and agree, to be bound by below terms ("Terms") and to
14 // comply with all applicable laws and regulations
15 //
16 // 1. MStar shall retain any and all right, ownership and interest to MStar
17 //    Software and any modification/derivatives thereof.
18 //    No right, ownership, or interest to MStar Software and any
19 //    modification/derivatives thereof is transferred to you under Terms.
20 //
21 // 2. You understand that MStar Software might include, incorporate or be
22 //    supplied together with third party`s software and the use of MStar
23 //    Software may require additional licenses from third parties.
24 //    Therefore, you hereby agree it is your sole responsibility to separately
25 //    obtain any and all third party right and license necessary for your use of
26 //    such third party`s software.
27 //
28 // 3. MStar Software and any modification/derivatives thereof shall be deemed as
29 //    MStar`s confidential information and you agree to keep MStar`s
30 //    confidential information in strictest confidence and not disclose to any
31 //    third party.
32 //
33 // 4. MStar Software is provided on an "AS IS" basis without warranties of any
34 //    kind. Any warranties are hereby expressly disclaimed by MStar, including
35 //    without limitation, any warranties of merchantability, non-infringement of
36 //    intellectual property rights, fitness for a particular purpose, error free
37 //    and in conformity with any international standard.  You agree to waive any
38 //    claim against MStar for any loss, damage, cost or expense that you may
39 //    incur related to your use of MStar Software.
40 //    In no event shall MStar be liable for any direct, indirect, incidental or
41 //    consequential damages, including without limitation, lost of profit or
42 //    revenues, lost or damage of data, and unauthorized system use.
43 //    You agree that this Section 4 shall still apply without being affected
44 //    even if MStar Software has been modified by MStar in accordance with your
45 //    request or instruction for your use, except otherwise agreed by both
46 //    parties in writing.
47 //
48 // 5. If requested, MStar may from time to time provide technical supports or
49 //    services in relation with MStar Software to you for your use of
50 //    MStar Software in conjunction with your or your customer`s product
51 //    ("Services").
52 //    You understand and agree that, except otherwise agreed by both parties in
53 //    writing, Services are provided on an "AS IS" basis and the warranty
54 //    disclaimer set forth in Section 4 above shall apply.
55 //
56 // 6. Nothing contained herein shall be construed as by implication, estoppels
57 //    or otherwise
58 //    (a) conferring any license or right to use MStar name, trademark, service
59 //        mark, symbol or any other identification;
60 //    (b) obligating MStar or any of its affiliates to furnish any person,
61 //        including without limitation, you and your customers, any assistance
62 //        of any kind whatsoever, or any information; or
63 //    (c) conferring any license or right under any intellectual property right.
64 //
65 // 7. These terms shall be governed by and construed in accordance with the laws
66 //    of Taiwan, R.O.C., excluding its conflict of law rules.
67 //    Any and all dispute arising out hereof or related hereto shall be finally
68 //    settled by arbitration referred to the Chinese Arbitration Association,
69 //    Taipei in accordance with the ROC Arbitration Law and the Arbitration
70 //    Rules of the Association by three (3) arbitrators appointed in accordance
71 //    with the said Rules.
72 //    The place of arbitration shall be in Taipei, Taiwan and the language shall
73 //    be English.
74 //    The arbitration award shall be final and binding to both parties.
75 //
76 //******************************************************************************
77 
78 #ifndef _API_PQ_PRIV_H_
79 #define _API_PQ_PRIV_H_
80 
81 
82 ////////////////////////////////////////////////////////////////////////////////
83 // Header Files
84 ////////////////////////////////////////////////////////////////////////////////
85 #ifdef __cplusplus
86 extern "C"
87 {
88 #endif
89 #include "drvPQ_Define.h"
90 #include "drvPQ_Declare.h"
91 #include "apiPNL.h"
92 #include "utopia_relation.h"
93 typedef void                                 (*IOCTL_PQ_INIT)                                    (void* ,MS_PQ_Init_Info *);
94 typedef    MS_BOOL                                (*IOCTL_PQ_EXIT)                                    (void*    );
95 typedef    MS_U32                                (*IOCTL_PQ_SET_POWER_STATE)                            (void* ,EN_POWER_MODE );
96 typedef MS_U16                                (*IOCTL_PQ_GET_IP_NUM)                                (void* ,PQ_WIN );
97 typedef    MS_U16                                (*IOCTL_PQ_GET_TABLE_NUM)                            (void* ,PQ_WIN , MS_U16 );
98 typedef    MS_U16                                (*IOCTL_PQ_GET_CURRENT_TABLE_INDEX)                    (void* ,PQ_WIN , MS_U16 );
99 typedef    MS_U16                                (*IOCTL_PQ_GET_TABLE_INDEX)                            (void* ,PQ_WIN , MS_U16 );
100 typedef MS_U16                                 (*IOCTL_PQ_GET_CUSTOMER_TABLE_INDEX)                (void* ,PQ_WIN , MS_U16 );
101 //typedef MS_U16                                (*IOCTL_PQ_GET_XRULE_IP_INDEX)                        (void* ,PQ_WIN , MS_U16 , MS_U16 );
102 //typedef    MS_U16                                (*IOCTL_PQ_GET_XRULE_TABLE_INDEX)                    (void* ,PQ_WIN , MS_U16 , MS_U16 , MS_U16 );
103 //typedef    MS_U16                                (*IOCTL_PQ_GET_XRULE_IP_NUM)                        (void* ,PQ_WIN , MS_U16 );
104 typedef    void                                (*IOCTL_PQ_LOAD_TABLE_DATA)                            (void* ,PQ_WIN , MS_U16 , MS_U16 , MS_U8 *, MS_U16 );
105 typedef    void                                (*IOCTL_PQ_CLONE_TABLE)                                (void* ,PQ_WIN , MS_U16 , MS_U16 , MS_U16 );
106 typedef void                                (*IOCTL_PQ_LOAD_TABLE)                                (void* ,PQ_WIN , MS_U16 , MS_U16 );
107 typedef void                                (*IOCTL_PQ_LOAD_CUSTOMER_TABLE)                        (void* ,PQ_WIN , MS_U16 , MS_U16 );
108 typedef void                                (*IOCTL_PQ_CHECK_SETTINGS)                            (void* ,PQ_WIN );
109 #if (ENABLE_PQ_MLOAD)
110 typedef void                                (*IOCTL_PQ_SET_MLOAD_EN)                            (void* ,PQ_WIN , MS_BOOL );
111 #endif
112 typedef    MS_BOOL                                (*IOCTL_PQ_SKIP_DUPLICATED_SETTING)                    (void* ,PQ_WIN , MS_BOOL );
113 typedef MS_BOOL                                (*IOCTL_PQ_GET_SKIP_DUPLICATED_SETTING_STATUS)        (void* ,PQ_WIN );
114 #if (PQ_FRCM_CBCR_SWAP_BY_SW == 1)
115 typedef    void                                (*IOCTL_PQ_SET_FRCM_CB_CR_SWAP)                        (void* ,PQ_WIN );
116 #endif
117 typedef void                                (*IOCTL_PQ_LOAD_SETTINGS)                            (void* ,PQ_WIN );
118 typedef    void                                (*IOCTL_PQ_LOAD_CUSTONER_SETTINGS)                    (void* ,PQ_WIN );
119 typedef    void                                (*IOCTL_PQ_SET_DTVINFO)                                (void* ,PQ_WIN , MS_PQ_Dtv_Info *);
120 typedef    void                                (*IOCTL_PQ_SET_MULTIMEDIAINFO)                        (void* ,PQ_WIN , MS_PQ_MuliMedia_Info *);
121 typedef    void                                (*IOCTL_PQ_SET_DVINFO)                                (void* ,PQ_WIN , MS_PQ_Vd_Info *);
122 typedef    void                                (*IOCTL_PQ_SET_MODEINFO)                            (void* ,PQ_WIN , PQ_INPUT_SOURCE_TYPE , MS_PQ_Mode_Info *);
123 typedef void                                (*IOCTL_PQ_SET_HDMIINFO)                            (void* ,PQ_WIN , const MS_PQ_Hdmi_Info *const );
124 typedef    void                                (*IOCTL_PQ_SET_HDMI_PC)                                   (void* ,PQ_WIN , MS_BOOL );
125 typedef MS_BOOL                                (*IOCTL_PQ_GET_HDMI_PC_STATUS)                        (void* ,PQ_WIN );
126 typedef void                                (*IOCTL_PQ_DESIDE_SRC_TYPE)                            (void* ,PQ_WIN , PQ_INPUT_SOURCE_TYPE );
127 typedef    PQ_INPUT_SOURCE_TYPE                (*IOCTL_PQ_GET_INPUTSOURCE_TYPE)                    (void* ,PQ_WIN );
128 typedef    MS_U16                                (*IOCTL_PQ_GET_SRC_TYPE)                            (void* ,PQ_WIN );
129 typedef    MS_U16                                (*IOCTL_PQ_GET_DELAY_TIME_BY_MEMC)                    (void* ,SCALER_WIN, MS_U32 );
130 typedef    MS_U16                                (*IOCTL_PQ_GET_DELAY_TIME)                            (void* ,SCALER_WIN );
131 typedef    MS_BOOL                                (*IOCTL_PQ_LOAD_SCALING_TABLE)                        (void* , PQ_WIN
132                                                                                                         , MS_U8
133                                                                                                         , MS_BOOL
134                                                                                                         , MS_BOOL
135                                                                                                         , MS_BOOL
136                                                                                                         , MS_U16
137                                                                                                         , MS_U16 );
138 typedef    void                                (*IOCTL_PQ_SET_COLOR_RANGE)                            (void* ,PQ_WIN , MS_BOOL );
139 typedef    MS_BOOL                                (*IOCTL_PQ_GET_CSC_XRULEIDX)                        (void* ,
140                                                                                                         MS_BOOL * ,
141                                                                                                         MS_U16 * ,
142                                                                                                         PQ_WIN ,
143                                                                                                         PQ_FOURCE_COLOR_FMT ,
144                                                                                                         MS_BOOL );
145 typedef    MS_BOOL                                (*IOCTL_PQ_MEM_YUVFMT)                                (void* ,PQ_WIN , PQ_FOURCE_COLOR_FMT );
146 typedef    MS_BOOL                                (*IOCTL_PQ_SET_CSC)                                    (void* ,PQ_WIN , PQ_FOURCE_COLOR_FMT );
147 #if (PQ_XRULE_DB_ENABLE == 1)
148 typedef    void                                (*IOCTL_PQ_SET_DBRULE)                                (void* ,PQ_WIN , MS_U16 );
149 #endif
150 typedef    void                                (*IOCTL_PQ_ENABLE_MADI_FORCE)                        (void* ,PQ_WIN , MS_BOOL );
151 typedef    void                                (*IOCTL_PQ_REDUCE_BW_FOR_PVR)                        (void* ,PQ_WIN , MS_BOOL );
152 typedef void                                (*IOCTL_PQ_SET_420UP_SAMPLEING)                        (void* ,
153                                                                                                           PQ_WIN ,
154                                                                                                           MS_BOOL ,
155                                                                                                           MS_BOOL ,
156                                                                                                           MS_U16 );
157 typedef    void                                (*IOCTL_PQ_SET_FILEMODE)                            (void* ,PQ_WIN , MS_BOOL );
158 typedef    void                                (*IOCTL_PQ_SET_NONLINEAR_SCALING)                    (void* ,PQ_WIN , MS_U8 , MS_BOOL );
159 typedef    void                                (*IOCTL_PQ_3D_CLONE_FOR_PIP)                        (void* ,MS_BOOL );
160 typedef    void                                (*IOCTL_PQ_DISABLE_FILEMODE)                        (void* ,PQ_WIN , MS_BOOL );
161 typedef    MS_BOOL                                (*IOCTL_PQ_DISABLE_UC_FEATURE)                        (void* ,PQ_WIN );
162 typedef    MS_BOOL                                (*IOCTL_PQ_GET_CURRENT_UC_FEATURE)                    (void* ,
163                                                                                                            PQ_WIN ,
164                                                                                                            MS_U16 * ,
165                                                                                                            MS_U16 * ,
166                                                                                                            MS_U16 * ,
167                                                                                                            MS_U16 * ,
168                                                                                                            MS_U16 * ,
169                                                                                                            MS_U16 * ,
170                                                                                                            MS_U16 * ,
171                                                                                                            MS_U16 * ,
172                                                                                                            MS_U16 * ,
173                                                                                                            MS_U16 * ,
174                                                                                                            MS_U16 * );
175 typedef    MS_BOOL                                (*IOCTL_PQ_GET_UC_FEATURE_FROM_PQ)                    (void* ,
176                                                                                                            PQ_WIN ,
177                                                                                                            MS_U16 * ,
178                                                                                                            MS_U16 * ,
179                                                                                                            MS_U16 * ,
180                                                                                                            MS_U16 * ,
181                                                                                                            MS_U16 * ,
182                                                                                                            MS_U16 * ,
183                                                                                                            MS_U16 * ,
184                                                                                                            MS_U16 * ,
185                                                                                                            MS_U16 * );
186 #if (PQ_GRULE_GAME_MODE_ENABLE == 1)
187 typedef    MS_BOOL                                (*IOCTL_PQ_ENABLE_UC_FEATURE)                        (void* ,PQ_WIN );
188 #endif
189 typedef    MS_BOOL                                (*IOCTL_PQ_SET_UC_FEATURE)                            (void* pInstance,
190                                                                                                            PQ_WIN ,
191                                                                                                            MS_U16 ,
192                                                                                                            MS_U16 ,
193                                                                                                            MS_U16 ,
194                                                                                                            MS_U16 ,
195                                                                                                            MS_U16 ,
196                                                                                                            MS_U16 ,
197                                                                                                            MS_U16 ,
198                                                                                                            MS_U16 ,
199                                                                                                            MS_U16 ,
200                                                                                                            MS_U16 ,
201                                                                                                            MS_U16 );
202 typedef    MS_BOOL                                (*IOCTL_PQ_SET_DMSV12L)                                (void* ,PQ_WIN , MS_BOOL );
203 typedef    MS_BOOL                                (*IOCTL_PQ_GET_DMSV12L_FROM_XRULE_TABLE)            (void* ,PQ_WIN );
204 typedef    E_DRVPQ_ReturnValue                    (*IOCTL_PQ_GET_LIB_VER)                                (void* ,const MSIF_Version ** );
205 typedef    PQ_ReturnValue                        (*IOCTL_PQ_GET_INFO)                                (void* ,MS_PQ_INFO * );
206 typedef    MS_BOOL                                (*IOCTL_PQ_GET_STATUS)                                (void* ,MS_PQ_Status * );
207 typedef    MS_BOOL                                (*IOCTL_PQ_SET_DBGLEVEL)                            (void* ,MS_U16 );
208 typedef    void                                (*IOCTL_PQ_MADI_FORCE_MOTIONC)                        (void* ,PQ_WIN , MS_BOOL );
209 typedef    void                                (*IOCTL_PQ_MADI_FORCE_MOTIONY)                        (void* ,PQ_WIN , MS_BOOL );
210 #ifdef UFO_XC_PQ_SUPPORT_SWMOTION
211 typedef    void                                (*IOCTL_PQ_MADI_FORCE_MOTION)                        (void* ,PQ_WIN , MS_BOOL, MS_U16 , MS_BOOL, MS_U16);
212 #endif
213 #ifdef UFO_XC_PQ_SUPPORT_REPEATER_COLOR_THROUGH_MODE
214 typedef    void                                (*IOCTL_PQ_SET_COLOR_THROUGH_MODE)                 (void* ,PQ_WIN , MS_BOOL);
215 #endif
216 
217 typedef    void                                (*IOCTL_PQ_SET_RFBL_MODE)                            (void* ,MS_BOOL , MS_BOOL );
218 typedef    void                                (*IOCTL_PQ_GET_RFBL_MODE)                            (void* ,MS_PQ_RFBL_INFO * );
219 #if (PQ_ENABLE_VD_SAMPLING)
220 typedef    MS_BOOL                                (*IOCTL_PQ_GET_VDSAMPLING_INFO)                        (void* ,
221                                                                                                         PQ_WIN ,
222                                                                                                         PQ_INPUT_SOURCE_TYPE ,
223                                                                                                         PQ_VIDEOSTANDARD_TYPE ,
224                                                                                                         MS_PQ_VD_Sampling_Info * );
225 #endif
226 typedef    MS_BOOL                                (*IOCTL_PQ_INTER_IOCTL)                                (void* ,PQ_WIN , MS_U32 , void * , MS_U32 );
227 typedef    MS_PQ_ADC_SAMPLING_TYPE                (*IOCTL_PQ_GET_ADC_SAMPLING_INTO)                    (void* ,PQ_WIN , PQ_INPUT_SOURCE_TYPE , MS_PQ_Mode_Info * );
228 typedef    MS_BOOL                                (*IOCTL_PQ_SET_3D_ONOFF)                            (void* ,MS_BOOL );
229 typedef    MS_BOOL                                (*IOCTL_PQ_GET_CAPS)                                (void* ,MS_PQ_CAP_INFO * );
230 typedef    void                                (*IOCTL_PQ_PRINT_LOADTABLE_INFO)                    (void* ,MS_PQ_PQLOADTABLE_WIN );
231 typedef    MS_BOOL                                (*IOCTL_PQ_SETDS_ONOFF)                                (void* ,PQ_WIN , MS_BOOL );
232 typedef    MS_BOOL                                (*IOCTL_PQ_GET_RFBL_INFO)                            (void* ,PQ_WIN );
233 typedef    MS_BOOL                                (*IOCTL_PQ_CHECK_HD_MODE)                            (void* ,PQ_WIN );
234 typedef    MS_BOOL                                (*IOCTL_PQ_GET_INTERLACE_SD_MODE)                    (void* );
235 typedef    MS_BOOL                                (*IOCTL_PQ_SET_DUAL_VIEW_STATE)                        (void* ,MS_BOOL );
236 typedef    MS_BOOL                                (*IOCTL_PQ_GET_VGASUBCASE_FORCETO_422MODE)            (void* );
237 typedef    MS_BOOL                                (*IOCTL_PQ_GET_DUAL_VIEW_STATE)                        (void* );
238 typedef    MS_BOOL                                (*IOCTL_PQ_FORCE_VIDEO_INPUT_MODE)                    (void* ,MS_BOOL , PQ_WIN );
239 typedef    MS_BOOL                                (*IOCTL_PQ_IS_FORCE_VIDEO_INPUTMODE)                (void* ,PQ_WIN );
240 typedef    MS_BOOL                                (*IOCTL_PQ_SET_POINT2POINT)                            (void* ,
241                                                                                                         XC_SETWIN_INFO * ,
242                                                                                                            MS_BOOL ,
243                                                                                                            PQ_WIN );
244 typedef    MS_BOOL                                (*IOCTL_PQ_GET_POINT2POINT)                            (void* ,PQ_WIN );
245 typedef    MS_BOOL                                (*IOCTL_PQ_UPDATE_MEMFORMAT)                        (void* );
246 typedef    MS_U16                                (*IOCTL_PQ_GET_HSIZE)                                (void* ,PQ_WIN );
247 typedef    MS_U16                                (*IOCTL_PQ_GET_VSIZE)                                (void* ,PQ_WIN );
248 typedef    MS_BOOL                                (*IOCTL_PQ_IS_INTERLACE)                            (void* ,PQ_WIN );
249 typedef    MS_BOOL                                (*IOCTL_PQ_LOW_3D_QUALITY)                            (void* ,MS_BOOL );
250 typedef    MS_BOOL                                (*IOCTL_PQ_MWE_SET_ENHANCE_QUALITY)                    (void* );
251 typedef    MS_BOOL                                (*IOCTL_PQ_MWE_RESTORE_ENHANCE_QUALITY)                (void* );
252 typedef    MS_BOOL                                (*IOCTL_PQ_MWE_RESTORE_OFF_QUALITY)                    (void* );
253 typedef    MS_BOOL                                (*IOCTL_PQ_MWE_SET_OFF_QUALITY)                        (void* );
254 typedef    void                                (*IOCTL_PQ_MWE_CLONE_WINDOW)                        (void* ,PQ_WIN );
255 typedef    MS_BOOL                                (*IOCTL_PQ_3D_SETTING_FOR_LBL)                        (void* ,PQ_WIN );
256 typedef    void                                (*IOCTL_PQ_3D_CLONE_WINDOW)                            (void* ,PQ_3DTYPE , PQ_WIN );
257 typedef    MS_BOOL                                (*IOCTL_PQ_GET_SENSIOMODE)                            (void* );
258 typedef    void                                (*IOCTL_PQ_SET_SENSIOMODE)                            (void* ,MS_BOOL );
259 typedef    void                                (*IOCTL_PQ_SET_DIPF)                                (void* );
260 typedef    void                                (*IOCTL_PQ_SET_SELECT_CSC)                            (void* ,MS_U16 , PQ_WIN );
261 typedef    MS_BOOL                                (*IOCTL_PQ_GET_R2YEQ_SELECT)                        (void* ,PQ_WIN );
262 typedef    MS_BOOL                                (*IOCTL_PQ_GET_MEMFMT_IN_GENERAL)                    (void* ,
263                                                                                                         PQ_WIN ,
264                                                                                                         MS_BOOL ,
265                                                                                                         MS_U16 * ,
266                                                                                                         MS_U16 * ,
267                                                                                                         MS_U16 * );
268 typedef    MS_BOOL                                (*IOCTL_PQ_GET_MADI_FOR_RFBL)                        (void* ,
269                                                                                                         PQ_WIN ,
270                                                                                                         MS_BOOL ,
271                                                                                                          MS_U16 * ,
272                                                                                                         MS_U16 * );
273 typedef    MS_BOOL                                (*IOCTL_PQ_PATCH2RTO4R_FOR_FIELDPACKINGMODE)        (void* ,PQ_WIN , MS_U16 );
274 typedef    MS_BOOL                                (*IOCTL_PQ_GET_BPPINFO_FROM_MADI)                    (void* ,
275                                                                                                           PQ_WIN ,
276                                                                                                           MS_BOOL ,
277                                                                                                           MS_U16 ,
278                                                                                                           MS_U16 ,
279                                                                                                           MS_U8 * ,
280                                                                                                           PQ_DEINTERLACE_MODE * ,
281                                                                                                           MS_U8 * );
282 typedef    MS_BOOL                                (*IOCTL_PQ_CHANGE_MEMCONFIG_FOR3D)                    (void* ,
283                                                                                                         PQ_WIN ,
284                                                                                                         MS_BOOL ,
285                                                                                                         MS_U16 * ,
286                                                                                                         MS_U16 * ,
287                                                                                                         MS_U16 * ,
288                                                                                                         MS_U8 * ,
289                                                                                                         MS_U16 * ,
290                                                                                                         MS_U16 * );
291 typedef    MS_BOOL                                (*IOCTL_PQ_FORCE_BPP_FOR_DYNAMIC_MEMFMT)            (void* ,PQ_WIN , MS_BOOL , MS_U8 * );
292 typedef    MS_BOOL                                (*IOCTL_PQ_SUGGEST_FRAMENUM)                        (void* ,PQ_WIN , MS_U16 , MS_U8 );
293 typedef    MS_BOOL                                (*IOCTL_PQ_SET_GAMEMODE)                            (void* ,PQ_WIN , MS_BOOL );
294 typedef    MS_BOOL                                (*IOCTL_PQ_GET_GAMEMODE_STATUS)                        (void* ,PQ_WIN );
295 typedef    MS_BOOL                                (*IOCTL_PQ_SET_BYPASS_MODE)                            (void* ,PQ_WIN , MS_BOOL );
296 typedef    MS_BOOL                                (*IOCTL_PQ_GET_BYPASS_MODE_STATUS)                    (void* ,PQ_WIN );
297 typedef    char *                                (*IOCTL_PQ_GET_VERSION)                                (void* ,PQ_WIN );
298 typedef    char *                                (*IOCTL_PQ_CUS_GET_VERSION)                                (void* ,PQ_WIN );
299 typedef    MS_BOOL                                (*IOCTL_PQ_SET_GRULE_STATUS)                        (void* ,PQ_WIN , MS_U16 , MS_U16 );
300 typedef    MS_U16                                (*IOCTL_PQ_GET_GRULE_LV1NUM)                        (void* ,PQ_WIN , MS_U16 );
301 typedef    MS_U16                                (*IOCTL_PQ_GET_GRULE_GRULENUM)                        (void* ,PQ_WIN );
302 typedef    MS_U16                                (*IOCTL_PQ_GET_GRULE_LEVELINDEX)                    (void* ,PQ_WIN , MS_U16 , MS_U16 );
303 typedef    MS_U16                                (*IOCTL_PQ_GET_GRULE_IPINDEX)                        (void* ,PQ_WIN , MS_U16 , MS_U16 );
304 typedef    MS_U16                                (*IOCTL_PQ_GET_GRULE_TABLEINDEX)                    (void* ,PQ_WIN , MS_U16 , MS_U16 , MS_U16 );
305 typedef    MS_U16                                (*IOCTL_PQ_GET_CUSTOMERGRULE_IPINDEX)                (void* ,PQ_WIN , MS_U16 , MS_U16 );
306 typedef    MS_U16                                (*IOCTL_PQ_GET_CUSTOMERGRULE_TABLEINDEX)            (void* ,PQ_WIN , MS_U16 , MS_U16 , MS_U16 );
307 typedef    MS_BOOL                                (*IOCTL_PQ_SET_XVYCC_MATRIXCOEFFICIENT)                (void* ,
308                                                                                                         MS_U64 , MS_U64 ,
309                                                                                                         MS_U64 , MS_U64 ,
310                                                                                                         MS_U64 , MS_U64 ,
311                                                                                                         MS_U64 , MS_U64 ,
312                                                                                                         PQ_WIN );
313 typedef    MS_BOOL                                (*IOCTL_PQ_SET_XVYCC_MATRIXENABLE)                    (void* ,MS_BOOL , PQ_WIN );
314 typedef    MS_U16                                (*IOCTL_PQ_GET_DNR_WHOLE_REG)                            (void* ,PQ_WIN );
315 typedef    MS_BOOL                                (*IOCTL_PQ_Up_Layer_Set_Config)                        (void* ,MS_U16 , PQ_MISC_GROUP );
316 typedef    MS_PQ_EXECUTOR                        (*IOCTL_PQ_GetQmapExecutor)                            (void* ,MS_PQ_FUNCTION_TYPE );
317 typedef    void                                (*IOCTL_PQ_SetPhotoYUVStandard)                        (void* ,PQ_WIN , PQ_YUV_STD );
318 typedef    char *                                (*IOCTL_PQ_Ex_GetVersion)                            (void* ,PQ_WIN );
319 typedef    MS_U32                                (*IOCTL_PQ_GetAdaptiveVersion)                        (void* ,PQ_WIN );
320 typedef    void                                (*IOCTL_PQ_LoadUFSCSettings)                        (void* ,PQ_WIN );
321 #if (ENABLE_PQ_BIN_CF)
322 typedef    void                                (*IOCTL_PQ_LoadCFSettings)                          (void* ,PQ_WIN );
323 #endif
324 typedef    MS_BOOL                                (*IOCTL_PQ_SET_PQBYPASS)                            (void* ,XC_SETWIN_INFO * ,MS_BOOL ,PQ_WIN );
325 typedef    MS_BOOL                                (*IOCTL_PQ_GET_PQBYPASS)                            (void* ,PQ_WIN );
326 typedef    void                                (*IOCTL_PQ_SET_PQBIN_PATH)                            (void* ,PQ_BIN_PATH ,MS_U8 ,char* );
327 //drvPQ_cus.c
328 typedef void                                 (*IOCTL_PQ_LOAD_FILMMODE_TABLE)                        (void* ,PQ_WIN , PQ_FILM_MODE_FUNCTION_TYPE);
329 typedef void                                 (*IOCTL_PQ_LOAD_DYNAMIC_CONTRAST_TABLE)                (void* ,PQ_WIN , PQ_DYNAMIC_CONTRAST_FUNCTION_TYPE );
330 typedef void                                 (*IOCTL_PQ_LOAD_NR_TABLE)                            (void* ,PQ_WIN , PQ_3D_NR_FUNCTION_TYPE );
331 typedef void                                 (*IOCTL_PQ_LOAD_MPEG_NR_TABLE)                        (void* ,PQ_WIN , PQ_MPEG_NR_FUNCTION_TYPE );
332 typedef void                                 (*IOCTL_PQ_LOAD_ULTRACLEAR_TABLE)                    (void* ,PQ_WIN , PQ_FEATURE_SWITCH_TYPE );
333 typedef void                                 (*IOCTL_PQ_LOAD_XVYCC_TABLE)                           (void* ,PQ_WIN , PQ_XVYCC_TYPE );
334 typedef void                                 (*IOCTL_PQ_LOAD_HDR_TABLE)                             (void* ,PQ_WIN , PQ_HDR_MODE );
335 typedef MS_BOOL                                 (*IOCTL_PQ_GRULE_GET_SUPPORT_STATUS)                (void* ,PQ_SUPPORTED_TYPE );
336 typedef PQ_DEINTERLACE_MODE                     (*IOCTL_PQ_SET_MEMFORMAT)                             (void* ,PQ_WIN , MS_BOOL , MS_BOOL , MS_U8 *);
337 typedef void                                 (*IOCTL_PQ_REDUCEBW_ForOSD)                            (void* ,PQ_WIN , MS_BOOL );
338 typedef void                                (*IOCTL_PQ_LOAD_PTP_TABLE)                            (void* ,PQ_WIN , PQ_PTP_FUNCTION_TYPE );
339 typedef void                                 (*IOCTL_PQ_INIT_DISPLAY_TYPE)                        (void* ,MS_U16 , PQ_DISPLAY_TYPE );
340 typedef void                                 (*IOCTL_PQ_SET_DISPLAY_TYPE)                        (void* ,MS_U16 , PQ_DISPLAY_TYPE );
341 typedef MS_BOOL                                 (*IOCTL_PQ_GET_MADI_FROM_OSDBW_GRULE)                (void* ,PQ_WIN , MS_U16 * ,MS_U16 * );
342 typedef MS_BOOL                                 (*IOCTL_PQ_GET_MADI_IN_GENERAL)                        (void* ,PQ_WIN , MS_U16 * , MS_U16 * );
343 typedef MS_BOOL                                 (*IOCTL_PQ_CHECK_POINT2POINT_CONDITION)                (void* ,XC_SETWIN_INFO * ,PQ_WIN );
344 typedef MS_BOOL                             (*IOCTL_PQ_SET_POSTCCS_ONOFF)                        (void* ,PQ_WIN , MS_BOOL );
345 typedef void                                 (*IOCTL_PQ_ADAPTIVE_TUNING)                            (void* );
346 typedef void                                 (*IOCTL_PQ_FILMMODE_ANYCANDENCE_ENABLE)                (void* ,MS_BOOL );
347 typedef MS_BOOL                                 (*IOCTL_PQ_SETH264_ONOFF)                            (void* ,MS_BOOL );
348 typedef MS_BOOL                                (*IOCTL_PQ_SETG3D_ONOFF)                            (void* ,MS_BOOL );
349 typedef MS_BOOL                                 (*IOCTL_PQ_SETMVC4KX1K_ONOFF)                        (void* ,MS_BOOL );
350 typedef MS_BOOL                             (*IOCTL_PQ_SET_NETWORKMM_ONOFF)                        (void* ,MS_BOOL );
351 typedef MS_BOOL                                 (*IOCTL_PQ_SETMM_ONOFF)                                (void* ,MS_BOOL );
352 typedef MS_BOOL                                 (*IOCTL_PQ_SET_RMVB_ONOFF)                            (void* ,MS_BOOL , PQ_WIN );
353 typedef MS_BOOL                             (*IOCTL_PQ_SET_VIPBYPASS_ONOFF)                        (void* ,MS_BOOL , PQ_WIN );
354 typedef MS_BOOL                             (*IOCTL_PQ_SET_PEAKING_ONOFF)                        (void* ,MS_BOOL , PQ_WIN );
355 typedef MS_BOOL                                (*IOCTL_PQ_SET_FAKE_OUT_ENABLE)                        (void* ,MS_BOOL );
356 typedef MS_U16                              (*IOCTL_PQ_GET_TABLE_INDEX_EX )                     (void* ,PQ_WIN  , MS_U16 , PQ_ENGINE_TYPE );
357 typedef void                                (*IOCTL_PQ_LOAD_TABLE_EX )                          (void* ,PQ_WIN  , MS_U16 , MS_U16 , PQ_ENGINE_TYPE );
358 typedef MS_BOOL                             (*IOCTL_PQ_DEMO_CLONE_WINDOW )                      (void*, PQ_WIN , MS_U8 );
359 typedef MS_U16                              (*IOCTL_PQ_GET_GRULE_LVLNUM_EX )                    (void* ,PQ_WIN , MS_U16 , PQ_ENGINE_TYPE );
360 typedef MS_U16                              (*IOCTL_PQ_GET_GRULE_LEVEILNDEX_EX)                 (void* ,PQ_WIN , MS_U16 , MS_U16 , PQ_ENGINE_TYPE );
361 typedef MS_U16                              (*IOCTL_PQ_GET_GRULE_IPINDEX_EX)                    (void* ,PQ_WIN , MS_U16 , MS_U16 , PQ_ENGINE_TYPE );
362 typedef MS_U16                              (*IOCTL_PQ_GET_GRULE_TABLEINDEX_EX)                 (void* ,PQ_WIN , MS_U16 , MS_U16 , MS_U16 , PQ_ENGINE_TYPE );
363 typedef void                                (*IOCTL_PQ_EBABLE_SCALERGAMMA)                        (void*, PQ_WIN , MS_BOOL );
364 typedef void                                (*IOCTL_PQ_SET_GAMMATBl)                            (void*, APIPNL_GAMMA_TYPE , MS_U8** , APIPNL_GAMMA_MAPPEING_MODE );
365 typedef MS_BOOL                        (*IOCTL_PQ_SET_1KTRAVELINGENABLE)                            (void*,MS_BOOL );
366 //drvPQ_text.c
367 typedef    char *                                (*IOCTL_PQ_GET_SRC_TYPE_NAME)                        (void* ,PQ_WIN );
368 typedef    char *                                (*IOCTL_PQ_GET_IP_NAME)                                (void* ,MS_U8 );
369 typedef    char *                                (*IOCTL_PQ_GET_TABLE_NAME)                            (void* ,MS_U8 ,MS_U8 );
370 //drvbw.c
371 typedef void                                 (*IOCTL_PQ_BW_LOAD_INIT_TABLE)                        (void* );
372 typedef void                                (*IOCTL_PQ_BW_LOAD_TABLE_BY_CONTEXT)                (void* ,PQ_WIN );
373 typedef void                                (*IOCTL_PQ_BW_CUSMODE_LOAD_TABLE)                   (void* , MS_U8 );
374 typedef void                                (*IOCTL_PQ_BW_RESET_TO_DEFAULT)                        (void* );
375 typedef MS_BOOL                                 (*IOCTL_PQ_GETCONFIG)                              (void* ,MS_PQ_Init_Info *);
376 typedef MS_BOOL                             (*IOCTL_PQ_SET_FRAMEBUFF_MODE)                       (void* ,MS_BOOL);
377 
378 typedef struct
379 {
380     //IOCTL_PNL_GETLIBVER                         fpPNL_GetLibVer;
381     IOCTL_PQ_INIT                                fpPQ_Init;
382     IOCTL_PQ_EXIT                                fpPQ_Exit;
383     IOCTL_PQ_SET_POWER_STATE                    fpPQ_SetPowerState;
384     IOCTL_PQ_GET_IP_NUM                            fpPQ_GetIPNum;
385     IOCTL_PQ_GET_TABLE_NUM                        fpPQ_GetTableNum;
386     IOCTL_PQ_GET_CURRENT_TABLE_INDEX            fpPQ_GetCurrentTableIndex;
387     IOCTL_PQ_GET_TABLE_INDEX                    fpPQ_GetTableIndex;
388     IOCTL_PQ_GET_CUSTOMER_TABLE_INDEX            fpPQ_GetCustomerTableIndex;
389     //IOCTL_PQ_GET_XRULE_IP_INDEX                    fpPQ_GetXRuleIPIndex;
390     //IOCTL_PQ_GET_XRULE_TABLE_INDEX                fpPQ_GetXRuleTableIndex;
391     //IOCTL_PQ_GET_XRULE_IP_NUM                    fpPQ_GetXRuleIPNum;
392     IOCTL_PQ_LOAD_TABLE_DATA                    fpPQ_LoadTableData;
393     IOCTL_PQ_CLONE_TABLE                        fpPQ_CloneTable;
394     IOCTL_PQ_LOAD_TABLE                            fpPQ_LoadTable;
395     IOCTL_PQ_LOAD_CUSTOMER_TABLE                fpPQ_LoadCustomerTable;
396     IOCTL_PQ_CHECK_SETTINGS                        fpPQ_CheckSettings;
397 #if (ENABLE_PQ_MLOAD)
398     IOCTL_PQ_SET_MLOAD_EN    fpPQ_MLoadEn;
399 #endif
400     IOCTL_PQ_SKIP_DUPLICATED_SETTING            fpPQ_SkipDuplicatedSetting;
401     IOCTL_PQ_GET_SKIP_DUPLICATED_SETTING_STATUS    fpPQ_GetSkipDuplicatedSettingStatus;
402 #if (PQ_FRCM_CBCR_SWAP_BY_SW == 1)
403     IOCTL_PQ_SET_FRCM_CB_CR_SWAP                fpPQ_SetFrcmCbCrSwap;
404 #endif
405     IOCTL_PQ_LOAD_SETTINGS                        fpPQ_LoadSettings;
406     IOCTL_PQ_LOAD_CUSTONER_SETTINGS                fpPQ_LoadCustomerSettings;
407     IOCTL_PQ_SET_DTVINFO                        fpPQ_Set_DTVInfo;
408     IOCTL_PQ_SET_MULTIMEDIAINFO                    fpPQ_Set_MultiMediaInfo;
409     IOCTL_PQ_SET_DVINFO                            fpPQ_Set_VDInfo;
410     IOCTL_PQ_SET_MODEINFO                        fpPQ_Set_ModeInfo;
411     IOCTL_PQ_SET_HDMIINFO                        fpPQ_SetHDMIInfo;
412     IOCTL_PQ_SET_HDMI_PC                        fpPQ_SetHDMI_PC;
413     IOCTL_PQ_GET_HDMI_PC_STATUS                    fpPQ_GetHDMI_PC_Status;
414     IOCTL_PQ_DESIDE_SRC_TYPE                    fpPQ_DesideSrcType;
415     IOCTL_PQ_GET_INPUTSOURCE_TYPE                fpPQ_GetInputSourceType;
416     IOCTL_PQ_GET_SRC_TYPE                        fpPQ_GetSrcType;
417     IOCTL_PQ_GET_DELAY_TIME_BY_MEMC                fpPQ_GetDelayTimeByMemc;
418     IOCTL_PQ_GET_DELAY_TIME                        fpPQ_GetDelayTime;
419     IOCTL_PQ_LOAD_SCALING_TABLE                    fpPQ_LoadScalingTable;
420     IOCTL_PQ_SET_COLOR_RANGE                    fpPQ_SetColorRange;
421     IOCTL_PQ_GET_CSC_XRULEIDX                    fpPQ_Get_CSC_XRuleIdx;
422     IOCTL_PQ_MEM_YUVFMT                            fpPQ_Get_MemYUVFmt;
423     IOCTL_PQ_SET_CSC                            fpPQ_SetCSC;
424 #if (PQ_XRULE_DB_ENABLE == 1)
425     IOCTL_PQ_SET_DBRULE                            fpPQ_Set_DBRule;
426 #endif
427     IOCTL_PQ_ENABLE_MADI_FORCE                    fpPQ_EnableMADIForce;
428     IOCTL_PQ_REDUCE_BW_FOR_PVR                    fpPQ_ReduceBW_ForPVR;
429     IOCTL_PQ_SET_420UP_SAMPLEING                fpPQ_Set420upsampling;
430     IOCTL_PQ_SET_FILEMODE                        fpPQ_SetFilmMode;
431     IOCTL_PQ_SET_NONLINEAR_SCALING                fpPQ_SetNonLinearScaling;
432     IOCTL_PQ_3D_CLONE_FOR_PIP                    fpPQ_3DCloneforPIP;
433     IOCTL_PQ_DISABLE_FILEMODE                    fpPQ_DisableFilmMode;
434     IOCTL_PQ_DISABLE_UC_FEATURE                    fpPQ_DisableUCFeature;
435     IOCTL_PQ_GET_CURRENT_UC_FEATURE                fpPQ_GetCurrentUCFeature;
436     IOCTL_PQ_GET_UC_FEATURE_FROM_PQ                fpPQ_GetUCFeatureFromPQ;
437 #if (PQ_GRULE_GAME_MODE_ENABLE == 1)
438     IOCTL_PQ_ENABLE_UC_FEATURE                    fpPQ_EnableUCFeature;
439 #endif
440     IOCTL_PQ_SET_UC_FEATURE                        fpPQ_SetUCFeature;
441     IOCTL_PQ_SET_DMSV12L                        fpPQ_SetDMSV12L;
442     IOCTL_PQ_GET_DMSV12L_FROM_XRULE_TABLE        fpPQ_GetDMSV12LFromXRuleTable;
443     IOCTL_PQ_GET_LIB_VER                        fpPQ_GetLibVer;
444     IOCTL_PQ_GET_INFO                            fpPQ_GetInfo;
445     IOCTL_PQ_GET_STATUS                            fpPQ_GetStatus;
446     IOCTL_PQ_SET_DBGLEVEL                        fpPQ_SetDbgLevel;
447     IOCTL_PQ_MADI_FORCE_MOTIONC                    fpPQ_MADiForceMotionC;
448     IOCTL_PQ_MADI_FORCE_MOTIONY                    fpPQ_MADiForceMotionY;
449 #ifdef UFO_XC_PQ_SUPPORT_SWMOTION
450     IOCTL_PQ_MADI_FORCE_MOTION                    fpPQ_MADiForceMotion;
451 #endif
452 #ifdef UFO_XC_PQ_SUPPORT_SWMOTION
453     IOCTL_PQ_SET_COLOR_THROUGH_MODE               fpPQ_SetColorThroughMode;
454 #endif
455     IOCTL_PQ_SET_RFBL_MODE                        fpPQ_SetRFblMode;
456     IOCTL_PQ_GET_RFBL_MODE                        fpPQ_GetRFblMode;
457 #if (PQ_ENABLE_VD_SAMPLING)
458     IOCTL_PQ_GET_VDSAMPLING_INFO                fpPQ_Get_VDSampling_Info;
459 #endif
460     IOCTL_PQ_INTER_IOCTL                        fpPQ_INTER_IOCTL;
461     IOCTL_PQ_GET_ADC_SAMPLING_INTO                fpPQ_Get_ADCSampling_Info;
462     IOCTL_PQ_SET_3D_ONOFF                        fpPQ_Set3D_OnOff;
463     IOCTL_PQ_GET_CAPS                            fpPQ_GetCaps;
464     IOCTL_PQ_PRINT_LOADTABLE_INFO                fpPQ_PrintLoadTableInfo;
465     IOCTL_PQ_SETDS_ONOFF                        fpPQ_SetDS_OnOFF;
466     IOCTL_PQ_GET_RFBL_INFO                        fpPQ_Get_RFBL_Info;
467     IOCTL_PQ_CHECK_HD_MODE                        fpPQ_CheckHDMode;
468     IOCTL_PQ_GET_INTERLACE_SD_MODE                fpPQ_Interlace_SD_mode;
469     IOCTL_PQ_SET_DUAL_VIEW_STATE                fpPQ_SetDualViewState;
470     IOCTL_PQ_GET_VGASUBCASE_FORCETO_422MODE        fpPQ_GetVGASubCaseForceTo422Mode;
471     IOCTL_PQ_GET_DUAL_VIEW_STATE                fpPQ_GetDualViewState;
472     IOCTL_PQ_FORCE_VIDEO_INPUT_MODE                fpPQ_ForceVideoInputMode;
473     IOCTL_PQ_IS_FORCE_VIDEO_INPUTMODE            fpPQ_IsForceVideoInputMode;
474     IOCTL_PQ_SET_POINT2POINT                    fpPQ_Set_PointToPoint;
475     IOCTL_PQ_GET_POINT2POINT                    fpPQ_Get_PointToPoint;
476     IOCTL_PQ_UPDATE_MEMFORMAT                    fpPQ_Update_MemFormat;
477     IOCTL_PQ_GET_HSIZE                            fpPQ_GetHsize;
478     IOCTL_PQ_GET_VSIZE                            fpPQ_GetVsize;
479     IOCTL_PQ_IS_INTERLACE                        fpPQ_IsInterlace;
480     IOCTL_PQ_LOW_3D_QUALITY                        fpPQ_LOW_3dQuality;
481     IOCTL_PQ_MWE_SET_ENHANCE_QUALITY            fpPQ_MWE_SetEnhanceQuality;
482     IOCTL_PQ_MWE_RESTORE_ENHANCE_QUALITY        fpPQ_MWE_RestoreEnhanceQuality;
483     IOCTL_PQ_MWE_RESTORE_OFF_QUALITY            fpPQ_MWE_RestoreOffQuality;
484     IOCTL_PQ_MWE_SET_OFF_QUALITY                fpPQ_MWE_SetOffQuality;
485     IOCTL_PQ_MWE_CLONE_WINDOW                    fpPQ_MWE_CloneWindow;
486     IOCTL_PQ_3D_SETTING_FOR_LBL                    fpPQ_3D_SettingForLBL;
487     IOCTL_PQ_3D_CLONE_WINDOW                    fpPQ_3D_CloneWindow;
488     IOCTL_PQ_GET_SENSIOMODE                        fpPQ_Get_SensioMode;
489     IOCTL_PQ_SET_SENSIOMODE                        fpPQ_Set_SensioMode;
490     IOCTL_PQ_SET_DIPF                            fpPQ_Set_DIPF;
491     IOCTL_PQ_SET_SELECT_CSC                        fpPQ_SetSelectCSC;
492     IOCTL_PQ_GET_R2YEQ_SELECT                    fpPQ_GetR2YEqSelect;
493     IOCTL_PQ_GET_MEMFMT_IN_GENERAL                fpPQ_GetMemFmtInGeneral;
494     IOCTL_PQ_GET_MADI_FOR_RFBL                    fpPQ_GetMADiForRFBL;
495     IOCTL_PQ_PATCH2RTO4R_FOR_FIELDPACKINGMODE    fpPQ_Patch2Rto4RForFieldPackingMode;
496     IOCTL_PQ_GET_BPPINFO_FROM_MADI                fpPQ_GetBPPInfoFromMADi;
497     IOCTL_PQ_CHANGE_MEMCONFIG_FOR3D                fpPQ_ChangeMemConfigFor3D;
498     IOCTL_PQ_FORCE_BPP_FOR_DYNAMIC_MEMFMT        fpPQ_ForceBPPForDynamicMemFmt;
499     IOCTL_PQ_SUGGEST_FRAMENUM                    fpPQ_SuggestFrameNum;
500     IOCTL_PQ_SET_GAMEMODE                        fpPQ_SetGameMode;
501     IOCTL_PQ_GET_GAMEMODE_STATUS                fpPQ_GetGameMode_Status;
502     IOCTL_PQ_SET_BYPASS_MODE                    fpPQ_SetBypassMode;
503     IOCTL_PQ_GET_BYPASS_MODE_STATUS                fpPQ_GetBypassModeStatus;
504     IOCTL_PQ_GET_VERSION                        fpPQ_GetVersion;
505     IOCTL_PQ_CUS_GET_VERSION                    fpPQ_Cus_GetVersion;
506     IOCTL_PQ_SET_GRULE_STATUS                    fpPQ_SetGRuleStatus;
507     IOCTL_PQ_GET_GRULE_LV1NUM                    fpPQ_GetGRule_LvlNum;
508     IOCTL_PQ_GET_GRULE_GRULENUM                    fpPQ_GetGRule_GRuleNum;
509     IOCTL_PQ_GET_GRULE_LEVELINDEX                fpPQ_GetGRule_LevelIndex;
510     IOCTL_PQ_GET_GRULE_IPINDEX                    fpPQ_GetGRule_IPIndex;
511     IOCTL_PQ_GET_GRULE_TABLEINDEX                fpPQ_GetGRule_TableIndex;
512     IOCTL_PQ_GET_CUSTOMERGRULE_IPINDEX            fpPQ_GetCustomerGRule_IPIndex;
513     IOCTL_PQ_GET_CUSTOMERGRULE_TABLEINDEX        fpPQ_GetGRule_CustomerTableIndex;
514     IOCTL_PQ_SET_XVYCC_MATRIXCOEFFICIENT        fpPQ_Set_xvYCC_MatrixCoefficient;
515     IOCTL_PQ_SET_XVYCC_MATRIXENABLE                fpPQ_Set_xvYCC_MatrixEnable;
516     IOCTL_PQ_GET_DNR_WHOLE_REG                  fpPQ_Get_DNR_Whole_reg;
517     IOCTL_PQ_Up_Layer_Set_Config                fpPQ_Up_Layer_Set_Config;
518     IOCTL_PQ_GetQmapExecutor                    fpPQ_GetQmapExecutor;
519     IOCTL_PQ_SetPhotoYUVStandard                fpPQ_SetPhotoYUVStandard;
520     IOCTL_PQ_Ex_GetVersion                        fpPQ_Ex_GetVersion;
521     IOCTL_PQ_GetAdaptiveVersion                    fpPQ_GetAdaptiveVersion;
522     IOCTL_PQ_LoadUFSCSettings                    fpPQ_LoadUFSCSettings;
523 #if (ENABLE_PQ_BIN_CF)
524     IOCTL_PQ_LoadCFSettings                      fpPQ_LoadCFSettings;
525 #endif
526     IOCTL_PQ_GET_TABLE_INDEX_EX                                  fpPQ_GetTableIndex_Ex;
527     IOCTL_PQ_LOAD_TABLE_EX                                       fpPQ_LoadTable_Ex;
528     IOCTL_PQ_DEMO_CLONE_WINDOW                                   fpPQ_Demo_CloneWindow;
529     IOCTL_PQ_GET_GRULE_LVLNUM_EX                                 fpPQ_GetGRule_LvlNum_Ex;
530     IOCTL_PQ_GET_GRULE_LEVEILNDEX_EX                             fpPQ_GetGRule_LevelIndex_Ex;
531     IOCTL_PQ_GET_GRULE_IPINDEX_EX                                fpPQ_GetGRule_IPIndex_Ex;
532     IOCTL_PQ_GET_GRULE_TABLEINDEX_EX                             fpPQ_GetGRule_TableIndex_Ex;
533     IOCTL_PQ_GET_PQBYPASS                                         fpPQ_Get_PqBypass;
534     IOCTL_PQ_SET_PQBYPASS                                         fpPQ_Set_PqBypass;
535     IOCTL_PQ_SET_PQBIN_PATH                                    fpPQ_Set_PqBin_Path;
536 //drvPQ_cus.c
537     IOCTL_PQ_LOAD_FILMMODE_TABLE                fpPQ_LoadFilmModeTable;
538     IOCTL_PQ_LOAD_DYNAMIC_CONTRAST_TABLE        fpPQ_LoadDynamicContrastTable;
539     IOCTL_PQ_LOAD_NR_TABLE                        fpPQ_LoadNRTable;
540     IOCTL_PQ_LOAD_MPEG_NR_TABLE                    fpPQ_LoadMPEGNRTable;
541     IOCTL_PQ_LOAD_ULTRACLEAR_TABLE                fpPQ_Load_ULTRACLEAR_Table;
542     IOCTL_PQ_LOAD_XVYCC_TABLE                    fpPQ_Load_XVYCC_Table;
543     IOCTL_PQ_LOAD_HDR_TABLE                    fpPQ_Load_HDR_Table;
544     IOCTL_PQ_GRULE_GET_SUPPORT_STATUS            fpPQ_GRULE_Get_Support_Status;
545     IOCTL_PQ_SET_MEMFORMAT                        fpPQ_SetMemFormat;
546     IOCTL_PQ_REDUCEBW_ForOSD                    fpPQ_ReduceBW_ForOSD;
547     IOCTL_PQ_LOAD_PTP_TABLE                        fpPQ_LoadPTPTable;
548     IOCTL_PQ_INIT_DISPLAY_TYPE                    fpPQ_Init_DisplayType;
549     IOCTL_PQ_SET_DISPLAY_TYPE                    fpPQ_Set_DisplayType;
550     IOCTL_PQ_GET_MADI_FROM_OSDBW_GRULE            fpPQ_GetMADiFromOSDBWGrule;
551     IOCTL_PQ_GET_MADI_IN_GENERAL                fpPQ_GetMADiInGeneral;
552     IOCTL_PQ_CHECK_POINT2POINT_CONDITION        fpPQ_Check_PointToPoint_Condition;
553     IOCTL_PQ_SET_POSTCCS_ONOFF                    fpPQ_SetPostCCSOnOff;
554     IOCTL_PQ_ADAPTIVE_TUNING                    fpPQ_AdaptiveTuning;
555     IOCTL_PQ_FILMMODE_ANYCANDENCE_ENABLE        fpPQ_FilmMode_AnyCandence_Enable;
556     IOCTL_PQ_SETH264_ONOFF                        fpPQ_SetH264_OnOff;
557     IOCTL_PQ_SETG3D_ONOFF                        fpPQ_SetG3D_OnOff;
558     IOCTL_PQ_SETMVC4KX1K_ONOFF                    fpPQ_SetMVC4kx1k_OnOff;
559     IOCTL_PQ_SET_NETWORKMM_ONOFF                fpPQ_SetNetworkMM_OnOff;
560     IOCTL_PQ_SETMM_ONOFF                        fpPQ_SetMM_OnOff;
561     IOCTL_PQ_SET_RMVB_ONOFF                        fpPQ_SetRmvb_OnOff;
562     IOCTL_PQ_SET_VIPBYPASS_ONOFF                fpPQ_SetVIPBypass_OnOff;
563     IOCTL_PQ_SET_PEAKING_ONOFF                    fpPQ_SetPeaking_OnOff;
564     IOCTL_PQ_SET_FAKE_OUT_ENABLE                fpPQ_SetFakeOutEnable;
565     IOCTL_PQ_EBABLE_SCALERGAMMA                    fpPQ_EnableScalerGamma;
566     IOCTL_PQ_SET_GAMMATBl                                fpPQ_SetGammaTbl;
567     IOCTL_PQ_SET_1KTRAVELINGENABLE                         fpPQ_Set1KTravelingEnable;
568 //drvPQ_Text.c
569     IOCTL_PQ_GET_SRC_TYPE_NAME                    fpPQ_GetSrcTypeName;
570     IOCTL_PQ_GET_IP_NAME                        fpPQ_GetIPName;
571     IOCTL_PQ_GET_TABLE_NAME                        fpPQ_GetTableName;
572 //drvbw.c
573     IOCTL_PQ_BW_LOAD_INIT_TABLE                    fpPQ_BW_LoadInitTable;
574     IOCTL_PQ_BW_LOAD_TABLE_BY_CONTEXT            fpPQ_BW_LoadTableByContext;
575     IOCTL_PQ_BW_CUSMODE_LOAD_TABLE                           fpPQ_BW_CusMode_LoadTable;
576     IOCTL_PQ_BW_RESET_TO_DEFAULT                fpPQ_BW_ResetToDefault;
577     IOCTL_PQ_GETCONFIG                           fpPQ_GetConfig;
578     IOCTL_PQ_SET_FRAMEBUFF_MODE                  fpPQ_SET_FrameBuff_Mode;
579     // Device ID
580     MS_U32 u32DeviceID;
581 }PQ_INSTANCE_PRIVATE;
582 
583 ////////////////////////////////////////////////////////////////////////////////
584 // Reduce driver code size
585 ////////////////////////////////////////////////////////////////////////////////
586 
587 #define _MODULE_PQ_U1_U2_RELATION \
588         URELATION(fpPQ_Init,(IOCTL_PQ_INIT)MDrv_PQ_Init_U2,MDrv_PQ_Init) \
589         URELATION(fpPQ_Exit,(IOCTL_PQ_EXIT)MDrv_PQ_Exit_U2,MDrv_PQ_Exit) \
590         URELATION(fpPQ_SetPowerState,(IOCTL_PQ_SET_POWER_STATE)MDrv_PQ_SetPowerState_U2,MDrv_PQ_SetPowerState) \
591         URELATION(fpPQ_GetIPNum,(IOCTL_PQ_GET_IP_NUM)MDrv_PQ_GetIPNum_U2,MDrv_PQ_GetIPNum) \
592         URELATION(fpPQ_GetTableNum,(IOCTL_PQ_GET_TABLE_NUM)MDrv_PQ_GetTableNum_U2,MDrv_PQ_GetTableNum) \
593         URELATION(fpPQ_GetCurrentTableIndex,(IOCTL_PQ_GET_CURRENT_TABLE_INDEX)MDrv_PQ_GetCurrentTableIndex_U2,MDrv_PQ_GetCurrentTableIndex) \
594         URELATION(fpPQ_GetTableIndex,(IOCTL_PQ_GET_TABLE_INDEX)MDrv_PQ_GetTableIndex_U2,MDrv_PQ_GetTableIndex) \
595         URELATION(fpPQ_GetCustomerTableIndex,(IOCTL_PQ_GET_CUSTOMER_TABLE_INDEX)MDrv_PQ_GetCustomerTableIndex_U2,MDrv_PQ_GetCustomerTableIndex) \
596         URELATION(fpPQ_CloneTable,(IOCTL_PQ_CLONE_TABLE)MDrv_PQ_CloneTable_U2,MDrv_PQ_CloneTable) \
597         URELATION(fpPQ_LoadTable,(IOCTL_PQ_LOAD_TABLE)MDrv_PQ_LoadTable_U2,MDrv_PQ_LoadTable) \
598         URELATION(fpPQ_LoadCustomerTable,(IOCTL_PQ_LOAD_CUSTOMER_TABLE)MDrv_PQ_LoadCustomerTable_U2,MDrv_PQ_LoadCustomerTable) \
599         URELATION(fpPQ_CheckSettings,(IOCTL_PQ_CHECK_SETTINGS)MDrv_PQ_CheckSettings_U2,MDrv_PQ_CheckSettings) \
600         URELATION(fpPQ_MLoadEn,(IOCTL_PQ_SET_MLOAD_EN)MDrv_PQ_Set_MLoadEn_U2,MDrv_PQ_Set_MLoadEn) \
601         URELATION(fpPQ_SkipDuplicatedSetting,(IOCTL_PQ_SKIP_DUPLICATED_SETTING)MDrv_PQ_SkipDuplicatedSetting_U2,MDrv_PQ_SkipDuplicatedSetting) \
602         URELATION(fpPQ_GetSkipDuplicatedSettingStatus,(IOCTL_PQ_GET_SKIP_DUPLICATED_SETTING_STATUS)MDrv_PQ_GetSkipDuplicatedSettingStatus_U2,MDrv_PQ_GetSkipDuplicatedSettingStatus) \
603         URELATION(fpPQ_LoadSettings,(IOCTL_PQ_LOAD_SETTINGS)MDrv_PQ_LoadSettings_U2,MDrv_PQ_LoadSettings) \
604         URELATION(fpPQ_LoadCustomerSettings,(IOCTL_PQ_LOAD_CUSTONER_SETTINGS)MDrv_PQ_LoadCustomerSettings_U2,MDrv_PQ_LoadCustomerSettings) \
605         URELATION(fpPQ_Set_DTVInfo,(IOCTL_PQ_SET_DTVINFO)MDrv_PQ_Set_DTVInfo_U2,MDrv_PQ_Set_DTVInfo) \
606         URELATION(fpPQ_Set_MultiMediaInfo,(IOCTL_PQ_SET_MULTIMEDIAINFO)MDrv_PQ_Set_MultiMediaInfo_U2,MDrv_PQ_Set_MultiMediaInfo) \
607         URELATION(fpPQ_Set_VDInfo,(IOCTL_PQ_SET_DVINFO)MDrv_PQ_Set_VDInfo_U2,MDrv_PQ_Set_VDInfo) \
608         URELATION(fpPQ_Set_ModeInfo,(IOCTL_PQ_SET_MODEINFO)MDrv_PQ_Set_ModeInfo_U2,MDrv_PQ_Set_ModeInfo) \
609         URELATION(fpPQ_SetHDMIInfo,(IOCTL_PQ_SET_HDMIINFO)MDrv_PQ_SetHDMIInfo_U2,MDrv_PQ_SetHDMIInfo) \
610         URELATION(fpPQ_SetHDMI_PC,(IOCTL_PQ_SET_HDMI_PC)MDrv_PQ_SetHDMI_PC_U2,MDrv_PQ_SetHDMI_PC) \
611         URELATION(fpPQ_GetHDMI_PC_Status,(IOCTL_PQ_GET_HDMI_PC_STATUS)MDrv_PQ_GetHDMI_PC_Status_U2,MDrv_PQ_GetHDMI_PC_Status) \
612         URELATION(fpPQ_DesideSrcType,(IOCTL_PQ_DESIDE_SRC_TYPE)MDrv_PQ_DesideSrcType_U2,MDrv_PQ_DesideSrcType) \
613         URELATION(fpPQ_GetInputSourceType,(IOCTL_PQ_GET_INPUTSOURCE_TYPE)MDrv_PQ_GetInputSourceType_U2,MDrv_PQ_GetInputSourceType) \
614         URELATION(fpPQ_GetSrcType,(IOCTL_PQ_GET_SRC_TYPE)MDrv_PQ_GetSrcType_U2,MDrv_PQ_GetSrcType) \
615         URELATION(fpPQ_GetDelayTimeByMemc,(IOCTL_PQ_GET_DELAY_TIME_BY_MEMC)MDrv_PQ_GetDelayTimeByMemc_U2,MDrv_PQ_GetDelayTimeByMemc) \
616         URELATION(fpPQ_GetDelayTime,(IOCTL_PQ_GET_DELAY_TIME)MDrv_PQ_GetDelayTime_U2,MDrv_PQ_GetDelayTime) \
617         URELATION(fpPQ_LoadScalingTable,(IOCTL_PQ_LOAD_SCALING_TABLE)MDrv_PQ_LoadScalingTable_U2,MDrv_PQ_LoadScalingTable) \
618         URELATION(fpPQ_SetColorRange,(IOCTL_PQ_SET_COLOR_RANGE)MDrv_PQ_SetColorRange_U2,MDrv_PQ_SetColorRange) \
619         URELATION(fpPQ_Get_MemYUVFmt,(IOCTL_PQ_MEM_YUVFMT)MDrv_PQ_Get_MemYUVFmt_U2,MDrv_PQ_Get_MemYUVFmt) \
620         URELATION(fpPQ_SetCSC,(IOCTL_PQ_SET_CSC)MDrv_PQ_SetCSC_U2,MDrv_PQ_SetCSC) \
621         URELATION(fpPQ_EnableMADIForce,(IOCTL_PQ_ENABLE_MADI_FORCE)MDrv_PQ_EnableMADIForce_U2,MDrv_PQ_EnableMADIForce) \
622         URELATION(fpPQ_ReduceBW_ForPVR,(IOCTL_PQ_REDUCE_BW_FOR_PVR)MDrv_PQ_ReduceBW_ForPVR_U2,MDrv_PQ_ReduceBW_ForPVR) \
623         URELATION(fpPQ_Set420upsampling,(IOCTL_PQ_SET_420UP_SAMPLEING)MDrv_PQ_Set420upsampling_U2,MDrv_PQ_Set420upsampling) \
624         URELATION(fpPQ_SetFilmMode,(IOCTL_PQ_SET_FILEMODE)MDrv_PQ_SetFilmMode_U2,MDrv_PQ_SetFilmMode) \
625         URELATION(fpPQ_SetNonLinearScaling,(IOCTL_PQ_SET_NONLINEAR_SCALING)MDrv_PQ_SetNonLinearScaling_U2,MDrv_PQ_SetNonLinearScaling) \
626         URELATION(fpPQ_3DCloneforPIP,(IOCTL_PQ_3D_CLONE_FOR_PIP)MDrv_PQ_3DCloneforPIP_U2,MDrv_PQ_3DCloneforPIP) \
627         URELATION(fpPQ_DisableFilmMode,(IOCTL_PQ_DISABLE_FILEMODE)MDrv_PQ_DisableFilmMode_U2,MDrv_PQ_DisableFilmMode) \
628         URELATION(fpPQ_DisableUCFeature,(IOCTL_PQ_DISABLE_UC_FEATURE)MDrv_PQ_DisableUCFeature_U2,MDrv_PQ_DisableUCFeature) \
629         URELATION(fpPQ_GetCurrentUCFeature,(IOCTL_PQ_GET_CURRENT_UC_FEATURE)MDrv_PQ_GetCurrentUCFeature_U2,MDrv_PQ_GetCurrentUCFeature) \
630         URELATION(fpPQ_SetUCFeature,(IOCTL_PQ_SET_UC_FEATURE)MDrv_PQ_SetUCFeature_U2,MDrv_PQ_SetUCFeature) \
631         URELATION(fpPQ_SetDMSV12L,(IOCTL_PQ_SET_DMSV12L)MDrv_PQ_SetDMSV12L_U2,MDrv_PQ_SetDMSV12L) \
632         URELATION(fpPQ_GetDMSV12LFromXRuleTable,(IOCTL_PQ_GET_DMSV12L_FROM_XRULE_TABLE)MDrv_PQ_GetDMSV12LFromXRuleTable_U2,MDrv_PQ_GetDMSV12LFromXRuleTable) \
633         URELATION(fpPQ_GetLibVer,(IOCTL_PQ_GET_LIB_VER)MDrv_PQ_GetLibVer_U2,MDrv_PQ_GetLibVer) \
634         URELATION(fpPQ_GetInfo,(IOCTL_PQ_GET_INFO)MDrv_PQ_GetInfo_U2,MDrv_PQ_GetInfo) \
635         URELATION(fpPQ_GetStatus,(IOCTL_PQ_GET_STATUS)MDrv_PQ_GetStatus_U2,MDrv_PQ_GetStatus) \
636         URELATION(fpPQ_SetDbgLevel,(IOCTL_PQ_SET_DBGLEVEL)MDrv_PQ_SetDbgLevel_U2,MDrv_PQ_SetDbgLevel) \
637         URELATION(fpPQ_MADiForceMotionC,(IOCTL_PQ_MADI_FORCE_MOTIONC)MDrv_PQ_MADiForceMotionC_U2,MDrv_PQ_MADiForceMotionC) \
638         URELATION(fpPQ_MADiForceMotionY,(IOCTL_PQ_MADI_FORCE_MOTIONY)MDrv_PQ_MADiForceMotionY_U2,MDrv_PQ_MADiForceMotionY) \
639         URELATION(fpPQ_MADiForceMotion,(IOCTL_PQ_MADI_FORCE_MOTION)MDrv_PQ_MADiForceMotion_U2,MDrv_PQ_MADiForceMotion) \
640         URELATION(fpPQ_SetRFblMode,(IOCTL_PQ_SET_RFBL_MODE)MDrv_PQ_SetRFblMode_U2,MDrv_PQ_SetRFblMode) \
641         URELATION(fpPQ_GetRFblMode,(IOCTL_PQ_GET_RFBL_MODE)MDrv_PQ_GetRFblMode_U2,MDrv_PQ_GetRFblMode) \
642         URELATION(fpPQ_Get_VDSampling_Info,(IOCTL_PQ_GET_VDSAMPLING_INFO)MDrv_PQ_Get_VDSampling_Info_U2,MDrv_PQ_Get_VDSampling_Info) \
643         URELATION(fpPQ_INTER_IOCTL,(IOCTL_PQ_INTER_IOCTL)MDrv_PQ_IOCTL_U2,MDrv_PQ_IOCTL) \
644         URELATION(fpPQ_Get_ADCSampling_Info,(IOCTL_PQ_GET_ADC_SAMPLING_INTO)MDrv_PQ_Get_ADCSampling_Info_U2,MDrv_PQ_Get_ADCSampling_Info) \
645         URELATION(fpPQ_Set3D_OnOff,(IOCTL_PQ_SET_3D_ONOFF)MDrv_PQ_Set3D_OnOff_U2,MDrv_PQ_Set3D_OnOff) \
646         URELATION(fpPQ_GetCaps,(IOCTL_PQ_GET_CAPS)MDrv_PQ_GetCaps_U2,MDrv_PQ_GetCaps) \
647         URELATION(fpPQ_PrintLoadTableInfo,(IOCTL_PQ_PRINT_LOADTABLE_INFO)MDRV_PQ_PrintLoadTableInfo_U2,MDRV_PQ_PrintLoadTableInfo) \
648         URELATION(fpPQ_SetDS_OnOFF,(IOCTL_PQ_SETDS_ONOFF)MDrv_PQ_SetDS_OnOFF_U2,MDrv_PQ_SetDS_OnOFF) \
649         URELATION(fpPQ_Get_RFBL_Info,(IOCTL_PQ_GET_RFBL_INFO)MDrv_PQ_Get_RFBL_Info_U2,MDrv_PQ_Get_RFBL_Info) \
650         URELATION(fpPQ_CheckHDMode,(IOCTL_PQ_CHECK_HD_MODE)MDrv_PQ_CheckHDMode_U2,MDrv_PQ_CheckHDMode) \
651         URELATION(fpPQ_Interlace_SD_mode,(IOCTL_PQ_GET_INTERLACE_SD_MODE)MDrv_PQ_Get_Interlace_SD_mode_U2,MDrv_PQ_Get_Interlace_SD_mode) \
652         URELATION(fpPQ_SetDualViewState,(IOCTL_PQ_SET_DUAL_VIEW_STATE)MDrv_PQ_SetDualViewState_U2,MDrv_PQ_SetDualViewState) \
653         URELATION(fpPQ_GetVGASubCaseForceTo422Mode,(IOCTL_PQ_GET_VGASUBCASE_FORCETO_422MODE)MDrv_PQ_GetVGASubCaseForceTo422Mode_U2,MDrv_PQ_GetVGASubCaseForceTo422Mode) \
654         URELATION(fpPQ_GetDualViewState,(IOCTL_PQ_GET_DUAL_VIEW_STATE)MDrv_PQ_GetDualViewState_U2,MDrv_PQ_GetDualViewState) \
655         URELATION(fpPQ_ForceVideoInputMode,(IOCTL_PQ_FORCE_VIDEO_INPUT_MODE)MDrv_PQ_ForceVideoInputMode_U2,MDrv_PQ_ForceVideoInputMode) \
656         URELATION(fpPQ_IsForceVideoInputMode,(IOCTL_PQ_IS_FORCE_VIDEO_INPUTMODE)MDrv_PQ_IsForceVideoInputMode_U2,MDrv_PQ_IsForceVideoInputMode) \
657         URELATION(fpPQ_Set_PointToPoint,(IOCTL_PQ_SET_POINT2POINT)MDrv_PQ_Set_PointToPoint_U2,MDrv_PQ_Set_PointToPoint) \
658         URELATION(fpPQ_Get_PointToPoint,(IOCTL_PQ_GET_POINT2POINT)MDrv_PQ_Get_PointToPoint_U2,MDrv_PQ_Get_PointToPoint) \
659         URELATION(fpPQ_Update_MemFormat,(IOCTL_PQ_UPDATE_MEMFORMAT)MDrv_PQ_Update_MemFormat_U2,MDrv_PQ_Update_MemFormat) \
660         URELATION(fpPQ_GetHsize,(IOCTL_PQ_GET_HSIZE)MDrv_PQ_GetHsize_U2,MDrv_PQ_GetHsize) \
661         URELATION(fpPQ_GetVsize,(IOCTL_PQ_GET_VSIZE)MDrv_PQ_GetVsize_U2,MDrv_PQ_GetVsize) \
662         URELATION(fpPQ_IsInterlace,(IOCTL_PQ_IS_INTERLACE)MDrv_PQ_IsInterlace_U2,MDrv_PQ_IsInterlace) \
663         URELATION(fpPQ_LOW_3dQuality,(IOCTL_PQ_LOW_3D_QUALITY)MDrv_PQ_LOW_3dQuality_U2,MDrv_PQ_LOW_3dQuality) \
664         URELATION(fpPQ_MWE_SetEnhanceQuality,(IOCTL_PQ_MWE_SET_ENHANCE_QUALITY)MDrv_PQ_MWE_SetEnhanceQuality_U2,MDrv_PQ_MWE_SetEnhanceQuality) \
665         URELATION(fpPQ_MWE_RestoreEnhanceQuality,(IOCTL_PQ_MWE_RESTORE_ENHANCE_QUALITY)MDrv_PQ_MWE_RestoreEnhanceQuality_U2,MDrv_PQ_MWE_RestoreEnhanceQuality) \
666         URELATION(fpPQ_MWE_RestoreOffQuality,(IOCTL_PQ_MWE_RESTORE_OFF_QUALITY)MDrv_PQ_MWE_RestoreOffQuality_U2,MDrv_PQ_MWE_RestoreOffQuality) \
667         URELATION(fpPQ_MWE_SetOffQuality,(IOCTL_PQ_MWE_SET_OFF_QUALITY)MDrv_PQ_MWE_SetOffQuality_U2,MDrv_PQ_MWE_SetOffQuality) \
668         URELATION(fpPQ_MWE_CloneWindow,(IOCTL_PQ_MWE_CLONE_WINDOW)MDrv_PQ_MWE_CloneWindow_U2,MDrv_PQ_MWE_CloneWindow) \
669         URELATION(fpPQ_3D_SettingForLBL,(IOCTL_PQ_3D_SETTING_FOR_LBL)MDrv_PQ_3D_SettingForLBL_U2,MDrv_PQ_3D_SettingForLBL) \
670         URELATION(fpPQ_3D_CloneWindow,(IOCTL_PQ_3D_CLONE_WINDOW)MDrv_PQ_3D_CloneWindow_U2,MDrv_PQ_3D_CloneWindow) \
671         URELATION(fpPQ_SetSelectCSC,(IOCTL_PQ_SET_SELECT_CSC)MDrv_PQ_SetSelectCSC_U2,MDrv_PQ_SetSelectCSC) \
672         URELATION(fpPQ_GetR2YEqSelect,(IOCTL_PQ_GET_R2YEQ_SELECT)MDrv_PQ_GetR2YEqSelect_U2,MDrv_PQ_GetR2YEqSelect) \
673         URELATION(fpPQ_GetMemFmtInGeneral,(IOCTL_PQ_GET_MEMFMT_IN_GENERAL)MDrv_PQ_GetMemFmtInGeneral_U2,MDrv_PQ_GetMemFmtInGeneral \
674         URELATION(fpPQ_GetMADiForRFBL,(IOCTL_PQ_GET_MADI_FOR_RFBL)MDrv_PQ_GetMADiForRFBL_U2,MDrv_PQ_GetMADiForRFBL_U2) \
675         URELATION(fpPQ_Patch2Rto4RForFieldPackingMode,(IOCTL_PQ_PATCH2RTO4R_FOR_FIELDPACKINGMODE)MDrv_PQ_Patch2Rto4RForFieldPackingMode_U2,MDrv_PQ_Patch2Rto4RForFieldPackingMode_U2) \
676         URELATION(fpPQ_GetBPPInfoFromMADi,(IOCTL_PQ_GET_BPPINFO_FROM_MADI)MDrv_PQ_GetBPPInfoFromMADi_U2,MDrv_PQ_GetBPPInfoFromMADi) \
677         URELATION(fpPQ_ChangeMemConfigFor3D,(IOCTL_PQ_CHANGE_MEMCONFIG_FOR3D)MDrv_PQ_ChangeMemConfigFor3D_U2,MDrv_PQ_ChangeMemConfigFor3D) \
678         URELATION(fpPQ_ForceBPPForDynamicMemFmt,(IOCTL_PQ_FORCE_BPP_FOR_DYNAMIC_MEMFMT)MDrv_PQ_ForceBPPForDynamicMemFmt_U2,MDrv_PQ_ForceBPPForDynamicMemFmt) \
679         URELATION(fpPQ_SuggestFrameNum,(IOCTL_PQ_SUGGEST_FRAMENUM)MDrv_PQ_SuggestFrameNum_U2,MDrv_PQ_SuggestFrameNum) \
680         URELATION(fpPQ_SetGameMode,(IOCTL_PQ_SET_GAMEMODE)MDrv_PQ_SetGameMode_U2,MDrv_PQ_SetGameMode) \
681         URELATION(fpPQ_GetGameMode_Status,(IOCTL_PQ_GET_GAMEMODE_STATUS)MDrv_PQ_GetGameMode_Status_U2,MDrv_PQ_GetGameMode_Status) \
682         URELATION(fpPQ_SetBypassMode,(IOCTL_PQ_SET_BYPASS_MODE)MDrv_PQ_SetBypassMode_U2,MDrv_PQ_SetBypassMode) \
683         URELATION(fpPQ_GetBypassModeStatus,(IOCTL_PQ_GET_BYPASS_MODE_STATUS)MDrv_PQ_GetBypassModeStatus_U2,MDrv_PQ_GetBypassModeStatus) \
684         URELATION(fpPQ_GetVersion,(IOCTL_PQ_GET_VERSION)MDrv_PQ_GetVersion_U2,MDrv_PQ_GetVersion) \
685         URELATION(fpPQ_Cus_GetVersion,(IOCTL_PQ_CUS_GET_VERSION)MDrv_PQ_Cus_GetVersion_U2,MDrv_PQ_Cus_GetVersion) \
686         URELATION(fpPQ_SetGRuleStatus,(IOCTL_PQ_SET_GRULE_STATUS)MDrv_PQ_SetGRuleStatus_U2,MDrv_PQ_SetGRuleStatus) \
687         URELATION(fpPQ_GetGRule_LvlNum,(IOCTL_PQ_GET_GRULE_LV1NUM)MDrv_PQ_GetGRule_LvlNum_U2,MDrv_PQ_GetGRule_LvlNum) \
688         URELATION(fpPQ_GetGRule_GRuleNum,(IOCTL_PQ_GET_GRULE_GRULENUM)MDrv_PQ_GetGRule_GRuleNum_U2,MDrv_PQ_GetGRule_GRuleNum) \
689         URELATION(fpPQ_GetGRule_LevelIndex,(IOCTL_PQ_GET_GRULE_LEVELINDEX)MDrv_PQ_GetGRule_LevelIndex_U2,MDrv_PQ_GetGRule_LevelIndex) \
690         URELATION(fpPQ_GetGRule_IPIndex,(IOCTL_PQ_GET_GRULE_IPINDEX)MDrv_PQ_GetGRule_IPIndex_U2,MDrv_PQ_GetGRule_IPIndex) \
691         URELATION(fpPQ_GetGRule_TableIndex,(IOCTL_PQ_GET_GRULE_TABLEINDEX)MDrv_PQ_GetGRule_TableIndex_U2,MDrv_PQ_GetGRule_TableIndex) \
692         URELATION(fpPQ_GetCustomerGRule_IPIndex,(IOCTL_PQ_GET_CUSTOMERGRULE_IPINDEX)MDrv_PQ_GetCustomerGRule_IPIndex_U2,MDrv_PQ_GetCustomerGRule_IPIndex) \
693         URELATION(fpPQ_GetGRule_CustomerTableIndex,(IOCTL_PQ_GET_CUSTOMERGRULE_TABLEINDEX)MDrv_PQ_GetGRule_CustomerTableIndex_U2,MDrv_PQ_GetGRule_CustomerTableIndex) \
694         URELATION(fpPQ_Set_xvYCC_MatrixCoefficient ,(IOCTL_PQ_SET_XVYCC_MATRIXCOEFFICIENT)MDrv_PQ_Set_xvYCC_MatrixCoefficient_U2,MDrv_PQ_Set_xvYCC_MatrixCoefficient) \
695         URELATION(fpPQ_Get_DNR_Whole_reg ,(IOCTL_PQ_GET_DNR_WHOLE_REG)MDrv_PQ_Get_DNR_Whole_Reg_U2,MDrv_PQ_Get_DNR_Whole_Reg) \
696         URELATION(fpPQ_Up_Layer_Set_Config,(IOCTL_PQ_Up_Layer_Set_Config)MDrv_PQ_Up_Layer_Set_Config_U2,MDrv_PQ_Up_Layer_Set_Config) \
697         URELATION(fpPQ_GetQmapExecutor,(IOCTL_PQ_GetQmapExecutor)MDrv_PQ_GetQmapExecutor_U2,MDrv_PQ_GetQmapExecutor) \
698         URELATION(fpPQ_SetPhotoYUVStandard,(IOCTL_PQ_SetPhotoYUVStandard)MDrv_PQ_SetPhotoYUVStandard_U2,MDrv_PQ_SetPhotoYUVStandard) \
699         URELATION(fpPQ_Ex_GetVersion,(IOCTL_PQ_Ex_GetVersion)MDrv_PQ_Ex_GetVersion_U2,MDrv_PQ_Ex_GetVersion) \
700         URELATION(fpPQ_GetAdaptiveVersion,(IOCTL_PQ_GetAdaptiveVersion)MDrv_PQ_GetAdaptiveVersion_U2,MDrv_PQ_GetAdaptiveVersion) \
701         URELATION(fpPQ_LoadUFSCSettings ,(IOCTL_PQ_LoadUFSCSettings)MDrv_PQ_LoadUFSCSettings_U2,MDrv_PQ_LoadUFSCSettings) \
702         URELATION(fpPQ_LoadCFSettings,(IOCTL_PQ_LoadCFSettings)MDrv_PQ_LoadCFSettings_U2,MDrv_PQ_LoadCFSettings) \
703         URELATION(fpPQ_Set_PqBypass,(IOCTL_PQ_SET_PQBYPASS)MDrv_PQ_Set_PqBypass_U2,MDrv_PQ_Set_PqBypass) \
704         URELATION(fpPQ_Get_PqBypass,(IOCTL_PQ_GET_PQBYPASS)MDrv_PQ_Get_PqBypass_U2,MDrv_PQ_Get_PqBypass) \
705         URELATION(fpPQ_Set_PqBin_Path,(IOCTL_PQ_SET_PQBIN_PATH)MDrv_PQ_SetPQBinPath_U2,MDrv_PQ_SetPQBinPath) \
706         URELATION(fpPQ_LoadFilmModeTable,(IOCTL_PQ_INIT)MDrv_PQ_Init_U2,MDrv_PQ_Init) \
707         URELATION(fpPQ_LoadDynamicContrastTable,(IOCTL_PQ_INIT)MDrv_PQ_Init_U2,MDrv_PQ_Init) \
708         URELATION(fpPQ_LoadNRTable,(IOCTL_PQ_INIT)MDrv_PQ_Init_U2,MDrv_PQ_Init) \
709         URELATION(fpPQ_LoadMPEGNRTable,(IOCTL_PQ_INIT)MDrv_PQ_Init_U2,MDrv_PQ_Init) \
710         URELATION(fpPQ_Load_ULTRACLEAR_Table,(IOCTL_PQ_INIT)MDrv_PQ_Init_U2,MDrv_PQ_Init) \
711         URELATION(fpPQ_Load_XVYCC_Table,(IOCTL_PQ_INIT)MDrv_PQ_Init_U2,MDrv_PQ_Init) \
712         URELATION(fpPQ_Load_HDR_Table,(IOCTL_PQ_INIT)MDrv_PQ_Init_U2,MDrv_PQ_Init) \
713         URELATION(fpPQ_GRULE_Get_Support_Status,(IOCTL_PQ_GRULE_GET_SUPPORT_STATUS)MDrv_PQ_GRULE_Get_Support_Status_U2,MDrv_PQ_GRULE_Get_Support_Status) \
714         URELATION(fpPQ_SetMemFormat,(IOCTL_PQ_SET_MEMFORMAT)MDrv_PQ_SetMemFormat_U2,MDrv_PQ_SetMemFormat) \
715         URELATION(fpPQ_ReduceBW_ForOSD,(IOCTL_PQ_REDUCEBW_ForOSD)MDrv_PQ_ReduceBW_ForOSD_U2,MDrv_PQ_ReduceBW_ForOSD) \
716         URELATION(fpPQ_LoadPTPTable,(IOCTL_PQ_LOAD_PTP_TABLE)MDrv_PQ_LoadPTPTable_U2,MDrv_PQ_LoadPTPTable) \
717         URELATION(fpPQ_Init_DisplayType,(IOCTL_PQ_INIT_DISPLAY_TYPE)MDrv_PQ_Init_DisplayType_U2,MDrv_PQ_Init_DisplayType) \
718         URELATION(fpPQ_Set_DisplayType,(IOCTL_PQ_SET_DISPLAY_TYPE)MDrv_PQ_Set_DisplayType_U2,MDrv_PQ_Set_DisplayType) \
719         URELATION(fpPQ_GetMADiFromOSDBWGrule,(IOCTL_PQ_GET_MADI_FROM_OSDBW_GRULE)MDrv_PQ_GetMADiFromOSDBWGrule_U2,MDrv_PQ_GetMADiFromOSDBWGrule) \
720         URELATION(fpPQ_GetMADiInGeneral,(IOCTL_PQ_GET_MADI_IN_GENERAL)MDrv_PQ_GetMADiInGeneral_U2,MDrv_PQ_GetMADiInGeneral) \
721         URELATION(fpPQ_Check_PointToPoint_Condition,(IOCTL_PQ_CHECK_POINT2POINT_CONDITION)MDrv_PQ_Check_PointToPoint_Condition_U2,MDrv_PQ_Check_PointToPoint_Condition) \
722         URELATION(fpPQ_SetPostCCSOnOff,(IOCTL_PQ_SET_POSTCCS_ONOFF)MDrv_PQ_SetPostCCSOnOff_U2,MDrv_PQ_SetPostCCSOnOff) \
723         URELATION(fpPQ_AdaptiveTuning,(IOCTL_PQ_ADAPTIVE_TUNING)MDrv_PQ_AdaptiveTuning_U2,MDrv_PQ_AdaptiveTuning) \
724         URELATION(fpPQ_FilmMode_AnyCandence_Enable,(IOCTL_PQ_FILMMODE_ANYCANDENCE_ENABLE)MDrv_PQ_FilmMode_AnyCandence_Enable_U2,MDrv_PQ_FilmMode_AnyCandence_Enable) \
725         URELATION(fpPQ_SetH264_OnOff,(IOCTL_PQ_SETH264_ONOFF)MDrv_PQ_SetH264_OnOff_U2,MDrv_PQ_SetH264_OnOff) \
726         URELATION(fpPQ_SetG3D_OnOff,(IOCTL_PQ_SETG3D_ONOFF)MDrv_PQ_SetG3D_OnOff_U2,MDrv_PQ_SetG3D_OnOff) \
727         URELATION(fpPQ_SetMVC4kx1k_OnOff,(IOCTL_PQ_SETMVC4KX1K_ONOFF)MDrv_PQ_SetMVC4kx1k_OnOff_U2,MDrv_PQ_SetMVC4kx1k_OnOff) \
728         URELATION(fpPQ_SetNetworkMM_OnOff,(IOCTL_PQ_SET_NETWORKMM_ONOFF)MDrv_PQ_SetNetworkMM_OnOff_U2,MDrv_PQ_SetNetworkMM_OnOff) \
729         URELATION(fpPQ_SetMM_OnOff,(IOCTL_PQ_SETMM_ONOFF)MDrv_PQ_SetMM_OnOff_U2,MDrv_PQ_SetMM_OnOff) \
730         URELATION(fpPQ_SetRmvb_OnOff,(IOCTL_PQ_SET_RMVB_ONOFF)MDrv_PQ_SetRmvb_OnOff_U2,MDrv_PQ_SetRmvb_OnOff) \
731         URELATION(fpPQ_SetVIPBypass_OnOff,(IOCTL_PQ_SET_VIPBYPASS_ONOFF)MDrv_PQ_SetVIPBypass_OnOff_U2,MDrv_PQ_SetVIPBypass_OnOff) \
732         URELATION(fpPQ_SetPeaking_OnOff,(IOCTL_PQ_SET_PEAKING_ONOFF)MDrv_PQ_SetPeaking_OnOff_U2,MDrv_PQ_SetPeaking_OnOff) \
733         URELATION(fpPQ_SetFakeOutEnable,(IOCTL_PQ_SET_FAKE_OUT_ENABLE)MDrv_PQ_SetFakeOutEnable_U2,MDrv_PQ_SetFakeOutEnable) \
734         URELATION(fpPQ_GetTableIndex_Ex,(IOCTL_PQ_GET_TABLE_INDEX_EX)MDrv_PQ_GetTableIndex_Ex_U2,MDrv_PQ_GetTableIndex_Ex) \
735         URELATION(fpPQ_LoadTable_Ex,(IOCTL_PQ_LOAD_TABLE_EX)MDrv_PQ_LoadTable_Ex_U2,MDrv_PQ_LoadTable_Ex) \
736         URELATION(fpPQ_Demo_CloneWindow,(IOCTL_PQ_DEMO_CLONE_WINDOW)MDrv_PQ_Demo_CloneWindow_U2,MDrv_PQ_Demo_CloneWindow) \
737         URELATION(fpPQ_GetGRule_LvlNum_Ex,(IOCTL_PQ_GET_GRULE_LVLNUM_EX)MDrv_PQ_GetGRule_LvlNum_Ex_U2,MDrv_PQ_GetGRule_LvlNum_Ex) \
738         URELATION(fpPQ_GetGRule_LevelIndex_Ex,(IOCTL_PQ_GET_GRULE_LEVEILNDEX_EX)MDrv_PQ_GetGRule_LevelIndex_Ex_U2,MDrv_PQ_GetGRule_LevelIndex_Ex) \
739         URELATION(fpPQ_GetGRule_IPIndex_Ex,(IOCTL_PQ_GET_GRULE_IPINDEX_EX)MDrv_PQ_GetGRule_IPIndex_Ex_U2,MDrv_PQ_GetGRule_IPIndex_Ex) \
740         URELATION(fpPQ_GetGRule_TableIndex_Ex,(IOCTL_PQ_GET_GRULE_TABLEINDEX_EX)MDrv_PQ_GetGRule_TableIndex_Ex_U2,MDrv_PQ_GetGRule_TableIndex_Ex) \
741         URELATION(fpPQ_EnableScalerGamma,(IOCTL_PQ_EBABLE_SCALERGAMMA)MDrv_PQ_EnableScalerGamma_U2,MDrv_PQ_EnableScalerGamma) \
742         URELATION(fpPQ_SetGammaTbl,(IOCTL_PQ_SET_GAMMATBl)MDrv_PQ_SetGammaTbl_U2,MDrv_PQ_SetGammaTbl) \
743         URELATION(fpPQ_Set1KTravelingEnable,(IOCTL_PQ_SET_1KTRAVELINGENABLE)MDrv_PQ_Set1KTravelingEnable_U2,MDrv_PQ_Set1KTravelingEnable) \
744         URELATION(fpPQ_GetSrcTypeName,(IOCTL_PQ_GET_SRC_TYPE_NAME)MDrv_PQ_GetSrcTypeName_U2,MDrv_PQ_GetSrcTypeName) \
745         URELATION(fpPQ_GetIPName,(IOCTL_PQ_GET_IP_NAME)MDrv_PQ_GetIPName_U2,MDrv_PQ_GetIPName) \
746         URELATION(fpPQ_GetTableName,(IOCTL_PQ_GET_TABLE_NAME)MDrv_PQ_GetTableName_U2,MDrv_PQ_GetTableName) \
747         URELATION(fpPQ_BW_LoadInitTable,(IOCTL_PQ_BW_LOAD_INIT_TABLE)MDrv_BW_LoadInitTable_U2,MDrv_BW_LoadInitTable) \
748         URELATION(fpPQ_BW_LoadTableByContext,(IOCTL_PQ_BW_LOAD_TABLE_BY_CONTEXT)MDrv_BW_LoadTableByContext_U2,MDrv_BW_LoadTableByContext) \
749         URELATION(fpPQ_BW_ResetToDefault,(IOCTL_PQ_BW_RESET_TO_DEFAULT)MDrv_BW_ResetToDefault_U2,MDrv_BW_resetToDefault) \
750         URELATION(fpPQ_BW_CusMode_LoadTable,(IOCTL_PQ_BW_CUSMODE_LOAD_TABLE)MDrv_BW_CusMode_LoadTable_U2,MDrv_BW_CusMode_LoadTable) \
751         URELATION(fpPQ_GetConfig,(IOCTL_PQ_GETCONFIG)MDrv_PQ_GetConfig_U2,MDrv_PQ_GetConfig) \
752         URELATION(fpPQ_SET_FrameBuff_Mode,(IOCTL_PQ_SET_FRAMEBUFF_MODE)MDrv_PQ_SetFrameBuffMode_U2,MDrv_PQ_SetFrameBuffMode)
753 
754 #define PQ_FILE_PATH_LENGTH 30
755 typedef struct
756 {
757     char pm_PQ_CUSTOMER_PATH[PQ_FILE_PATH_LENGTH];
758     char pm_PQ_DEFAULT_PATH[PQ_FILE_PATH_LENGTH];
759     char pm_PQ_INI_PATH[PQ_FILE_PATH_LENGTH];
760     char pm_PQ_BANDWIDTH_PATH[PQ_FILE_PATH_LENGTH];
761 }ST_PQBIN_PATH;
762 
763 typedef struct
764 {
765     MS_BOOL bResourceRegistered;
766     ST_PQBIN_PATH stPQBin_Path;
767 
768 #ifdef UFO_XC_PQ_SUPPORT_INITVAR_INTO_SHAREMEMORY
769     MS_PQ_Init_Info PQ_InitInfo;
770 #endif
771 }PQ_RESOURCE_PRIVATE;
772 
773 // U2_INTERFACE
774 typedef struct
775 {
776     MS_U16 reg;
777 }PQ_REGS_SAVE_AREA;
778 
779 void MDrv_PQ_Init_U2(void* pInstance,MS_PQ_Init_Info *pstPQInitInfo);
780 MS_BOOL MDrv_PQ_Exit_U2(void* pInstance);
781 MS_U32 MDrv_PQ_SetPowerState_U2(void* pInstance,EN_POWER_MODE enPowerState);
782 MS_U16 MDrv_PQ_GetIPNum_U2(void* pInstance,PQ_WIN eWindow);
783 MS_U16 MDrv_PQ_GetTableNum_U2(void* pInstance,PQ_WIN eWindow, MS_U16 u16PQIPIdx);
784 MS_U16 MDrv_PQ_GetCurrentTableIndex_U2(void* pInstance,PQ_WIN eWindow, MS_U16 u16PQIPIdx);
785 MS_U16 MDrv_PQ_GetTableIndex_U2(void* pInstance,PQ_WIN eWindow, MS_U16 u16IPIdx);
786 MS_U16 MDrv_PQ_GetCustomerTableIndex_U2(void* pInstance,PQ_WIN eWindow, MS_U16 u16IPIdx);
787 //MS_U16 MDrv_PQ_GetXRuleIPIndex_U2(void* pInstance,PQ_WIN eWindow, MS_U16 u16XRuleType, MS_U16 u16XRuleIP);
788 //MS_U16 MDrv_PQ_GetXRuleTableIndex_U2(void* pInstance,PQ_WIN eWindow, MS_U16 u16XRuleType, MS_U16 u16XRuleIdx, MS_U16 u16XRuleIP);
789 //MS_U16 MDrv_PQ_GetXRuleIPNum_U2(void* pInstance,PQ_WIN eWindow, MS_U16 u16XRuleType);
790 void MDrv_PQ_LoadTableData_U2(void* pInstance,PQ_WIN eWindow, MS_U16 u16TabIdx, MS_U16 u16PQIPIdx, MS_U8 *pTable, MS_U16 u16TableSize);
791 void MDrv_PQ_CloneTable_U2(void* pInstance,PQ_WIN eWindow, MS_U16 u16TabIdx, MS_U16 u16PQMainIPIdx, MS_U16 u16PQSubIPIdx);
792 void MDrv_PQ_LoadTable_U2(void* pInstance,PQ_WIN eWindow, MS_U16 u16TabIdx, MS_U16 u16PQIPIdx);
793 void MDrv_PQ_LoadCustomerTable_U2(void* pInstance,PQ_WIN eWindow, MS_U16 u16TabIdx, MS_U16 u16PQIPIdx);
794 void MDrv_PQ_CheckSettings_U2(void* pInstance,PQ_WIN eWindow);
795 #if (ENABLE_PQ_MLOAD)
796 void MDrv_PQ_Set_MLoadEn_U2(void* pInstance,PQ_WIN eWindow, MS_BOOL bEn);
797 #endif
798 MS_BOOL MDrv_PQ_SkipDuplicatedSetting_U2(void* pInstance,PQ_WIN eWindow, MS_BOOL bSkip);
799 MS_BOOL MDrv_PQ_GetSkipDuplicatedSettingStatus_U2(void* pInstance,PQ_WIN eWindow);
800 #if (PQ_FRCM_CBCR_SWAP_BY_SW == 1)
801 void MDrv_PQ_SetFrcmCbCrSwap_U2(void* pInstance,PQ_WIN eWindow);
802 #endif
803 void MDrv_PQ_LoadSettings_U2(void* pInstance,PQ_WIN eWindow);
804 void MDrv_PQ_LoadCustomerSettings_U2(void* pInstance,PQ_WIN eWindow);
805 void MDrv_PQ_Set_DTVInfo_U2(void* pInstance,PQ_WIN eWindow, MS_PQ_Dtv_Info *pstPQDTVInfo);
806 void MDrv_PQ_Set_MultiMediaInfo_U2(void* pInstance,PQ_WIN eWindow, MS_PQ_MuliMedia_Info *pstPQMMInfo);
807 void MDrv_PQ_Set_VDInfo_U2(void* pInstance,PQ_WIN eWindow, MS_PQ_Vd_Info *pstPQVDInfo);
808 void MDrv_PQ_Set_ModeInfo_U2(void* pInstance,PQ_WIN eWindow, PQ_INPUT_SOURCE_TYPE enInputSourceType, MS_PQ_Mode_Info *pstPQModeInfo);
809 void MDrv_PQ_SetHDMIInfo_U2(void* pInstance,PQ_WIN eWindow, const MS_PQ_Hdmi_Info* const pstPQHDMIInfo);
810 void MDrv_PQ_SetHDMI_PC_U2(void* pInstance,PQ_WIN eWindow, MS_BOOL bIsTrue);
811 MS_BOOL MDrv_PQ_GetHDMI_PC_Status_U2(void* pInstance,PQ_WIN eWindow);
812 void MDrv_PQ_DesideSrcType_U2(void* pInstance,PQ_WIN eWindow, PQ_INPUT_SOURCE_TYPE enInputSourceType);
813 PQ_INPUT_SOURCE_TYPE MDrv_PQ_GetInputSourceType_U2(void* pInstance,PQ_WIN eWindow);
814 MS_U16 MDrv_PQ_GetSrcType_U2(void* pInstance,PQ_WIN eWindow);
815 MS_U16 MDrv_PQ_GetDelayTimeByMemc_U2(void* pInstance, SCALER_WIN eWindow, MS_U32 u32MemcFrameDelay);
816 MS_U16 MDrv_PQ_GetDelayTime_U2(void* pInstance,SCALER_WIN eWindow);
817 MS_BOOL MDrv_PQ_LoadScalingTable_U2(void* pInstance,PQ_WIN eWindow,MS_U8 eXRuleType,MS_BOOL bPreV_ScalingDown,MS_BOOL bInterlace,MS_BOOL bColorSpaceYUV,MS_U16 u16InputSize,MS_U16 u16SizeAfterScaling);
818 void MDrv_PQ_SetColorRange_U2(void* pInstance,PQ_WIN eWindow, MS_BOOL bColorRange0_255);
819 MS_BOOL MDrv_PQ_Get_CSC_XRuleIdx_U2(void* pInstance,MS_BOOL *pbInputColorSpaceRGB,MS_U16 * pu16DoCSC,PQ_WIN eWindow,PQ_FOURCE_COLOR_FMT enForceColor,MS_BOOL bLoadPQTable);
820 MS_BOOL MDrv_PQ_Get_MemYUVFmt_U2(void* pInstance,PQ_WIN eWindow, PQ_FOURCE_COLOR_FMT enForceColor);
821 MS_BOOL MDrv_PQ_SetCSC_U2(void* pInstance,PQ_WIN eWindow, PQ_FOURCE_COLOR_FMT enForceColor);
822 #if (PQ_XRULE_DB_ENABLE == 1)
823 void MDrv_PQ_Set_DBRule_U2(void* pInstance,PQ_WIN eWindow, MS_U16 u16MADi_Idx);
824 #endif
825 void MDrv_PQ_EnableMADIForce_U2(void* pInstance,PQ_WIN eWindow, MS_BOOL bFullMotion);
826 void MDrv_PQ_ReduceBW_ForPVR_U2(void* pInstance,PQ_WIN eWindow, MS_BOOL bPVR_On);
827 void MDrv_PQ_Set420upsampling_U2(void* pInstance,PQ_WIN eWindow,MS_BOOL bFBL,MS_BOOL bPreV_ScalingDown,MS_U16 u16V_CropStart);
828 void MDrv_PQ_SetFilmMode_U2(void* pInstance,PQ_WIN eWindow, MS_BOOL bEnable);
829 void MDrv_PQ_SetNonLinearScaling_U2(void* pInstance,PQ_WIN eWindow, MS_U8 u8Level, MS_BOOL bEnable);
830 void MDrv_PQ_3DCloneforPIP_U2(void* pInstance,MS_BOOL bIpSync);
831 void MDrv_PQ_DisableFilmMode_U2(void* pInstance,PQ_WIN eWindow, MS_BOOL bOn);
832 MS_BOOL MDrv_PQ_DisableUCFeature_U2(void* pInstance,PQ_WIN eWindow);
833 MS_BOOL MDrv_PQ_GetCurrentUCFeature_U2(void* pInstance,PQ_WIN eWindow,MS_U16 *pu16TabIdx_MADi,MS_U16 *pu16TabIdx_MADi_Mot,MS_U16 *pu16TabIdx_MADi_DFK,MS_U16 *pu16TabIdx_MADi_SST,MS_U16 *pu16TabIdx_MADi_EODiW,MS_U16 *pu16TabIdx_UCNR,MS_U16 *pu16TabIdx_UCDi,MS_U16 *pu16TabIdx_UCCTL,MS_U16 *pu16TabIdx_SwDriver,MS_U16 *pu16TabIdx_PostCCS,MS_U16 *pu16TabIdx_DHD);
834 MS_BOOL MDrv_PQ_GetUCFeatureFromPQ_U2(void* pInstance,PQ_WIN eWindow,MS_U16 *pu16TabIdx_MADi_DFK,MS_U16 *pu16TabIdx_MADi_SST,MS_U16 *pu16TabIdx_MADi_EODiW,MS_U16 *pu16TabIdx_UCNR,MS_U16 *pu16TabIdx_UCDi,MS_U16 *pu16TabIdx_UCCTL,MS_U16 *pu16TabIdx_SwDriver,MS_U16 *pu16TabIdx_PostCCS,MS_U16 *pu16TabIdx_DHD);
835 #if (PQ_GRULE_GAME_MODE_ENABLE == 1)
836 MS_BOOL MDrv_PQ_EnableUCFeature_U2(void* pInstance,PQ_WIN eWindow);
837 #endif
838 MS_BOOL MDrv_PQ_SetUCFeature_U2(void* pInstance,PQ_WIN eWindow,MS_U16 u16TabIdx_MADi,MS_U16 u16TabIdx_MADi_Mot,MS_U16 u16TabIdx_MADi_DFK,MS_U16 u16TabIdx_MADi_SST,MS_U16 u16TabIdx_MADi_EODiW,MS_U16 u16TabIdx_UCNR,MS_U16 u16TabIdx_UCDi,MS_U16 u16TabIdx_UCCTL,MS_U16 u16TabIdx_SwDriver,MS_U16 u16TabIdx_PostCCS,MS_U16 u16TabIdx_DHD);
839 MS_BOOL MDrv_PQ_SetDMSV12L_U2(void* pInstance,PQ_WIN eWindow, MS_BOOL bEnable);
840 MS_BOOL MDrv_PQ_GetDMSV12LFromXRuleTable_U2(void* pInstance,PQ_WIN eWindow);
841 E_DRVPQ_ReturnValue MDrv_PQ_GetLibVer_U2(void* pInstance,const MSIF_Version **ppVersion);
842 PQ_ReturnValue MDrv_PQ_GetInfo_U2(void* pInstance,MS_PQ_INFO *pInfo);
843 MS_BOOL  MDrv_PQ_GetStatus_U2(void* pInstance,MS_PQ_Status *pStatus);
844 MS_BOOL  MDrv_PQ_SetDbgLevel_U2(void* pInstance,MS_U16 u16DbgSwitch);
845 void MDrv_PQ_MADiForceMotionC_U2(void* pInstance,PQ_WIN eWindow, MS_BOOL bEnable);
846 void MDrv_PQ_MADiForceMotionY_U2(void* pInstance,PQ_WIN eWindow, MS_BOOL bEnable);
847 #ifdef UFO_XC_PQ_SUPPORT_SWMOTION
848 void MDrv_PQ_MADiForceMotion_U2(void* pInstance,PQ_WIN eWindow, MS_BOOL bEnableY, MS_U16 u16DataY,
849                              MS_BOOL bEnableC, MS_U16 u16DataC);
850 #endif
851 #ifdef UFO_XC_PQ_SUPPORT_REPEATER_COLOR_THROUGH_MODE
852 void MDrv_PQ_SetColorThroughMode_U2(void* pInstance, PQ_WIN eWindow, MS_BOOL bEn);
853 #endif
854 void MDrv_PQ_SetRFblMode_U2(void* pInstance,MS_BOOL bEnable, MS_BOOL bFilm);
855 void MDrv_PQ_GetRFblMode_U2(void* pInstance,MS_PQ_RFBL_INFO * pstInfo);
856 #if (PQ_ENABLE_VD_SAMPLING)
857 MS_BOOL MDrv_PQ_Get_VDSampling_Info_U2(void* pInstance,PQ_WIN eWindow, PQ_INPUT_SOURCE_TYPE enInputSourceType, PQ_VIDEOSTANDARD_TYPE eStandard, MS_PQ_VD_Sampling_Info *pInfo);
858 #endif
859 MS_BOOL MDrv_PQ_IOCTL_U2(void* pInstance,PQ_WIN eWindow, MS_U32 u32Flag, void *pBuf, MS_U32 u32BufSize);
860 MS_PQ_ADC_SAMPLING_TYPE MDrv_PQ_Get_ADCSampling_Info_U2(void* pInstance,PQ_WIN eWindow, PQ_INPUT_SOURCE_TYPE enInputSourceType, MS_PQ_Mode_Info *pstPQModeInfo);
861 MS_BOOL MDrv_PQ_Set3D_OnOff_U2(void* pInstance,MS_BOOL bEn);
862 MS_BOOL MDrv_PQ_GetCaps_U2(void* pInstance,MS_PQ_CAP_INFO *pInfo);
863 void MDRV_PQ_PrintLoadTableInfo_U2(void* pInstance,MS_PQ_PQLOADTABLE_WIN enPQWin);
864 MS_BOOL MDrv_PQ_SetDS_OnOFF_U2(void* pInstance,PQ_WIN eWindow, MS_BOOL bEn);
865 MS_BOOL MDrv_PQ_Get_RFBL_Info_U2(void* pInstance,PQ_WIN eWindow);
866 MS_BOOL MDrv_PQ_CheckHDMode_U2(void* pInstance,PQ_WIN eWindow);
867 MS_BOOL MDrv_PQ_Get_Interlace_SD_mode_U2(void* pInstance);
868 MS_BOOL MDrv_PQ_SetDualViewState_U2(void* pInstance,MS_BOOL bEnable);
869 MS_BOOL MDrv_PQ_GetVGASubCaseForceTo422Mode_U2(void* pInstance);
870 MS_BOOL MDrv_PQ_GetDualViewState_U2(void* pInstance);
871 MS_BOOL MDrv_PQ_ForceVideoInputMode_U2(void* pInstance,MS_BOOL bEnable, PQ_WIN eWindow);
872 MS_BOOL MDrv_PQ_IsForceVideoInputMode_U2(void* pInstance,PQ_WIN eWindow);
873 MS_BOOL MDrv_PQ_Set_PointToPoint_U2(void* pInstance,XC_SETWIN_INFO *pstXC_SetWin_Info,MS_BOOL bEnable,PQ_WIN eWindow);
874 MS_BOOL MDrv_PQ_Get_PointToPoint_U2(void* pInstance,PQ_WIN eWindow);
875 MS_BOOL MDrv_PQ_Set_PqBypass_U2(void* pInstance,XC_SETWIN_INFO *pstXC_SetWin_Info,MS_BOOL bEnable,PQ_WIN eWindow);
876 MS_BOOL MDrv_PQ_Get_PqBypass_U2(void* pInstance,PQ_WIN eWindow);
877 void MDrv_PQ_SetPQBinPath_U2(void* pInstance,PQ_BIN_PATH ePqBinPath,MS_U8 u8size,char* b_PQBinFilePath);
878 MS_BOOL MDrv_PQ_Update_MemFormat_U2(void* pInstance);
879 MS_U16 MDrv_PQ_GetHsize_U2(void* pInstance,PQ_WIN enPQWin);
880 MS_U16 MDrv_PQ_GetVsize_U2(void* pInstance,PQ_WIN enPQWin);
881 MS_BOOL MDrv_PQ_IsInterlace_U2(void* pInstance,PQ_WIN enPQWin);
882 MS_BOOL MDrv_PQ_LOW_3dQuality_U2(void* pInstance,MS_BOOL bEnable);
883 MS_BOOL MDrv_PQ_MWE_SetEnhanceQuality_U2(void* pInstance);
884 MS_BOOL MDrv_PQ_MWE_RestoreEnhanceQuality_U2(void* pInstance);
885 MS_BOOL MDrv_PQ_MWE_RestoreOffQuality_U2(void* pInstance);
886 MS_BOOL MDrv_PQ_MWE_SetOffQuality_U2(void* pInstance);
887 void MDrv_PQ_MWE_CloneWindow_U2(void* pInstance,PQ_WIN eWindow);
888 MS_BOOL MDrv_PQ_3D_SettingForLBL_U2(void* pInstance,PQ_WIN eWindow);
889 void MDrv_PQ_3D_CloneWindow_U2(void* pInstance,PQ_3DTYPE enPQ3DType, PQ_WIN eWindow);
890 MS_BOOL MDrv_PQ_Get_SensioMode_U2(void* pInstance);
891 void  MDrv_PQ_Set_SensioMode_U2(void* pInstance,MS_BOOL  bEnable);
892 void  MDrv_PQ_Set_DIPF_U2(void* pInstance);
893 void MDrv_PQ_SetSelectCSC_U2(void* pInstance,MS_U16 u16selection, PQ_WIN eWindow);
894 MS_BOOL MDrv_PQ_GetR2YEqSelect_U2(void* pInstance,PQ_WIN eWindow);
895 MS_BOOL MDrv_PQ_GetMemFmtInGeneral_U2(void* pInstance,PQ_WIN eWindow,MS_BOOL bMemFmt422,MS_U16 *pu16TabIdx_MemFormat,MS_U16 *pu16TabIdx_444To422,MS_U16 *pu16TabIdx_422To444);
896 MS_BOOL MDrv_PQ_GetMADiForRFBL_U2(void* pInstance,PQ_WIN eWindow, MS_BOOL bFBL, MS_U16 *pu16TabIdx_MADi_Motion, MS_U16 *pu16TabIdx_MADi);
897 MS_BOOL MDrv_PQ_Patch2Rto4RForFieldPackingMode_U2(void* pInstance,PQ_WIN eWindow, MS_U16 u16TabIdx_MADi);
898 MS_BOOL MDrv_PQ_GetBPPInfoFromMADi_U2(void* pInstance,PQ_WIN eWindow,MS_BOOL bMemFmt422,MS_U16 u16TabIdx_MADi,MS_U16 u16TabIdx_MemFormat,MS_U8 *pu8BitsPerPixel,PQ_DEINTERLACE_MODE *peDeInterlaceMode,MS_U8 *pu8FrameCount);
899 MS_BOOL MDrv_PQ_ChangeMemConfigFor3D_U2(void* pInstance,PQ_WIN eWindow,MS_BOOL bMemFmt422,MS_U16 *pu16TabIdx_MemFormat,MS_U16 *pu16TabIdx_444To422,MS_U16 *pu16TabIdx_422To444,MS_U8 *pu8BitsPerPixel,MS_U16 *pu16TabIdx_MADi_Motion,MS_U16 *pu16TabIdx_MADi);
900 MS_BOOL MDrv_PQ_ForceBPPForDynamicMemFmt_U2(void* pInstance,PQ_WIN eWindow, MS_BOOL bMemFmt422, MS_U8 *pu8BitsPerPixel);
901 MS_BOOL MDrv_PQ_SuggestFrameNum_U2(void* pInstance,PQ_WIN eWindow, MS_U16 u16TabIdx_MADi, MS_U8 u8FrameCount);
902 MS_BOOL MDrv_PQ_SetGameMode_U2(void* pInstance,PQ_WIN eWindow, MS_BOOL bEnable);
903 MS_BOOL MDrv_PQ_GetGameMode_Status_U2(void* pInstance,PQ_WIN eWindow);
904 MS_BOOL MDrv_PQ_SetBypassMode_U2(void* pInstance,PQ_WIN eWindow, MS_BOOL bEnable);
905 MS_BOOL MDrv_PQ_GetBypassModeStatus_U2(void* pInstance,PQ_WIN eWindow);
906 char*  MDrv_PQ_GetVersion_U2(void* pInstance,PQ_WIN eWindow);
907 char*  MDrv_PQ_Cus_GetVersion_U2(void* pInstance,PQ_WIN eWindow);
908 MS_BOOL MDrv_PQ_SetGRuleStatus_U2(void* pInstance,PQ_WIN eWindow, MS_U16 u16GruleType, MS_U16 u16GruleStatus);
909 MS_U16 MDrv_PQ_GetGRule_LvlNum_U2(void* pInstance,PQ_WIN eWindow, MS_U16 u16GRuleType);
910 MS_U16 MDrv_PQ_GetGRule_GRuleNum_U2(void* pInstance,PQ_WIN eWindow);
911 MS_U16 MDrv_PQ_GetGRule_LevelIndex_U2(void* pInstance,PQ_WIN eWindow, MS_U16 u16GRuleType, MS_U16 u16GRuleLevelIndex);
912 MS_U16 MDrv_PQ_GetGRule_IPIndex_U2(void* pInstance,PQ_WIN eWindow, MS_U16 u16GRuleType, MS_U16 u16GRuleIPIndex);
913 MS_U16 MDrv_PQ_GetGRule_TableIndex_U2(void* pInstance,PQ_WIN eWindow, MS_U16 u16GRuleType, MS_U16 u16PQ_NRIdx, MS_U16 u16GRuleIPIndex);
914 MS_U16 MDrv_PQ_GetCustomerGRule_IPIndex_U2(void* pInstance,PQ_WIN eWindow, MS_U16 u16GRuleType, MS_U16 u16GRuleIPIndex);
915 MS_U16 MDrv_PQ_GetGRule_CustomerTableIndex_U2(void* pInstance,PQ_WIN eWindow, MS_U16 u16GRuleType, MS_U16 u16PQ_NRIdx, MS_U16 u16GRuleIPIndex);
916 MS_BOOL MDrv_PQ_Set_xvYCC_MatrixCoefficient_U2(void* pInstance,MS_U64 u64Red_x,   MS_U64 u64Red_y,MS_U64 u64Green_x, MS_U64 u64Green_y,MS_U64 u64Blue_x,  MS_U64 u64Blue_y,MS_U64 u64White_x, MS_U64 u64White_y,PQ_WIN eWindow);
917 MS_BOOL MDrv_PQ_Set_xvYCC_MatrixEnable_U2(void* pInstance,MS_BOOL bEnable, PQ_WIN eWindow);
918 MS_U16 MDrv_PQ_Get_DNR_Whole_Reg_U2(void* pInstance,PQ_WIN eWindow);
919 void MDrv_PQ_Config_Lite_SN_U2(void* pInstance,MS_BOOL bEnable);
920 MS_BOOL MDrv_PQ_Up_Layer_Set_Config_U2(void* pInstance,MS_U16 uplayerSetting, PQ_MISC_GROUP group);
921 MS_PQ_EXECUTOR MDrv_PQ_GetQmapExecutor_U2(void* pInstance,MS_PQ_FUNCTION_TYPE eFunctionType);
922 void MDrv_PQ_SetPhotoYUVStandard_U2(void* pInstance,PQ_WIN eWindow, PQ_YUV_STD enStd);
923 char* MDrv_PQ_Ex_GetVersion_U2(void* pInstance,PQ_WIN eWindow);
924 MS_U32 MDrv_PQ_GetAdaptiveVersion_U2(void* pInstance,PQ_WIN eWindow);
925 void MDrv_PQ_LoadUFSCSettings_U2(void* pInstance,PQ_WIN eWindow);
926 #if (ENABLE_PQ_BIN_CF)
927 void MDrv_PQ_LoadCFSettings_U2(void* pInstance,PQ_WIN eWindow);
928 #endif
929 MS_U16 MDrv_PQ_GetTableIndex_Ex_U2(void *pInstance,PQ_WIN eWindow, MS_U16 u16IPIdx, PQ_ENGINE_TYPE ePQEngineType);
930 void MDrv_PQ_LoadTable_Ex_U2(void *pInstance,PQ_WIN eWindow, MS_U16 u16TabIdx, MS_U16 u16PQIPIdx, PQ_ENGINE_TYPE ePQEngineType);
931 MS_BOOL MDrv_PQ_Demo_CloneWindow_U2(void *pInstance, PQ_WIN eWindow, MS_U8 u8Mode);
932 MS_U16 MDrv_PQ_GetGRule_LvlNum_Ex_U2(void *pInstance,PQ_WIN eWindow, MS_U16 u16GRuleType, PQ_ENGINE_TYPE ePQEngineType);
933 MS_U16 MDrv_PQ_GetGRule_LevelIndex_Ex_U2(void *pInstance,PQ_WIN eWindow, MS_U16 u16GRuleType, MS_U16 u16GRuleLevelIndex, PQ_ENGINE_TYPE ePQEngineType);
934 MS_U16 MDrv_PQ_GetGRule_IPIndex_Ex_U2(void *pInstance,PQ_WIN eWindow, MS_U16 u16GRuleType, MS_U16 u16GRuleIPIndex, PQ_ENGINE_TYPE ePQEngineType);
935 MS_U16 MDrv_PQ_GetGRule_TableIndex_Ex_U2(void *pInstance,PQ_WIN eWindow, MS_U16 u16GRuleType, MS_U16 u16PQ_NRIdx, MS_U16 u16GRuleIPIndex, PQ_ENGINE_TYPE ePQEngineType);
936 void MDrv_PQ_EnableScalerGamma_U2(void *pInstance, PQ_WIN eWindow, MS_BOOL bEnable);
937 void MDrv_PQ_SetGammaTbl_U2(void *pInstance, APIPNL_GAMMA_TYPE enGammType, MS_U8 **pu8GammTable, APIPNL_GAMMA_MAPPEING_MODE enGammaMappingMode);
938 //drvPQ_cus.c
939 void MDrv_PQ_LoadFilmModeTable_U2(void* pInstance,PQ_WIN eWindow, PQ_FILM_MODE_FUNCTION_TYPE enFilmModeType);
940 void MDrv_PQ_LoadDynamicContrastTable_U2(void* pInstance,PQ_WIN eWindow, PQ_DYNAMIC_CONTRAST_FUNCTION_TYPE enDynamicContrastType);
941 void MDrv_PQ_LoadNRTable_U2(void* pInstance,PQ_WIN eWindow, PQ_3D_NR_FUNCTION_TYPE en3DNRType);
942 void MDrv_PQ_LoadMPEGNRTable_U2(void* pInstance,PQ_WIN eWindow, PQ_MPEG_NR_FUNCTION_TYPE enMPEGNRType);
943 void MDrv_PQ_Load_ULTRACLEAR_Table_U2(void* pInstance,PQ_WIN eWindow, PQ_FEATURE_SWITCH_TYPE enCtrlType);
944 void MDrv_PQ_Load_XVYCC_Table_U2(void* pInstance,PQ_WIN eWindow, PQ_XVYCC_TYPE enXvyccType);
945 void MDrv_PQ_Load_HDR_Table_U2(void *pInstance,PQ_WIN eWindow, PQ_HDR_MODE enHdrMode);
946 MS_BOOL MDrv_PQ_GRULE_Get_Support_Status_U2(void* pInstance,PQ_SUPPORTED_TYPE enType);
947 PQ_DEINTERLACE_MODE MDrv_PQ_SetMemFormat_U2(void* pInstance,PQ_WIN eWindow, MS_BOOL bMemFmt422, MS_BOOL bFBL, MS_U8 *pu8BitsPerPixel);
948 void MDrv_PQ_ReduceBW_ForOSD_U2(void* pInstance,PQ_WIN eWindow, MS_BOOL bOSD_On);
949 void MDrv_PQ_LoadPTPTable_U2(void* pInstance,PQ_WIN eWindow, PQ_PTP_FUNCTION_TYPE enPTP_Type);
950 void MDrv_PQ_Init_DisplayType_U2(void* pInstance,MS_U16 u16DisplayWidth, PQ_DISPLAY_TYPE enDisplaType);
951 void MDrv_PQ_Set_DisplayType_U2(void* pInstance,MS_U16 u16DisplayWidth, PQ_DISPLAY_TYPE enDisplaType);
952 MS_BOOL MDrv_PQ_GetMADiFromOSDBWGrule_U2(void* pInstance,PQ_WIN eWindow,MS_U16 *pu16TabIdx_MADi,MS_U16 *pu16TabIdx_MADi_Motion);
953 MS_BOOL MDrv_PQ_GetMADiInGeneral_U2(void* pInstance,PQ_WIN eWindow, MS_U16 *pu16TabIdx_MADi, MS_U16 *pu16TabIdx_MADi_Motion);
954 MS_BOOL MDrv_PQ_Check_PointToPoint_Condition_U2(void* pInstance,XC_SETWIN_INFO *pstXC_SetWin_Info,PQ_WIN eWindow);
955 MS_BOOL MDrv_PQ_SetPostCCSOnOff_U2(void* pInstance,PQ_WIN eWindow, MS_BOOL bEnable);
956 void MDrv_PQ_AdaptiveTuning_U2(void* pInstance);
957 void MDrv_PQ_FilmMode_AnyCandence_Enable_U2(void* pInstance,MS_BOOL bEnable);
958 MS_BOOL MDrv_PQ_SetH264_OnOff_U2(void* pInstance,MS_BOOL bEn);
959 MS_BOOL MDrv_PQ_SetG3D_OnOff_U2(void* pInstance,MS_BOOL bEn);
960 MS_BOOL MDrv_PQ_SetMVC4kx1k_OnOff_U2(void* pInstance,MS_BOOL bEn);
961 MS_BOOL MDrv_PQ_SetNetworkMM_OnOff_U2(void* pInstance,MS_BOOL bEn);
962 MS_BOOL MDrv_PQ_SetMM_OnOff_U2(void* pInstance,MS_BOOL bEn);
963 MS_BOOL MDrv_PQ_SetRmvb_OnOff_U2(void* pInstance,MS_BOOL bEn, PQ_WIN ePQWindow);
964 MS_BOOL MDrv_PQ_SetVIPBypass_OnOff_U2(void* pInstance,MS_BOOL bEnable, PQ_WIN eWindow);
965 MS_BOOL MDrv_PQ_SetPeaking_OnOff_U2(void* pInstance,MS_BOOL bEnable, PQ_WIN eWindow);
966 MS_BOOL MDrv_PQ_SetFakeOutEnable_U2(void* pInstance,MS_BOOL bEnable);
967 MS_BOOL MDrv_PQ_Set1KTravelingEnable_U2(void* pInstance,MS_BOOL bEn);
968 //drvPQ_Text.c
969 char* MDrv_PQ_GetSrcTypeName_U2(void *pInstance,PQ_WIN eWindow);
970 char* MDrv_PQ_GetIPName_U2(void *pInstance,MS_U8 u8PQIPIdx);
971 char* MDrv_PQ_GetTableName_U2(void *pInstance,MS_U8 u8PQIPIdx, MS_U8 u8TabIdx );
972 //drvbw.c
973 void MDrv_BW_LoadInitTable_U2(void *pInstance);
974 void MDrv_BW_LoadTableByContext_U2(void* pInstance,PQ_WIN eWindow);
975 void MDrv_BW_ResetToDefault_U2(void* pInstance);
976 void MDrv_BW_CusMode_LoadTable_U2(void *pInstance, MS_U8 u8TabIdx);
977 MS_BOOL MDrv_PQ_GetConfig_U2(void* pInstance, MS_PQ_Init_Info *pstPQInitInfo);
978 void PQRegisterToUtopia(FUtopiaOpen ModuleType);
979 MS_U32 PQOpen(void** ppInstance,MS_U32 u32ModuleVersion, void* pAttribute);
980 MS_U32 PQIoctl(void* pInstance, MS_U32 u32Cmd, void* pArgs);
981 MS_U32 PQClose(void* pInstance);
982 
983 MS_U32 _MDrv_PQ_GET_DEVICE_NUM(void);
984 
985 void MDrv_PQ_SetFrameBuffMode_U2(void* pInstance,MS_BOOL bFrameBuffLess);
986 
987 #ifdef __cplusplus
988 }
989 #endif
990 #undef _API_PQ_PRIV_H_
991 #endif
992