xref: /utopia/UTPA2-700.0.x/modules/pq/drv/pq/include/apiPQ_v2.h (revision 53ee8cc121a030b8d368113ac3e966b4705770ef)
1 //<MStar Software>
2 //******************************************************************************
3 // MStar Software
4 // Copyright (c) 2010 - 2012 MStar Semiconductor, Inc. All rights reserved.
5 // All software, firmware and related documentation herein ("MStar Software") are
6 // intellectual property of MStar Semiconductor, Inc. ("MStar") and protected by
7 // law, including, but not limited to, copyright law and international treaties.
8 // Any use, modification, reproduction, retransmission, or republication of all
9 // or part of MStar Software is expressly prohibited, unless prior written
10 // permission has been granted by MStar.
11 //
12 // By accessing, browsing and/or using MStar Software, you acknowledge that you
13 // have read, understood, and agree, to be bound by below terms ("Terms") and to
14 // comply with all applicable laws and regulations
15 //
16 // 1. MStar shall retain any and all right, ownership and interest to MStar
17 //    Software and any modification/derivatives thereof.
18 //    No right, ownership, or interest to MStar Software and any
19 //    modification/derivatives thereof is transferred to you under Terms.
20 //
21 // 2. You understand that MStar Software might include, incorporate or be
22 //    supplied together with third party`s software and the use of MStar
23 //    Software may require additional licenses from third parties.
24 //    Therefore, you hereby agree it is your sole responsibility to separately
25 //    obtain any and all third party right and license necessary for your use of
26 //    such third party`s software.
27 //
28 // 3. MStar Software and any modification/derivatives thereof shall be deemed as
29 //    MStar`s confidential information and you agree to keep MStar`s
30 //    confidential information in strictest confidence and not disclose to any
31 //    third party.
32 //
33 // 4. MStar Software is provided on an "AS IS" basis without warranties of any
34 //    kind. Any warranties are hereby expressly disclaimed by MStar, including
35 //    without limitation, any warranties of merchantability, non-infringement of
36 //    intellectual property rights, fitness for a particular purpose, error free
37 //    and in conformity with any international standard.  You agree to waive any
38 //    claim against MStar for any loss, damage, cost or expense that you may
39 //    incur related to your use of MStar Software.
40 //    In no event shall MStar be liable for any direct, indirect, incidental or
41 //    consequential damages, including without limitation, lost of profit or
42 //    revenues, lost or damage of data, and unauthorized system use.
43 //    You agree that this Section 4 shall still apply without being affected
44 //    even if MStar Software has been modified by MStar in accordance with your
45 //    request or instruction for your use, except otherwise agreed by both
46 //    parties in writing.
47 //
48 // 5. If requested, MStar may from time to time provide technical supports or
49 //    services in relation with MStar Software to you for your use of
50 //    MStar Software in conjunction with your or your customer`s product
51 //    ("Services").
52 //    You understand and agree that, except otherwise agreed by both parties in
53 //    writing, Services are provided on an "AS IS" basis and the warranty
54 //    disclaimer set forth in Section 4 above shall apply.
55 //
56 // 6. Nothing contained herein shall be construed as by implication, estoppels
57 //    or otherwise
58 //    (a) conferring any license or right to use MStar name, trademark, service
59 //        mark, symbol or any other identification;
60 //    (b) obligating MStar or any of its affiliates to furnish any person,
61 //        including without limitation, you and your customers, any assistance
62 //        of any kind whatsoever, or any information; or
63 //    (c) conferring any license or right under any intellectual property right.
64 //
65 // 7. These terms shall be governed by and construed in accordance with the laws
66 //    of Taiwan, R.O.C., excluding its conflict of law rules.
67 //    Any and all dispute arising out hereof or related hereto shall be finally
68 //    settled by arbitration referred to the Chinese Arbitration Association,
69 //    Taipei in accordance with the ROC Arbitration Law and the Arbitration
70 //    Rules of the Association by three (3) arbitrators appointed in accordance
71 //    with the said Rules.
72 //    The place of arbitration shall be in Taipei, Taiwan and the language shall
73 //    be English.
74 //    The arbitration award shall be final and binding to both parties.
75 //
76 //******************************************************************************
77 
78 #ifndef _APIPQ_V2_H_
79 #define _APIPQ_V2_H_
80 
81 #ifdef __cplusplus
82 extern "C"
83 {
84 #endif
85 #include "MsTypes.h"
86 #include "drvPQ_Define.h"
87 #include "drvPQ_Declare.h"
88 #include "apiPNL.h"
89 //******** ENUM DEFINITIONS ********//
90 typedef enum
91 {
92     E_PQ_POOL_ID_INTERNAL = 0,
93     E_PQ_POOL_ID_INTERNAL1 = 1,
94 
95     E_PQ_POOL_ID_NUM,
96     E_PQ_POOL_ID_MAX = E_PQ_POOL_ID_NUM,
97 } E_PQ_POOL_ID;
98 
99 /// Define PQ device ID
100 typedef enum
101 {
102     E_PQ_DEVICE_ID_0 = 0,
103     E_PQ_DEVICE_ID_1 = 1,
104     E_PQ_DEVICE_ID_NUM,
105     E_PQ_DEVICE_ID_MAX = E_PQ_DEVICE_ID_NUM,
106 } E_PQ_DEVICE_ID;
107 
108 typedef enum
109 {
110     // APIPQ
111     //drvPQ.c
112     E_PQ_CMD_NONE = 0,
113     E_PQ_CMD_INIT,
114     E_PQ_CMD_EXIT,
115     E_PQ_CMD_SET_POWER_STATE,
116     E_PQ_CMD_GET_IP_NUM,
117     E_PQ_CMD_GET_TABLE_NUM,
118     E_PQ_CMD_GET_CURRENT_TABLE_INDEX,
119     E_PQ_CMD_GET_TABLE_INDEX,
120     E_PQ_CMD_GET_CUSTOMER_TABLE_INDEX,
121     //E_PQ_CMD_GET_XRULE_IP_INDEX,
122     //E_PQ_CMD_GET_XRULE_TABLE_INDEX,
123     //E_PQ_CMD_GET_XRULE_IP_NUM,
124     E_PQ_CMD_LOAD_TABLE_DATA,
125     E_PQ_CMD_CLONE_TABLE,
126     E_PQ_CMD_LOAD_TABLE,
127     E_PQ_CMD_LOAD_CUSTOMER_TABLE,
128     E_PQ_CMD_CHECK_SETTINGS,
129 #if (ENABLE_PQ_MLOAD)
130     E_PQ_CMD_SET_MLOAD_EN,
131 #endif
132     E_PQ_CMD_SKIP_DUPLICATED_SETTING,
133     E_PQ_CMD_GET_SKIP_DUPLICATED_SETTING_STATUS,
134 #if (PQ_FRCM_CBCR_SWAP_BY_SW == 1)
135     E_PQ_CMD_SET_FRCM_CB_CR_SWAP,
136 #endif
137     E_PQ_CMD_LOAD_SETTINGS,
138     E_PQ_CMD_LOAD_CUSTONER_SETTINGS,
139     E_PQ_CMD_SET_DTVINFO,
140     E_PQ_CMD_SET_MULTIMEDIAINFO,
141     E_PQ_CMD_SET_VDINFO,
142     E_PQ_CMD_SET_MODEINFO,
143     E_PQ_CMD_SET_HDMIINFO,
144     E_PQ_CMD_SET_HDMI_PC,
145     E_PQ_CMD_GET_HDMI_PC_STATUS,
146     E_PQ_CMD_DESIDE_SRC_TYPE,
147     E_PQ_CMD_GET_INPUTSOURCE_TYPE,
148     E_PQ_CMD_GET_SRC_TYPE,
149     E_PQ_CMD_GET_DELAY_TIME_BY_MEMC,
150     E_PQ_CMD_GET_DELAY_TIME,
151     E_PQ_CMD_LOAD_SCALING_TABLE,
152     E_PQ_CMD_SET_COLOR_RANGE,
153     E_PQ_CMD_GET_CSC_XRULEIDX,
154     E_PQ_CMD_GET_MEM_YUVFMT,
155     E_PQ_CMD_SET_CSC,
156 #if (PQ_XRULE_DB_ENABLE == 1)
157     E_PQ_CMD_SET_DBRULE,
158 #endif
159     E_PQ_CMD_ENABLE_MADI_FORCE,
160     E_PQ_CMD_REDUCE_BW_FOR_PVR,
161     E_PQ_CMD_SET_420UP_SAMPLEING,
162     E_PQ_CMD_SET_FILEMODE,
163     E_PQ_CMD_SET_NONLINEAR_SCALING,
164     E_PQ_CMD_3D_CLONE_FOR_PIP,
165     E_PQ_CMD_DISABLE_FILEMODE,
166     E_PQ_CMD_DISABLE_UC_FEATURE,
167     E_PQ_CMD_GET_CURRENT_UC_FEATURE,
168     E_PQ_CMD_GET_UC_FEATURE_FROM_PQ,
169 #if (PQ_GRULE_GAME_MODE_ENABLE == 1)
170     E_PQ_CMD_ENABLE_UC_FEATURE,
171 #endif
172     E_PQ_CMD_SET_UC_FEATURE,
173     E_PQ_CMD_SET_DMSV12L,
174     E_PQ_CMD_GET_DMSV12L_FROM_XRULE_TABLE,
175     E_PQ_CMD_GET_LIB_VER,
176     E_PQ_CMD_GET_INFO,
177     E_PQ_CMD_GET_STATUS,
178     E_PQ_CMD_SET_DBGLEVEL,
179     E_PQ_CMD_MADI_FORCE_MOTIONC,
180     E_PQ_CMD_MADI_FORCE_MOTIONY,
181     E_PQ_CMD_SET_RFBL_MODE,
182     E_PQ_CMD_GET_RFBL_MODE,
183 #if (PQ_ENABLE_VD_SAMPLING)
184     E_PQ_CMD_GET_VDSAMPLING_INFO,
185 #endif
186     E_PQ_CMD_INTER_IOCTL,
187     E_PQ_CMD_GET_ADC_SAMPLING_INTO,
188     E_PQ_CMD_SET_3D_ONOFF,
189     E_PQ_CMD_GET_CAPS,
190     E_PQ_CMD_PRINT_LOADTABLE_INFO,
191     E_PQ_CMD_SETDS_ONOFF,
192     E_PQ_CMD_GET_RFBL_INFO,
193     E_PQ_CMD_CHECK_HD_MODE,
194     E_PQ_CMD_GET_INTERLACE_SD_MODE,
195     E_PQ_CMD_SET_DUAL_VIEW_STATE,
196     E_PQ_CMD_GET_VGASUBCASE_FORCETO_422MODE,
197     E_PQ_CMD_GET_DUAL_VIEW_STATE,
198     E_PQ_CMD_FORCE_VIDEO_INPUT_MODE,
199     E_PQ_CMD_IS_FORCE_VIDEO_INPUTMODE,
200     E_PQ_CMD_SET_POINT2POINT,
201     E_PQ_CMD_GET_POINT2POINT,
202     E_PQ_CMD_UPDATE_MEMFORMAT,
203     E_PQ_CMD_GET_HSIZE,
204     E_PQ_CMD_GET_VSIZE,
205     E_PQ_CMD_IS_INTERLACE,
206     E_PQ_CMD_LOW_3D_QUALITY,
207     E_PQ_CMD_MWE_SET_ENHANCE_QUALITY,
208     E_PQ_CMD_MWE_RESTORE_ENHANCE_QUALITY,
209     E_PQ_CMD_MWE_RESTORE_OFF_QUALITY,
210     E_PQ_CMD_MWE_SET_OFF_QUALITY,
211     E_PQ_CMD_MWE_CLONE_WINDOW,
212     E_PQ_CMD_3D_SETTING_FOR_LBL,
213     E_PQ_CMD_3D_CLONE_WINDOW,
214     E_PQ_CMD_GET_SENSIOMODE,
215     E_PQ_CMD_SET_SENSIOMODE,
216     E_PQ_CMD_SET_DIPF,
217     E_PQ_CMD_SET_SELECT_CSC,
218     E_PQ_CMD_GET_R2YEQ_SELECT,
219     E_PQ_CMD_GET_MEMFMT_IN_GENERAL,
220     E_PQ_CMD_GET_MADI_FOR_RFBL,
221     E_PQ_CMD_PATCH2RTO4R_FOR_FIELDPACKINGMODE,
222     E_PQ_CMD_GET_BPPINFO_FROM_MADI,
223     E_PQ_CMD_CHANGE_MEMCONFIG_FOR3D,
224     E_PQ_CMD_FORCE_BPP_FOR_DYNAMIC_MEMFMT,
225     E_PQ_CMD_SUGGEST_FRAMENUM,
226     E_PQ_CMD_SET_GAMEMODE,
227     E_PQ_CMD_GET_GAMEMODE_STATUS,
228     E_PQ_CMD_SET_BYPASS_MODE,
229     E_PQ_CMD_GET_BYPASS_MODE_STATUS,
230     E_PQ_CMD_GET_VERSION,
231     E_PQ_CMD_CUS_GET_VERSION,
232     E_PQ_CMD_SET_GRULE_STATUS,
233     E_PQ_CMD_GET_GRULE_LV1NUM,
234     E_PQ_CMD_GET_GRULE_GRULENUM,
235     E_PQ_CMD_GET_GRULE_LEVELINDEX,
236     E_PQ_CMD_GET_GRULE_IPINDEX,
237     E_PQ_CMD_GET_GRULE_TABLEINDEX,
238     E_PQ_CMD_GET_CUSTOMERGRULE_IPINDEX,
239     E_PQ_CMD_GET_CUSTOMERGRULE_TABLEINDEX,
240     E_PQ_CMD_SET_XVYCC_MATRIXCOEFFICIENT,
241     E_PQ_CMD_SET_XVYCC_MATRIXENABLE,
242     E_PQ_CMD_GET_DNR_WHOLE_REG,
243     E_PQ_CMD_UP_LAYER_SET_CONFIG,
244     E_PQ_CMD_GET_QMAP_EXECUTOR,
245     E_PQ_CMD_SET_PHOTO_YUV_STD,
246     E_PQ_CMD_EX_GET_VERSION,
247     E_PQ_CMD_GET_ADAPTVIE_VERSION,
248        E_PQ_CMD_LOAD_CUSTOMER_TABLE_EX,
249        E_PQ_CMD_LOAD_TABLE_EX,
250     E_PQ_CMD_LOAD_UFSC_SETTING,
251 #if (ENABLE_PQ_BIN_CF)
252     E_PQ_CMD_LOAD_CF_SETTING,
253 #endif
254        E_PQ_CMD_GET_TABLE_INDEX_EX,
255        E_PQ_CMD_DEMO_CLONE_WINDOW,
256        E_PQ_CMD_ENABLE_SCALER_GAMMA,
257        E_PQ_CMD_SET_GAMMA_TBl,
258        E_PQ_CMD_GET_GRULE_LV1NUM_EX,
259        E_PQ_CMD_GET_GRULE_LEVELINDEX_EX,
260        E_PQ_CMD_GET_GRULE_IPINDEX_EX,
261        E_PQ_CMD_GET_GRULE_TABLEINDEX_EX,
262        E_PQ_CMD_GET_PQBYPASS,
263        E_PQ_CMD_SET_PQBYPASS,
264        E_PQ_CMD_SET_PQBIN_PATH,
265 //drvPQ_cus.c
266     E_PQ_CMD_LOAD_FILMMODE_TABLE,
267     E_PQ_CMD_LOAD_DYNAMIC_CONTRAST_TABLE,
268     E_PQ_CMD_LOAD_NR_TABLE,
269     E_PQ_CMD_LOAD_MPEG_NR_TABLE,
270     E_PQ_CMD_LOAD_ULTRACLEAR_TABLE,
271     E_PQ_CMD_LOAD_XVYCC_TABLE,
272     E_PQ_CMD_LOAD_HDR_TABLE,
273     E_PQ_CMD_GRULE_GET_SUPPORT_STATUS,
274     E_PQ_CMD_SET_MEMFORMAT,
275     E_PQ_CMD_REDUCEBW_ForOSD,
276     E_PQ_CMD_LOAD_PTP_TABLE,
277     E_PQ_CMD_INIT_DISPLAY_TYPE,
278     E_PQ_CMD_SET_DISPLAY_TYPE,
279     E_PQ_CMD_GET_MADI_FROM_OSDBW_GRULE,
280     E_PQ_CMD_GET_MADI_IN_GENERAL,
281     E_PQ_CMD_CHECK_POINT2POINT_CONDITION,
282     E_PQ_CMD_SET_POSTCCS_ONOFF,
283     E_PQ_CMD_ADAPTIVE_TUNING,
284     E_PQ_CMD_FILMMODE_ANYCANDENCE_ENABLE,
285     E_PQ_CMD_SETH264_ONOFF,
286     E_PQ_CMD_SETG3D_ONOFF,
287     E_PQ_CMD_SETMVC4KX1K_ONOFF,
288     E_PQ_CMD_SET_NETWORKMM_ONOFF,
289     E_PQ_CMD_SETMM_ONOFF,
290     E_PQ_CMD_SET_RMVB_ONOFF,
291     E_PQ_CMD_SET_VIPBYPASS_ONOFF,
292     E_PQ_CMD_SET_PEAKING_ONOFF,
293     E_PQ_CMD_SET_FAKE_OUT_ENABLE,
294     E_PQ_CMD_SET_1KTRAVELINGENABLE,
295 //drvPQ_Text.c
296     E_PQ_CMD_GET_SRC_TYPE_NAME,
297     E_PQ_CMD_GET_IP_NAME,
298     E_PQ_CMD_GET_TABLE_NAME,
299 //drvbw.c
300     E_PQ_CMD_BW_LOAD_INIT_TABLE,
301     E_PQ_CMD_BW_LOAD_TABLE_BY_CONTEXT,
302     E_PQ_CMD_BW_RESET_TO_DEFAULT,
303     E_PQ_CMD_BW_CUSMODE_LOADTABLE,
304 
305 #ifdef UFO_XC_PQ_SUPPORT_SWMOTION
306     E_PQ_CMD_MADI_FORCE_MOTION,
307 #endif
308 
309 #ifdef UFO_XC_PQ_SUPPORT_REPEATER_COLOR_THROUGH_MODE
310     E_PQ_CMD_SET_COLOR_THROUGH_MODE,
311 #endif
312 
313     E_PQ_CMD_GETCONFIG,
314     E_PQ_CMD_SET_FRAMEBUFF_MODE,
315     E_PQ_CMD_NUM,
316 } E_PQ_IOCTL_CMDS;
317 
318 //drvPQ.c
319 typedef struct DLL_PACKED
320 {
321     MS_PQ_Init_Info *pstPQInitInfo;
322 } stPQ_INIT,*pstPQ_INIT;
323 typedef struct DLL_PACKED
324 {
325     PQ_ReturnValue eRet;
326     MS_PQ_Init_Info *pstPQInitInfo;
327 } stPQ_GetConfig,*pstPQ_GetConfig;
328 typedef struct
329 {
330     EN_POWER_MODE enPowerState;
331     MS_U32 u32Ret;
332 } stPQ_SetPowerState,*pstPQ_SetPowerState;
333 typedef struct
334 {
335     PQ_WIN eWindow;
336     MS_U16 u16Ret;
337 } stPQ_GetIPNum,*pstPQ_GetIPNum;
338 typedef struct
339 {
340     PQ_WIN eWindow;
341     MS_U16 u16PQIPIdx;
342     MS_U16 u16Ret;
343 } stPQ_GetTableNum,*pstPQ_GetTableNum;
344 typedef struct
345 {
346     PQ_WIN eWindow;
347     MS_U16 u16PQIPIdx;
348     MS_U16 u16Ret;
349 } stPQ_GetCurrentTableIndex,*pstPQ_GetCurrentTableIndex;
350 typedef struct
351 {
352     PQ_WIN eWindow;
353     MS_U16 u16PQIPIdx;
354     MS_U16 u16Ret;
355 } stPQ_GetTableIndex,*pstPQ_GetTableIndex;
356 typedef struct
357 {
358     PQ_WIN eWindow;
359     MS_U16 u16PQIPIdx;
360     MS_U16 u16Ret;
361 } stPQ_GetCustomerTableIndex,*pstPQ_GetCustomerTableIndex;
362 //typedef struct
363 //{
364 //    PQ_WIN eWindow;
365 //    MS_U16 u16XRuleType;
366 //    MS_U16 u16XRuleIP;
367 //    MS_U16 u16Ret;
368 //} stPQ_GetXRuleIPIndex,*pstPQ_GetXRuleIPIndex;
369 //typedef struct
370 //{
371 //    PQ_WIN eWindow;
372 //    MS_U16 u16XRuleType;
373 //    MS_U16 u16XRuleIdx;
374 //    MS_U16 u16XRuleIP;
375 //    MS_U16 u16Ret;
376 //} stPQ_GetXRuleTableIndex,*pstPQ_GetXRuleTableIndex;
377 //typedef struct
378 //{
379 //    PQ_WIN eWindow;
380 //    MS_U16 u16XRuleType;
381 //    MS_U16 u16Ret;
382 //} stPQ_GetXRuleIPNum,*pstPQ_GetXRuleIPNum;
383 typedef struct DLL_PACKED
384 {
385     PQ_WIN eWindow;
386     MS_U16 u16TabIdx;
387     MS_U16 u16PQIPIdx;
388     MS_U8 *pTable;
389     MS_U16 u16TableSize;
390 } stPQ_LoadTableData,*pstPQ_LoadTableData;
391 typedef struct
392 {
393     PQ_WIN eWindow;
394     MS_U16 u16TabIdx;
395     MS_U16 u16PQMainIPIdx;
396     MS_U16 u16PQSubIPIdx;
397 } stPQ_CloneTable,*pstPQ_CloneTable;
398 typedef struct
399 {
400     PQ_WIN eWindow;
401     MS_U16 u16TabIdx;
402     MS_U16 u16PQIPIdx;
403 } stPQ_LoadTable,*pstPQ_LoadTable;
404 typedef struct
405 {
406     PQ_WIN eWindow;
407     MS_U16 u16TabIdx;
408     MS_U16 u16PQIPIdx;
409 } stPQ_LoadCustomerTable,*pstPQ_LoadCustomerTable;
410 typedef struct
411 {
412     PQ_WIN eWindow;
413 } stPQ_CheckSettings,*pstPQ_CheckSettings;
414 #if (ENABLE_PQ_MLOAD)
415 typedef struct
416 {
417     PQ_WIN eWindow;
418     MS_BOOL bEn;
419 } stPQ_Set_MLoadEn,*pstPQ_Set_MLoadEn;
420 #endif
421 typedef struct
422 {
423     PQ_WIN eWindow;
424     MS_BOOL bSkip;
425     MS_BOOL bReturnValue;
426 } stPQ_SkipDuplicatedSetting,*pstPQ_SkipDuplicatedSetting;
427 typedef struct
428 {
429     PQ_WIN eWindow;
430     MS_BOOL bReturnValue;
431 } stPQ_GetSkipDuplicatedSettingStatus,*pstPQ_GetSkipDuplicatedSettingStatus;
432 #if (PQ_FRCM_CBCR_SWAP_BY_SW == 1)
433 typedef struct
434 {
435     PQ_WIN eWindow;
436 } stPQ_SetFrcmCbCrSwap,*pstPQ_SetFrcmCbCrSwap;
437 #endif
438 typedef struct
439 {
440     PQ_WIN eWindow;
441 } stPQ_LoadSettings,*pstPQ_LoadSettings;
442 typedef struct
443 {
444     PQ_WIN eWindow;
445 } stPQ_LoadCustomerSettings,*pstPQ_LoadCustomerSettings;
446 typedef struct DLL_PACKED
447 {
448     PQ_WIN eWindow;
449     MS_PQ_Dtv_Info *pstPQDTVInfo;
450 } stPQ_Set_DTVInfo,*pstPQ_Set_DTVInfo;
451 typedef struct DLL_PACKED
452 {
453     PQ_WIN eWindow;
454     MS_PQ_MuliMedia_Info *pstPQMMInfo;
455 } stPQ_Set_MultiMediaInfo,*pstPQ_Set_MultiMediaInfo;
456 typedef struct DLL_PACKED
457 {
458     PQ_WIN eWindow;
459     MS_PQ_Vd_Info *pstPQVDInfo;
460 } stPQ_Set_VDInfo,*pstPQ_Set_VDInfo;
461 typedef struct DLL_PACKED
462 {
463     PQ_WIN eWindow;
464     PQ_INPUT_SOURCE_TYPE enInputSourceType;
465     MS_PQ_Mode_Info *pstPQModeInfo;
466 } stPQ_Set_ModeInfo,*pstPQ_Set_ModeInfo;
467 typedef struct
468 {
469     PQ_WIN eWindow;
470     MS_PQ_Hdmi_Info pstPQHDMIInfo;
471     //const MS_PQ_Hdmi_Info* const pstPQHDMIInfo;
472 } stPQ_SetHDMIInfo,*pstPQ_SetHDMIInfo;
473 typedef struct
474 {
475     PQ_WIN eWindow;
476     MS_BOOL bIsTrue;
477 } stPQ_SetHDMI_PC,*pstPQ_SetHDMI_PC;
478 typedef struct
479 {
480     PQ_WIN eWindow;
481     MS_BOOL bReturnValue;
482 } stPQ_GetHDMI_PC_Status,*pstPQ_GetHDMI_PC_Status;
483 typedef struct
484 {
485     PQ_WIN eWindow;
486     PQ_INPUT_SOURCE_TYPE enInputSourceType;
487 } stPQ_DesideSrcType,*pstPQ_DesideSrcType;
488 typedef struct
489 {
490     PQ_WIN eWindow;
491     PQ_INPUT_SOURCE_TYPE bReturnValue;
492 } stPQ_GetInputSourceType,*pstPQ_GetInputSourceType;
493 typedef struct
494 {
495     PQ_WIN eWindow;
496     MS_U16 u16Ret;
497 } stPQ_GetSrcType,*pstPQ_GetSrcType;
498 typedef struct
499 {
500     SCALER_WIN eWindow;
501     MS_U32 u32MemcFrameDelay;
502     MS_U16 u16Ret;
503 } stPQ_GetDelayTimeByMemc,*pstPQ_GetDelayTimeByMemc;
504 typedef struct
505 {
506     SCALER_WIN eWindow;
507     MS_U16 u16Ret;
508 } stPQ_GetDelayTime,*pstPQ_GetDelayTime;
509 typedef struct
510 {
511     PQ_WIN eWindow;
512     MS_U8 eXRuleType;
513     MS_BOOL bPreV_ScalingDown;
514     MS_BOOL bInterlace;
515     MS_BOOL bColorSpaceYUV;
516     MS_U16 u16InputSize;
517     MS_U16 u16SizeAfterScaling;
518     MS_BOOL bReturnValue;
519 } stPQ_LoadScalingTable,*pstPQ_LoadScalingTable;
520 typedef struct
521 {
522     PQ_WIN eWindow;
523     MS_BOOL bColorRange0_255;
524 } stPQ_SetColorRange,*pstPQ_SetColorRange;
525 typedef struct DLL_PACKED
526 {
527     MS_BOOL *pbInputColorSpaceRGB;
528     MS_U16 * pu16DoCSC;
529     PQ_WIN eWindow;
530     PQ_FOURCE_COLOR_FMT enForceColor;
531     MS_BOOL bLoadPQTable;
532     MS_BOOL bReturnValue;
533 } stPQ_Get_CSC_XRuleIdx,*pstPQ_Get_CSC_XRuleIdx;
534 typedef struct
535 {
536     PQ_WIN eWindow;
537     PQ_FOURCE_COLOR_FMT enForceColor;
538     MS_BOOL bReturnValue;
539 } stPQ_Get_MemYUVFmt,*pstPQ_Get_MemYUVFmt;
540 typedef struct
541 {
542     PQ_WIN eWindow;
543     PQ_FOURCE_COLOR_FMT enForceColor;
544     MS_BOOL bReturnValue;
545 } stPQ_SetCSC,*pstPQ_SetCSC;
546 #if (PQ_XRULE_DB_ENABLE == 1)
547 typedef struct
548 {
549     PQ_WIN eWindow;
550     MS_U16 u16MADi_Idx;
551 } stPQ_Set_DBRule,*pstPQ_Set_DBRule;
552 #endif
553 typedef struct
554 {
555     PQ_WIN eWindow;
556     MS_BOOL bFullMotion;
557 } stPQ_EnableMADIForce,*pstPQ_EnableMADIForce;
558 typedef struct
559 {
560     PQ_WIN eWindow;
561     MS_BOOL bPVR_On;
562 } stPQ_ReduceBW_ForPVR,*pstPQ_ReduceBW_ForPVR;
563 typedef struct
564 {
565     PQ_WIN eWindow;
566     MS_BOOL bFBL;
567     MS_BOOL bPreV_ScalingDown;
568     MS_U16 u16V_CropStart;
569 } stPQ_Set420upsampling,*pstPQ_Set420upsampling;
570 typedef struct
571 {
572     PQ_WIN eWindow;
573     MS_BOOL bEnable;
574 } stPQ_SetFilmMode,*pstPQ_SetFilmMode;
575 typedef struct
576 {
577     PQ_WIN eWindow;
578     MS_U8 u8Level;
579     MS_BOOL bEnable;
580 } stPQ_SetNonLinearScaling,*pstPQ_SetNonLinearScaling;
581 typedef struct
582 {
583     MS_BOOL bIpSync;
584 } stPQ_3DCloneforPIP,*pstPQ_3DCloneforPIP;
585 typedef struct
586 {
587     PQ_WIN eWindow;
588     MS_BOOL bOn;
589 } stPQ_DisableFilmMode,*pstPQ_DisableFilmMode;
590 typedef struct
591 {
592     PQ_WIN eWindow;
593     MS_BOOL bReturnValue;
594 } stPQ_DisableUCFeature,*pstPQ_DisableUCFeature;
595 typedef struct DLL_PACKED
596 {
597     PQ_WIN eWindow;
598     MS_U16 *pu16TabIdx_MADi;
599     MS_U16 *pu16TabIdx_MADi_Mot;
600     MS_U16 *pu16TabIdx_MADi_DFK;
601     MS_U16 *pu16TabIdx_MADi_SST;
602     MS_U16 *pu16TabIdx_MADi_EODiW;
603     MS_U16 *pu16TabIdx_UCNR;
604     MS_U16 *pu16TabIdx_UCDi;
605     MS_U16 *pu16TabIdx_UCCTL;
606     MS_U16 *pu16TabIdx_SwDriver;
607     MS_U16 *pu16TabIdx_PostCCS;
608     MS_U16 *pu16TabIdx_DHD;
609     MS_BOOL bReturnValue;
610 } stPQ_GetCurrentUCFeature,*pstPQ_GetCurrentUCFeature;
611 typedef struct DLL_PACKED
612 {
613     PQ_WIN eWindow;
614     MS_U16 *pu16TabIdx_MADi_DFK;
615     MS_U16 *pu16TabIdx_MADi_SST;
616     MS_U16 *pu16TabIdx_MADi_EODiW;
617     MS_U16 *pu16TabIdx_UCNR;
618     MS_U16 *pu16TabIdx_UCDi;
619     MS_U16 *pu16TabIdx_UCCTL;
620     MS_U16 *pu16TabIdx_SwDriver;
621     MS_U16 *pu16TabIdx_PostCCS;
622     MS_U16 *pu16TabIdx_DHD;
623     MS_BOOL bReturnValue;
624 } stPQ_GetUCFeatureFromPQ,*pstPQ_GetUCFeatureFromPQ;
625 #if (PQ_GRULE_GAME_MODE_ENABLE == 1)
626 typedef struct
627 {
628     PQ_WIN eWindow;
629     MS_BOOL bReturnValue;
630 } stPQ_EnableUCFeature,*pstPQ_EnableUCFeature;
631 #endif
632 typedef struct
633 {
634     PQ_WIN eWindow;
635     MS_U16 pu16TabIdx_MADi;
636     MS_U16 pu16TabIdx_MADi_Mot;
637     MS_U16 pu16TabIdx_MADi_DFK;
638     MS_U16 pu16TabIdx_MADi_SST;
639     MS_U16 pu16TabIdx_MADi_EODiW;
640     MS_U16 pu16TabIdx_UCNR;
641     MS_U16 pu16TabIdx_UCDi;
642     MS_U16 pu16TabIdx_UCCTL;
643     MS_U16 pu16TabIdx_SwDriver;
644     MS_U16 pu16TabIdx_PostCCS;
645     MS_U16 pu16TabIdx_DHD;
646     MS_BOOL bReturnValue;
647 } stPQ_SetUCFeature,*pstPQ_SetUCFeature;
648 typedef struct
649 {
650     PQ_WIN eWindow;
651     MS_BOOL bEnable;
652     MS_BOOL bReturnValue;
653 } stPQ_SetDMSV12L,*pstPQ_SetDMSV12L;
654 typedef struct
655 {
656     PQ_WIN eWindow;
657     MS_BOOL bReturnValue;
658 } stPQ_GetDMSV12LFromXRuleTable,*pstPQ_GetDMSV12LFromXRuleTable;
659 typedef struct DLL_PACKED
660 {
661     const MSIF_Version **ppVersion;
662     E_DRVPQ_ReturnValue bReturnValue;
663 } stPQ_GetLibVer,*pstPQ_GetLibVer;
664 typedef struct DLL_PACKED
665 {
666     MS_PQ_INFO *pInfo;
667     PQ_ReturnValue bReturnValue;
668 } stPQ_GetInfo,*pstPQ_GetInfo;
669 typedef struct DLL_PACKED
670 {
671     MS_PQ_Status *pStatus;
672     MS_BOOL bReturnValue;
673 } stPQ_GetStatus,*pstPQ_GetStatus;
674 typedef struct
675 {
676     MS_U16 u16DbgSwitch;
677     MS_BOOL bReturnValue;
678 } stPQ_SetDbgLevel,*pstPQ_SetDbgLevel;
679 typedef struct
680 {
681     PQ_WIN eWindow;
682     MS_BOOL bEnable;
683 } stPQ_MADiForceMotionC,*pstPQ_MADiForceMotionC;
684 typedef struct
685 {
686     PQ_WIN eWindow;
687     MS_BOOL bEnable;
688 } stPQ_MADiForceMotionY,*pstPQ_MADiForceMotionY;
689 
690 #ifdef UFO_XC_PQ_SUPPORT_SWMOTION
691 typedef struct
692 {
693     PQ_WIN eWindow;
694     MS_BOOL bEnableY;
695     MS_U16 u16DataY;
696     MS_BOOL bEnableC;
697     MS_U16 u16DataC;
698 } stPQ_MADiForceMotion,*pstPQ_MADiForceMotion;
699 #endif
700 
701 #ifdef UFO_XC_PQ_SUPPORT_REPEATER_COLOR_THROUGH_MODE
702 typedef struct
703 {
704     PQ_WIN eWindow;
705     MS_BOOL bEn;
706 } stPQ_SetColorThroughMode,*pstPQ_SetColorThroughMode;
707 #endif
708 
709 typedef struct
710 {
711     MS_BOOL bEnable;
712     MS_BOOL bFilm;
713 } stPQ_SetRFblMode,*pstPQ_SetRFblMode;
714 typedef struct DLL_PACKED
715 {
716     MS_PQ_RFBL_INFO * pstInfo;
717 } stPQ_GetRFblMode,*pstPQ_GetRFblMode;
718 #if (PQ_ENABLE_VD_SAMPLING)
719 typedef struct DLL_PACKED
720 {
721     PQ_WIN eWindow;
722     PQ_INPUT_SOURCE_TYPE enInputSourceType;
723     PQ_VIDEOSTANDARD_TYPE eStandard;
724     MS_PQ_VD_Sampling_Info *pInfo;
725     MS_BOOL bReturnValue;
726 } stPQ_Get_VDSampling_Info,*pstPQ_Get_VDSampling_Info;
727 #endif
728 typedef struct DLL_PACKED
729 {
730     PQ_WIN eWindow;
731     MS_U32 u32Flag;
732     void *pBuf;
733     MS_U32 u32BufSize;
734     MS_BOOL bReturnValue;
735 } stPQ_INTER_IOCTL,*pstPQ_INTER_IOCTL;
736 typedef struct DLL_PACKED
737 {
738     PQ_WIN eWindow;
739     PQ_INPUT_SOURCE_TYPE enInputSourceType;
740     MS_PQ_Mode_Info *pstPQModeInfo;
741     MS_PQ_ADC_SAMPLING_TYPE bReturnValue;
742 } stPQ_Get_ADCSampling_Info,*pstPQ_Get_ADCSampling_Info;
743 typedef struct
744 {
745     MS_BOOL bEn;
746     MS_BOOL bReturnValue;
747 } stPQ_Set3D_OnOff,*pstPQ_Set3D_OnOff;
748 typedef struct DLL_PACKED
749 {
750     MS_PQ_CAP_INFO *pInfo;
751     MS_BOOL bReturnValue;
752 } stPQ_GetCaps,*pstPQ_GetCaps;
753 typedef struct
754 {
755     MS_PQ_PQLOADTABLE_WIN enPQWin;
756 } stPQ_PrintLoadTableInfo,*pstPQ_PrintLoadTableInfo;
757 typedef struct
758 {
759     PQ_WIN eWindow;
760     MS_BOOL bEn;
761     MS_BOOL bReturnValue;
762 } stPQ_SetDS_OnOFF,*pstPQ_SetDS_OnOFF;
763 typedef struct
764 {
765     PQ_WIN eWindow;
766     MS_BOOL bReturnValue;
767 } stPQ_Get_RFBL_Info,*pstPQ_Get_RFBL_Info;
768 typedef struct
769 {
770     PQ_WIN eWindow;
771     MS_BOOL bReturnValue;
772 } stPQ_CheckHDMode,*pstPQ_CheckHDMode;
773 typedef struct
774 {
775     MS_BOOL bReturnValue;
776 } stPQ_Get_Interlace_SD_mode,*pstPQ_Get_Interlace_SD_mode;
777 typedef struct
778 {
779     MS_BOOL bEnable;
780     MS_BOOL bReturnValue;
781 } stPQ_SetDualViewState,*pstPQ_SetDualViewState;
782 typedef struct
783 {
784     MS_BOOL bReturnValue;
785 } stPQ_GetVGASubCaseForceTo422Mode,*pstPQ_GetVGASubCaseForceTo422Mode;
786 typedef struct
787 {
788     MS_BOOL bReturnValue;
789 } stPQ_GetDualViewState,*pstPQ_GetDualViewState;
790 typedef struct
791 {
792     MS_BOOL bEnable;
793     PQ_WIN eWindow;
794     MS_BOOL bReturnValue;
795 } stPQ_ForceVideoInputMode,*pstPQ_ForceVideoInputMode;
796 typedef struct
797 {
798     PQ_WIN eWindow;
799     MS_BOOL bReturnValue;
800 } stPQ_IsForceVideoInputMode,*pstPQ_IsForceVideoInputMode;
801 typedef struct DLL_PACKED
802 {
803     XC_SETWIN_INFO *pstXC_SetWin_Info;
804     MS_BOOL bEnable;
805     PQ_WIN eWindow;
806     MS_BOOL bReturnValue;
807 } stPQ_Set_PointToPoint,*pstPQ_Set_PointToPoint;
808 typedef struct DLL_PACKED
809 {
810     XC_SETWIN_INFO *pstXC_SetWin_Info;
811     MS_BOOL bEnable;
812     PQ_WIN eWindow;
813     MS_BOOL bReturnValue;
814 } stPQ_Set_PqBypass,*pstPQ_Set_PqBypass;
815 typedef struct
816 {
817     PQ_WIN eWindow;
818     MS_BOOL bReturnValue;
819 } stPQ_Get_PointToPoint,*pstPQ_Get_PointToPoint;
820 typedef struct
821 {
822     PQ_WIN eWindow;
823     MS_BOOL bReturnValue;
824 } stPQ_Get_PqBypass,*pstPQ_Get_PqBypass;
825 typedef struct
826 {
827     MS_BOOL bReturnValue;
828 } stPQ_Update_MemFormat,*pstPQ_Update_MemFormat;
829 typedef struct
830 {
831     PQ_WIN enPQWin;
832     MS_U16 u16Ret;
833 } stPQ_GetHsize,*pstPQ_GetHsize;
834 typedef struct
835 {
836     PQ_WIN enPQWin;
837     MS_U16 u16Ret;
838 } stPQ_GetVsize,*pstPQ_GetVsize;
839 typedef struct
840 {
841     PQ_WIN enPQWin;
842     MS_BOOL bReturnValue;
843 } stPQ_IsInterlace,*pstPQ_IsInterlace;
844 typedef struct
845 {
846     MS_BOOL bEnable;
847     MS_BOOL bReturnValue;
848 } stPQ_LOW_3dQuality,*pstPQ_LOW_3dQuality;
849 typedef struct
850 {
851     MS_BOOL bReturnValue;
852 } stPQ_MWE_SetEnhanceQuality,*pstPQ_MWE_SetEnhanceQuality;
853 typedef struct
854 {
855     MS_BOOL bReturnValue;
856 } stPQ_MWE_RestoreEnhanceQuality,*pstPQ_MWE_RestoreEnhanceQuality;
857 typedef struct
858 {
859     MS_BOOL bReturnValue;
860 } stPQ_MWE_RestoreOffQuality,*pstPQ_MWE_RestoreOffQuality;
861 typedef struct
862 {
863     MS_BOOL bReturnValue;
864 } stPQ_MWE_SetOffQuality,*pstPQ_MWE_SetOffQuality;
865 typedef struct
866 {
867     PQ_WIN eWindow;
868 } stPQ_MWE_CloneWindow,*pstPQ_MWE_CloneWindow;
869 typedef struct
870 {
871     PQ_WIN eWindow;
872     MS_BOOL bReturnValue;
873 } stPQ_3D_SettingForLBL,*pstPQ_3D_SettingForLBL;
874 typedef struct
875 {
876     PQ_3DTYPE enPQ3DType;
877     PQ_WIN eWindow;
878 } stPQ_3D_CloneWindow,*pstPQ_3D_CloneWindow;
879 typedef struct
880 {
881     MS_BOOL bReturnValue;
882 } stPQ_Get_SensioMode,*pstPQ_Get_SensioMode;
883 typedef struct
884 {
885     MS_BOOL  bEnable;
886 } stPQ_Set_SensioMode,*pstPQ_Set_SensioMode;
887 typedef struct
888 {
889     MS_U16 u16selection;
890     PQ_WIN eWindow;
891 } stPQ_SetSelectCSC,*pstPQ_SetSelectCSC;
892 typedef struct
893 {
894     PQ_WIN eWindow;
895     MS_BOOL bReturnValue;
896 } stPQ_GetR2YEqSelect,*pstPQ_GetR2YEqSelect;
897 typedef struct DLL_PACKED
898 {
899     PQ_WIN eWindow;
900     MS_BOOL bMemFmt422;
901     MS_U16 *pu16TabIdx_MemFormat;
902     MS_U16 *pu16TabIdx_444To422;
903     MS_U16 *pu16TabIdx_422To444;
904     MS_BOOL bReturnValue;
905 } stPQ_GetMemFmtInGeneral,*pstPQ_GetMemFmtInGeneral;
906 typedef struct DLL_PACKED
907 {
908     PQ_WIN eWindow;
909     MS_BOOL bFBL;
910     MS_U16 *pu16TabIdx_MADi_Motion;
911     MS_U16 *pu16TabIdx_MADi;
912     MS_BOOL bReturnValue;
913 } stPQ_GetMADiForRFBL,*pstPQ_GetMADiForRFBL;
914 typedef struct
915 {
916     PQ_WIN eWindow;
917     MS_U16 u16TabIdx_MADi;
918     MS_BOOL bReturnValue;
919 } stPQ_Patch2Rto4RForFieldPackingMode,*pstPQ_Patch2Rto4RForFieldPackingMode;
920 typedef struct DLL_PACKED
921 {
922     PQ_WIN eWindow;
923     MS_BOOL bMemFmt422;
924     MS_U16 u16TabIdx_MADi;
925     MS_U16 u16TabIdx_MemFormat;
926     MS_U8 *pu8BitsPerPixel;
927     PQ_DEINTERLACE_MODE *peDeInterlaceMode;
928     MS_U8 *pu8FrameCount;
929     MS_BOOL bReturnValue;
930 } stPQ_GetBPPInfoFromMADi,*pstPQ_GetBPPInfoFromMADi;
931 typedef struct DLL_PACKED
932 {
933     PQ_WIN eWindow;
934     MS_BOOL bMemFmt422;
935     MS_U16 *pu16TabIdx_MemFormat;
936     MS_U16 *pu16TabIdx_444To422;
937     MS_U16 *pu16TabIdx_422To444;
938     MS_U8 *pu8BitsPerPixel;
939     MS_U16 *pu16TabIdx_MADi_Motion;
940     MS_U16 *pu16TabIdx_MADi;
941     MS_BOOL bReturnValue;
942 } stPQ_ChangeMemConfigFor3D,*pstPQ_ChangeMemConfigFor3D;
943 typedef struct DLL_PACKED
944 {
945     PQ_WIN eWindow;
946     MS_BOOL bMemFmt422;
947     MS_U8 *pu8BitsPerPixel;
948     MS_BOOL bReturnValue;
949 } stPQ_ForceBPPForDynamicMemFmt,*pstPQ_ForceBPPForDynamicMemFmt;
950 typedef struct
951 {
952     PQ_WIN eWindow;
953     MS_U16 u16TabIdx_MADi;
954     MS_U8 u8FrameCount;
955     MS_BOOL bReturnValue;
956 } stPQ_SuggestFrameNum,*pstPQ_SuggestFrameNum;
957 typedef struct
958 {
959     PQ_WIN eWindow;
960     MS_BOOL bEnable;
961     MS_BOOL bReturnValue;
962 } stPQ_SetGameMode,*pstPQ_SetGameMode;
963 typedef struct
964 {
965     PQ_WIN eWindow;
966     MS_BOOL bReturnValue;
967 } stPQ_GetGameMode_Status,*pstPQ_GetGameMode_Status;
968 typedef struct
969 {
970     PQ_WIN eWindow;
971     MS_BOOL bEnable;
972     MS_BOOL bReturnValue;
973 } stPQ_SetBypassMode,*pstPQ_SetBypassMode;
974 typedef struct
975 {
976     PQ_WIN eWindow;
977     MS_BOOL bReturnValue;
978 } stPQ_GetBypassModeStatus,*pstPQ_GetBypassModeStatus;
979 typedef struct DLL_PACKED
980 {
981     PQ_WIN eWindow;
982     char *u8Ret;
983 } stPQ_GetVersion,*pstPQ_GetVersion;
984 typedef struct DLL_PACKED
985 {
986     PQ_WIN eWindow;
987     char *u8Ret;
988 } stPQ_Cus_GetVersion,*pstPQ_Cus_GetVersion;
989 typedef struct
990 {
991     PQ_WIN eWindow;
992     MS_U16 u16GruleType;
993     MS_U16 u16GruleStatus;
994     MS_BOOL bReturnValue;
995 } stPQ_SetGRuleStatus,*pstPQ_SetGRuleStatus;
996 typedef struct
997 {
998     PQ_WIN eWindow;
999     MS_U16 u16GRuleType;
1000     MS_U16 u16Ret;
1001 } stPQ_GetGRule_LvlNum,*pstPQ_GetGRule_LvlNum;
1002 typedef struct
1003 {
1004     PQ_WIN eWindow;
1005     MS_U16 u16Ret;
1006 } stPQ_GetGRule_GRuleNum,*pstPQ_GetGRule_GRuleNum;
1007 typedef struct
1008 {
1009     PQ_WIN eWindow;
1010     MS_U16 u16GRuleType;
1011     MS_U16 u16GRuleLevelIndex;
1012     MS_U16 u16Ret;
1013 } stPQ_GetGRule_LevelIndex,*pstPQ_GetGRule_LevelIndex;
1014 typedef struct
1015 {
1016     PQ_WIN eWindow;
1017     MS_U16 u16GRuleType;
1018     MS_U16 u16GRuleIPIndex;
1019     MS_U16 u16Ret;
1020 } stPQ_GetGRule_IPIndex,*pstPQ_GetGRule_IPIndex;
1021 typedef struct
1022 {
1023     PQ_WIN eWindow;
1024     MS_U16 u16GRuleType;
1025     MS_U16 u16PQ_NRIdx;
1026     MS_U16 u16GRuleIPIndex;
1027     MS_U16 u16Ret;
1028 } stPQ_GetGRule_TableIndex,*pstPQ_GetGRule_TableIndex;
1029 typedef struct
1030 {
1031     PQ_WIN eWindow;
1032     MS_U16 u16GRuleType;
1033     MS_U16 u16GRuleIPIndex;
1034     MS_U16 u16Ret;
1035 } stPQ_GetCustomerGRule_IPIndex,*pstPQ_GetCustomerGRule_IPIndex;
1036 typedef struct
1037 {
1038     PQ_WIN eWindow;
1039     MS_U16 u16GRuleType;
1040     MS_U16 u16PQ_NRIdx;
1041     MS_U16 u16GRuleIPIndex;
1042     MS_U16 u16Ret;
1043 } stPQ_GetGRule_CustomerTableIndex,*pstPQ_GetGRule_CustomerTableIndex;
1044 typedef struct
1045 {
1046     MS_U64 u64Red_x;
1047     MS_U64 u64Red_y;
1048     MS_U64 u64Green_x;
1049     MS_U64 u64Green_y;
1050     MS_U64 u64Blue_x;
1051     MS_U64 u64Blue_y;
1052     MS_U64 u64White_x;
1053     MS_U64 u64White_y;
1054     PQ_WIN eWindow;
1055     MS_U16 bReturnValue;
1056 } stPQ_Set_xvYCC_MatrixCoefficient,*pstPQ_Set_xvYCC_MatrixCoefficient;
1057 typedef struct
1058 {
1059     MS_BOOL bEnable;
1060     PQ_WIN eWindow;
1061     MS_U16 bReturnValue;
1062 } stPQ_Set_xvYCC_MatrixEnable,*pstPQ_Set_xvYCC_MatrixEnable;
1063 typedef struct
1064 {
1065     PQ_WIN eWindow;
1066     MS_U16 u16Ret;
1067 } stPQ_GetDnrWholeReg,*pstPQ_GetDnrWholeReg;
1068 typedef struct
1069 {
1070     MS_U16 uplayerSetting;
1071     PQ_MISC_GROUP group;
1072     MS_BOOL bReturnValue;
1073 } stPQ_Up_Layer_Set_Config,*pstPQ_Up_Layer_Set_Config;
1074 typedef struct
1075 {
1076     MS_PQ_FUNCTION_TYPE eFunctionType;
1077     MS_PQ_EXECUTOR bReturnValue;
1078 } stPQ_GetQmapExecutor,*pstPQ_GetQmapExecutor;
1079 typedef struct
1080 {
1081     PQ_WIN eWindow;
1082     PQ_YUV_STD enStd;
1083 } stPQ_SetPhotoYUVStandard,*pstPQ_SetPhotoYUVStandard;
1084 typedef struct
1085 {
1086     PQ_WIN eWindow;
1087     char *bReturnValue;
1088 } stPQ_Ex_GetVersion,*pstPQ_Ex_GetVersion;
1089 typedef struct
1090 {
1091     PQ_WIN eWindow;
1092     MS_U32 bReturnValue;
1093 } stPQ_GetAdaptiveVersion,*pstPQ_GetAdaptiveVersion;
1094 typedef struct
1095 {
1096     PQ_WIN eWindow;
1097     MS_U32 bReturnValue;
1098 } stPQ_LoadUFSCSettings,*pstPQ_LoadUFSCSettings;
1099 #if (ENABLE_PQ_BIN_CF)
1100 typedef struct
1101 {
1102     PQ_WIN eWindow;
1103     MS_U32 bReturnValue;
1104 } stPQ_LoadCFSettings,*pstPQ_LoadCFSettings;
1105 #endif
1106 typedef struct
1107 {
1108     PQ_WIN eWindow;
1109     MS_U16 u16IPIdx;
1110     PQ_ENGINE_TYPE ePQEngineType;
1111     MS_U16 u16Ret;
1112 } stPQ_GetTableIndex_Ex,*pstPQ_GetTableIndex_Ex;
1113 typedef struct
1114 {
1115     PQ_WIN eWindow;
1116     MS_U8 u8Mode;
1117     MS_BOOL bRet;
1118 } stPQ_Demo_CloneWindow,*pstPQ_Demo_CloneWindow;
1119 typedef struct
1120 {
1121     PQ_WIN eWindow;
1122     MS_U8 bEnable;
1123 } stPQ_EnableScalerGamma,*pstPQ_EnableScalerGamma;
1124 typedef struct
1125 {
1126     APIPNL_GAMMA_TYPE enGammType;
1127     MS_U8 **pu8GammTable;
1128     APIPNL_GAMMA_MAPPEING_MODE enGammaMappingMode;
1129 } stPQ_SetGammaTbl,*pstPQ_SetGammaTbl;
1130 typedef struct
1131 {
1132     PQ_WIN eWindow;
1133     MS_U16 u16GRuleType;
1134     PQ_ENGINE_TYPE ePQEngineType;
1135     MS_U16 u16Ret;
1136 } stPQ_GetGRule_LvlNum_Ex,*pstPQ_GetGRule_LvlNum_Ex;
1137 typedef struct
1138 {
1139     PQ_WIN eWindow;
1140     MS_U16 u16GRuleType;
1141     MS_U16 u16GRuleLevelIndex;
1142     PQ_ENGINE_TYPE ePQEngineType;
1143     MS_U16 u16Ret;
1144 } stPQ_GetGRule_LevelIndex_Ex,*pstPQ_GetGRule_LevelIndex_Ex;
1145 typedef struct
1146 {
1147     PQ_WIN eWindow;
1148     MS_U16 u16GRuleType;
1149     MS_U16 u16GRuleIPIndex;
1150     PQ_ENGINE_TYPE ePQEngineType;
1151     MS_U16 u16Ret;
1152 } stPQ_GetGRule_IPIndex_Ex,*pstPQ_GetGRule_IPIndex_Ex;
1153 typedef struct
1154 {
1155     PQ_WIN eWindow;
1156     MS_U16 u16GRuleType;
1157     MS_U16 u16PQ_NRIdx;
1158     MS_U16 u16GRuleIPIndex;
1159     PQ_ENGINE_TYPE ePQEngineType;
1160     MS_U16 u16Ret;
1161 } stPQ_GetGRule_TableIndex_Ex,*pstPQ_GetGRule_TableIndex_Ex;
1162 typedef struct
1163 {
1164     PQ_WIN eWindow;
1165     MS_U16 u16TabIdx;
1166     MS_U16 u16PQIPIdx;
1167     PQ_ENGINE_TYPE ePQEngineType;
1168 } stPQ_LoadTable_Ex,*pstPQ_LoadTable_Ex;
1169 typedef struct DLL_PACKED
1170 {
1171     PQ_BIN_PATH ePqBinPath;
1172     MS_U8 u8size;
1173     char* b_PQBinFilePath;
1174 } stPQ_SetPQBinPath,*pstPQ_SetPQBinPath;
1175 //drvPQ_cus.c
1176 typedef struct
1177 {
1178     PQ_WIN eWindow;
1179     PQ_FILM_MODE_FUNCTION_TYPE enFilmModeType;
1180 } stPQ_LoadFilmModeTable,*pstPQ_LoadFilmModeTable;
1181 typedef struct
1182 {
1183     PQ_WIN eWindow;
1184     PQ_DYNAMIC_CONTRAST_FUNCTION_TYPE enDynamicContrastType;
1185 } stPQ_LoadDynamicContrastTable,*pstPQ_LoadDynamicContrastTable;
1186 typedef struct
1187 {
1188     PQ_WIN eWindow;
1189     PQ_3D_NR_FUNCTION_TYPE en3DNRType;
1190 } stPQ_LoadNRTable,*pstPQ_LoadNRTable;
1191 typedef struct
1192 {
1193     PQ_WIN eWindow;
1194     PQ_MPEG_NR_FUNCTION_TYPE enMPEGNRType;
1195 } stPQ_LoadMPEGNRTable,*pstPQ_LoadMPEGNRTable;
1196 typedef struct
1197 {
1198     PQ_WIN eWindow;
1199     PQ_FEATURE_SWITCH_TYPE enCtrlType;
1200 } stPQ_Load_ULTRACLEAR_Table,*pstPQ_Load_ULTRACLEAR_Table;
1201 typedef struct
1202 {
1203     PQ_WIN eWindow;
1204     PQ_XVYCC_TYPE enXvyccType;
1205 } stPQ_Load_XVYCC_Table,*pstPQ_Load_XVYCC_Table;
1206 typedef struct
1207 {
1208     PQ_WIN eWindow;
1209     PQ_HDR_MODE enHdrMode;
1210 } stPQ_Load_HDR_Table,*pstPQ_Load_HDR_Table;
1211 typedef struct
1212 {
1213     PQ_SUPPORTED_TYPE enType;
1214     MS_BOOL bReturnValue;
1215 } stPQ_GRULE_Get_Support_Status,*pstPQ_GRULE_Get_Support_Status;
1216 typedef struct DLL_PACKED
1217 {
1218     PQ_WIN eWindow;
1219     MS_BOOL bMemFmt422;
1220     MS_BOOL bFBL;
1221     MS_U8 *pu8BitsPerPixel;
1222     PQ_DEINTERLACE_MODE bReturnValue;
1223 } stPQ_SetMemFormat,*pstPQ_SetMemFormat;
1224 typedef struct
1225 {
1226     PQ_WIN eWindow;
1227     MS_BOOL bOSD_On;
1228 } stPQ_ReduceBW_ForOSD,*pstPQ_ReduceBW_ForOSD;
1229 typedef struct
1230 {
1231     PQ_WIN eWindow;
1232     PQ_PTP_FUNCTION_TYPE enPTP_Type;
1233 } stPQ_LoadPTPTable,*pstPQ_LoadPTPTable;
1234 typedef struct
1235 {
1236     MS_U16 u16DisplayWidth;
1237     PQ_DISPLAY_TYPE enDisplaType;
1238 } stPQ_Init_DisplayType,*pstPQ_Init_DisplayType;
1239 typedef struct
1240 {
1241     MS_U16 u16DisplayWidth;
1242     PQ_DISPLAY_TYPE enDisplaType;
1243 } stPQ_Set_DisplayType,*pstPQ_Set_DisplayType;
1244 typedef struct DLL_PACKED
1245 {
1246     PQ_WIN eWindow;
1247     MS_U16 *pu16TabIdx_MADi;
1248     MS_U16 *pu16TabIdx_MADi_Motion;
1249     MS_BOOL bReturnValue;
1250 } stPQ_GetMADiFromOSDBWGrule,*pstPQ_GetMADiFromOSDBWGrule;
1251 typedef struct DLL_PACKED
1252 {
1253     PQ_WIN eWindow;
1254     MS_U16 *pu16TabIdx_MADi;
1255     MS_U16 *pu16TabIdx_MADi_Motion;
1256     MS_BOOL bReturnValue;
1257 } stPQ_GetMADiInGeneral,*pstPQ_GetMADiInGeneral;
1258 typedef struct DLL_PACKED
1259 {
1260     XC_SETWIN_INFO *pstXC_SetWin_Info;
1261     PQ_WIN eWindow;
1262     MS_BOOL bReturnValue;
1263 } stPQ_Check_PointToPoint_Condition,*pstPQ_Check_PointToPoint_Condition;
1264 typedef struct
1265 {
1266     PQ_WIN eWindow;
1267     MS_BOOL bEnable;
1268     MS_BOOL bReturnValue;
1269 } stPQ_SetPostCCSOnOff,*pstPQ_SetPostCCSOnOff;
1270 typedef struct
1271 {
1272     MS_BOOL bEnable;
1273 } stPQ_FilmMode_AnyCandence_Enable,*pstPQ_FilmMode_AnyCandence_Enable;
1274 typedef struct
1275 {
1276     MS_BOOL bEn;
1277     MS_BOOL bReturnValue;
1278 } stPQ_SetH264_OnOff,*pstPQ_SetH264_OnOff;
1279 typedef struct
1280 {
1281     MS_BOOL bEn;
1282     MS_BOOL bReturnValue;
1283 } stPQ_SetG3D_OnOff,*pstPQ_SetG3D_OnOff;
1284 typedef struct
1285 {
1286     MS_BOOL bEn;
1287     MS_BOOL bReturnValue;
1288 } stPQ_SetMVC4kx1k_OnOff,*pstPQ_SetMVC4kx1k_OnOff;
1289 typedef struct
1290 {
1291     MS_BOOL bEn;
1292     MS_BOOL bReturnValue;
1293 } stPQ_SetNetworkMM_OnOff,*pstPQ_SetNetworkMM_OnOff;
1294 typedef struct
1295 {
1296     MS_BOOL bEn;
1297     MS_BOOL bReturnValue;
1298 } stPQ_SetMM_OnOff,*pstPQ_SetMM_OnOff;
1299 typedef struct
1300 {
1301     MS_BOOL bEn;
1302     PQ_WIN ePQWindow;
1303     MS_BOOL bReturnValue;
1304 } stPQ_SetRmvb_OnOff,*pstPQ_SetRmvb_OnOff;
1305 typedef struct
1306 {
1307     MS_BOOL bEnable;
1308     PQ_WIN eWindow;
1309     MS_BOOL bReturnValue;
1310 } stPQ_SetVIPBypass_OnOff,*pstPQ_SetVIPBypass_OnOff;
1311 typedef struct
1312 {
1313     MS_BOOL bEnable;
1314     PQ_WIN eWindow;
1315     MS_BOOL bReturnValue;
1316 } stPQ_SetPeaking_OnOff,*pstPQ_SetPeaking_OnOff;
1317 typedef struct
1318 {
1319     MS_BOOL bEnable;
1320     MS_BOOL bReturnValue;
1321 } stPQ_SetFakeOutEnable,*pstPQ_SetFakeOutEnable;
1322 typedef struct
1323 {
1324     MS_BOOL bEn;
1325     MS_BOOL bReturnValue;
1326 } stPQ_Set1KTravelingEnable,*pstPQ_Set1KTravelingEnable;
1327 //drvPQ_Text.c
1328 typedef struct DLL_PACKED
1329 {
1330     PQ_WIN eWindow;
1331     char *u8Ret;
1332 } stPQ_GetSrcTypeName,*pstPQ_GetSrcTypeName;
1333 typedef struct DLL_PACKED
1334 {
1335     MS_U8 u8PQIPIdx;
1336     char *u8Ret;
1337 } stPQ_GetIPName,*pstPQ_GetIPName;
1338 typedef struct DLL_PACKED
1339 {
1340     MS_U8 u8PQIPIdx;
1341     MS_U8 u8TabIdx;
1342     char *u8Ret;
1343 } stPQ_GetTableName,*pstPQ_GetTableName;
1344 typedef struct DLL_PACKED
1345 {
1346     MS_U8 u8TabIdx;
1347 } stPQ_BW_CusMode_LoadTable,*pstPQ_BW_CusMode_LoadTable;
1348 //drvbw.c
1349 typedef struct
1350 {
1351     PQ_WIN eWindow;
1352 } stPQ_BW_LoadTableByContext,*pstPQ_BW_LoadTableByContext;
1353 
1354 typedef struct
1355 {
1356     MS_BOOL bFrameBuffLess;
1357 } stPQ_SetFrameBuffMode,*pstPQ_SetFrameBuffMode;
1358 
1359 //#ifdef _XC_C_
1360 //#define INTERFACE
1361 //#else
1362 //#define INTERFACE extern
1363 //#endif
1364 //#undef INTERFACE
1365 
1366 #ifdef __cplusplus
1367 }
1368 #endif
1369 
1370 #endif //_XC_H_
1371