1 #ifndef _API_PQ_PANEL_V2_C_
2 #define _API_PQ_PANEL_V2_C_
3
4 #include "MsTypes.h"
5 #ifndef MSOS_TYPE_LINUX_KERNEL
6 #include <stdio.h>
7 #include <string.h>
8 #endif
9 #include "MsCommon.h"
10 #include "utopia.h"
11 #include "utopia_dapi.h"
12 #include "drvPQ_Define.h"
13 #include "drvPQ_Declare.h"
14 #include "drvPQ.h"
15 #include "PQ_private.h"
16 #include "apiPQ_v2.h"
17 #include "utopia_api_database.h"
18
19 // ========== Global definition ==========
20 void* pModulePQ = NULL;
21 #ifdef MSOS_TYPE_LINUX_KERNEL
22 void *pInstancePQStr = NULL;
PQStr(MS_U32 u32PowerState,void * pModule)23 MS_U32 PQStr(MS_U32 u32PowerState, void* pModule)
24 {
25 MS_U32 u32Return=UTOPIA_STATUS_FAIL;
26 stPQ_SetPowerState PQArgs;
27
28 switch(u32PowerState)
29 {
30 case E_POWER_SUSPEND:
31 if (pInstancePQStr == NULL)
32 {
33 if(UtopiaOpen(MODULE_PQ, &pInstancePQStr, 0, NULL) != UTOPIA_STATUS_SUCCESS)
34 {
35 printf("UtopiaOpen PQ failed\n");
36 return UTOPIA_STATUS_FAIL;
37 }
38 }
39 PQArgs.enPowerState = u32PowerState;
40 PQArgs.u32Ret = UTOPIA_STATUS_FAIL;
41 if(UtopiaIoctl(pInstancePQStr, E_PQ_CMD_SET_POWER_STATE, (void*)&PQArgs) != UTOPIA_STATUS_SUCCESS)
42 {
43 printf("Obtain PQ engine fail\n");
44 return UTOPIA_STATUS_FAIL;
45 }
46 u32Return=PQArgs.u32Ret;
47 break;
48 case E_POWER_RESUME:
49 if (pInstancePQStr == NULL)
50 {
51 if(UtopiaOpen(MODULE_PQ, &pInstancePQStr, 0, NULL) != UTOPIA_STATUS_SUCCESS)
52 {
53 printf("UtopiaOpen PQ failed\n");
54 return UTOPIA_STATUS_FAIL;
55 }
56 }
57 PQArgs.enPowerState = u32PowerState;
58 PQArgs.u32Ret = UTOPIA_STATUS_FAIL;
59 if(UtopiaIoctl(pInstancePQStr, E_PQ_CMD_SET_POWER_STATE, (void*)&PQArgs) != UTOPIA_STATUS_SUCCESS)
60 {
61 printf("Obtain PQ engine fail\n");
62 return UTOPIA_STATUS_FAIL;
63 }
64 u32Return=PQArgs.u32Ret;
65 break;
66 default:
67 printf("[%s][%d] PowerState:%lx not Implement now!!!\n",__FUNCTION__,__LINE__,u32PowerState);
68 break;
69 }
70 return u32Return;
71 }
72 #endif
PQRegisterToUtopia(FUtopiaOpen ModuleType)73 void PQRegisterToUtopia(FUtopiaOpen ModuleType)
74 {
75 MS_U32 u32ResourceStatusCheck[E_PQ_POOL_ID_MAX] = {UTOPIA_STATUS_FAIL};
76 // 1. deal with module
77 UtopiaModuleCreate(MODULE_PQ, 0, &pModulePQ);
78 UtopiaModuleRegister(pModulePQ);
79 #if 1
80 // register func for module, after register here, then ap call UtopiaOpen/UtopiaIoctl/UtopiaClose can call to these registered standard func
81 UtopiaModuleSetupFunctionPtr(pModulePQ, (FUtopiaOpen)PQOpen, (FUtopiaClose)PQClose, (FUtopiaIOctl)PQIoctl);
82
83 // 2. deal with resource , PQ may need 2 resources, one is readonly, the other is XC resource
84 void* psResource = NULL;
85 void* psResource1 = NULL;
86 #if defined(MSOS_TYPE_LINUX_KERNEL)
87 UtopiaModuleSetupSTRFunctionPtr(pModulePQ, (FUtopiaSTR)PQStr);
88 UtopiaModuleSetSTRPrivate(pModulePQ, sizeof(PQ_REGS_SAVE_AREA));
89 #endif
90
91 // 3. resource can allocate private for internal use
92 MS_U32 u32MaxDeviceNum = _MDrv_PQ_GET_DEVICE_NUM();
93 MS_U32 i = 0;
94 for(i = 0 ; i < u32MaxDeviceNum ;i++)
95 {
96 // need refine
97 if(i == 0)
98 {
99 UtopiaModuleAddResourceStart(pModulePQ, E_PQ_POOL_ID_INTERNAL);
100 u32ResourceStatusCheck[E_PQ_POOL_ID_INTERNAL] = UtopiaResourceCreate("PQ_VARIABLE", sizeof(PQ_RESOURCE_PRIVATE), &psResource);
101 UtopiaResourceRegister(pModulePQ, psResource, E_PQ_POOL_ID_INTERNAL);
102 UtopiaModuleAddResourceEnd(pModulePQ, E_PQ_POOL_ID_INTERNAL);
103 }
104 else
105 {
106 UtopiaModuleAddResourceStart(pModulePQ, E_PQ_POOL_ID_INTERNAL1);
107 u32ResourceStatusCheck[E_PQ_POOL_ID_INTERNAL1] = UtopiaResourceCreate("PQ_VARIABLE1", sizeof(PQ_RESOURCE_PRIVATE), &psResource1);
108 UtopiaResourceRegister(pModulePQ, psResource1, E_PQ_POOL_ID_INTERNAL1);
109 UtopiaModuleAddResourceEnd(pModulePQ, E_PQ_POOL_ID_INTERNAL1);
110 }
111 }
112
113 //4. init resource private members here (aka, global variable)
114 PQ_RESOURCE_PRIVATE* pPQResourcePrivate = NULL;
115 UtopiaResourceGetPrivate(psResource,(void**)(&pPQResourcePrivate));
116 char ptmp[PQ_FILE_PATH_LENGTH]={0};
117
118 if (u32ResourceStatusCheck[E_PQ_POOL_ID_INTERNAL] == UTOPIA_STATUS_SHM_EXIST)
119 {
120 // do nothing, since it is already inited
121 }
122 else
123 {
124 // Init flow control related variables here. Other global variable should be
125 // inited in each of its init function relatively.
126 pPQResourcePrivate->bResourceRegistered = TRUE;
127 strncpy(pPQResourcePrivate->stPQBin_Path.pm_PQ_CUSTOMER_PATH,ptmp,PQ_FILE_PATH_LENGTH);
128 strncpy(pPQResourcePrivate->stPQBin_Path.pm_PQ_DEFAULT_PATH,ptmp,PQ_FILE_PATH_LENGTH);
129 strncpy(pPQResourcePrivate->stPQBin_Path.pm_PQ_INI_PATH,ptmp,PQ_FILE_PATH_LENGTH);
130 strncpy(pPQResourcePrivate->stPQBin_Path.pm_PQ_BANDWIDTH_PATH,ptmp,PQ_FILE_PATH_LENGTH);
131 #ifdef UFO_XC_PQ_SUPPORT_INITVAR_INTO_SHAREMEMORY
132 memset(&pPQResourcePrivate->PQ_InitInfo, 0x00, sizeof(MS_PQ_Init_Info));
133 #endif
134
135 // apiPQ.c
136 //pPQResourcePrivate->stapiPQ._bSkipTimingChange = FALSE;
137 //pPQResourcePrivate->stapiPQ._cstPQInfo.eSupportGammaType = E_APIPQ_GAMMA_ALL;
138 //pPQResourcePrivate->stapiPQ._pu8GammaTab[0]=NULL;
139 //pPQResourcePrivate->stapiPQ._pu8GammaTab[1]=NULL;
140 //pPQResourcePrivate->stapiPQ._pu8GammaTab[2]=NULL;
141 //pPQResourcePrivate->stapiPQ._stPQStatus.bPanel_Initialized = FALSE;
142 //pPQResourcePrivate->stapiPQ._stPQStatus.bPanel_Enabled = FALSE;
143 //pPQResourcePrivate->stapiPQ._u16PanelDCLK = 0;
144 //pPQResourcePrivate->stapiPQ._bForceSetDCLKEnable = DISABLE;
145 //pPQResourcePrivate->stapiPQ._u16PanelHStart = 0;
146 //pPQResourcePrivate->stapiPQ._bForceSetHStartEnable = DISABLE;
147 //pPQResourcePrivate->stapiPQ.ePrevPowerState = E_POWER_MECHANICAL;
148
149 // halPQ.c
150 //pPQResourcePrivate->sthalPQ._u16PQDefault_SwingLevel = 250;
151 //pPQResourcePrivate->sthalPQ._eDrvPQInitOptions = E_PQ_OUTPUT_CLK_DATA;
152 //pPQResourcePrivate->sthalPQ._u8MOD_CALI_TARGET = 1; // 00:250mv, 01:350mv, 10:300mv, 11:200mv
153 //pPQResourcePrivate->sthalPQ._u8MOD_CALI_PAIR_SEL = 0x01;
154 //pPQResourcePrivate->sthalPQ._usMOD_CALI_OFFSET = 0;
155 //pPQResourcePrivate->sthalPQ._u8MOD_CALI_VALUE = 0x1F; // 250mv:2'h15, 350mv:2'h1F, 300mv:2'h1A, 200mv:2'h10
156 //pPQResourcePrivate->sthalPQ._u8MOD_LVDS_Pair_Shift = 0;
157 //pPQResourcePrivate->sthalPQ._u8MOD_LVDS_Pair_Type = 0;
158 //pPQResourcePrivate->sthalPQ._u8PQDiffSwingLevel = 0x63;
159 //pPQResourcePrivate->sthalPQ._bPVDD_2V5 = FALSE;
160 }
161
162 if (psResource1 != NULL)
163 {
164 UtopiaResourceGetPrivate(psResource1,(void**)(&pPQResourcePrivate));
165
166 if (u32ResourceStatusCheck[E_PQ_POOL_ID_INTERNAL1] == UTOPIA_STATUS_SHM_EXIST)
167 {
168 // do nothing, since it is already inited
169 }
170 else
171 {
172 // Init flow control related variables here. Other global variable should be
173 // inited in each of its init function relatively.
174 pPQResourcePrivate->bResourceRegistered = TRUE;
175 #ifdef UFO_XC_PQ_SUPPORT_INITVAR_INTO_SHAREMEMORY
176 memset(&pPQResourcePrivate->PQ_InitInfo, 0x00, sizeof(MS_PQ_Init_Info));
177 #endif
178
179 // apiPQ.c
180 //pPQResourcePrivate->stapiPQ._bSkipTimingChange = FALSE;
181 //pPQResourcePrivate->stapiPQ._cstPQInfo.eSupportGammaType = E_APIPQ_GAMMA_ALL;
182 //pPQResourcePrivate->stapiPQ._stPQStatus.bPanel_Initialized = FALSE;
183 //pPQResourcePrivate->stapiPQ._stPQStatus.bPanel_Enabled = FALSE;
184 //pPQResourcePrivate->stapiPQ._u16PanelDCLK = 0;
185 //pPQResourcePrivate->stapiPQ._bForceSetDCLKEnable = DISABLE;
186 //pPQResourcePrivate->stapiPQ._u16PanelHStart = 0;
187 //pPQResourcePrivate->stapiPQ._bForceSetHStartEnable = DISABLE;
188 //pPQResourcePrivate->stapiPQ.ePrevPowerState = E_POWER_MECHANICAL;
189
190 // halPQ.c
191 //pPQResourcePrivate->sthalPQ._u16PQDefault_SwingLevel = 250;
192 //pPQResourcePrivate->sthalPQ._eDrvPQInitOptions = E_PQ_OUTPUT_CLK_DATA;
193 //pPQResourcePrivate->sthalPQ._u8MOD_CALI_TARGET = 0;
194 //pPQResourcePrivate->sthalPQ._u8MOD_CALI_PAIR_SEL = 0x01;
195 //pPQResourcePrivate->sthalPQ._usMOD_CALI_OFFSET = 0;
196 //pPQResourcePrivate->sthalPQ._u8MOD_CALI_VALUE = 0x15;
197 //pPQResourcePrivate->sthalPQ._u8MOD_LVDS_Pair_Shift = 0;
198 //pPQResourcePrivate->sthalPQ._u8MOD_LVDS_Pair_Type = 0;
199 //pPQResourcePrivate->sthalPQ._u8PQDiffSwingLevel = 0x63;
200 //pPQResourcePrivate->sthalPQ._bPVDD_2V5 = FALSE;
201 }
202 }
203 #endif
204 }
205
PQOpen(void ** ppInstance,MS_U32 u32ModuleVersion,void * pAttribute)206 MS_U32 PQOpen(void** ppInstance,MS_U32 u32ModuleVersion, void* pAttribute)
207 {
208 #if 1
209 PQ_INSTANCE_PRIVATE *psPQInstPri = NULL;
210 UtopiaInstanceCreate(sizeof(PQ_INSTANCE_PRIVATE), ppInstance);
211 UtopiaInstanceGetPrivate(*ppInstance, (void**)&psPQInstPri);
212
213 psPQInstPri->u32DeviceID = 0;
214 //todo: have to check later why AN use 32bits libutopia.so casue error
215 /*if(pAttribute != NULL)
216 {
217 MS_U32* pID = (MS_U32*)pAttribute;
218 psPQInstPri->u32DeviceID = *pID;
219 }*/
220 #ifdef CONFIG_UTOPIA_SIZE_CUSTOMER
221 #define URELATION(a,b,c) psPQInstPri->_URELATION_ASSIGN(a,b,c)
222 _MODULE_PQ_U1_U2_RELATION
223 #undef URELEATION
224 #else
225 psPQInstPri->fpPQ_Init = MDrv_PQ_Init_U2;
226 psPQInstPri->fpPQ_Exit = MDrv_PQ_Exit_U2;
227 psPQInstPri->fpPQ_SetPowerState = MDrv_PQ_SetPowerState_U2;
228 psPQInstPri->fpPQ_GetIPNum = MDrv_PQ_GetIPNum_U2;
229 psPQInstPri->fpPQ_GetTableNum = MDrv_PQ_GetTableNum_U2;
230 psPQInstPri->fpPQ_GetCurrentTableIndex = MDrv_PQ_GetCurrentTableIndex_U2;
231 psPQInstPri->fpPQ_GetTableIndex = MDrv_PQ_GetTableIndex_U2;
232 psPQInstPri->fpPQ_GetCustomerTableIndex = MDrv_PQ_GetCustomerTableIndex_U2;
233 //psPQInstPri->fpPQ_GetXRuleIPIndex = MDrv_PQ_GetXRuleIPIndex_U2;
234 //psPQInstPri->fpPQ_GetXRuleTableIndex = MDrv_PQ_GetXRuleTableIndex_U2;
235 //psPQInstPri->fpPQ_GetXRuleIPNum = MDrv_PQ_GetXRuleIPNum_U2;
236 psPQInstPri->fpPQ_LoadTableData = MDrv_PQ_LoadTableData_U2;
237 psPQInstPri->fpPQ_CloneTable = MDrv_PQ_CloneTable_U2;
238 psPQInstPri->fpPQ_LoadTable = MDrv_PQ_LoadTable_U2;
239 psPQInstPri->fpPQ_LoadCustomerTable = MDrv_PQ_LoadCustomerTable_U2;
240 psPQInstPri->fpPQ_CheckSettings = MDrv_PQ_CheckSettings_U2;
241 #if (ENABLE_PQ_MLOAD)
242 psPQInstPri->fpPQ_MLoadEn = MDrv_PQ_Set_MLoadEn_U2;
243 #endif
244 psPQInstPri->fpPQ_SkipDuplicatedSetting = MDrv_PQ_SkipDuplicatedSetting_U2;
245 psPQInstPri->fpPQ_GetSkipDuplicatedSettingStatus = MDrv_PQ_GetSkipDuplicatedSettingStatus_U2;
246 #if (PQ_FRCM_CBCR_SWAP_BY_SW == 1)
247 psPQInstPri->fpPQ_SetFrcmCbCrSwap = MDrv_PQ_SetFrcmCbCrSwap_U2;
248 #endif
249 psPQInstPri->fpPQ_LoadSettings = MDrv_PQ_LoadSettings_U2;
250 psPQInstPri->fpPQ_LoadCustomerSettings = MDrv_PQ_LoadCustomerSettings_U2;
251 psPQInstPri->fpPQ_Set_DTVInfo = MDrv_PQ_Set_DTVInfo_U2;
252 psPQInstPri->fpPQ_Set_MultiMediaInfo = MDrv_PQ_Set_MultiMediaInfo_U2;
253 psPQInstPri->fpPQ_Set_VDInfo = MDrv_PQ_Set_VDInfo_U2;
254 psPQInstPri->fpPQ_Set_ModeInfo = MDrv_PQ_Set_ModeInfo_U2;
255 psPQInstPri->fpPQ_SetHDMIInfo = MDrv_PQ_SetHDMIInfo_U2;
256 psPQInstPri->fpPQ_SetHDMI_PC = MDrv_PQ_SetHDMI_PC_U2;
257 psPQInstPri->fpPQ_GetHDMI_PC_Status = MDrv_PQ_GetHDMI_PC_Status_U2;
258 psPQInstPri->fpPQ_DesideSrcType = MDrv_PQ_DesideSrcType_U2;
259 psPQInstPri->fpPQ_GetInputSourceType = MDrv_PQ_GetInputSourceType_U2;
260 psPQInstPri->fpPQ_GetSrcType = MDrv_PQ_GetSrcType_U2;
261 psPQInstPri->fpPQ_GetDelayTimeByMemc = MDrv_PQ_GetDelayTimeByMemc_U2;
262 psPQInstPri->fpPQ_GetDelayTime = MDrv_PQ_GetDelayTime_U2;
263 psPQInstPri->fpPQ_LoadScalingTable = MDrv_PQ_LoadScalingTable_U2;
264 psPQInstPri->fpPQ_SetColorRange = MDrv_PQ_SetColorRange_U2;
265 psPQInstPri->fpPQ_Get_CSC_XRuleIdx = MDrv_PQ_Get_CSC_XRuleIdx_U2;
266 psPQInstPri->fpPQ_Get_MemYUVFmt = MDrv_PQ_Get_MemYUVFmt_U2;
267 psPQInstPri->fpPQ_SetCSC = MDrv_PQ_SetCSC_U2;
268 #if (PQ_XRULE_DB_ENABLE == 1)
269 psPQInstPri->fpPQ_Set_DBRule = MDrv_PQ_Set_DBRule_U2;
270 #endif
271 psPQInstPri->fpPQ_EnableMADIForce = MDrv_PQ_EnableMADIForce_U2;
272 psPQInstPri->fpPQ_ReduceBW_ForPVR = MDrv_PQ_ReduceBW_ForPVR_U2;
273 psPQInstPri->fpPQ_Set420upsampling = MDrv_PQ_Set420upsampling_U2;
274 psPQInstPri->fpPQ_SetFilmMode = MDrv_PQ_SetFilmMode_U2;
275 psPQInstPri->fpPQ_SetNonLinearScaling = MDrv_PQ_SetNonLinearScaling_U2;
276 psPQInstPri->fpPQ_3DCloneforPIP = MDrv_PQ_3DCloneforPIP_U2;
277 psPQInstPri->fpPQ_DisableFilmMode = MDrv_PQ_DisableFilmMode_U2;
278 psPQInstPri->fpPQ_DisableUCFeature = MDrv_PQ_DisableUCFeature_U2;
279 psPQInstPri->fpPQ_GetCurrentUCFeature = MDrv_PQ_GetCurrentUCFeature_U2;
280 psPQInstPri->fpPQ_GetUCFeatureFromPQ = MDrv_PQ_GetUCFeatureFromPQ_U2;
281 #if (PQ_GRULE_GAME_MODE_ENABLE == 1)
282 psPQInstPri->fpPQ_EnableUCFeature = MDrv_PQ_EnableUCFeature_U2;
283 #endif
284 psPQInstPri->fpPQ_SetUCFeature = MDrv_PQ_SetUCFeature_U2;
285 psPQInstPri->fpPQ_SetDMSV12L = MDrv_PQ_SetDMSV12L_U2;
286 psPQInstPri->fpPQ_GetDMSV12LFromXRuleTable = MDrv_PQ_GetDMSV12LFromXRuleTable_U2;
287 psPQInstPri->fpPQ_GetLibVer = MDrv_PQ_GetLibVer_U2;
288 psPQInstPri->fpPQ_GetInfo = MDrv_PQ_GetInfo_U2;
289 psPQInstPri->fpPQ_GetStatus = MDrv_PQ_GetStatus_U2;
290 psPQInstPri->fpPQ_SetDbgLevel = MDrv_PQ_SetDbgLevel_U2;
291 psPQInstPri->fpPQ_MADiForceMotionC = MDrv_PQ_MADiForceMotionC_U2;
292 psPQInstPri->fpPQ_MADiForceMotionY = MDrv_PQ_MADiForceMotionY_U2;
293 #ifdef UFO_XC_PQ_SUPPORT_SWMOTION
294 psPQInstPri->fpPQ_MADiForceMotion = MDrv_PQ_MADiForceMotion_U2;
295 #endif
296 #ifdef UFO_XC_PQ_SUPPORT_REPEATER_COLOR_THROUGH_MODE
297 psPQInstPri->fpPQ_SetColorThroughMode = MDrv_PQ_SetColorThroughMode_U2;
298 #endif
299
300 psPQInstPri->fpPQ_SetRFblMode = MDrv_PQ_SetRFblMode_U2;
301 psPQInstPri->fpPQ_GetRFblMode = MDrv_PQ_GetRFblMode_U2;
302 #if (PQ_ENABLE_VD_SAMPLING)
303 psPQInstPri->fpPQ_Get_VDSampling_Info = MDrv_PQ_Get_VDSampling_Info_U2;
304 #endif
305 psPQInstPri->fpPQ_INTER_IOCTL = MDrv_PQ_IOCTL_U2;
306 psPQInstPri->fpPQ_Get_ADCSampling_Info = MDrv_PQ_Get_ADCSampling_Info_U2;
307 psPQInstPri->fpPQ_Set3D_OnOff = MDrv_PQ_Set3D_OnOff_U2;
308 psPQInstPri->fpPQ_GetCaps = MDrv_PQ_GetCaps_U2;
309 psPQInstPri->fpPQ_PrintLoadTableInfo = MDRV_PQ_PrintLoadTableInfo_U2;
310 psPQInstPri->fpPQ_SetDS_OnOFF = MDrv_PQ_SetDS_OnOFF_U2;
311 psPQInstPri->fpPQ_Get_RFBL_Info = MDrv_PQ_Get_RFBL_Info_U2;
312 psPQInstPri->fpPQ_CheckHDMode = MDrv_PQ_CheckHDMode_U2;
313 psPQInstPri->fpPQ_Interlace_SD_mode = MDrv_PQ_Get_Interlace_SD_mode_U2;
314 psPQInstPri->fpPQ_SetDualViewState = MDrv_PQ_SetDualViewState_U2;
315 psPQInstPri->fpPQ_GetVGASubCaseForceTo422Mode = MDrv_PQ_GetVGASubCaseForceTo422Mode_U2;
316 psPQInstPri->fpPQ_GetDualViewState = MDrv_PQ_GetDualViewState_U2;
317 psPQInstPri->fpPQ_ForceVideoInputMode = MDrv_PQ_ForceVideoInputMode_U2;
318 psPQInstPri->fpPQ_IsForceVideoInputMode = MDrv_PQ_IsForceVideoInputMode_U2;
319 psPQInstPri->fpPQ_Set_PointToPoint = MDrv_PQ_Set_PointToPoint_U2;
320 psPQInstPri->fpPQ_Get_PointToPoint = MDrv_PQ_Get_PointToPoint_U2;
321 psPQInstPri->fpPQ_Update_MemFormat = MDrv_PQ_Update_MemFormat_U2;
322 psPQInstPri->fpPQ_GetHsize = MDrv_PQ_GetHsize_U2;
323 psPQInstPri->fpPQ_GetVsize = MDrv_PQ_GetVsize_U2;
324 psPQInstPri->fpPQ_IsInterlace = MDrv_PQ_IsInterlace_U2;
325 psPQInstPri->fpPQ_LOW_3dQuality = MDrv_PQ_LOW_3dQuality_U2;
326 psPQInstPri->fpPQ_MWE_SetEnhanceQuality = MDrv_PQ_MWE_SetEnhanceQuality_U2;
327 psPQInstPri->fpPQ_MWE_RestoreEnhanceQuality = MDrv_PQ_MWE_RestoreEnhanceQuality_U2;
328 psPQInstPri->fpPQ_MWE_RestoreOffQuality = MDrv_PQ_MWE_RestoreOffQuality_U2;
329 psPQInstPri->fpPQ_MWE_SetOffQuality = MDrv_PQ_MWE_SetOffQuality_U2;
330 psPQInstPri->fpPQ_MWE_CloneWindow = MDrv_PQ_MWE_CloneWindow_U2;
331 psPQInstPri->fpPQ_3D_SettingForLBL = MDrv_PQ_3D_SettingForLBL_U2;
332 psPQInstPri->fpPQ_3D_CloneWindow = MDrv_PQ_3D_CloneWindow_U2;
333 psPQInstPri->fpPQ_Get_SensioMode = MDrv_PQ_Get_SensioMode_U2;
334 psPQInstPri->fpPQ_Set_SensioMode = MDrv_PQ_Set_SensioMode_U2;
335 psPQInstPri->fpPQ_Set_DIPF = MDrv_PQ_Set_DIPF_U2;
336 psPQInstPri->fpPQ_SetSelectCSC = MDrv_PQ_SetSelectCSC_U2;
337 psPQInstPri->fpPQ_GetR2YEqSelect = MDrv_PQ_GetR2YEqSelect_U2;
338 psPQInstPri->fpPQ_GetMemFmtInGeneral = MDrv_PQ_GetMemFmtInGeneral_U2;
339 psPQInstPri->fpPQ_GetMADiForRFBL = MDrv_PQ_GetMADiForRFBL_U2;
340 psPQInstPri->fpPQ_Patch2Rto4RForFieldPackingMode = MDrv_PQ_Patch2Rto4RForFieldPackingMode_U2;
341 psPQInstPri->fpPQ_GetBPPInfoFromMADi = MDrv_PQ_GetBPPInfoFromMADi_U2;
342 psPQInstPri->fpPQ_ChangeMemConfigFor3D = MDrv_PQ_ChangeMemConfigFor3D_U2;
343 psPQInstPri->fpPQ_ForceBPPForDynamicMemFmt = MDrv_PQ_ForceBPPForDynamicMemFmt_U2;
344 psPQInstPri->fpPQ_SuggestFrameNum = MDrv_PQ_SuggestFrameNum_U2;
345 psPQInstPri->fpPQ_SetGameMode = MDrv_PQ_SetGameMode_U2;
346 psPQInstPri->fpPQ_GetGameMode_Status = MDrv_PQ_GetGameMode_Status_U2;
347 psPQInstPri->fpPQ_SetBypassMode = MDrv_PQ_SetBypassMode_U2;
348 psPQInstPri->fpPQ_GetBypassModeStatus = MDrv_PQ_GetBypassModeStatus_U2;
349 psPQInstPri->fpPQ_GetVersion = MDrv_PQ_GetVersion_U2;
350 psPQInstPri->fpPQ_Cus_GetVersion = MDrv_PQ_Cus_GetVersion_U2;
351 psPQInstPri->fpPQ_SetGRuleStatus = MDrv_PQ_SetGRuleStatus_U2;
352 psPQInstPri->fpPQ_GetGRule_LvlNum = MDrv_PQ_GetGRule_LvlNum_U2;
353 psPQInstPri->fpPQ_GetGRule_GRuleNum = MDrv_PQ_GetGRule_GRuleNum_U2;
354 psPQInstPri->fpPQ_GetGRule_LevelIndex = MDrv_PQ_GetGRule_LevelIndex_U2;
355 psPQInstPri->fpPQ_GetGRule_IPIndex = MDrv_PQ_GetGRule_IPIndex_U2;
356 psPQInstPri->fpPQ_GetGRule_TableIndex = MDrv_PQ_GetGRule_TableIndex_U2;
357 psPQInstPri->fpPQ_GetCustomerGRule_IPIndex = MDrv_PQ_GetCustomerGRule_IPIndex_U2;
358 psPQInstPri->fpPQ_GetGRule_CustomerTableIndex = MDrv_PQ_GetGRule_CustomerTableIndex_U2;
359 psPQInstPri->fpPQ_Set_xvYCC_MatrixCoefficient = MDrv_PQ_Set_xvYCC_MatrixCoefficient_U2;
360 psPQInstPri->fpPQ_Get_DNR_Whole_reg = MDrv_PQ_Get_DNR_Whole_Reg_U2;
361 psPQInstPri->fpPQ_Up_Layer_Set_Config = MDrv_PQ_Up_Layer_Set_Config_U2;
362 psPQInstPri->fpPQ_GetQmapExecutor = MDrv_PQ_GetQmapExecutor_U2;
363 psPQInstPri->fpPQ_SetPhotoYUVStandard = MDrv_PQ_SetPhotoYUVStandard_U2;
364 psPQInstPri->fpPQ_Ex_GetVersion = MDrv_PQ_Ex_GetVersion_U2;
365 psPQInstPri->fpPQ_GetAdaptiveVersion = MDrv_PQ_GetAdaptiveVersion_U2;
366 psPQInstPri->fpPQ_LoadUFSCSettings = MDrv_PQ_LoadUFSCSettings_U2;
367 #if (ENABLE_PQ_BIN_CF)
368 psPQInstPri->fpPQ_LoadCFSettings = MDrv_PQ_LoadCFSettings_U2;
369 #endif
370 psPQInstPri->fpPQ_Set_PqBypass = MDrv_PQ_Set_PqBypass_U2;
371 psPQInstPri->fpPQ_Get_PqBypass = MDrv_PQ_Get_PqBypass_U2;
372 psPQInstPri->fpPQ_Set_PqBin_Path = MDrv_PQ_SetPQBinPath_U2;
373 //drvPQ_cus.c
374 psPQInstPri->fpPQ_LoadFilmModeTable = MDrv_PQ_LoadFilmModeTable_U2;
375 psPQInstPri->fpPQ_LoadDynamicContrastTable = MDrv_PQ_LoadDynamicContrastTable_U2;
376 psPQInstPri->fpPQ_LoadNRTable = MDrv_PQ_LoadNRTable_U2;
377 psPQInstPri->fpPQ_LoadMPEGNRTable = MDrv_PQ_LoadMPEGNRTable_U2;
378 psPQInstPri->fpPQ_Load_ULTRACLEAR_Table = MDrv_PQ_Load_ULTRACLEAR_Table_U2;
379 psPQInstPri->fpPQ_Load_XVYCC_Table = MDrv_PQ_Load_XVYCC_Table_U2;
380 psPQInstPri->fpPQ_Load_HDR_Table = MDrv_PQ_Load_HDR_Table_U2;
381 psPQInstPri->fpPQ_GRULE_Get_Support_Status = MDrv_PQ_GRULE_Get_Support_Status_U2;
382 psPQInstPri->fpPQ_SetMemFormat = MDrv_PQ_SetMemFormat_U2;
383 psPQInstPri->fpPQ_ReduceBW_ForOSD = MDrv_PQ_ReduceBW_ForOSD_U2;
384 psPQInstPri->fpPQ_LoadPTPTable = MDrv_PQ_LoadPTPTable_U2;
385 psPQInstPri->fpPQ_Init_DisplayType = MDrv_PQ_Init_DisplayType_U2;
386 psPQInstPri->fpPQ_Set_DisplayType = MDrv_PQ_Set_DisplayType_U2;
387 psPQInstPri->fpPQ_GetMADiFromOSDBWGrule = MDrv_PQ_GetMADiFromOSDBWGrule_U2;
388 psPQInstPri->fpPQ_GetMADiInGeneral = MDrv_PQ_GetMADiInGeneral_U2;
389 psPQInstPri->fpPQ_Check_PointToPoint_Condition = MDrv_PQ_Check_PointToPoint_Condition_U2;
390 psPQInstPri->fpPQ_SetPostCCSOnOff = MDrv_PQ_SetPostCCSOnOff_U2;
391 psPQInstPri->fpPQ_AdaptiveTuning = MDrv_PQ_AdaptiveTuning_U2;
392 psPQInstPri->fpPQ_FilmMode_AnyCandence_Enable = MDrv_PQ_FilmMode_AnyCandence_Enable_U2;
393 psPQInstPri->fpPQ_SetH264_OnOff = MDrv_PQ_SetH264_OnOff_U2;
394 psPQInstPri->fpPQ_SetG3D_OnOff = MDrv_PQ_SetG3D_OnOff_U2;
395 psPQInstPri->fpPQ_SetMVC4kx1k_OnOff = MDrv_PQ_SetMVC4kx1k_OnOff_U2;
396 psPQInstPri->fpPQ_SetNetworkMM_OnOff = MDrv_PQ_SetNetworkMM_OnOff_U2;
397 psPQInstPri->fpPQ_SetMM_OnOff = MDrv_PQ_SetMM_OnOff_U2;
398 psPQInstPri->fpPQ_SetRmvb_OnOff = MDrv_PQ_SetRmvb_OnOff_U2;
399 psPQInstPri->fpPQ_SetVIPBypass_OnOff = MDrv_PQ_SetVIPBypass_OnOff_U2;
400 psPQInstPri->fpPQ_SetPeaking_OnOff = MDrv_PQ_SetPeaking_OnOff_U2;
401 psPQInstPri->fpPQ_SetFakeOutEnable = MDrv_PQ_SetFakeOutEnable_U2;
402 psPQInstPri->fpPQ_GetTableIndex_Ex = MDrv_PQ_GetTableIndex_Ex_U2;
403 psPQInstPri->fpPQ_LoadTable_Ex = MDrv_PQ_LoadTable_Ex_U2;
404 psPQInstPri->fpPQ_Demo_CloneWindow = MDrv_PQ_Demo_CloneWindow_U2;
405 psPQInstPri->fpPQ_GetGRule_LvlNum_Ex = MDrv_PQ_GetGRule_LvlNum_Ex_U2;
406 psPQInstPri->fpPQ_GetGRule_LevelIndex_Ex = MDrv_PQ_GetGRule_LevelIndex_Ex_U2;
407 psPQInstPri->fpPQ_GetGRule_IPIndex_Ex = MDrv_PQ_GetGRule_IPIndex_Ex_U2;
408 psPQInstPri->fpPQ_GetGRule_TableIndex_Ex = MDrv_PQ_GetGRule_TableIndex_Ex_U2;
409 psPQInstPri->fpPQ_EnableScalerGamma = MDrv_PQ_EnableScalerGamma_U2;
410 psPQInstPri->fpPQ_SetGammaTbl = MDrv_PQ_SetGammaTbl_U2;
411 psPQInstPri->fpPQ_Set1KTravelingEnable = MDrv_PQ_Set1KTravelingEnable_U2;
412 //drvPQ.c
413 psPQInstPri->fpPQ_GetSrcTypeName = MDrv_PQ_GetSrcTypeName_U2;
414 psPQInstPri->fpPQ_GetIPName = MDrv_PQ_GetIPName_U2;
415 psPQInstPri->fpPQ_GetTableName = MDrv_PQ_GetTableName_U2;
416 //drvbw.c
417 psPQInstPri->fpPQ_BW_LoadInitTable = MDrv_BW_LoadInitTable_U2;
418 psPQInstPri->fpPQ_BW_LoadTableByContext = MDrv_BW_LoadTableByContext_U2;
419 psPQInstPri->fpPQ_BW_ResetToDefault = MDrv_BW_ResetToDefault_U2;
420 psPQInstPri->fpPQ_BW_CusMode_LoadTable = MDrv_BW_CusMode_LoadTable_U2;
421 psPQInstPri->fpPQ_GetConfig = MDrv_PQ_GetConfig_U2;
422 psPQInstPri->fpPQ_SET_FrameBuff_Mode = MDrv_PQ_SetFrameBuffMode_U2;
423 #endif
424 #endif
425 return UTOPIA_STATUS_SUCCESS;
426 }
427
428
PQIoctl(void * pInstance,MS_U32 u32Cmd,void * pArgs)429 MS_U32 PQIoctl(void* pInstance, MS_U32 u32Cmd, void* pArgs)
430 {
431 #if 1
432 //void* pModule = NULL;
433 PQ_INSTANCE_PRIVATE* psPQInstPri = NULL;
434 UtopiaInstanceGetPrivate(pInstance, (void*)&psPQInstPri);
435 //UtopiaInstanceGetModule(pInstance, &pModule);
436 //printf("[%s,%5d] u32Cmd type = %ld\n",__FUNCTION__,__LINE__);
437 //pu32PQInst_private = pInstance;
438 switch(u32Cmd)
439 {
440 case E_PQ_CMD_INIT:
441 {
442 pstPQ_INIT pPQArgs = (pstPQ_INIT)pArgs;
443 psPQInstPri->fpPQ_Init(pInstance, pPQArgs->pstPQInitInfo);
444
445 return UTOPIA_STATUS_SUCCESS;
446 }
447 case E_PQ_CMD_EXIT:
448 {
449 psPQInstPri->fpPQ_Exit(pInstance);
450
451 return UTOPIA_STATUS_SUCCESS;
452 }
453 case E_PQ_CMD_SET_POWER_STATE:
454 {
455 pstPQ_SetPowerState pPQArgs = (pstPQ_SetPowerState)pArgs;
456 pPQArgs->u32Ret = psPQInstPri->fpPQ_SetPowerState(pInstance, pPQArgs->enPowerState);
457
458 return UTOPIA_STATUS_SUCCESS;
459 }
460 case E_PQ_CMD_GET_IP_NUM:
461 {
462 pstPQ_GetIPNum pPQArgs = (pstPQ_GetIPNum)pArgs;
463 pPQArgs->u16Ret = psPQInstPri->fpPQ_GetIPNum(pInstance, pPQArgs->eWindow);
464 return UTOPIA_STATUS_SUCCESS;
465 }
466 case E_PQ_CMD_GET_TABLE_NUM:
467 {
468 pstPQ_GetTableNum pPQArgs = (pstPQ_GetTableNum)pArgs;
469 pPQArgs->u16Ret = psPQInstPri->fpPQ_GetTableNum(pInstance, pPQArgs->eWindow, pPQArgs->u16PQIPIdx);
470
471 return UTOPIA_STATUS_SUCCESS;
472 }
473 case E_PQ_CMD_GET_CURRENT_TABLE_INDEX:
474 {
475 pstPQ_GetCurrentTableIndex pPQArgs = (pstPQ_GetCurrentTableIndex)pArgs;
476 pPQArgs->u16Ret = psPQInstPri->fpPQ_GetCurrentTableIndex(pInstance, pPQArgs->eWindow, pPQArgs->u16PQIPIdx);
477
478 return UTOPIA_STATUS_SUCCESS;
479 }
480 case E_PQ_CMD_GET_TABLE_INDEX:
481 {
482 pstPQ_GetTableIndex pPQArgs = (pstPQ_GetTableIndex)pArgs;
483 pPQArgs->u16Ret = psPQInstPri->fpPQ_GetTableIndex(pInstance, pPQArgs->eWindow, pPQArgs->u16PQIPIdx);
484
485 return UTOPIA_STATUS_SUCCESS;
486 }
487 case E_PQ_CMD_GET_CUSTOMER_TABLE_INDEX:
488 {
489 pstPQ_GetCustomerTableIndex pPQArgs = (pstPQ_GetCustomerTableIndex)pArgs;
490 pPQArgs->u16Ret = psPQInstPri->fpPQ_GetCustomerTableIndex(pInstance, pPQArgs->eWindow, pPQArgs->u16PQIPIdx);
491
492 return UTOPIA_STATUS_SUCCESS;
493 }
494 //case E_PQ_CMD_GET_XRULE_IP_INDEX:
495 //{
496 // pstPQ_GetXRuleIPIndex pPQArgs = (pstPQ_GetXRuleIPIndex)pArgs;
497 // pPQArgs->u16Ret = psPQInstPri->fpPQ_GetXRuleIPIndex(pInstance, pPQArgs->eWindow, pPQArgs->u16XRuleType,pPQArgs->u16XRuleIP);
498
499 // return UTOPIA_STATUS_SUCCESS;
500 //}
501 //case E_PQ_CMD_GET_XRULE_TABLE_INDEX:
502 //{
503 // pstPQ_GetXRuleTableIndex pPQArgs = (pstPQ_GetXRuleTableIndex)pArgs;
504 // pPQArgs->u16Ret = psPQInstPri->fpPQ_GetXRuleTableIndex(pInstance, pPQArgs->eWindow,
505 // pPQArgs->u16XRuleType,
506 // pPQArgs->u16XRuleIdx,
507 // pPQArgs->u16XRuleIP);
508
509 // return UTOPIA_STATUS_SUCCESS;
510 //}
511 //case E_PQ_CMD_GET_XRULE_IP_NUM:
512 //{
513 // pstPQ_GetXRuleIPNum pPQArgs = (pstPQ_GetXRuleIPNum)pArgs;
514 // pPQArgs->u16Ret = psPQInstPri->fpPQ_GetXRuleIPNum(pInstance, pPQArgs->eWindow, pPQArgs->u16XRuleType);
515
516 // return UTOPIA_STATUS_SUCCESS;
517 //}
518 case E_PQ_CMD_LOAD_TABLE_DATA:
519 {
520 pstPQ_LoadTableData pPQArgs = (pstPQ_LoadTableData)pArgs;
521 psPQInstPri->fpPQ_LoadTableData(pInstance, pPQArgs->eWindow ,
522 pPQArgs->u16TabIdx ,
523 pPQArgs->u16PQIPIdx ,
524 pPQArgs->pTable ,
525 pPQArgs->u16TableSize);
526
527 return UTOPIA_STATUS_SUCCESS;
528 }
529 case E_PQ_CMD_CLONE_TABLE:
530 {
531 pstPQ_CloneTable pPQArgs = (pstPQ_CloneTable)pArgs;
532 psPQInstPri->fpPQ_CloneTable(pInstance, pPQArgs->eWindow ,
533 pPQArgs->u16TabIdx ,
534 pPQArgs->u16PQMainIPIdx ,
535 pPQArgs->u16PQSubIPIdx);
536
537 return UTOPIA_STATUS_SUCCESS;
538 }
539 case E_PQ_CMD_LOAD_TABLE:
540 {
541 pstPQ_LoadTable pPQArgs = (pstPQ_LoadTable)pArgs;
542 psPQInstPri->fpPQ_LoadTable(pInstance, pPQArgs->eWindow ,
543 pPQArgs->u16TabIdx ,
544 pPQArgs->u16PQIPIdx);
545
546 return UTOPIA_STATUS_SUCCESS;
547 }
548 case E_PQ_CMD_LOAD_CUSTOMER_TABLE:
549 {
550 pstPQ_LoadCustomerTable pPQArgs = (pstPQ_LoadCustomerTable)pArgs;
551 psPQInstPri->fpPQ_LoadCustomerTable(pInstance, pPQArgs->eWindow ,
552 pPQArgs->u16TabIdx ,
553 pPQArgs->u16PQIPIdx);
554
555 return UTOPIA_STATUS_SUCCESS;
556 }
557 case E_PQ_CMD_CHECK_SETTINGS:
558 {
559 pstPQ_CheckSettings pPQArgs = (pstPQ_CheckSettings)pArgs;
560 psPQInstPri->fpPQ_CheckSettings(pInstance, pPQArgs->eWindow);
561
562 return UTOPIA_STATUS_SUCCESS;
563 }
564 #if (ENABLE_PQ_MLOAD)
565 case E_PQ_CMD_SET_MLOAD_EN:
566 {
567 pstPQ_Set_MLoadEn pPQArgs = (pstPQ_Set_MLoadEn)pArgs;
568 psPQInstPri->fpPQ_MLoadEn(pInstance, pPQArgs->eWindow, pPQArgs->bEn);
569
570 return UTOPIA_STATUS_SUCCESS;
571 }
572 #endif
573 case E_PQ_CMD_SKIP_DUPLICATED_SETTING:
574 {
575 pstPQ_SkipDuplicatedSetting pPQArgs = (pstPQ_SkipDuplicatedSetting)pArgs;
576 pPQArgs->bReturnValue = psPQInstPri->fpPQ_SkipDuplicatedSetting(pInstance, pPQArgs->eWindow, pPQArgs->bSkip);
577
578 return UTOPIA_STATUS_SUCCESS;
579 }
580 case E_PQ_CMD_GET_SKIP_DUPLICATED_SETTING_STATUS:
581 {
582 pstPQ_GetSkipDuplicatedSettingStatus pPQArgs = (pstPQ_GetSkipDuplicatedSettingStatus)pArgs;
583 pPQArgs->bReturnValue = psPQInstPri->fpPQ_GetSkipDuplicatedSettingStatus(pInstance,pPQArgs->eWindow);
584
585 return UTOPIA_STATUS_SUCCESS;
586 }
587 #if (PQ_FRCM_CBCR_SWAP_BY_SW == 1)
588 case E_PQ_CMD_SET_FRCM_CB_CR_SWAP:
589 {
590 pstPQ_SetFrcmCbCrSwap pPQArgs = (pstPQ_SetFrcmCbCrSwap)pArgs;
591 psPQInstPri->fpPQ_SetFrcmCbCrSwap(pInstance, pPQArgs->eWindow);
592
593 return UTOPIA_STATUS_SUCCESS;
594 }
595 #endif
596 case E_PQ_CMD_LOAD_SETTINGS:
597 {
598 pstPQ_LoadSettings pPQArgs = (pstPQ_LoadSettings)pArgs;
599 psPQInstPri->fpPQ_LoadSettings(pInstance, pPQArgs->eWindow);
600
601 return UTOPIA_STATUS_SUCCESS;
602 }
603 case E_PQ_CMD_LOAD_CUSTONER_SETTINGS:
604 {
605 pstPQ_LoadCustomerSettings pPQArgs = (pstPQ_LoadCustomerSettings)pArgs;
606 psPQInstPri->fpPQ_LoadCustomerSettings(pInstance, pPQArgs->eWindow);
607
608 return UTOPIA_STATUS_SUCCESS;
609 }
610 case E_PQ_CMD_SET_DTVINFO:
611 {
612 pstPQ_Set_DTVInfo pPQArgs = (pstPQ_Set_DTVInfo)pArgs;
613 psPQInstPri->fpPQ_Set_DTVInfo(pInstance, pPQArgs->eWindow, pPQArgs->pstPQDTVInfo);
614
615 return UTOPIA_STATUS_SUCCESS;
616 }
617 case E_PQ_CMD_SET_MULTIMEDIAINFO:
618 {
619 pstPQ_Set_MultiMediaInfo pPQArgs = (pstPQ_Set_MultiMediaInfo)pArgs;
620 psPQInstPri->fpPQ_Set_MultiMediaInfo(pInstance, pPQArgs->eWindow, pPQArgs->pstPQMMInfo);
621
622 return UTOPIA_STATUS_SUCCESS;
623 }
624 case E_PQ_CMD_SET_VDINFO:
625 {
626 pstPQ_Set_VDInfo pPQArgs = (pstPQ_Set_VDInfo)pArgs;
627 psPQInstPri->fpPQ_Set_VDInfo(pInstance, pPQArgs->eWindow, pPQArgs->pstPQVDInfo);
628
629 return UTOPIA_STATUS_SUCCESS;
630 }
631 case E_PQ_CMD_SET_MODEINFO:
632 {
633 pstPQ_Set_ModeInfo pPQArgs = (pstPQ_Set_ModeInfo)pArgs;
634 psPQInstPri->fpPQ_Set_ModeInfo(pInstance, pPQArgs->eWindow, pPQArgs->enInputSourceType ,pPQArgs->pstPQModeInfo);
635
636 return UTOPIA_STATUS_SUCCESS;
637 }
638 case E_PQ_CMD_SET_HDMIINFO:
639 {
640 pstPQ_SetHDMIInfo pPQArgs = (pstPQ_SetHDMIInfo)pArgs;
641 psPQInstPri->fpPQ_SetHDMIInfo(pInstance, pPQArgs->eWindow, &(pPQArgs->pstPQHDMIInfo));
642
643 return UTOPIA_STATUS_SUCCESS;
644 }
645 case E_PQ_CMD_SET_HDMI_PC:
646 {
647 pstPQ_SetHDMI_PC pPQArgs = (pstPQ_SetHDMI_PC)pArgs;
648 psPQInstPri->fpPQ_SetHDMI_PC(pInstance, pPQArgs->eWindow, pPQArgs->bIsTrue);
649
650 return UTOPIA_STATUS_SUCCESS;
651 }
652 case E_PQ_CMD_GET_HDMI_PC_STATUS:
653 {
654 pstPQ_GetHDMI_PC_Status pPQArgs = (pstPQ_GetHDMI_PC_Status)pArgs;
655 pPQArgs->bReturnValue = psPQInstPri->fpPQ_GetHDMI_PC_Status(pInstance, pPQArgs->eWindow);
656
657 return UTOPIA_STATUS_SUCCESS;
658 }
659 case E_PQ_CMD_DESIDE_SRC_TYPE:
660 {
661 pstPQ_DesideSrcType pPQArgs = (pstPQ_DesideSrcType)pArgs;
662 psPQInstPri->fpPQ_DesideSrcType(pInstance, pPQArgs->eWindow, pPQArgs->enInputSourceType);
663
664 return UTOPIA_STATUS_SUCCESS;
665 }
666 case E_PQ_CMD_GET_INPUTSOURCE_TYPE:
667 {
668 pstPQ_GetInputSourceType pPQArgs = (pstPQ_GetInputSourceType)pArgs;
669 pPQArgs->bReturnValue = psPQInstPri->fpPQ_GetInputSourceType(pInstance, pPQArgs->eWindow);
670
671 return UTOPIA_STATUS_SUCCESS;
672 }
673 case E_PQ_CMD_GET_SRC_TYPE:
674 {
675 pstPQ_GetSrcType pPQArgs = (pstPQ_GetSrcType)pArgs;
676 pPQArgs->u16Ret = psPQInstPri->fpPQ_GetSrcType(pInstance, pPQArgs->eWindow);
677
678 return UTOPIA_STATUS_SUCCESS;
679 }
680 case E_PQ_CMD_GET_DELAY_TIME_BY_MEMC:
681 {
682 pstPQ_GetDelayTimeByMemc pPQArgs = (pstPQ_GetDelayTimeByMemc)pArgs;
683 pPQArgs->u16Ret = psPQInstPri->fpPQ_GetDelayTimeByMemc(pInstance,pPQArgs->eWindow,pPQArgs->u32MemcFrameDelay);
684
685 return UTOPIA_STATUS_SUCCESS;
686 }
687 case E_PQ_CMD_GET_DELAY_TIME:
688 {
689 pstPQ_GetDelayTime pPQArgs = (pstPQ_GetDelayTime)pArgs;
690 pPQArgs->u16Ret = psPQInstPri->fpPQ_GetDelayTime(pInstance,pPQArgs->eWindow);
691
692 return UTOPIA_STATUS_SUCCESS;
693 }
694 case E_PQ_CMD_LOAD_SCALING_TABLE:
695 {
696 pstPQ_LoadScalingTable pPQArgs = (pstPQ_LoadScalingTable)pArgs;
697 pPQArgs->bReturnValue = psPQInstPri->fpPQ_LoadScalingTable(pInstance ,pPQArgs->eWindow,pPQArgs->eXRuleType ,
698 pPQArgs->bPreV_ScalingDown,
699 pPQArgs->bInterlace,
700 pPQArgs->bColorSpaceYUV,
701 pPQArgs->u16InputSize,
702 pPQArgs->u16SizeAfterScaling);
703
704 return UTOPIA_STATUS_SUCCESS;
705 }
706 case E_PQ_CMD_SET_COLOR_RANGE:
707 {
708 pstPQ_SetColorRange pPQArgs = (pstPQ_SetColorRange)pArgs;
709 psPQInstPri->fpPQ_SetColorRange(pInstance ,pPQArgs->eWindow,pPQArgs->bColorRange0_255);
710
711 return UTOPIA_STATUS_SUCCESS;
712 }
713 case E_PQ_CMD_GET_CSC_XRULEIDX:
714 {
715 pstPQ_Get_CSC_XRuleIdx pPQArgs = (pstPQ_Get_CSC_XRuleIdx)pArgs;
716 pPQArgs->bReturnValue = psPQInstPri->fpPQ_Get_CSC_XRuleIdx(pInstance ,pPQArgs->pbInputColorSpaceRGB ,
717 pPQArgs->pu16DoCSC,
718 pPQArgs->eWindow,
719 pPQArgs->enForceColor,
720 pPQArgs->bLoadPQTable);
721
722 return UTOPIA_STATUS_SUCCESS;
723 }
724 case E_PQ_CMD_GET_MEM_YUVFMT:
725 {
726 pstPQ_Get_MemYUVFmt pPQArgs = (pstPQ_Get_MemYUVFmt)pArgs;
727 pPQArgs->bReturnValue = psPQInstPri->fpPQ_Get_MemYUVFmt(pInstance ,pPQArgs->eWindow, pPQArgs->enForceColor);
728
729 return UTOPIA_STATUS_SUCCESS;
730 }
731 case E_PQ_CMD_SET_CSC:
732 {
733 pstPQ_SetCSC pPQArgs = (pstPQ_SetCSC)pArgs;
734 pPQArgs->bReturnValue = psPQInstPri->fpPQ_SetCSC(pInstance ,pPQArgs->eWindow, pPQArgs->enForceColor);
735
736 return UTOPIA_STATUS_SUCCESS;
737 }
738 #if (PQ_XRULE_DB_ENABLE == 1)
739 case E_PQ_CMD_SET_DBRULE:
740 {
741 pstPQ_Set_DBRule pPQArgs = (pstPQ_Set_DBRule)pArgs;
742 psPQInstPri->fpPQ_Set_DBRule(pInstance ,pPQArgs->eWindow, pPQArgs->u16MADi_Idx);
743
744 return UTOPIA_STATUS_SUCCESS;
745 }
746 #endif
747 case E_PQ_CMD_ENABLE_MADI_FORCE:
748 {
749 pstPQ_EnableMADIForce pPQArgs = (pstPQ_EnableMADIForce)pArgs;
750 psPQInstPri->fpPQ_EnableMADIForce(pInstance ,pPQArgs->eWindow, pPQArgs->bFullMotion);
751
752 return UTOPIA_STATUS_SUCCESS;
753 }
754 case E_PQ_CMD_REDUCE_BW_FOR_PVR:
755 {
756 pstPQ_ReduceBW_ForPVR pPQArgs = (pstPQ_ReduceBW_ForPVR)pArgs;
757 psPQInstPri->fpPQ_ReduceBW_ForPVR(pInstance ,pPQArgs->eWindow, pPQArgs->bPVR_On);
758
759 return UTOPIA_STATUS_SUCCESS;
760 }
761 case E_PQ_CMD_SET_420UP_SAMPLEING:
762 {
763 pstPQ_Set420upsampling pPQArgs = (pstPQ_Set420upsampling)pArgs;
764 psPQInstPri->fpPQ_Set420upsampling(pInstance ,pPQArgs->eWindow, pPQArgs->bFBL , pPQArgs->bPreV_ScalingDown, pPQArgs->u16V_CropStart);
765
766 return UTOPIA_STATUS_SUCCESS;
767 }
768 case E_PQ_CMD_SET_FILEMODE:
769 {
770 pstPQ_SetFilmMode pPQArgs = (pstPQ_SetFilmMode)pArgs;
771 psPQInstPri->fpPQ_SetFilmMode(pInstance ,pPQArgs->eWindow, pPQArgs->bEnable);
772
773 return UTOPIA_STATUS_SUCCESS;
774 }
775 case E_PQ_CMD_SET_NONLINEAR_SCALING:
776 {
777 pstPQ_SetNonLinearScaling pPQArgs = (pstPQ_SetNonLinearScaling)pArgs;
778 psPQInstPri->fpPQ_SetNonLinearScaling(pInstance ,pPQArgs->eWindow, pPQArgs->u8Level,pPQArgs->bEnable);
779
780 return UTOPIA_STATUS_SUCCESS;
781 }
782 case E_PQ_CMD_3D_CLONE_FOR_PIP:
783 {
784 pstPQ_3DCloneforPIP pPQArgs = (pstPQ_3DCloneforPIP)pArgs;
785 psPQInstPri->fpPQ_3DCloneforPIP(pInstance ,pPQArgs->bIpSync);
786
787 return UTOPIA_STATUS_SUCCESS;
788 }
789 case E_PQ_CMD_DISABLE_FILEMODE:
790 {
791 pstPQ_DisableFilmMode pPQArgs = (pstPQ_DisableFilmMode)pArgs;
792 psPQInstPri->fpPQ_DisableFilmMode(pInstance ,pPQArgs->eWindow,pPQArgs->bOn);
793
794 return UTOPIA_STATUS_SUCCESS;
795 }
796 case E_PQ_CMD_DISABLE_UC_FEATURE:
797 {
798 pstPQ_DisableUCFeature pPQArgs = (pstPQ_DisableUCFeature)pArgs;
799 pPQArgs->bReturnValue = psPQInstPri->fpPQ_DisableUCFeature(pInstance ,pPQArgs->eWindow);
800
801 return UTOPIA_STATUS_SUCCESS;
802 }
803 case E_PQ_CMD_GET_CURRENT_UC_FEATURE:
804 {
805 pstPQ_GetCurrentUCFeature pPQArgs = (pstPQ_GetCurrentUCFeature)pArgs;
806 pPQArgs->bReturnValue = psPQInstPri->fpPQ_GetCurrentUCFeature(pInstance ,pPQArgs->eWindow,
807 pPQArgs->pu16TabIdx_MADi,
808 pPQArgs->pu16TabIdx_MADi_Mot,
809 pPQArgs->pu16TabIdx_MADi_DFK,
810 pPQArgs->pu16TabIdx_MADi_SST,
811 pPQArgs->pu16TabIdx_MADi_EODiW,
812 pPQArgs->pu16TabIdx_UCNR,
813 pPQArgs->pu16TabIdx_UCDi,
814 pPQArgs->pu16TabIdx_UCCTL,
815 pPQArgs->pu16TabIdx_SwDriver,
816 pPQArgs->pu16TabIdx_PostCCS,
817 pPQArgs->pu16TabIdx_DHD);
818
819 return UTOPIA_STATUS_SUCCESS;
820 }
821 case E_PQ_CMD_GET_UC_FEATURE_FROM_PQ:
822 {
823 pstPQ_GetUCFeatureFromPQ pPQArgs = (pstPQ_GetUCFeatureFromPQ)pArgs;
824 pPQArgs->bReturnValue = psPQInstPri->fpPQ_GetUCFeatureFromPQ(pInstance ,pPQArgs->eWindow,
825 pPQArgs->pu16TabIdx_MADi_DFK,
826 pPQArgs->pu16TabIdx_MADi_SST,
827 pPQArgs->pu16TabIdx_MADi_EODiW,
828 pPQArgs->pu16TabIdx_UCNR,
829 pPQArgs->pu16TabIdx_UCDi,
830 pPQArgs->pu16TabIdx_UCCTL,
831 pPQArgs->pu16TabIdx_SwDriver,
832 pPQArgs->pu16TabIdx_PostCCS,
833 pPQArgs->pu16TabIdx_DHD);
834
835 return UTOPIA_STATUS_SUCCESS;
836 }
837 #if (PQ_GRULE_GAME_MODE_ENABLE == 1)
838 case E_PQ_CMD_ENABLE_UC_FEATURE:
839 {
840 pstPQ_EnableUCFeature pPQArgs = (pstPQ_EnableUCFeature)pArgs;
841 pPQArgs->bReturnValue = psPQInstPri->fpPQ_EnableUCFeature(pInstance ,pPQArgs->eWindow);
842
843 return UTOPIA_STATUS_SUCCESS;
844 }
845 #endif
846 case E_PQ_CMD_SET_UC_FEATURE:
847 {
848 pstPQ_SetUCFeature pPQArgs = (pstPQ_SetUCFeature)pArgs;
849 pPQArgs->bReturnValue = psPQInstPri->fpPQ_SetUCFeature(pInstance ,pPQArgs->eWindow,
850 pPQArgs->pu16TabIdx_MADi,
851 pPQArgs->pu16TabIdx_MADi_Mot,
852 pPQArgs->pu16TabIdx_MADi_DFK,
853 pPQArgs->pu16TabIdx_MADi_SST,
854 pPQArgs->pu16TabIdx_MADi_EODiW,
855 pPQArgs->pu16TabIdx_UCNR,
856 pPQArgs->pu16TabIdx_UCDi,
857 pPQArgs->pu16TabIdx_UCCTL,
858 pPQArgs->pu16TabIdx_SwDriver,
859 pPQArgs->pu16TabIdx_PostCCS,
860 pPQArgs->pu16TabIdx_DHD);
861
862
863 return UTOPIA_STATUS_SUCCESS;
864 }
865 case E_PQ_CMD_SET_DMSV12L:
866 {
867 pstPQ_SetDMSV12L pPQArgs = (pstPQ_SetDMSV12L)pArgs;
868 pPQArgs->bReturnValue = psPQInstPri->fpPQ_SetDMSV12L(pInstance ,pPQArgs->eWindow,pPQArgs->bEnable);
869
870 return UTOPIA_STATUS_SUCCESS;
871 }
872 case E_PQ_CMD_GET_DMSV12L_FROM_XRULE_TABLE:
873 {
874 pstPQ_GetDMSV12LFromXRuleTable pPQArgs = (pstPQ_GetDMSV12LFromXRuleTable)pArgs;
875 pPQArgs->bReturnValue = psPQInstPri->fpPQ_GetDMSV12LFromXRuleTable(pInstance ,pPQArgs->eWindow);
876
877 return UTOPIA_STATUS_SUCCESS;
878 }
879 case E_PQ_CMD_GET_LIB_VER:
880 {
881 pstPQ_GetLibVer pPQArgs = (pstPQ_GetLibVer)pArgs;
882 pPQArgs->bReturnValue = psPQInstPri->fpPQ_GetLibVer(pInstance ,pPQArgs->ppVersion);
883
884 return UTOPIA_STATUS_SUCCESS;
885 }
886 case E_PQ_CMD_GET_INFO:
887 {
888 pstPQ_GetInfo pPQArgs = (pstPQ_GetInfo)pArgs;
889 pPQArgs->bReturnValue = psPQInstPri->fpPQ_GetInfo(pInstance ,pPQArgs->pInfo);
890
891 return UTOPIA_STATUS_SUCCESS;
892 }
893 case E_PQ_CMD_GET_STATUS:
894 {
895 pstPQ_GetStatus pPQArgs = (pstPQ_GetStatus)pArgs;
896 pPQArgs->bReturnValue = psPQInstPri->fpPQ_GetStatus(pInstance ,pPQArgs->pStatus);
897
898 return UTOPIA_STATUS_SUCCESS;
899 }
900 case E_PQ_CMD_SET_DBGLEVEL:
901 {
902 pstPQ_SetDbgLevel pPQArgs = (pstPQ_SetDbgLevel)pArgs;
903 pPQArgs->bReturnValue = psPQInstPri->fpPQ_SetDbgLevel(pInstance ,pPQArgs->u16DbgSwitch);
904
905 return UTOPIA_STATUS_SUCCESS;
906 }
907 case E_PQ_CMD_MADI_FORCE_MOTIONC:
908 {
909 pstPQ_MADiForceMotionC pPQArgs = (pstPQ_MADiForceMotionC)pArgs;
910 psPQInstPri->fpPQ_MADiForceMotionC(pInstance ,pPQArgs->eWindow, pPQArgs->bEnable);
911
912 return UTOPIA_STATUS_SUCCESS;
913 }
914 case E_PQ_CMD_MADI_FORCE_MOTIONY:
915 {
916 pstPQ_MADiForceMotionY pPQArgs = (pstPQ_MADiForceMotionY)pArgs;
917 psPQInstPri->fpPQ_MADiForceMotionY(pInstance ,pPQArgs->eWindow, pPQArgs->bEnable);
918
919 return UTOPIA_STATUS_SUCCESS;
920 }
921 #ifdef UFO_XC_PQ_SUPPORT_SWMOTION
922 case E_PQ_CMD_MADI_FORCE_MOTION:
923 {
924 pstPQ_MADiForceMotion pPQArgs = (pstPQ_MADiForceMotion)pArgs;
925 psPQInstPri->fpPQ_MADiForceMotion(pInstance ,pPQArgs->eWindow, pPQArgs->bEnableY, pPQArgs->u16DataY
926 , pPQArgs->bEnableC, pPQArgs->u16DataC);
927 return UTOPIA_STATUS_SUCCESS;
928 }
929 #endif
930 #ifdef UFO_XC_PQ_SUPPORT_REPEATER_COLOR_THROUGH_MODE
931 case E_PQ_CMD_SET_COLOR_THROUGH_MODE:
932 {
933 pstPQ_SetColorThroughMode pPQArgs = (pstPQ_SetColorThroughMode)pArgs;
934 psPQInstPri->fpPQ_SetColorThroughMode(pInstance ,pPQArgs->eWindow, pPQArgs->bEn);
935 return UTOPIA_STATUS_SUCCESS;
936 }
937 #endif
938
939 case E_PQ_CMD_SET_RFBL_MODE:
940 {
941 pstPQ_SetRFblMode pPQArgs = (pstPQ_SetRFblMode)pArgs;
942 psPQInstPri->fpPQ_SetRFblMode(pInstance ,pPQArgs->bEnable, pPQArgs->bFilm);
943
944 return UTOPIA_STATUS_SUCCESS;
945 }
946 case E_PQ_CMD_GET_RFBL_MODE:
947 {
948 pstPQ_GetRFblMode pPQArgs = (pstPQ_GetRFblMode)pArgs;
949 psPQInstPri->fpPQ_GetRFblMode(pInstance ,pPQArgs->pstInfo);
950
951 return UTOPIA_STATUS_SUCCESS;
952 }
953 #if (PQ_ENABLE_VD_SAMPLING)
954 case E_PQ_CMD_GET_VDSAMPLING_INFO:
955 {
956 pstPQ_Get_VDSampling_Info pPQArgs = (pstPQ_Get_VDSampling_Info)pArgs;
957 pPQArgs->bReturnValue = psPQInstPri->fpPQ_Get_VDSampling_Info(pInstance ,pPQArgs->eWindow,
958 pPQArgs->enInputSourceType,
959 pPQArgs->eStandard,
960 pPQArgs->pInfo);
961
962 return UTOPIA_STATUS_SUCCESS;
963 }
964 #endif
965 case E_PQ_CMD_INTER_IOCTL:
966 {
967 pstPQ_INTER_IOCTL pPQArgs = (pstPQ_INTER_IOCTL)pArgs;
968 pPQArgs->bReturnValue = psPQInstPri->fpPQ_INTER_IOCTL(pInstance ,pPQArgs->eWindow,
969 pPQArgs->u32Flag,
970 pPQArgs->pBuf,
971 pPQArgs->u32BufSize);
972
973 return UTOPIA_STATUS_SUCCESS;
974 }
975 case E_PQ_CMD_GET_ADC_SAMPLING_INTO:
976 {
977 pstPQ_Get_ADCSampling_Info pPQArgs = (pstPQ_Get_ADCSampling_Info)pArgs;
978 pPQArgs->bReturnValue = psPQInstPri->fpPQ_Get_ADCSampling_Info(pInstance ,pPQArgs->eWindow,
979 pPQArgs->enInputSourceType,
980 pPQArgs->pstPQModeInfo);
981
982 return UTOPIA_STATUS_SUCCESS;
983 }
984 case E_PQ_CMD_SET_3D_ONOFF:
985 {
986 pstPQ_Set3D_OnOff pPQArgs = (pstPQ_Set3D_OnOff)pArgs;
987 pPQArgs->bReturnValue = psPQInstPri->fpPQ_Set3D_OnOff(pInstance ,pPQArgs->bEn);
988
989 return UTOPIA_STATUS_SUCCESS;
990 }
991 case E_PQ_CMD_GET_CAPS:
992 {
993 pstPQ_GetCaps pPQArgs = (pstPQ_GetCaps)pArgs;
994 pPQArgs->bReturnValue = psPQInstPri->fpPQ_GetCaps(pInstance ,pPQArgs->pInfo);
995
996 return UTOPIA_STATUS_SUCCESS;
997 }
998 case E_PQ_CMD_PRINT_LOADTABLE_INFO:
999 {
1000 pstPQ_PrintLoadTableInfo pPQArgs = (pstPQ_PrintLoadTableInfo)pArgs;
1001 psPQInstPri->fpPQ_PrintLoadTableInfo(pInstance ,pPQArgs->enPQWin);
1002
1003 return UTOPIA_STATUS_SUCCESS;
1004 }
1005 case E_PQ_CMD_SETDS_ONOFF:
1006 {
1007 pstPQ_SetDS_OnOFF pPQArgs = (pstPQ_SetDS_OnOFF)pArgs;
1008 pPQArgs->bReturnValue = psPQInstPri->fpPQ_SetDS_OnOFF(pInstance ,pPQArgs->eWindow ,pPQArgs->bEn);
1009
1010 return UTOPIA_STATUS_SUCCESS;
1011 }
1012 case E_PQ_CMD_GET_RFBL_INFO:
1013 {
1014 pstPQ_Get_RFBL_Info pPQArgs = (pstPQ_Get_RFBL_Info)pArgs;
1015 pPQArgs->bReturnValue = psPQInstPri->fpPQ_Get_RFBL_Info(pInstance ,pPQArgs->eWindow );
1016
1017 return UTOPIA_STATUS_SUCCESS;
1018 }
1019 case E_PQ_CMD_CHECK_HD_MODE:
1020 {
1021 pstPQ_CheckHDMode pPQArgs = (pstPQ_CheckHDMode)pArgs;
1022 pPQArgs->bReturnValue = psPQInstPri->fpPQ_CheckHDMode(pInstance ,pPQArgs->eWindow );
1023
1024 return UTOPIA_STATUS_SUCCESS;
1025 }
1026 case E_PQ_CMD_GET_INTERLACE_SD_MODE:
1027 {
1028 pstPQ_Get_Interlace_SD_mode pPQArgs = (pstPQ_Get_Interlace_SD_mode)pArgs;
1029 pPQArgs->bReturnValue = psPQInstPri->fpPQ_Interlace_SD_mode(pInstance);
1030
1031 return UTOPIA_STATUS_SUCCESS;
1032 }
1033 case E_PQ_CMD_SET_DUAL_VIEW_STATE:
1034 {
1035 pstPQ_SetDualViewState pPQArgs = (pstPQ_SetDualViewState)pArgs;
1036 pPQArgs->bReturnValue = psPQInstPri->fpPQ_SetDualViewState(pInstance, pPQArgs->bEnable);
1037
1038 return UTOPIA_STATUS_SUCCESS;
1039 }
1040 case E_PQ_CMD_GET_VGASUBCASE_FORCETO_422MODE:
1041 {
1042 pstPQ_GetVGASubCaseForceTo422Mode pPQArgs = (pstPQ_GetVGASubCaseForceTo422Mode)pArgs;
1043 pPQArgs->bReturnValue = psPQInstPri->fpPQ_GetVGASubCaseForceTo422Mode(pInstance);
1044
1045 return UTOPIA_STATUS_SUCCESS;
1046 }
1047 case E_PQ_CMD_GET_DUAL_VIEW_STATE:
1048 {
1049 pstPQ_GetDualViewState pPQArgs = (pstPQ_GetDualViewState)pArgs;
1050 pPQArgs->bReturnValue = psPQInstPri->fpPQ_GetDualViewState(pInstance);
1051
1052 return UTOPIA_STATUS_SUCCESS;
1053 }
1054 case E_PQ_CMD_FORCE_VIDEO_INPUT_MODE:
1055 {
1056 pstPQ_ForceVideoInputMode pPQArgs = (pstPQ_ForceVideoInputMode)pArgs;
1057 pPQArgs->bReturnValue = psPQInstPri->fpPQ_ForceVideoInputMode(pInstance, pPQArgs->bEnable,pPQArgs->eWindow);
1058
1059 return UTOPIA_STATUS_SUCCESS;
1060 }
1061 case E_PQ_CMD_IS_FORCE_VIDEO_INPUTMODE:
1062 {
1063 pstPQ_IsForceVideoInputMode pPQArgs = (pstPQ_IsForceVideoInputMode)pArgs;
1064 pPQArgs->bReturnValue = psPQInstPri->fpPQ_IsForceVideoInputMode(pInstance, pPQArgs->eWindow);
1065
1066 return UTOPIA_STATUS_SUCCESS;
1067 }
1068 case E_PQ_CMD_SET_POINT2POINT:
1069 {
1070 pstPQ_Set_PointToPoint pPQArgs = (pstPQ_Set_PointToPoint)pArgs;
1071 pPQArgs->bReturnValue = psPQInstPri->fpPQ_Set_PointToPoint(pInstance, pPQArgs->pstXC_SetWin_Info,pPQArgs->bEnable,pPQArgs->eWindow);
1072
1073 return UTOPIA_STATUS_SUCCESS;
1074 }
1075 case E_PQ_CMD_GET_POINT2POINT:
1076 {
1077 pstPQ_Get_PointToPoint pPQArgs = (pstPQ_Get_PointToPoint)pArgs;
1078 pPQArgs->bReturnValue = psPQInstPri->fpPQ_Get_PointToPoint(pInstance, pPQArgs->eWindow);
1079
1080 return UTOPIA_STATUS_SUCCESS;
1081 }
1082 case E_PQ_CMD_UPDATE_MEMFORMAT:
1083 {
1084 pstPQ_Update_MemFormat pPQArgs = (pstPQ_Update_MemFormat)pArgs;
1085 pPQArgs->bReturnValue = psPQInstPri->fpPQ_Update_MemFormat(pInstance);
1086
1087 return UTOPIA_STATUS_SUCCESS;
1088 }
1089 case E_PQ_CMD_GET_HSIZE:
1090 {
1091 pstPQ_GetHsize pPQArgs = (pstPQ_GetHsize)pArgs;
1092 pPQArgs->u16Ret = psPQInstPri->fpPQ_GetHsize(pInstance, pPQArgs->enPQWin);
1093
1094 return UTOPIA_STATUS_SUCCESS;
1095 }
1096 case E_PQ_CMD_GET_VSIZE:
1097 {
1098 pstPQ_GetVsize pPQArgs = (pstPQ_GetVsize)pArgs;
1099 pPQArgs->u16Ret = psPQInstPri->fpPQ_GetVsize(pInstance, pPQArgs->enPQWin);
1100
1101 return UTOPIA_STATUS_SUCCESS;
1102 }
1103 case E_PQ_CMD_IS_INTERLACE:
1104 {
1105 pstPQ_IsInterlace pPQArgs = (pstPQ_IsInterlace)pArgs;
1106 pPQArgs->bReturnValue = psPQInstPri->fpPQ_IsInterlace(pInstance, pPQArgs->enPQWin);
1107
1108 return UTOPIA_STATUS_SUCCESS;
1109 }
1110 case E_PQ_CMD_LOW_3D_QUALITY:
1111 {
1112 pstPQ_LOW_3dQuality pPQArgs = (pstPQ_LOW_3dQuality)pArgs;
1113 pPQArgs->bReturnValue = psPQInstPri->fpPQ_LOW_3dQuality(pInstance, pPQArgs->bEnable);
1114
1115 return UTOPIA_STATUS_SUCCESS;
1116 }
1117 case E_PQ_CMD_MWE_SET_ENHANCE_QUALITY:
1118 {
1119 pstPQ_MWE_SetEnhanceQuality pPQArgs = (pstPQ_MWE_SetEnhanceQuality)pArgs;
1120 pPQArgs->bReturnValue = psPQInstPri->fpPQ_MWE_SetEnhanceQuality(pInstance);
1121
1122 return UTOPIA_STATUS_SUCCESS;
1123 }
1124 case E_PQ_CMD_MWE_RESTORE_ENHANCE_QUALITY:
1125 {
1126 pstPQ_MWE_RestoreEnhanceQuality pPQArgs = (pstPQ_MWE_RestoreEnhanceQuality)pArgs;
1127 pPQArgs->bReturnValue = psPQInstPri->fpPQ_MWE_RestoreEnhanceQuality(pInstance);
1128
1129 return UTOPIA_STATUS_SUCCESS;
1130 }
1131 case E_PQ_CMD_MWE_RESTORE_OFF_QUALITY:
1132 {
1133 pstPQ_MWE_RestoreOffQuality pPQArgs = (pstPQ_MWE_RestoreOffQuality)pArgs;
1134 pPQArgs->bReturnValue = psPQInstPri->fpPQ_MWE_RestoreOffQuality(pInstance);
1135
1136 return UTOPIA_STATUS_SUCCESS;
1137 }
1138 case E_PQ_CMD_MWE_SET_OFF_QUALITY:
1139 {
1140 pstPQ_MWE_SetOffQuality pPQArgs = (pstPQ_MWE_SetOffQuality)pArgs;
1141 pPQArgs->bReturnValue = psPQInstPri->fpPQ_MWE_SetOffQuality(pInstance);
1142
1143 return UTOPIA_STATUS_SUCCESS;
1144 }
1145 case E_PQ_CMD_MWE_CLONE_WINDOW:
1146 {
1147 pstPQ_MWE_CloneWindow pPQArgs = (pstPQ_MWE_CloneWindow)pArgs;
1148 psPQInstPri->fpPQ_MWE_CloneWindow(pInstance,pPQArgs->eWindow);
1149
1150 return UTOPIA_STATUS_SUCCESS;
1151 }
1152 case E_PQ_CMD_3D_SETTING_FOR_LBL:
1153 {
1154 pstPQ_3D_SettingForLBL pPQArgs = (pstPQ_3D_SettingForLBL)pArgs;
1155 pPQArgs->bReturnValue = psPQInstPri->fpPQ_3D_SettingForLBL(pInstance,pPQArgs->eWindow);
1156
1157 return UTOPIA_STATUS_SUCCESS;
1158 }
1159 case E_PQ_CMD_3D_CLONE_WINDOW:
1160 {
1161 pstPQ_3D_CloneWindow pPQArgs = (pstPQ_3D_CloneWindow)pArgs;
1162 psPQInstPri->fpPQ_3D_CloneWindow(pInstance,pPQArgs->enPQ3DType,pPQArgs->eWindow);
1163
1164 return UTOPIA_STATUS_SUCCESS;
1165 }
1166 case E_PQ_CMD_GET_SENSIOMODE:
1167 {
1168 pstPQ_Get_SensioMode pPQArgs = (pstPQ_Get_SensioMode)pArgs;
1169 pPQArgs->bReturnValue = psPQInstPri->fpPQ_Get_SensioMode(pInstance);
1170
1171 return UTOPIA_STATUS_SUCCESS;
1172 }
1173 case E_PQ_CMD_SET_SENSIOMODE:
1174 {
1175 pstPQ_Set_SensioMode pPQArgs = (pstPQ_Set_SensioMode)pArgs;
1176 psPQInstPri->fpPQ_Set_SensioMode(pInstance,pPQArgs->bEnable);
1177
1178 return UTOPIA_STATUS_SUCCESS;
1179 }
1180 case E_PQ_CMD_SET_DIPF:
1181 {
1182 psPQInstPri->fpPQ_Set_DIPF(pInstance);
1183
1184 return UTOPIA_STATUS_SUCCESS;
1185 }
1186 case E_PQ_CMD_SET_SELECT_CSC:
1187 {
1188 pstPQ_SetSelectCSC pPQArgs = (pstPQ_SetSelectCSC)pArgs;
1189 psPQInstPri->fpPQ_SetSelectCSC(pInstance,pPQArgs->u16selection,pPQArgs->eWindow);
1190
1191 return UTOPIA_STATUS_SUCCESS;
1192 }
1193 case E_PQ_CMD_GET_R2YEQ_SELECT:
1194 {
1195 pstPQ_GetR2YEqSelect pPQArgs = (pstPQ_GetR2YEqSelect)pArgs;
1196 pPQArgs->bReturnValue = psPQInstPri->fpPQ_GetR2YEqSelect(pInstance,pPQArgs->eWindow);
1197
1198 return UTOPIA_STATUS_SUCCESS;
1199 }
1200 case E_PQ_CMD_GET_MEMFMT_IN_GENERAL:
1201 {
1202 pstPQ_GetMemFmtInGeneral pPQArgs = (pstPQ_GetMemFmtInGeneral)pArgs;
1203 pPQArgs->bReturnValue = psPQInstPri->fpPQ_GetMemFmtInGeneral(pInstance,pPQArgs->eWindow,
1204 pPQArgs->bMemFmt422,
1205 pPQArgs->pu16TabIdx_MemFormat,
1206 pPQArgs->pu16TabIdx_444To422,
1207 pPQArgs->pu16TabIdx_422To444);
1208
1209 return UTOPIA_STATUS_SUCCESS;
1210 }
1211 case E_PQ_CMD_GET_MADI_FOR_RFBL:
1212 {
1213 pstPQ_GetMADiForRFBL pPQArgs = (pstPQ_GetMADiForRFBL)pArgs;
1214 pPQArgs->bReturnValue = psPQInstPri->fpPQ_GetMADiForRFBL(pInstance,pPQArgs->eWindow,
1215 pPQArgs->bFBL,
1216 pPQArgs->pu16TabIdx_MADi_Motion,
1217 pPQArgs->pu16TabIdx_MADi);
1218
1219 return UTOPIA_STATUS_SUCCESS;
1220 }
1221 case E_PQ_CMD_PATCH2RTO4R_FOR_FIELDPACKINGMODE:
1222 {
1223 pstPQ_Patch2Rto4RForFieldPackingMode pPQArgs = (pstPQ_Patch2Rto4RForFieldPackingMode)pArgs;
1224 pPQArgs->bReturnValue = psPQInstPri->fpPQ_Patch2Rto4RForFieldPackingMode(pInstance,pPQArgs->eWindow,pPQArgs->u16TabIdx_MADi);
1225
1226 return UTOPIA_STATUS_SUCCESS;
1227 }
1228 case E_PQ_CMD_GET_BPPINFO_FROM_MADI:
1229 {
1230 pstPQ_GetBPPInfoFromMADi pPQArgs = (pstPQ_GetBPPInfoFromMADi)pArgs;
1231 pPQArgs->bReturnValue = psPQInstPri->fpPQ_GetBPPInfoFromMADi(pInstance,pPQArgs->eWindow,
1232 pPQArgs->bMemFmt422,
1233 pPQArgs->u16TabIdx_MADi,
1234 pPQArgs->u16TabIdx_MemFormat,
1235 pPQArgs->pu8BitsPerPixel,
1236 pPQArgs->peDeInterlaceMode,
1237 pPQArgs->pu8FrameCount);
1238
1239 return UTOPIA_STATUS_SUCCESS;
1240 }
1241 case E_PQ_CMD_CHANGE_MEMCONFIG_FOR3D:
1242 {
1243 pstPQ_ChangeMemConfigFor3D pPQArgs = (pstPQ_ChangeMemConfigFor3D)pArgs;
1244 pPQArgs->bReturnValue = psPQInstPri->fpPQ_ChangeMemConfigFor3D(pInstance,pPQArgs->eWindow,
1245 pPQArgs->bMemFmt422,
1246 pPQArgs->pu16TabIdx_MemFormat,
1247 pPQArgs->pu16TabIdx_444To422,
1248 pPQArgs->pu16TabIdx_422To444,
1249 pPQArgs->pu8BitsPerPixel,
1250 pPQArgs->pu16TabIdx_MADi_Motion,
1251 pPQArgs->pu16TabIdx_MADi);
1252
1253 return UTOPIA_STATUS_SUCCESS;
1254 }
1255 case E_PQ_CMD_FORCE_BPP_FOR_DYNAMIC_MEMFMT:
1256 {
1257 pstPQ_ForceBPPForDynamicMemFmt pPQArgs = (pstPQ_ForceBPPForDynamicMemFmt)pArgs;
1258 pPQArgs->bReturnValue = psPQInstPri->fpPQ_ForceBPPForDynamicMemFmt(pInstance,pPQArgs->eWindow,pPQArgs->bMemFmt422,pPQArgs->pu8BitsPerPixel);
1259
1260 return UTOPIA_STATUS_SUCCESS;
1261 }
1262 case E_PQ_CMD_SUGGEST_FRAMENUM:
1263 {
1264 pstPQ_SuggestFrameNum pPQArgs = (pstPQ_SuggestFrameNum)pArgs;
1265 pPQArgs->bReturnValue = psPQInstPri->fpPQ_SuggestFrameNum(pInstance,pPQArgs->eWindow,pPQArgs->u16TabIdx_MADi,pPQArgs->u8FrameCount);
1266
1267 return UTOPIA_STATUS_SUCCESS;
1268 }
1269 case E_PQ_CMD_SET_GAMEMODE:
1270 {
1271 pstPQ_SetGameMode pPQArgs = (pstPQ_SetGameMode)pArgs;
1272 pPQArgs->bReturnValue = psPQInstPri->fpPQ_SetGameMode(pInstance,pPQArgs->eWindow,pPQArgs->bEnable);
1273
1274 return UTOPIA_STATUS_SUCCESS;
1275 }
1276 case E_PQ_CMD_GET_GAMEMODE_STATUS:
1277 {
1278 pstPQ_GetGameMode_Status pPQArgs = (pstPQ_GetGameMode_Status)pArgs;
1279 pPQArgs->bReturnValue = psPQInstPri->fpPQ_GetGameMode_Status(pInstance,pPQArgs->eWindow);
1280
1281 return UTOPIA_STATUS_SUCCESS;
1282 }
1283 case E_PQ_CMD_SET_BYPASS_MODE:
1284 {
1285 pstPQ_SetBypassMode pPQArgs = (pstPQ_SetBypassMode)pArgs;
1286 pPQArgs->bReturnValue = psPQInstPri->fpPQ_SetBypassMode(pInstance,pPQArgs->eWindow,pPQArgs->bEnable);
1287
1288 return UTOPIA_STATUS_SUCCESS;
1289 }
1290 case E_PQ_CMD_GET_BYPASS_MODE_STATUS:
1291 {
1292 pstPQ_GetBypassModeStatus pPQArgs = (pstPQ_GetBypassModeStatus)pArgs;
1293 pPQArgs->bReturnValue = psPQInstPri->fpPQ_GetBypassModeStatus(pInstance,pPQArgs->eWindow);
1294
1295 return UTOPIA_STATUS_SUCCESS;
1296 }
1297 case E_PQ_CMD_GET_VERSION:
1298 {
1299 pstPQ_GetVersion pPQArgs = (pstPQ_GetVersion)pArgs;
1300 pPQArgs->u8Ret = psPQInstPri->fpPQ_GetVersion(pInstance,pPQArgs->eWindow);
1301
1302 return UTOPIA_STATUS_SUCCESS;
1303 }
1304 case E_PQ_CMD_CUS_GET_VERSION:
1305 {
1306 pstPQ_Cus_GetVersion pPQArgs = (pstPQ_Cus_GetVersion)pArgs;
1307 pPQArgs->u8Ret = psPQInstPri->fpPQ_Cus_GetVersion(pInstance,pPQArgs->eWindow);
1308
1309 return UTOPIA_STATUS_SUCCESS;
1310 }
1311 case E_PQ_CMD_SET_GRULE_STATUS:
1312 {
1313 pstPQ_SetGRuleStatus pPQArgs = (pstPQ_SetGRuleStatus)pArgs;
1314 pPQArgs->bReturnValue = psPQInstPri->fpPQ_SetGRuleStatus(pInstance,pPQArgs->eWindow,pPQArgs->u16GruleType,pPQArgs->u16GruleStatus);
1315
1316 return UTOPIA_STATUS_SUCCESS;
1317 }
1318 case E_PQ_CMD_GET_GRULE_LV1NUM:
1319 {
1320 pstPQ_GetGRule_LvlNum pPQArgs = (pstPQ_GetGRule_LvlNum)pArgs;
1321 pPQArgs->u16Ret = psPQInstPri->fpPQ_GetGRule_LvlNum(pInstance,pPQArgs->eWindow,pPQArgs->u16GRuleType);
1322
1323 return UTOPIA_STATUS_SUCCESS;
1324 }
1325 case E_PQ_CMD_GET_GRULE_GRULENUM:
1326 {
1327 pstPQ_GetGRule_GRuleNum pPQArgs = (pstPQ_GetGRule_GRuleNum)pArgs;
1328 pPQArgs->u16Ret = psPQInstPri->fpPQ_GetGRule_GRuleNum(pInstance,pPQArgs->eWindow);
1329
1330 return UTOPIA_STATUS_SUCCESS;
1331 }
1332 case E_PQ_CMD_GET_GRULE_LEVELINDEX:
1333 {
1334 pstPQ_GetGRule_LevelIndex pPQArgs = (pstPQ_GetGRule_LevelIndex)pArgs;
1335 pPQArgs->u16Ret = psPQInstPri->fpPQ_GetGRule_LevelIndex(pInstance,pPQArgs->eWindow,pPQArgs->u16GRuleType,pPQArgs->u16GRuleLevelIndex);
1336
1337 return UTOPIA_STATUS_SUCCESS;
1338 }
1339 case E_PQ_CMD_GET_GRULE_IPINDEX:
1340 {
1341 pstPQ_GetGRule_IPIndex pPQArgs = (pstPQ_GetGRule_IPIndex)pArgs;
1342 pPQArgs->u16Ret = psPQInstPri->fpPQ_GetGRule_IPIndex(pInstance,pPQArgs->eWindow,pPQArgs->u16GRuleType,pPQArgs->u16GRuleIPIndex);
1343
1344 return UTOPIA_STATUS_SUCCESS;
1345 }
1346 case E_PQ_CMD_GET_GRULE_TABLEINDEX:
1347 {
1348 pstPQ_GetGRule_TableIndex pPQArgs = (pstPQ_GetGRule_TableIndex)pArgs;
1349 pPQArgs->u16Ret = psPQInstPri->fpPQ_GetGRule_TableIndex(pInstance,pPQArgs->eWindow,
1350 pPQArgs->u16GRuleType,
1351 pPQArgs->u16PQ_NRIdx,
1352 pPQArgs->u16GRuleIPIndex);
1353
1354 return UTOPIA_STATUS_SUCCESS;
1355 }
1356 case E_PQ_CMD_GET_CUSTOMERGRULE_IPINDEX:
1357 {
1358 pstPQ_GetCustomerGRule_IPIndex pPQArgs = (pstPQ_GetCustomerGRule_IPIndex)pArgs;
1359 pPQArgs->u16Ret = psPQInstPri->fpPQ_GetCustomerGRule_IPIndex(pInstance,pPQArgs->eWindow,
1360 pPQArgs->u16GRuleType,
1361 pPQArgs->u16GRuleIPIndex);
1362
1363 return UTOPIA_STATUS_SUCCESS;
1364 }
1365 case E_PQ_CMD_GET_CUSTOMERGRULE_TABLEINDEX:
1366 {
1367 pstPQ_GetGRule_CustomerTableIndex pPQArgs = (pstPQ_GetGRule_CustomerTableIndex)pArgs;
1368 pPQArgs->u16Ret = psPQInstPri->fpPQ_GetGRule_CustomerTableIndex(pInstance,pPQArgs->eWindow,
1369 pPQArgs->u16GRuleType,
1370 pPQArgs->u16PQ_NRIdx,
1371 pPQArgs->u16GRuleIPIndex);
1372
1373 return UTOPIA_STATUS_SUCCESS;
1374 }
1375 case E_PQ_CMD_SET_XVYCC_MATRIXCOEFFICIENT:
1376 {
1377 pstPQ_Set_xvYCC_MatrixCoefficient pPQArgs = (pstPQ_Set_xvYCC_MatrixCoefficient)pArgs;
1378 pPQArgs->bReturnValue = psPQInstPri->fpPQ_Set_xvYCC_MatrixCoefficient(pInstance,pPQArgs->u64Red_x,
1379 pPQArgs->u64Red_y,
1380 pPQArgs->u64Green_x,
1381 pPQArgs->u64Green_y,
1382 pPQArgs->u64Blue_x,
1383 pPQArgs->u64Blue_y,
1384 pPQArgs->u64White_x,
1385 pPQArgs->u64White_y,
1386 pPQArgs->eWindow);
1387
1388 return UTOPIA_STATUS_SUCCESS;
1389 }
1390 case E_PQ_CMD_SET_XVYCC_MATRIXENABLE:
1391 {
1392 pstPQ_Set_xvYCC_MatrixEnable pPQArgs = (pstPQ_Set_xvYCC_MatrixEnable)pArgs;
1393 pPQArgs->bReturnValue = psPQInstPri->fpPQ_Set_xvYCC_MatrixEnable(pInstance,pPQArgs->bEnable,pPQArgs->eWindow);
1394
1395 return UTOPIA_STATUS_SUCCESS;
1396 }
1397 case E_PQ_CMD_GET_DNR_WHOLE_REG:
1398 {
1399 pstPQ_GetDnrWholeReg pPQArgs = (pstPQ_GetDnrWholeReg)pArgs;
1400 pPQArgs->u16Ret = psPQInstPri->fpPQ_Get_DNR_Whole_reg(pInstance, pPQArgs->eWindow);
1401 return UTOPIA_STATUS_SUCCESS;
1402 }
1403 case E_PQ_CMD_UP_LAYER_SET_CONFIG:
1404 {
1405 pstPQ_Up_Layer_Set_Config pPQArgs = (pstPQ_Up_Layer_Set_Config)pArgs;
1406 pPQArgs->bReturnValue = psPQInstPri->fpPQ_Up_Layer_Set_Config(pInstance,pPQArgs->uplayerSetting,pPQArgs->group);
1407
1408 return UTOPIA_STATUS_SUCCESS;
1409 }
1410 case E_PQ_CMD_GET_QMAP_EXECUTOR:
1411 {
1412 pstPQ_GetQmapExecutor pPQArgs = (pstPQ_GetQmapExecutor)pArgs;
1413 pPQArgs->bReturnValue = psPQInstPri->fpPQ_GetQmapExecutor(pInstance,pPQArgs->eFunctionType);
1414
1415 return UTOPIA_STATUS_SUCCESS;
1416 }
1417 case E_PQ_CMD_SET_PHOTO_YUV_STD:
1418 {
1419 pstPQ_SetPhotoYUVStandard pPQArgs = (pstPQ_SetPhotoYUVStandard)pArgs;
1420 psPQInstPri->fpPQ_SetPhotoYUVStandard(pInstance,pPQArgs->eWindow, pPQArgs->enStd);
1421
1422 return UTOPIA_STATUS_SUCCESS;
1423 }
1424 case E_PQ_CMD_EX_GET_VERSION:
1425 {
1426 pstPQ_Ex_GetVersion pPQArgs = (pstPQ_Ex_GetVersion)pArgs;
1427 pPQArgs->bReturnValue = psPQInstPri->fpPQ_Ex_GetVersion(pInstance,pPQArgs->eWindow);
1428
1429 return UTOPIA_STATUS_SUCCESS;
1430 }
1431 case E_PQ_CMD_GET_ADAPTVIE_VERSION:
1432 {
1433 pstPQ_GetAdaptiveVersion pPQArgs = (pstPQ_GetAdaptiveVersion)pArgs;
1434 pPQArgs->bReturnValue = psPQInstPri->fpPQ_GetAdaptiveVersion(pInstance,pPQArgs->eWindow);
1435
1436 return UTOPIA_STATUS_SUCCESS;
1437 }
1438 case E_PQ_CMD_LOAD_UFSC_SETTING:
1439 {
1440 pstPQ_LoadUFSCSettings pPQArgs = (pstPQ_LoadUFSCSettings)pArgs;
1441 psPQInstPri->fpPQ_LoadUFSCSettings(pInstance,pPQArgs->eWindow);
1442
1443 return UTOPIA_STATUS_SUCCESS;
1444 }
1445 #if (ENABLE_PQ_BIN_CF)
1446 case E_PQ_CMD_LOAD_CF_SETTING:
1447 {
1448 pstPQ_LoadCFSettings pPQArgs = (pstPQ_LoadCFSettings)pArgs;
1449 psPQInstPri->fpPQ_LoadCFSettings(pInstance,pPQArgs->eWindow);
1450
1451 return UTOPIA_STATUS_SUCCESS;
1452 }
1453 #endif
1454 case E_PQ_CMD_LOAD_TABLE_EX:
1455 {
1456 pstPQ_LoadTable_Ex pPQArgs = (pstPQ_LoadTable_Ex)pArgs;
1457 psPQInstPri->fpPQ_LoadTable_Ex(pInstance,pPQArgs->eWindow,pPQArgs->u16TabIdx,pPQArgs->u16PQIPIdx,pPQArgs->ePQEngineType);
1458
1459 return UTOPIA_STATUS_SUCCESS;
1460 }
1461 case E_PQ_CMD_GET_TABLE_INDEX_EX:
1462 {
1463 pstPQ_GetTableIndex_Ex pPQArgs = (pstPQ_GetTableIndex_Ex)pArgs;
1464 pPQArgs->u16Ret = psPQInstPri->fpPQ_GetTableIndex_Ex(pInstance,pPQArgs->eWindow,pPQArgs->u16IPIdx,pPQArgs->ePQEngineType);
1465
1466 return UTOPIA_STATUS_SUCCESS;
1467 }
1468 case E_PQ_CMD_DEMO_CLONE_WINDOW:
1469 {
1470 pstPQ_Demo_CloneWindow pPQArgs = (pstPQ_Demo_CloneWindow)pArgs;
1471 pPQArgs->bRet = psPQInstPri->fpPQ_Demo_CloneWindow(pInstance, pPQArgs->eWindow,pPQArgs->u8Mode);
1472
1473 return UTOPIA_STATUS_SUCCESS;
1474 }
1475 case E_PQ_CMD_GET_GRULE_LV1NUM_EX:
1476 {
1477 pstPQ_GetGRule_LvlNum_Ex pPQArgs = (pstPQ_GetGRule_LvlNum_Ex)pArgs;
1478 pPQArgs->u16Ret = psPQInstPri->fpPQ_GetGRule_LvlNum_Ex(pInstance,pPQArgs->eWindow,pPQArgs->u16GRuleType,pPQArgs->ePQEngineType);
1479
1480 return UTOPIA_STATUS_SUCCESS;
1481 }
1482 case E_PQ_CMD_GET_GRULE_LEVELINDEX_EX:
1483 {
1484 pstPQ_GetGRule_LevelIndex_Ex pPQArgs = (pstPQ_GetGRule_LevelIndex_Ex)pArgs;
1485 pPQArgs->u16Ret = psPQInstPri->fpPQ_GetGRule_LevelIndex_Ex(pInstance,pPQArgs->eWindow,pPQArgs->u16GRuleType,pPQArgs->u16GRuleLevelIndex, pPQArgs->ePQEngineType);
1486
1487 return UTOPIA_STATUS_SUCCESS;
1488 }
1489 case E_PQ_CMD_GET_GRULE_IPINDEX_EX:
1490 {
1491 pstPQ_GetGRule_IPIndex_Ex pPQArgs = (pstPQ_GetGRule_IPIndex_Ex)pArgs;
1492 pPQArgs->u16Ret = psPQInstPri->fpPQ_GetGRule_IPIndex_Ex(pInstance,pPQArgs->eWindow,pPQArgs->u16GRuleType,pPQArgs->u16GRuleIPIndex, pPQArgs->ePQEngineType);
1493
1494 return UTOPIA_STATUS_SUCCESS;
1495 }
1496 case E_PQ_CMD_GET_GRULE_TABLEINDEX_EX:
1497 {
1498 pstPQ_GetGRule_TableIndex_Ex pPQArgs = (pstPQ_GetGRule_TableIndex_Ex)pArgs;
1499 pPQArgs->u16Ret = psPQInstPri->fpPQ_GetGRule_TableIndex_Ex(pInstance,pPQArgs->eWindow,pPQArgs->u16GRuleType,pPQArgs->u16PQ_NRIdx,pPQArgs->u16GRuleIPIndex, pPQArgs->ePQEngineType);
1500
1501 return UTOPIA_STATUS_SUCCESS;
1502 }
1503 case E_PQ_CMD_ENABLE_SCALER_GAMMA:
1504 {
1505 pstPQ_EnableScalerGamma pPQArgs = (pstPQ_EnableScalerGamma)pArgs;
1506 psPQInstPri->fpPQ_EnableScalerGamma(pInstance, pPQArgs->eWindow,pPQArgs->bEnable);
1507
1508 return UTOPIA_STATUS_SUCCESS;
1509 }
1510 case E_PQ_CMD_SET_GAMMA_TBl:
1511 {
1512 pstPQ_SetGammaTbl pPQArgs = (pstPQ_SetGammaTbl)pArgs;
1513 psPQInstPri->fpPQ_SetGammaTbl(pInstance, pPQArgs->enGammType,pPQArgs->pu8GammTable,pPQArgs->enGammaMappingMode);
1514
1515 return UTOPIA_STATUS_SUCCESS;
1516 }
1517 case E_PQ_CMD_SET_PQBYPASS:
1518 {
1519 pstPQ_Set_PqBypass pPQArgs = (pstPQ_Set_PqBypass)pArgs;
1520 pPQArgs->bReturnValue = psPQInstPri->fpPQ_Set_PqBypass(pInstance, pPQArgs->pstXC_SetWin_Info,pPQArgs->bEnable,pPQArgs->eWindow);
1521
1522 return UTOPIA_STATUS_SUCCESS;
1523 }
1524 case E_PQ_CMD_GET_PQBYPASS:
1525 {
1526 pstPQ_Get_PqBypass pPQArgs = (pstPQ_Get_PqBypass)pArgs;
1527 pPQArgs->bReturnValue = psPQInstPri->fpPQ_Get_PqBypass(pInstance, pPQArgs->eWindow);
1528
1529 return UTOPIA_STATUS_SUCCESS;
1530 }
1531 case E_PQ_CMD_SET_PQBIN_PATH:
1532 {
1533 pstPQ_SetPQBinPath pPQArgs = (pstPQ_SetPQBinPath)pArgs;
1534 psPQInstPri->fpPQ_Set_PqBin_Path(pInstance, pPQArgs->ePqBinPath, pPQArgs->u8size, pPQArgs->b_PQBinFilePath);
1535
1536 return UTOPIA_STATUS_SUCCESS;
1537 }
1538 //drvPQ_cus.c
1539 case E_PQ_CMD_LOAD_FILMMODE_TABLE:
1540 {
1541 pstPQ_LoadFilmModeTable pPQArgs = (pstPQ_LoadFilmModeTable)pArgs;
1542 psPQInstPri->fpPQ_LoadFilmModeTable(pInstance,pPQArgs->eWindow,pPQArgs->enFilmModeType);
1543
1544 return UTOPIA_STATUS_SUCCESS;
1545 }
1546 case E_PQ_CMD_LOAD_DYNAMIC_CONTRAST_TABLE:
1547 {
1548 pstPQ_LoadDynamicContrastTable pPQArgs = (pstPQ_LoadDynamicContrastTable)pArgs;
1549 psPQInstPri->fpPQ_LoadDynamicContrastTable(pInstance,pPQArgs->eWindow,pPQArgs->enDynamicContrastType);
1550
1551 return UTOPIA_STATUS_SUCCESS;
1552 }
1553 case E_PQ_CMD_LOAD_NR_TABLE:
1554 {
1555 pstPQ_LoadNRTable pPQArgs = (pstPQ_LoadNRTable)pArgs;
1556 psPQInstPri->fpPQ_LoadNRTable(pInstance,pPQArgs->eWindow,pPQArgs->en3DNRType);
1557
1558 return UTOPIA_STATUS_SUCCESS;
1559 }
1560 case E_PQ_CMD_LOAD_MPEG_NR_TABLE:
1561 {
1562 pstPQ_LoadMPEGNRTable pPQArgs = (pstPQ_LoadMPEGNRTable)pArgs;
1563 psPQInstPri->fpPQ_LoadMPEGNRTable(pInstance,pPQArgs->eWindow,pPQArgs->enMPEGNRType);
1564
1565 return UTOPIA_STATUS_SUCCESS;
1566 }
1567 case E_PQ_CMD_LOAD_ULTRACLEAR_TABLE:
1568 {
1569 pstPQ_Load_ULTRACLEAR_Table pPQArgs = (pstPQ_Load_ULTRACLEAR_Table)pArgs;
1570 psPQInstPri->fpPQ_Load_ULTRACLEAR_Table(pInstance,pPQArgs->eWindow,pPQArgs->enCtrlType);
1571
1572 return UTOPIA_STATUS_SUCCESS;
1573 }
1574 case E_PQ_CMD_LOAD_XVYCC_TABLE:
1575 {
1576 pstPQ_Load_XVYCC_Table pPQArgs = (pstPQ_Load_XVYCC_Table)pArgs;
1577 psPQInstPri->fpPQ_Load_XVYCC_Table(pInstance,pPQArgs->eWindow,pPQArgs->enXvyccType);
1578
1579 return UTOPIA_STATUS_SUCCESS;
1580 }
1581 case E_PQ_CMD_LOAD_HDR_TABLE:
1582 {
1583 pstPQ_Load_HDR_Table pPQArgs = (pstPQ_Load_HDR_Table)pArgs;
1584 psPQInstPri->fpPQ_Load_HDR_Table(pInstance,pPQArgs->eWindow,pPQArgs->enHdrMode);
1585
1586 return UTOPIA_STATUS_SUCCESS;
1587 }
1588 case E_PQ_CMD_GRULE_GET_SUPPORT_STATUS:
1589 {
1590 pstPQ_GRULE_Get_Support_Status pPQArgs = (pstPQ_GRULE_Get_Support_Status)pArgs;
1591 pPQArgs->bReturnValue = psPQInstPri->fpPQ_GRULE_Get_Support_Status(pInstance,pPQArgs->enType);
1592
1593 return UTOPIA_STATUS_SUCCESS;
1594 }
1595 case E_PQ_CMD_SET_MEMFORMAT:
1596 {
1597 pstPQ_SetMemFormat pPQArgs = (pstPQ_SetMemFormat)pArgs;
1598 pPQArgs->bReturnValue = psPQInstPri->fpPQ_SetMemFormat(pInstance,pPQArgs->eWindow,
1599 pPQArgs->bMemFmt422,
1600 pPQArgs->bFBL,
1601 pPQArgs->pu8BitsPerPixel);
1602
1603 return UTOPIA_STATUS_SUCCESS;
1604 }
1605 case E_PQ_CMD_REDUCEBW_ForOSD:
1606 {
1607 pstPQ_ReduceBW_ForOSD pPQArgs = (pstPQ_ReduceBW_ForOSD)pArgs;
1608 psPQInstPri->fpPQ_ReduceBW_ForOSD(pInstance,pPQArgs->eWindow, pPQArgs->bOSD_On);
1609
1610 return UTOPIA_STATUS_SUCCESS;
1611 }
1612 case E_PQ_CMD_LOAD_PTP_TABLE:
1613 {
1614 pstPQ_LoadPTPTable pPQArgs = (pstPQ_LoadPTPTable)pArgs;
1615 psPQInstPri->fpPQ_LoadPTPTable(pInstance,pPQArgs->eWindow, pPQArgs->enPTP_Type);
1616
1617 return UTOPIA_STATUS_SUCCESS;
1618 }
1619 case E_PQ_CMD_INIT_DISPLAY_TYPE:
1620 {
1621 pstPQ_Init_DisplayType pPQArgs = (pstPQ_Init_DisplayType)pArgs;
1622 psPQInstPri->fpPQ_Init_DisplayType(pInstance,pPQArgs->u16DisplayWidth, pPQArgs->enDisplaType);
1623
1624 return UTOPIA_STATUS_SUCCESS;
1625 }
1626 case E_PQ_CMD_SET_DISPLAY_TYPE:
1627 {
1628 pstPQ_Set_DisplayType pPQArgs = (pstPQ_Set_DisplayType)pArgs;
1629 psPQInstPri->fpPQ_Set_DisplayType(pInstance,pPQArgs->u16DisplayWidth, pPQArgs->enDisplaType);
1630
1631 return UTOPIA_STATUS_SUCCESS;
1632 }
1633 case E_PQ_CMD_GET_MADI_FROM_OSDBW_GRULE:
1634 {
1635 pstPQ_GetMADiFromOSDBWGrule pPQArgs = (pstPQ_GetMADiFromOSDBWGrule)pArgs;
1636 pPQArgs->bReturnValue = psPQInstPri->fpPQ_GetMADiFromOSDBWGrule(pInstance,pPQArgs->eWindow,
1637 pPQArgs->pu16TabIdx_MADi,
1638 pPQArgs->pu16TabIdx_MADi_Motion);
1639
1640 return UTOPIA_STATUS_SUCCESS;
1641 }
1642 case E_PQ_CMD_GET_MADI_IN_GENERAL:
1643 {
1644 pstPQ_GetMADiInGeneral pPQArgs = (pstPQ_GetMADiInGeneral)pArgs;
1645 pPQArgs->bReturnValue = psPQInstPri->fpPQ_GetMADiInGeneral(pInstance,pPQArgs->eWindow,
1646 pPQArgs->pu16TabIdx_MADi,
1647 pPQArgs->pu16TabIdx_MADi_Motion);
1648
1649 return UTOPIA_STATUS_SUCCESS;
1650 }
1651 case E_PQ_CMD_CHECK_POINT2POINT_CONDITION:
1652 {
1653 pstPQ_Check_PointToPoint_Condition pPQArgs = (pstPQ_Check_PointToPoint_Condition)pArgs;
1654 pPQArgs->bReturnValue = psPQInstPri->fpPQ_Check_PointToPoint_Condition(pInstance,pPQArgs->pstXC_SetWin_Info, pPQArgs->eWindow);
1655
1656 return UTOPIA_STATUS_SUCCESS;
1657 }
1658 case E_PQ_CMD_SET_POSTCCS_ONOFF:
1659 {
1660 pstPQ_SetPostCCSOnOff pPQArgs = (pstPQ_SetPostCCSOnOff)pArgs;
1661 pPQArgs->bReturnValue = psPQInstPri->fpPQ_SetPostCCSOnOff(pInstance, pPQArgs->eWindow ,pPQArgs->bEnable);
1662
1663 return UTOPIA_STATUS_SUCCESS;
1664 }
1665 case E_PQ_CMD_ADAPTIVE_TUNING:
1666 {
1667 psPQInstPri->fpPQ_AdaptiveTuning(pInstance);
1668
1669 return UTOPIA_STATUS_SUCCESS;
1670 }
1671 case E_PQ_CMD_FILMMODE_ANYCANDENCE_ENABLE:
1672 {
1673 pstPQ_FilmMode_AnyCandence_Enable pPQArgs = (pstPQ_FilmMode_AnyCandence_Enable)pArgs;
1674 psPQInstPri->fpPQ_FilmMode_AnyCandence_Enable(pInstance,pPQArgs->bEnable);
1675
1676 return UTOPIA_STATUS_SUCCESS;
1677 }
1678 case E_PQ_CMD_SETH264_ONOFF:
1679 {
1680 pstPQ_SetH264_OnOff pPQArgs = (pstPQ_SetH264_OnOff)pArgs;
1681 pPQArgs->bReturnValue = psPQInstPri->fpPQ_SetH264_OnOff(pInstance, pPQArgs->bEn);
1682
1683 return UTOPIA_STATUS_SUCCESS;
1684 }
1685 case E_PQ_CMD_SETG3D_ONOFF:
1686 {
1687 pstPQ_SetG3D_OnOff pPQArgs = (pstPQ_SetG3D_OnOff)pArgs;
1688 pPQArgs->bReturnValue = psPQInstPri->fpPQ_SetG3D_OnOff(pInstance, pPQArgs->bEn);
1689
1690 return UTOPIA_STATUS_SUCCESS;
1691 }
1692 case E_PQ_CMD_SETMVC4KX1K_ONOFF:
1693 {
1694 pstPQ_SetMVC4kx1k_OnOff pPQArgs = (pstPQ_SetMVC4kx1k_OnOff)pArgs;
1695 pPQArgs->bReturnValue = psPQInstPri->fpPQ_SetMVC4kx1k_OnOff(pInstance, pPQArgs->bEn);
1696
1697 return UTOPIA_STATUS_SUCCESS;
1698 }
1699 case E_PQ_CMD_SET_NETWORKMM_ONOFF:
1700 {
1701 pstPQ_SetNetworkMM_OnOff pPQArgs = (pstPQ_SetNetworkMM_OnOff)pArgs;
1702 pPQArgs->bReturnValue = psPQInstPri->fpPQ_SetNetworkMM_OnOff(pInstance, pPQArgs->bEn);
1703
1704 return UTOPIA_STATUS_SUCCESS;
1705 }
1706 case E_PQ_CMD_SETMM_ONOFF:
1707 {
1708 pstPQ_SetMM_OnOff pPQArgs = (pstPQ_SetMM_OnOff)pArgs;
1709 pPQArgs->bReturnValue = psPQInstPri->fpPQ_SetMM_OnOff(pInstance, pPQArgs->bEn);
1710
1711 return UTOPIA_STATUS_SUCCESS;
1712 }
1713 case E_PQ_CMD_SET_RMVB_ONOFF:
1714 {
1715 pstPQ_SetRmvb_OnOff pPQArgs = (pstPQ_SetRmvb_OnOff)pArgs;
1716 pPQArgs->bReturnValue = psPQInstPri->fpPQ_SetRmvb_OnOff(pInstance, pPQArgs->bEn ,pPQArgs->ePQWindow);
1717
1718 return UTOPIA_STATUS_SUCCESS;
1719 }
1720 case E_PQ_CMD_SET_VIPBYPASS_ONOFF:
1721 {
1722 pstPQ_SetVIPBypass_OnOff pPQArgs = (pstPQ_SetVIPBypass_OnOff)pArgs;
1723 pPQArgs->bReturnValue = psPQInstPri->fpPQ_SetVIPBypass_OnOff(pInstance, pPQArgs->bEnable ,pPQArgs->eWindow);
1724
1725 return UTOPIA_STATUS_SUCCESS;
1726 }
1727 case E_PQ_CMD_SET_PEAKING_ONOFF:
1728 {
1729 pstPQ_SetPeaking_OnOff pPQArgs = (pstPQ_SetPeaking_OnOff)pArgs;
1730 pPQArgs->bReturnValue = psPQInstPri->fpPQ_SetPeaking_OnOff(pInstance, pPQArgs->bEnable ,pPQArgs->eWindow);
1731
1732 return UTOPIA_STATUS_SUCCESS;
1733 }
1734 case E_PQ_CMD_SET_FAKE_OUT_ENABLE:
1735 {
1736 pstPQ_SetFakeOutEnable pPQArgs = (pstPQ_SetFakeOutEnable)pArgs;
1737 pPQArgs->bReturnValue = psPQInstPri->fpPQ_SetFakeOutEnable(pInstance, pPQArgs->bEnable);
1738
1739 return UTOPIA_STATUS_SUCCESS;
1740 }
1741 //drvPQ_Text.c
1742 case E_PQ_CMD_GET_SRC_TYPE_NAME:
1743 {
1744 pstPQ_GetSrcTypeName pPQArgs = (pstPQ_GetSrcTypeName)pArgs;
1745 pPQArgs->u8Ret = psPQInstPri->fpPQ_GetSrcTypeName(pInstance,pPQArgs->eWindow);
1746
1747 return UTOPIA_STATUS_SUCCESS;
1748 }
1749 case E_PQ_CMD_GET_IP_NAME:
1750 {
1751 pstPQ_GetIPName pPQArgs = (pstPQ_GetIPName)pArgs;
1752 pPQArgs->u8Ret = psPQInstPri->fpPQ_GetIPName(pInstance,pPQArgs->u8PQIPIdx);
1753
1754 return UTOPIA_STATUS_SUCCESS;
1755 }
1756 case E_PQ_CMD_GET_TABLE_NAME:
1757 {
1758 pstPQ_GetTableName pPQArgs = (pstPQ_GetTableName)pArgs;
1759 pPQArgs->u8Ret = psPQInstPri->fpPQ_GetTableName(pInstance,pPQArgs->u8PQIPIdx,pPQArgs->u8TabIdx);
1760
1761 return UTOPIA_STATUS_SUCCESS;
1762 }
1763 case E_PQ_CMD_SET_1KTRAVELINGENABLE:
1764 {
1765 pstPQ_Set1KTravelingEnable pPQArgs = (pstPQ_Set1KTravelingEnable)pArgs;
1766 pPQArgs->bReturnValue = psPQInstPri->fpPQ_Set1KTravelingEnable(pInstance, pPQArgs->bEn);
1767
1768 return UTOPIA_STATUS_SUCCESS;
1769 }
1770 //drvbw.c
1771 case E_PQ_CMD_BW_LOAD_INIT_TABLE:
1772 {
1773 psPQInstPri->fpPQ_BW_LoadInitTable(pInstance);
1774
1775 return UTOPIA_STATUS_SUCCESS;
1776 }
1777 case E_PQ_CMD_BW_LOAD_TABLE_BY_CONTEXT:
1778 {
1779 pstPQ_BW_LoadTableByContext pPQArgs = (pstPQ_BW_LoadTableByContext)pArgs;
1780 psPQInstPri->fpPQ_BW_LoadTableByContext(pInstance,pPQArgs->eWindow);
1781
1782 return UTOPIA_STATUS_SUCCESS;
1783 }
1784 case E_PQ_CMD_BW_CUSMODE_LOADTABLE:
1785 {
1786 pstPQ_BW_CusMode_LoadTable pPQArgs = (pstPQ_BW_CusMode_LoadTable)pArgs;
1787 psPQInstPri->fpPQ_BW_CusMode_LoadTable(pInstance,pPQArgs->u8TabIdx);
1788
1789 return UTOPIA_STATUS_SUCCESS;
1790 }
1791 case E_PQ_CMD_BW_RESET_TO_DEFAULT:
1792 {
1793 psPQInstPri->fpPQ_BW_ResetToDefault(pInstance);
1794
1795 return UTOPIA_STATUS_SUCCESS;
1796 }
1797 case E_PQ_CMD_GETCONFIG:
1798 {
1799 pstPQ_GetConfig pPQArgs = (pstPQ_GetConfig)pArgs;
1800 pPQArgs->eRet = psPQInstPri->fpPQ_GetConfig(pInstance, pPQArgs->pstPQInitInfo);
1801
1802 return UTOPIA_STATUS_SUCCESS;
1803 }
1804 case E_PQ_CMD_SET_FRAMEBUFF_MODE:
1805 {
1806 pstPQ_SetFrameBuffMode pPQArgs = (pstPQ_SetFrameBuffMode)pArgs;
1807 psPQInstPri->fpPQ_SET_FrameBuff_Mode(pInstance, pPQArgs->bFrameBuffLess);
1808 return UTOPIA_STATUS_SUCCESS;
1809 }
1810 default:
1811 {
1812 printf("Error Command = %td\n", (ptrdiff_t) u32Cmd);
1813 break;
1814 }
1815 }
1816 #endif
1817 return UTOPIA_STATUS_FAIL;
1818 }
1819
PQClose(void * pInstance)1820 MS_U32 PQClose(void* pInstance)
1821 {
1822 #if 1
1823 UtopiaInstanceDelete(pInstance);
1824 #endif
1825 return UTOPIA_STATUS_SUCCESS;
1826 }
1827
1828 #endif
1829