1*53ee8cc1Swenshuai.xi #include "MsTypes.h"
2*53ee8cc1Swenshuai.xi #include "MsCommon.h"
3*53ee8cc1Swenshuai.xi #ifndef MSOS_TYPE_LINUX_KERNEL
4*53ee8cc1Swenshuai.xi #include <stdio.h>
5*53ee8cc1Swenshuai.xi #include <string.h>
6*53ee8cc1Swenshuai.xi #endif
7*53ee8cc1Swenshuai.xi
8*53ee8cc1Swenshuai.xi #include "utopia_dapi.h"
9*53ee8cc1Swenshuai.xi #include "apiXC_Ace.h"
10*53ee8cc1Swenshuai.xi #include "drvACE.h"
11*53ee8cc1Swenshuai.xi #include "ACE_private.h"
12*53ee8cc1Swenshuai.xi #include "apiXC_Ace_v2.h"
13*53ee8cc1Swenshuai.xi #include "utopia.h"
14*53ee8cc1Swenshuai.xi
15*53ee8cc1Swenshuai.xi #define MWE_TIMER 60
16*53ee8cc1Swenshuai.xi #define MWE_H_STEP 6
17*53ee8cc1Swenshuai.xi #define MWE_MOVE_RIGHT 1
18*53ee8cc1Swenshuai.xi #define MWE_MOVE_LEFT 0
19*53ee8cc1Swenshuai.xi
20*53ee8cc1Swenshuai.xi // ========== Global definition ==========
21*53ee8cc1Swenshuai.xi void* pModuleACE = NULL;
22*53ee8cc1Swenshuai.xi #ifdef MSOS_TYPE_LINUX_KERNEL
23*53ee8cc1Swenshuai.xi void* pInstanceACEStr = NULL;
ACEStr(MS_U32 u32PowerState,void * pModule)24*53ee8cc1Swenshuai.xi MS_U32 ACEStr(MS_U32 u32PowerState, void* pModule)
25*53ee8cc1Swenshuai.xi {
26*53ee8cc1Swenshuai.xi MS_U32 u32Return=UTOPIA_STATUS_FAIL;
27*53ee8cc1Swenshuai.xi stACE_Set_PowerState ACEArgs;
28*53ee8cc1Swenshuai.xi
29*53ee8cc1Swenshuai.xi switch(u32PowerState)
30*53ee8cc1Swenshuai.xi {
31*53ee8cc1Swenshuai.xi case E_POWER_SUSPEND:
32*53ee8cc1Swenshuai.xi if (pInstanceACEStr == NULL)
33*53ee8cc1Swenshuai.xi {
34*53ee8cc1Swenshuai.xi if(UtopiaOpen(MODULE_ACE, &pInstanceACEStr, 0, NULL) != UTOPIA_STATUS_SUCCESS)
35*53ee8cc1Swenshuai.xi {
36*53ee8cc1Swenshuai.xi printf("UtopiaOpen ACE failed\n");
37*53ee8cc1Swenshuai.xi return UTOPIA_STATUS_FAIL;
38*53ee8cc1Swenshuai.xi }
39*53ee8cc1Swenshuai.xi }
40*53ee8cc1Swenshuai.xi ACEArgs.enPowerState = u32PowerState;
41*53ee8cc1Swenshuai.xi ACEArgs.u32Return = UTOPIA_STATUS_FAIL;
42*53ee8cc1Swenshuai.xi if(UtopiaIoctl(pInstanceACEStr, E_ACE_CMD_SET_POWERSTATE, (void*)&ACEArgs) != UTOPIA_STATUS_SUCCESS)
43*53ee8cc1Swenshuai.xi {
44*53ee8cc1Swenshuai.xi printf("Obtain ACE engine fail\n");
45*53ee8cc1Swenshuai.xi }
46*53ee8cc1Swenshuai.xi u32Return=ACEArgs.u32Return;
47*53ee8cc1Swenshuai.xi break;
48*53ee8cc1Swenshuai.xi case E_POWER_RESUME:
49*53ee8cc1Swenshuai.xi if (pInstanceACEStr == NULL)
50*53ee8cc1Swenshuai.xi {
51*53ee8cc1Swenshuai.xi if(UtopiaOpen(MODULE_ACE, &pInstanceACEStr, 0, NULL) != UTOPIA_STATUS_SUCCESS)
52*53ee8cc1Swenshuai.xi {
53*53ee8cc1Swenshuai.xi printf("UtopiaOpen ACE failed\n");
54*53ee8cc1Swenshuai.xi return UTOPIA_STATUS_FAIL;
55*53ee8cc1Swenshuai.xi }
56*53ee8cc1Swenshuai.xi }
57*53ee8cc1Swenshuai.xi ACEArgs.enPowerState = u32PowerState;
58*53ee8cc1Swenshuai.xi ACEArgs.u32Return = UTOPIA_STATUS_FAIL;
59*53ee8cc1Swenshuai.xi if(UtopiaIoctl(pInstanceACEStr, E_ACE_CMD_SET_POWERSTATE, (void*)&ACEArgs) != UTOPIA_STATUS_SUCCESS)
60*53ee8cc1Swenshuai.xi {
61*53ee8cc1Swenshuai.xi printf("Obtain ACE engine fail\n");
62*53ee8cc1Swenshuai.xi }
63*53ee8cc1Swenshuai.xi u32Return=ACEArgs.u32Return;
64*53ee8cc1Swenshuai.xi break;
65*53ee8cc1Swenshuai.xi default:
66*53ee8cc1Swenshuai.xi printf("[%s][%d] PowerState:%lx not Implement now!!!\n",__FUNCTION__,__LINE__,u32PowerState);
67*53ee8cc1Swenshuai.xi break;
68*53ee8cc1Swenshuai.xi }
69*53ee8cc1Swenshuai.xi return u32Return;
70*53ee8cc1Swenshuai.xi }
71*53ee8cc1Swenshuai.xi #endif
72*53ee8cc1Swenshuai.xi
ACERegisterToUtopia(FUtopiaOpen ModuleType)73*53ee8cc1Swenshuai.xi void ACERegisterToUtopia(FUtopiaOpen ModuleType)
74*53ee8cc1Swenshuai.xi {
75*53ee8cc1Swenshuai.xi MS_U32 u32ResourceStatusCheck[E_ACE_POOL_ID_MAX] = {0};
76*53ee8cc1Swenshuai.xi // 1. deal with module
77*53ee8cc1Swenshuai.xi UtopiaModuleCreate(MODULE_ACE, 0, &pModuleACE);
78*53ee8cc1Swenshuai.xi UtopiaModuleRegister(pModuleACE);
79*53ee8cc1Swenshuai.xi // register func for module, after register here, then ap call UtopiaOpen/UtopiaIoctl/UtopiaClose can call to these registered standard func
80*53ee8cc1Swenshuai.xi UtopiaModuleSetupFunctionPtr(pModuleACE, (FUtopiaOpen)ACEOpen, (FUtopiaClose)ACEClose, (FUtopiaIOctl)ACEIoctl);
81*53ee8cc1Swenshuai.xi
82*53ee8cc1Swenshuai.xi // 2. deal with resource , ACE
83*53ee8cc1Swenshuai.xi void* psResource = NULL;
84*53ee8cc1Swenshuai.xi #if defined(MSOS_TYPE_LINUX_KERNEL)
85*53ee8cc1Swenshuai.xi UtopiaModuleSetupSTRFunctionPtr(pModuleACE, (FUtopiaSTR)ACEStr);
86*53ee8cc1Swenshuai.xi UtopiaModuleSetSTRPrivate(pModuleACE, sizeof(ACE_REGS_SAVE_AREA));
87*53ee8cc1Swenshuai.xi #endif
88*53ee8cc1Swenshuai.xi // 3. resource can allocate private for internal use
89*53ee8cc1Swenshuai.xi MS_U32 u32MaxDeviceNum = _XC_ACE_GET_DEVICE_NUM();
90*53ee8cc1Swenshuai.xi MS_U32 i = 0;
91*53ee8cc1Swenshuai.xi for(i = 0 ; i < u32MaxDeviceNum ; i++)
92*53ee8cc1Swenshuai.xi {
93*53ee8cc1Swenshuai.xi //Need refine
94*53ee8cc1Swenshuai.xi if(i == 0)
95*53ee8cc1Swenshuai.xi {
96*53ee8cc1Swenshuai.xi UtopiaModuleAddResourceStart(pModuleACE, E_ACE_POOL_ID_INTERNAL);
97*53ee8cc1Swenshuai.xi u32ResourceStatusCheck[E_ACE_POOL_ID_INTERNAL] = UtopiaResourceCreate("ACE0", sizeof(ACE_RESOURCE_PRIVATE), &psResource);
98*53ee8cc1Swenshuai.xi UtopiaResourceRegister(pModuleACE, psResource, E_ACE_POOL_ID_INTERNAL);
99*53ee8cc1Swenshuai.xi UtopiaModuleAddResourceEnd(pModuleACE, E_ACE_POOL_ID_INTERNAL);
100*53ee8cc1Swenshuai.xi }
101*53ee8cc1Swenshuai.xi else
102*53ee8cc1Swenshuai.xi {
103*53ee8cc1Swenshuai.xi UtopiaModuleAddResourceStart(pModuleACE, E_ACE_POOL_ID_INTERNAL_1);
104*53ee8cc1Swenshuai.xi u32ResourceStatusCheck[E_ACE_POOL_ID_INTERNAL_1] = UtopiaResourceCreate("ACE1", sizeof(ACE_RESOURCE_PRIVATE), &psResource);
105*53ee8cc1Swenshuai.xi UtopiaResourceRegister(pModuleACE, psResource, E_ACE_POOL_ID_INTERNAL_1);
106*53ee8cc1Swenshuai.xi UtopiaModuleAddResourceEnd(pModuleACE, E_ACE_POOL_ID_INTERNAL_1);
107*53ee8cc1Swenshuai.xi }
108*53ee8cc1Swenshuai.xi }
109*53ee8cc1Swenshuai.xi
110*53ee8cc1Swenshuai.xi
111*53ee8cc1Swenshuai.xi //4. init resource private members here (aka, global variable)
112*53ee8cc1Swenshuai.xi ACE_RESOURCE_PRIVATE* pACEResourcePrivate = NULL;
113*53ee8cc1Swenshuai.xi UtopiaResourceGetPrivate(psResource,(void**)(&pACEResourcePrivate));
114*53ee8cc1Swenshuai.xi
115*53ee8cc1Swenshuai.xi // shall we init first?
116*53ee8cc1Swenshuai.xi if (u32ResourceStatusCheck[E_ACE_POOL_ID_INTERNAL] == UTOPIA_STATUS_SHM_EXIST)
117*53ee8cc1Swenshuai.xi {
118*53ee8cc1Swenshuai.xi // do nothing, since it is already inited
119*53ee8cc1Swenshuai.xi }
120*53ee8cc1Swenshuai.xi else
121*53ee8cc1Swenshuai.xi {
122*53ee8cc1Swenshuai.xi // Init flow control related variables here. Other global variable should be
123*53ee8cc1Swenshuai.xi // inited in each of its init function relatively.
124*53ee8cc1Swenshuai.xi pACEResourcePrivate->bResourceRegistered = TRUE;
125*53ee8cc1Swenshuai.xi pACEResourcePrivate->stapiACE.g_bACEModuleInited[0] = FALSE;
126*53ee8cc1Swenshuai.xi pACEResourcePrivate->stapiACE.g_bACEModuleInited[1] = FALSE;
127*53ee8cc1Swenshuai.xi
128*53ee8cc1Swenshuai.xi // apiPNL.c
129*53ee8cc1Swenshuai.xi pACEResourcePrivate->stapiACE._MWEFunc = E_XC_ACE_MWE_MODE_OFF;
130*53ee8cc1Swenshuai.xi pACEResourcePrivate->stapiACE._MWETimer = 0;
131*53ee8cc1Swenshuai.xi pACEResourcePrivate->stapiACE._MWEFlag = MWE_MOVE_LEFT;
132*53ee8cc1Swenshuai.xi //pACEResourcePrivate->stapiACE.bMWEStatus = FALSE;
133*53ee8cc1Swenshuai.xi //pACEResourcePrivate->stapiACE.gMWERect;
134*53ee8cc1Swenshuai.xi //pACEResourcePrivate->stapiACE.g_XC_ACE_InitData = DISABLE;
135*53ee8cc1Swenshuai.xi //pACEResourcePrivate->stapiACE._bMWESkipDriverSetting = FALSE;
136*53ee8cc1Swenshuai.xi //pACEResourcePrivate->stapiACE._enMirrorMode = E_XC_ACE_MWE_MIRROR_NORMAL;
137*53ee8cc1Swenshuai.xi //pACEResourcePrivate->stapiACE.g_u8MotionStableCnt = 0;
138*53ee8cc1Swenshuai.xi //pACEResourcePrivate->stapiACE.g_u8LumaStableCnt = 0;
139*53ee8cc1Swenshuai.xi //pACEResourcePrivate->stapiACE.g_u8FlickStableCnt = 0;
140*53ee8cc1Swenshuai.xi }
141*53ee8cc1Swenshuai.xi
142*53ee8cc1Swenshuai.xi
143*53ee8cc1Swenshuai.xi
144*53ee8cc1Swenshuai.xi }
145*53ee8cc1Swenshuai.xi
ACEOpen(void ** ppInstance,const void * const pAttribute)146*53ee8cc1Swenshuai.xi MS_U32 ACEOpen(void** ppInstance, const void* const pAttribute)
147*53ee8cc1Swenshuai.xi {
148*53ee8cc1Swenshuai.xi ACE_INSTANCE_PRIVATE *psACEInstPri = NULL;
149*53ee8cc1Swenshuai.xi UtopiaInstanceCreate(sizeof(ACE_INSTANCE_PRIVATE), ppInstance);
150*53ee8cc1Swenshuai.xi UtopiaInstanceGetPrivate(*ppInstance, (void**)&psACEInstPri);
151*53ee8cc1Swenshuai.xi if(pAttribute != NULL)
152*53ee8cc1Swenshuai.xi {
153*53ee8cc1Swenshuai.xi MS_U32* u32Attr = (MS_U32*)pAttribute;
154*53ee8cc1Swenshuai.xi psACEInstPri->u32DeviceID = *u32Attr;
155*53ee8cc1Swenshuai.xi }
156*53ee8cc1Swenshuai.xi else
157*53ee8cc1Swenshuai.xi {
158*53ee8cc1Swenshuai.xi psACEInstPri->u32DeviceID = 0;
159*53ee8cc1Swenshuai.xi }
160*53ee8cc1Swenshuai.xi psACEInstPri->fpACE_Init = MApi_XC_ACE_Init_U2;
161*53ee8cc1Swenshuai.xi psACEInstPri->fpACE_Exit = MApi_XC_ACE_Exit_U2;
162*53ee8cc1Swenshuai.xi psACEInstPri->fpACE_DMS = MApi_XC_ACE_DMS_U2;
163*53ee8cc1Swenshuai.xi psACEInstPri->fpACE_SetPCYUV2RGB = MApi_XC_ACE_SetPCYUV2RGB_U2;
164*53ee8cc1Swenshuai.xi psACEInstPri->fpACE_SelectYUVtoRGBMatrix = MApi_XC_ACE_SelectYUVtoRGBMatrix_U2;
165*53ee8cc1Swenshuai.xi psACEInstPri->fpACE_SetColorCorrectionTable = MApi_XC_ACE_SetColorCorrectionTable_U2;
166*53ee8cc1Swenshuai.xi psACEInstPri->fpACE_SetPCsRGBTable = MApi_XC_ACE_SetPCsRGBTable_U2;
167*53ee8cc1Swenshuai.xi psACEInstPri->fpACE_GetColorMatrix = MApi_XC_ACE_GetColorMatrix_U2;
168*53ee8cc1Swenshuai.xi psACEInstPri->fpACE_SetColorMatrix = MApi_XC_ACE_SetColorMatrix_U2;
169*53ee8cc1Swenshuai.xi psACEInstPri->fpACE_SetBypassColorMatrix = MApi_XC_ACE_SetBypassColorMatrix_U2;
170*53ee8cc1Swenshuai.xi psACEInstPri->fpACE_SetIHC = MApi_XC_ACE_SetIHC_U2;
171*53ee8cc1Swenshuai.xi psACEInstPri->fpACE_SetICC = MApi_XC_ACE_SetICC_U2;
172*53ee8cc1Swenshuai.xi psACEInstPri->fpACE_SetIBC = MApi_XC_ACE_SetIBC_U2;
173*53ee8cc1Swenshuai.xi psACEInstPri->fpACE_PatchDTGColorChecker = MApi_XC_ACE_PatchDTGColorChecker_U2;
174*53ee8cc1Swenshuai.xi psACEInstPri->fpACE_GetACEInfo = MApi_XC_ACE_GetACEInfo_U2;
175*53ee8cc1Swenshuai.xi psACEInstPri->fpACE_GetACEInfoEx = MApi_XC_ACE_GetACEInfoEx_U2;
176*53ee8cc1Swenshuai.xi psACEInstPri->fpACE_PicSetContrast = MApi_XC_ACE_PicSetContrast_U2;
177*53ee8cc1Swenshuai.xi psACEInstPri->fpACE_PicSetBrightness = MApi_XC_ACE_PicSetBrightness_U2;
178*53ee8cc1Swenshuai.xi psACEInstPri->fpACE_PicSetBrightnessPrecise = MApi_XC_ACE_PicSetBrightnessPrecise_U2;
179*53ee8cc1Swenshuai.xi psACEInstPri->fpACE_PicSetPreYOffset = MApi_XC_ACE_PicSetPreYOffset_U2;
180*53ee8cc1Swenshuai.xi psACEInstPri->fpACE_PicGetPreYOffset = MApi_XC_ACE_PicGetPreYOffset_U2;
181*53ee8cc1Swenshuai.xi psACEInstPri->fpACE_PicSetHue = MApi_XC_ACE_PicSetHue_U2;
182*53ee8cc1Swenshuai.xi psACEInstPri->fpACE_SkipWaitVsync = MApi_XC_ACE_SkipWaitVsync_U2;
183*53ee8cc1Swenshuai.xi psACEInstPri->fpACE_PicSetSaturation = MApi_XC_ACE_PicSetSaturation_U2;
184*53ee8cc1Swenshuai.xi psACEInstPri->fpACE_PicSetSharpness = MApi_XC_ACE_PicSetSharpness_U2;
185*53ee8cc1Swenshuai.xi psACEInstPri->fpACE_PicSetColorTemp = MApi_XC_ACE_PicSetColorTemp_U2;
186*53ee8cc1Swenshuai.xi psACEInstPri->fpACE_PicSetColorTempEx = MApi_XC_ACE_PicSetColorTempEx_U2;
187*53ee8cc1Swenshuai.xi psACEInstPri->fpACE_PicSetColorTemp_10Bits = MApi_XC_ACE_PicSetColorTemp_10Bits_U2;
188*53ee8cc1Swenshuai.xi psACEInstPri->fpACE_PicSetPostColorTemp_V02 = MApi_XC_ACE_PicSetPostColorTemp_V02_U2;
189*53ee8cc1Swenshuai.xi psACEInstPri->fpACE_SetFleshTone = MApi_XC_ACE_SetFleshTone_U2;
190*53ee8cc1Swenshuai.xi psACEInstPri->fpACE_SetBlackAdjust = MApi_XC_ACE_SetBlackAdjust_U2;
191*53ee8cc1Swenshuai.xi psACEInstPri->fpACE_Set_IHC_SRAM = MApi_XC_ACE_Set_IHC_SRAM_U2;
192*53ee8cc1Swenshuai.xi psACEInstPri->fpACE_Set_ICC_SRAM = MApi_XC_ACE_Set_ICC_SRAM_U2;
193*53ee8cc1Swenshuai.xi psACEInstPri->fpACE_EnableMWE = MApi_XC_ACE_EnableMWE_U2;
194*53ee8cc1Swenshuai.xi psACEInstPri->fpACE_MWECloneVisualEffect = MApi_XC_ACE_MWECloneVisualEffect_U2;
195*53ee8cc1Swenshuai.xi psACEInstPri->fpACE_MWESetRegTable = MApi_XC_ACE_MWESetRegTable_U2;
196*53ee8cc1Swenshuai.xi psACEInstPri->fpACE_SetMWELoadFromPQ = MApi_XC_ACE_SetMWELoadFromPQ_U2;
197*53ee8cc1Swenshuai.xi psACEInstPri->fpACE_MWEStatus = MApi_XC_ACE_MWEStatus_U2;
198*53ee8cc1Swenshuai.xi psACEInstPri->fpACE_MWEHandle = MApi_XC_ACE_MWEHandle_U2;
199*53ee8cc1Swenshuai.xi psACEInstPri->fpACE_MWEFuncSel = MApi_XC_ACE_MWEFuncSel_U2;
200*53ee8cc1Swenshuai.xi psACEInstPri->fpACE_MWESetDispWin = MApi_XC_ACE_MWESetDispWin_U2;
201*53ee8cc1Swenshuai.xi psACEInstPri->fpACE_3DClonePQMap = MApi_XC_ACE_3DClonePQMap_U2;
202*53ee8cc1Swenshuai.xi psACEInstPri->fpACE_DNR_Blending_NRTbl = MApi_XC_ACE_DNR_Blending_NRTbl_U2;
203*53ee8cc1Swenshuai.xi psACEInstPri->fpACE_DNR_Blending_MISC = MApi_XC_ACE_DNR_Blending_MISC_U2;
204*53ee8cc1Swenshuai.xi psACEInstPri->fpACE_DNR_Blending = MApi_XC_ACE_DNR_Blending_U2;
205*53ee8cc1Swenshuai.xi psACEInstPri->fpACE_DNR_Get_PrecisionShift = MApi_XC_ACE_DNR_Get_PrecisionShift_U2;
206*53ee8cc1Swenshuai.xi psACEInstPri->fpACE_DNR_GetMotion_Weight = MApi_XC_ACE_DNR_GetMotion_Weight_U2;
207*53ee8cc1Swenshuai.xi psACEInstPri->fpACE_DNR_GetLuma_Weight = MApi_XC_ACE_DNR_GetLuma_Weight_U2;
208*53ee8cc1Swenshuai.xi psACEInstPri->fpACE_DNR_GetNoise_Weight = MApi_XC_ACE_DNR_GetNoise_Weight_U2;
209*53ee8cc1Swenshuai.xi psACEInstPri->fpACE_DNR_GetMotion = MApi_XC_ACE_DNR_GetMotion_U2;
210*53ee8cc1Swenshuai.xi psACEInstPri->fpACE_DNR_Init_Motion = MApi_XC_ACE_DNR_Init_Motion_U2;
211*53ee8cc1Swenshuai.xi psACEInstPri->fpACE_DNR_Init_Luma = MApi_XC_ACE_DNR_Init_Luma_U2;
212*53ee8cc1Swenshuai.xi psACEInstPri->fpACE_DNR_Init_Noise = MApi_XC_ACE_DNR_Init_Noise_U2;
213*53ee8cc1Swenshuai.xi psACEInstPri->fpACE_DNR_SetParam = MApi_XC_ACE_DNR_SetParam_U2;
214*53ee8cc1Swenshuai.xi psACEInstPri->fpACE_DNR_GetParam = MApi_XC_ACE_DNR_GetParam_U2;
215*53ee8cc1Swenshuai.xi psACEInstPri->fpACE_DNR_SetNRTbl = MApi_XC_ACE_DNR_SetNRTbl_U2;
216*53ee8cc1Swenshuai.xi psACEInstPri->fpACE_GetLibVer = MApi_XC_ACE_GetLibVer_U2;
217*53ee8cc1Swenshuai.xi psACEInstPri->fpACE_GetInfo = MApi_XC_ACE_GetInfo_U2;
218*53ee8cc1Swenshuai.xi psACEInstPri->fpACE_GetStatus = MApi_XC_ACE_GetStatus_U2;
219*53ee8cc1Swenshuai.xi psACEInstPri->fpACE_SetDbgLevel = MApi_XC_ACE_SetDbgLevel_U2;
220*53ee8cc1Swenshuai.xi psACEInstPri->fpACE_ColorCorrectionTable = MApi_XC_ACE_ColorCorrectionTable_U2;
221*53ee8cc1Swenshuai.xi psACEInstPri->fpACE_SetColorMatrixControl = MApi_XC_ACE_SetColorMatrixControl_U2;
222*53ee8cc1Swenshuai.xi psACEInstPri->fpACE_SetRBChannelRange = MApi_XC_ACE_SetRBChannelRange_U2;
223*53ee8cc1Swenshuai.xi psACEInstPri->fpACE_PicSetPostColorTemp = MApi_XC_ACE_PicSetPostColorTemp_U2;
224*53ee8cc1Swenshuai.xi psACEInstPri->fpACE_PicSetPostColorTempEx = MApi_XC_ACE_PicSetPostColorTempEx_U2;
225*53ee8cc1Swenshuai.xi psACEInstPri->fpACE_PicSetPostColorTemp2 = MApi_XC_ACE_PicSetPostColorTemp2_U2;
226*53ee8cc1Swenshuai.xi psACEInstPri->fpACE_PicSetPostColorTemp2Ex = MApi_XC_ACE_PicSetPostColorTemp2Ex_U2;
227*53ee8cc1Swenshuai.xi psACEInstPri->fpACE_SetPowerState = MApi_XC_ACE_SetPowerState_U2;
228*53ee8cc1Swenshuai.xi psACEInstPri->fpACE_SetHDRInit = MApi_XC_ACE_SetHDRInit_U2;
229*53ee8cc1Swenshuai.xi return UTOPIA_STATUS_SUCCESS;
230*53ee8cc1Swenshuai.xi }
231*53ee8cc1Swenshuai.xi
232*53ee8cc1Swenshuai.xi
ACEIoctl(void * pInstance,MS_U32 u32Cmd,void * pArgs)233*53ee8cc1Swenshuai.xi MS_U32 ACEIoctl(void* pInstance, MS_U32 u32Cmd, void* pArgs)
234*53ee8cc1Swenshuai.xi {
235*53ee8cc1Swenshuai.xi void* pModule = NULL;
236*53ee8cc1Swenshuai.xi ACE_INSTANCE_PRIVATE* psACEInstPri = NULL;
237*53ee8cc1Swenshuai.xi UtopiaInstanceGetPrivate(pInstance, (void*)&psACEInstPri);
238*53ee8cc1Swenshuai.xi UtopiaInstanceGetModule(pInstance, &pModule);
239*53ee8cc1Swenshuai.xi //printf("[%s,%5d] u32Cmd type = %ld\n",__FUNCTION__,__LINE__,u32Cmd);
240*53ee8cc1Swenshuai.xi
241*53ee8cc1Swenshuai.xi switch(u32Cmd)
242*53ee8cc1Swenshuai.xi {
243*53ee8cc1Swenshuai.xi case E_ACE_CMD_INIT:
244*53ee8cc1Swenshuai.xi {
245*53ee8cc1Swenshuai.xi pstACE_Init pACEArgs = (pstACE_Init)pArgs;
246*53ee8cc1Swenshuai.xi pACEArgs->bReturn = psACEInstPri->fpACE_Init(pInstance, pACEArgs->pstXC_ACE_InitData, pACEArgs->u32InitDataLen);
247*53ee8cc1Swenshuai.xi return UTOPIA_STATUS_SUCCESS;
248*53ee8cc1Swenshuai.xi break;
249*53ee8cc1Swenshuai.xi }
250*53ee8cc1Swenshuai.xi case E_ACE_CMD_EXIT:
251*53ee8cc1Swenshuai.xi {
252*53ee8cc1Swenshuai.xi pstACE_Exit pACEArgs = (pstACE_Exit)pArgs;
253*53ee8cc1Swenshuai.xi pACEArgs->bReturn = psACEInstPri->fpACE_Exit(pInstance);
254*53ee8cc1Swenshuai.xi
255*53ee8cc1Swenshuai.xi return UTOPIA_STATUS_SUCCESS;
256*53ee8cc1Swenshuai.xi break;
257*53ee8cc1Swenshuai.xi }
258*53ee8cc1Swenshuai.xi case E_ACE_CMD_DMS:
259*53ee8cc1Swenshuai.xi {
260*53ee8cc1Swenshuai.xi pstACE_DMS pACEArgs = (pstACE_DMS)pArgs;
261*53ee8cc1Swenshuai.xi psACEInstPri->fpACE_DMS(pInstance, pACEArgs->eWindow, pACEArgs->bisATV);
262*53ee8cc1Swenshuai.xi
263*53ee8cc1Swenshuai.xi return UTOPIA_STATUS_SUCCESS;
264*53ee8cc1Swenshuai.xi break;
265*53ee8cc1Swenshuai.xi }
266*53ee8cc1Swenshuai.xi case E_ACE_CMD_SETPCYUV2RGB:
267*53ee8cc1Swenshuai.xi {
268*53ee8cc1Swenshuai.xi pstACE_SetPCYUV2RGB pACEArgs = (pstACE_SetPCYUV2RGB)pArgs;
269*53ee8cc1Swenshuai.xi psACEInstPri->fpACE_SetPCYUV2RGB(pInstance, pACEArgs->eWindow, pACEArgs->bEnable);
270*53ee8cc1Swenshuai.xi
271*53ee8cc1Swenshuai.xi return UTOPIA_STATUS_SUCCESS;
272*53ee8cc1Swenshuai.xi break;
273*53ee8cc1Swenshuai.xi }
274*53ee8cc1Swenshuai.xi case E_ACE_CMD_SELECTYUVTORGBMATRIX:
275*53ee8cc1Swenshuai.xi {
276*53ee8cc1Swenshuai.xi pstACE_SelectYUVtoRGBMatrix pACEArgs = (pstACE_SelectYUVtoRGBMatrix)pArgs;
277*53ee8cc1Swenshuai.xi psACEInstPri->fpACE_SelectYUVtoRGBMatrix(pInstance, pACEArgs->eWindow, pACEArgs->ucMatrix, pACEArgs->psUserYUVtoRGBMatrix);
278*53ee8cc1Swenshuai.xi
279*53ee8cc1Swenshuai.xi return UTOPIA_STATUS_SUCCESS;
280*53ee8cc1Swenshuai.xi break;
281*53ee8cc1Swenshuai.xi }
282*53ee8cc1Swenshuai.xi case E_ACE_CMD_SETCOLORCORRECTIONTABLE:
283*53ee8cc1Swenshuai.xi {
284*53ee8cc1Swenshuai.xi pstACE_SetColorCorrectionTable pACEArgs = (pstACE_SetColorCorrectionTable)pArgs;
285*53ee8cc1Swenshuai.xi psACEInstPri->fpACE_SetColorCorrectionTable(pInstance, pACEArgs->bScalerWin);
286*53ee8cc1Swenshuai.xi
287*53ee8cc1Swenshuai.xi return UTOPIA_STATUS_SUCCESS;
288*53ee8cc1Swenshuai.xi break;
289*53ee8cc1Swenshuai.xi }
290*53ee8cc1Swenshuai.xi case E_ACE_CMD_SETPCSRGBTABLE:
291*53ee8cc1Swenshuai.xi {
292*53ee8cc1Swenshuai.xi pstACE_SetPCsRGBTable pACEArgs = (pstACE_SetPCsRGBTable)pArgs;
293*53ee8cc1Swenshuai.xi psACEInstPri->fpACE_SetPCsRGBTable(pInstance, pACEArgs->bScalerWin);
294*53ee8cc1Swenshuai.xi
295*53ee8cc1Swenshuai.xi return UTOPIA_STATUS_SUCCESS;
296*53ee8cc1Swenshuai.xi break;
297*53ee8cc1Swenshuai.xi }
298*53ee8cc1Swenshuai.xi case E_ACE_CMD_GETCOLORMATRIX:
299*53ee8cc1Swenshuai.xi {
300*53ee8cc1Swenshuai.xi pstACE_ColorMatrix pACEArgs = (pstACE_ColorMatrix)pArgs;
301*53ee8cc1Swenshuai.xi psACEInstPri->fpACE_GetColorMatrix(pInstance, pACEArgs->eWindow, pACEArgs->pu16Matrix);
302*53ee8cc1Swenshuai.xi
303*53ee8cc1Swenshuai.xi return UTOPIA_STATUS_SUCCESS;
304*53ee8cc1Swenshuai.xi break;
305*53ee8cc1Swenshuai.xi }
306*53ee8cc1Swenshuai.xi case E_ACE_CMD_SETCOLORMATRIX:
307*53ee8cc1Swenshuai.xi {
308*53ee8cc1Swenshuai.xi pstACE_ColorMatrix pACEArgs = (pstACE_ColorMatrix)pArgs;
309*53ee8cc1Swenshuai.xi psACEInstPri->fpACE_SetColorMatrix(pInstance, pACEArgs->eWindow, pACEArgs->pu16Matrix);
310*53ee8cc1Swenshuai.xi
311*53ee8cc1Swenshuai.xi return UTOPIA_STATUS_SUCCESS;
312*53ee8cc1Swenshuai.xi break;
313*53ee8cc1Swenshuai.xi }
314*53ee8cc1Swenshuai.xi case E_ACE_CMD_SETBYPASSCOLORMATRIX:
315*53ee8cc1Swenshuai.xi {
316*53ee8cc1Swenshuai.xi pstACE_SetBypassColorMatrix pACEArgs = (pstACE_SetBypassColorMatrix)pArgs;
317*53ee8cc1Swenshuai.xi pACEArgs->eResult = psACEInstPri->fpACE_SetBypassColorMatrix(pInstance, pACEArgs->bEnable);
318*53ee8cc1Swenshuai.xi
319*53ee8cc1Swenshuai.xi return UTOPIA_STATUS_SUCCESS;
320*53ee8cc1Swenshuai.xi break;
321*53ee8cc1Swenshuai.xi }
322*53ee8cc1Swenshuai.xi case E_ACE_CMD_SETIHC:
323*53ee8cc1Swenshuai.xi {
324*53ee8cc1Swenshuai.xi pstACE_SetIHC pACEArgs = (pstACE_SetIHC)pArgs;
325*53ee8cc1Swenshuai.xi pACEArgs->bReturn = psACEInstPri->fpACE_SetIHC(pInstance, pACEArgs->bScalerWin, pACEArgs->eIHC, pACEArgs->u8Val);
326*53ee8cc1Swenshuai.xi
327*53ee8cc1Swenshuai.xi return UTOPIA_STATUS_SUCCESS;
328*53ee8cc1Swenshuai.xi break;
329*53ee8cc1Swenshuai.xi }
330*53ee8cc1Swenshuai.xi case E_ACE_CMD_SETICC:
331*53ee8cc1Swenshuai.xi {
332*53ee8cc1Swenshuai.xi pstACE_SetICC pACEArgs = (pstACE_SetICC)pArgs;
333*53ee8cc1Swenshuai.xi pACEArgs->bReturn = psACEInstPri->fpACE_SetICC(pInstance, pACEArgs->bScalerWin, pACEArgs->eICC, pACEArgs->u8Val);
334*53ee8cc1Swenshuai.xi
335*53ee8cc1Swenshuai.xi return UTOPIA_STATUS_SUCCESS;
336*53ee8cc1Swenshuai.xi break;
337*53ee8cc1Swenshuai.xi }
338*53ee8cc1Swenshuai.xi case E_ACE_CMD_SETIBC:
339*53ee8cc1Swenshuai.xi {
340*53ee8cc1Swenshuai.xi pstACE_SetIBC pACEArgs = (pstACE_SetIBC)pArgs;
341*53ee8cc1Swenshuai.xi pACEArgs->bReturn = psACEInstPri->fpACE_SetIBC(pInstance, pACEArgs->bScalerWin, pACEArgs->eIBC, pACEArgs->u8Val);
342*53ee8cc1Swenshuai.xi
343*53ee8cc1Swenshuai.xi return UTOPIA_STATUS_SUCCESS;
344*53ee8cc1Swenshuai.xi break;
345*53ee8cc1Swenshuai.xi }
346*53ee8cc1Swenshuai.xi case E_ACE_CMD_PATCHDTGCOLORCHECKER:
347*53ee8cc1Swenshuai.xi {
348*53ee8cc1Swenshuai.xi pstACE_PatchDTGColorChecker pACEArgs = (pstACE_PatchDTGColorChecker)pArgs;
349*53ee8cc1Swenshuai.xi psACEInstPri->fpACE_PatchDTGColorChecker(pInstance, pACEArgs->u8Mode);
350*53ee8cc1Swenshuai.xi
351*53ee8cc1Swenshuai.xi return UTOPIA_STATUS_SUCCESS;
352*53ee8cc1Swenshuai.xi break;
353*53ee8cc1Swenshuai.xi }
354*53ee8cc1Swenshuai.xi case E_ACE_CMD_GETACEINFO:
355*53ee8cc1Swenshuai.xi {
356*53ee8cc1Swenshuai.xi pstACE_GetACEInfo pACEArgs = (pstACE_GetACEInfo)pArgs;
357*53ee8cc1Swenshuai.xi pACEArgs->u16Return = psACEInstPri->fpACE_GetACEInfo(pInstance, pACEArgs->bWindow, pACEArgs->eXCACEInfoType);
358*53ee8cc1Swenshuai.xi
359*53ee8cc1Swenshuai.xi return UTOPIA_STATUS_SUCCESS;
360*53ee8cc1Swenshuai.xi break;
361*53ee8cc1Swenshuai.xi }
362*53ee8cc1Swenshuai.xi case E_ACE_CMD_GETACEINFOEX:
363*53ee8cc1Swenshuai.xi {
364*53ee8cc1Swenshuai.xi pstACE_GetACEInfoEx pACEArgs = (pstACE_GetACEInfoEx)pArgs;
365*53ee8cc1Swenshuai.xi psACEInstPri->fpACE_GetACEInfoEx(pInstance, pACEArgs->bWindow, pACEArgs->pInfoEx);
366*53ee8cc1Swenshuai.xi
367*53ee8cc1Swenshuai.xi return UTOPIA_STATUS_SUCCESS;
368*53ee8cc1Swenshuai.xi break;
369*53ee8cc1Swenshuai.xi }
370*53ee8cc1Swenshuai.xi case E_ACE_CMD_PICSETCONTRAST:
371*53ee8cc1Swenshuai.xi {
372*53ee8cc1Swenshuai.xi pstACE_PicSetContrast pACEArgs = (pstACE_PicSetContrast)pArgs;
373*53ee8cc1Swenshuai.xi psACEInstPri->fpACE_PicSetContrast(pInstance, pACEArgs->eWindow, pACEArgs->bUseYUVSpace, pACEArgs->u8Contrast);
374*53ee8cc1Swenshuai.xi
375*53ee8cc1Swenshuai.xi return UTOPIA_STATUS_SUCCESS;
376*53ee8cc1Swenshuai.xi break;
377*53ee8cc1Swenshuai.xi }
378*53ee8cc1Swenshuai.xi case E_ACE_CMD_PICSETBRIGHTNESS:
379*53ee8cc1Swenshuai.xi {
380*53ee8cc1Swenshuai.xi pstACE_PicSetBrightness pACEArgs = (pstACE_PicSetBrightness)pArgs;
381*53ee8cc1Swenshuai.xi psACEInstPri->fpACE_PicSetBrightness(pInstance, pACEArgs->eWindow, pACEArgs->u8Brightness_R, pACEArgs->u8Brightness_G, pACEArgs->u8Brightness_B);
382*53ee8cc1Swenshuai.xi
383*53ee8cc1Swenshuai.xi return UTOPIA_STATUS_SUCCESS;
384*53ee8cc1Swenshuai.xi break;
385*53ee8cc1Swenshuai.xi }
386*53ee8cc1Swenshuai.xi case E_ACE_CMD_PICSETBRIGHTNESSPRECISE:
387*53ee8cc1Swenshuai.xi {
388*53ee8cc1Swenshuai.xi pstACE_PicSetBrightnessPrecise pACEArgs = (pstACE_PicSetBrightnessPrecise)pArgs;
389*53ee8cc1Swenshuai.xi psACEInstPri->fpACE_PicSetBrightnessPrecise(pInstance, pACEArgs->eWindow, pACEArgs->u16Brightness_R, pACEArgs->u16Brightness_G, pACEArgs->u16Brightness_B);
390*53ee8cc1Swenshuai.xi
391*53ee8cc1Swenshuai.xi return UTOPIA_STATUS_SUCCESS;
392*53ee8cc1Swenshuai.xi break;
393*53ee8cc1Swenshuai.xi }
394*53ee8cc1Swenshuai.xi case E_ACE_CMD_PICSET_PRE_Y_OFFSET:
395*53ee8cc1Swenshuai.xi {
396*53ee8cc1Swenshuai.xi pstACE_PreYOffset pstACEArgs = (pstACE_PreYOffset)pArgs;
397*53ee8cc1Swenshuai.xi MS_BOOL bResult = psACEInstPri->fpACE_PicSetPreYOffset(pInstance, pstACEArgs->eWindow, pstACEArgs->u8PreYOffset);
398*53ee8cc1Swenshuai.xi
399*53ee8cc1Swenshuai.xi if (bResult)
400*53ee8cc1Swenshuai.xi {
401*53ee8cc1Swenshuai.xi return UTOPIA_STATUS_SUCCESS;
402*53ee8cc1Swenshuai.xi }
403*53ee8cc1Swenshuai.xi else
404*53ee8cc1Swenshuai.xi {
405*53ee8cc1Swenshuai.xi return UTOPIA_STATUS_FAIL;
406*53ee8cc1Swenshuai.xi }
407*53ee8cc1Swenshuai.xi }
408*53ee8cc1Swenshuai.xi case E_ACE_CMD_PICGET_PRE_Y_OFFSET:
409*53ee8cc1Swenshuai.xi {
410*53ee8cc1Swenshuai.xi pstACE_PreYOffset pstACEArgs = (pstACE_PreYOffset)pArgs;
411*53ee8cc1Swenshuai.xi pstACEArgs->u8PreYOffset = psACEInstPri->fpACE_PicGetPreYOffset(pInstance, pstACEArgs->eWindow);
412*53ee8cc1Swenshuai.xi
413*53ee8cc1Swenshuai.xi return UTOPIA_STATUS_SUCCESS;
414*53ee8cc1Swenshuai.xi }
415*53ee8cc1Swenshuai.xi case E_ACE_CMD_PICSETHUE:
416*53ee8cc1Swenshuai.xi {
417*53ee8cc1Swenshuai.xi pstACE_PicSetHue pACEArgs = (pstACE_PicSetHue)pArgs;
418*53ee8cc1Swenshuai.xi psACEInstPri->fpACE_PicSetHue(pInstance, pACEArgs->eWindow, pACEArgs->bUseYUVSpace, pACEArgs->u8Hue);
419*53ee8cc1Swenshuai.xi
420*53ee8cc1Swenshuai.xi return UTOPIA_STATUS_SUCCESS;
421*53ee8cc1Swenshuai.xi break;
422*53ee8cc1Swenshuai.xi }
423*53ee8cc1Swenshuai.xi case E_ACE_CMD_SKIPWAITVSYNC:
424*53ee8cc1Swenshuai.xi {
425*53ee8cc1Swenshuai.xi pstACE_SkipWaitVsync pACEArgs = (pstACE_SkipWaitVsync)pArgs;
426*53ee8cc1Swenshuai.xi pACEArgs->eResult = psACEInstPri->fpACE_SkipWaitVsync(pInstance, pACEArgs->eWindow, pACEArgs->bIsSkipWaitVsyn);
427*53ee8cc1Swenshuai.xi
428*53ee8cc1Swenshuai.xi return UTOPIA_STATUS_SUCCESS;
429*53ee8cc1Swenshuai.xi break;
430*53ee8cc1Swenshuai.xi }
431*53ee8cc1Swenshuai.xi case E_ACE_CMD_PICSETSATURATION:
432*53ee8cc1Swenshuai.xi {
433*53ee8cc1Swenshuai.xi pstACE_PicSetSaturation pACEArgs = (pstACE_PicSetSaturation)pArgs;
434*53ee8cc1Swenshuai.xi psACEInstPri->fpACE_PicSetSaturation(pInstance, pACEArgs->eWindow, pACEArgs->bUseYUVSpace, pACEArgs->u8Saturation);
435*53ee8cc1Swenshuai.xi
436*53ee8cc1Swenshuai.xi return UTOPIA_STATUS_SUCCESS;
437*53ee8cc1Swenshuai.xi break;
438*53ee8cc1Swenshuai.xi }
439*53ee8cc1Swenshuai.xi case E_ACE_CMD_PICSETSHARPNESS:
440*53ee8cc1Swenshuai.xi {
441*53ee8cc1Swenshuai.xi pstACE_PicSetSharpness pACEArgs = (pstACE_PicSetSharpness)pArgs;
442*53ee8cc1Swenshuai.xi psACEInstPri->fpACE_PicSetSharpness(pInstance, pACEArgs->eWindow, pACEArgs->u8Sharpness );
443*53ee8cc1Swenshuai.xi
444*53ee8cc1Swenshuai.xi return UTOPIA_STATUS_SUCCESS;
445*53ee8cc1Swenshuai.xi break;
446*53ee8cc1Swenshuai.xi }
447*53ee8cc1Swenshuai.xi case E_ACE_CMD_PICSETCOLORTEMP:
448*53ee8cc1Swenshuai.xi {
449*53ee8cc1Swenshuai.xi pstACE_PicSetColorTemp pACEArgs = (pstACE_PicSetColorTemp)pArgs;
450*53ee8cc1Swenshuai.xi psACEInstPri->fpACE_PicSetColorTemp(pInstance, pACEArgs->eWindow, pACEArgs->bUseYUVSpace, pACEArgs->pstColorTemp);
451*53ee8cc1Swenshuai.xi
452*53ee8cc1Swenshuai.xi return UTOPIA_STATUS_SUCCESS;
453*53ee8cc1Swenshuai.xi break;
454*53ee8cc1Swenshuai.xi }
455*53ee8cc1Swenshuai.xi case E_ACE_CMD_PICSETCOLORTEMPEX:
456*53ee8cc1Swenshuai.xi {
457*53ee8cc1Swenshuai.xi pstACE_PicSetColorTempEx pACEArgs = (pstACE_PicSetColorTempEx)pArgs;
458*53ee8cc1Swenshuai.xi psACEInstPri->fpACE_PicSetColorTempEx(pInstance, pACEArgs->eWindow, pACEArgs->bUseYUVSpace, pACEArgs->pstColorTemp);
459*53ee8cc1Swenshuai.xi
460*53ee8cc1Swenshuai.xi return UTOPIA_STATUS_SUCCESS;
461*53ee8cc1Swenshuai.xi break;
462*53ee8cc1Swenshuai.xi }
463*53ee8cc1Swenshuai.xi case E_ACE_CMD_PICSETCOLORTEMP_10BITS:
464*53ee8cc1Swenshuai.xi {
465*53ee8cc1Swenshuai.xi pstACE_PicSetColorTempEx pACEArgs = (pstACE_PicSetColorTempEx)pArgs;
466*53ee8cc1Swenshuai.xi psACEInstPri->fpACE_PicSetColorTemp_10Bits(pInstance, pACEArgs->eWindow, pACEArgs->bUseYUVSpace, pACEArgs->pstColorTemp);
467*53ee8cc1Swenshuai.xi
468*53ee8cc1Swenshuai.xi return UTOPIA_STATUS_SUCCESS;
469*53ee8cc1Swenshuai.xi break;
470*53ee8cc1Swenshuai.xi }
471*53ee8cc1Swenshuai.xi case E_ACE_CMD_PICSETPOSTCOLORTEMP_V02:
472*53ee8cc1Swenshuai.xi {
473*53ee8cc1Swenshuai.xi pstACE_PicSetPostColorTemp_V02 pACEArgs = (pstACE_PicSetPostColorTemp_V02)pArgs;
474*53ee8cc1Swenshuai.xi psACEInstPri->fpACE_PicSetPostColorTemp_V02(pInstance, pACEArgs->eWindow, pACEArgs->pstColorTemp);
475*53ee8cc1Swenshuai.xi
476*53ee8cc1Swenshuai.xi return UTOPIA_STATUS_SUCCESS;
477*53ee8cc1Swenshuai.xi break;
478*53ee8cc1Swenshuai.xi }
479*53ee8cc1Swenshuai.xi case E_ACE_CMD_SETFLESHTONE:
480*53ee8cc1Swenshuai.xi {
481*53ee8cc1Swenshuai.xi pstACE_SetFleshTone pACEArgs = (pstACE_SetFleshTone)pArgs;
482*53ee8cc1Swenshuai.xi psACEInstPri->fpACE_SetFleshTone(pInstance, pACEArgs->eWindow, pACEArgs->bEn, pACEArgs->u8FleshTone);
483*53ee8cc1Swenshuai.xi
484*53ee8cc1Swenshuai.xi return UTOPIA_STATUS_SUCCESS;
485*53ee8cc1Swenshuai.xi break;
486*53ee8cc1Swenshuai.xi }
487*53ee8cc1Swenshuai.xi case E_ACE_CMD_SETBLACKADJUST:
488*53ee8cc1Swenshuai.xi {
489*53ee8cc1Swenshuai.xi pstACE_SetBlackAdjust pACEArgs = (pstACE_SetBlackAdjust)pArgs;
490*53ee8cc1Swenshuai.xi psACEInstPri->fpACE_SetBlackAdjust(pInstance, pACEArgs->eWindow, pACEArgs->u8BlackAdjust);
491*53ee8cc1Swenshuai.xi
492*53ee8cc1Swenshuai.xi return UTOPIA_STATUS_SUCCESS;
493*53ee8cc1Swenshuai.xi break;
494*53ee8cc1Swenshuai.xi }
495*53ee8cc1Swenshuai.xi case E_ACE_CMD_SET_IHC_SRAM:
496*53ee8cc1Swenshuai.xi {
497*53ee8cc1Swenshuai.xi pstACE_Set_IHC_SRAM pACEArgs = (pstACE_Set_IHC_SRAM)pArgs;
498*53ee8cc1Swenshuai.xi pACEArgs->bReturn = psACEInstPri->fpACE_Set_IHC_SRAM(pInstance, pACEArgs->pBuf, pACEArgs->u16ByteSize);
499*53ee8cc1Swenshuai.xi
500*53ee8cc1Swenshuai.xi return UTOPIA_STATUS_SUCCESS;
501*53ee8cc1Swenshuai.xi break;
502*53ee8cc1Swenshuai.xi }
503*53ee8cc1Swenshuai.xi case E_ACE_CMD_SET_ICC_SRAM:
504*53ee8cc1Swenshuai.xi {
505*53ee8cc1Swenshuai.xi pstACE_Set_ICC_SRAM pACEArgs = (pstACE_Set_ICC_SRAM)pArgs;
506*53ee8cc1Swenshuai.xi pACEArgs->bReturn = psACEInstPri->fpACE_Set_ICC_SRAM(pInstance, pACEArgs->pBuf, pACEArgs->u16ByteSize);
507*53ee8cc1Swenshuai.xi
508*53ee8cc1Swenshuai.xi return UTOPIA_STATUS_SUCCESS;
509*53ee8cc1Swenshuai.xi break;
510*53ee8cc1Swenshuai.xi }
511*53ee8cc1Swenshuai.xi case E_ACE_CMD_ENABLEMWE:
512*53ee8cc1Swenshuai.xi {
513*53ee8cc1Swenshuai.xi pstACE_EnableMWE pACEArgs = (pstACE_EnableMWE)pArgs;
514*53ee8cc1Swenshuai.xi psACEInstPri->fpACE_EnableMWE(pInstance, pACEArgs->bEnable);
515*53ee8cc1Swenshuai.xi
516*53ee8cc1Swenshuai.xi return UTOPIA_STATUS_SUCCESS;
517*53ee8cc1Swenshuai.xi break;
518*53ee8cc1Swenshuai.xi }
519*53ee8cc1Swenshuai.xi case E_ACE_CMD_MWECLONEVISUALEFFECT:
520*53ee8cc1Swenshuai.xi {
521*53ee8cc1Swenshuai.xi psACEInstPri->fpACE_MWECloneVisualEffect(pInstance);
522*53ee8cc1Swenshuai.xi
523*53ee8cc1Swenshuai.xi return UTOPIA_STATUS_SUCCESS;
524*53ee8cc1Swenshuai.xi break;
525*53ee8cc1Swenshuai.xi }
526*53ee8cc1Swenshuai.xi case E_ACE_CMD_MWESETREGTABLE:
527*53ee8cc1Swenshuai.xi {
528*53ee8cc1Swenshuai.xi pstACE_MWESetRegTable pACEArgs = (pstACE_MWESetRegTable)pArgs;
529*53ee8cc1Swenshuai.xi pACEArgs->bReturn = psACEInstPri->fpACE_MWESetRegTable(pInstance, pACEArgs->pMWETable);
530*53ee8cc1Swenshuai.xi
531*53ee8cc1Swenshuai.xi return UTOPIA_STATUS_SUCCESS;
532*53ee8cc1Swenshuai.xi break;
533*53ee8cc1Swenshuai.xi }
534*53ee8cc1Swenshuai.xi case E_ACE_CMD_SETMWELOADFROMPQ:
535*53ee8cc1Swenshuai.xi {
536*53ee8cc1Swenshuai.xi pstACE_SetMWELoadFromPQ pACEArgs = (pstACE_SetMWELoadFromPQ)pArgs;
537*53ee8cc1Swenshuai.xi pACEArgs->bReturn = psACEInstPri->fpACE_SetMWELoadFromPQ(pInstance, pACEArgs->bEnable);
538*53ee8cc1Swenshuai.xi
539*53ee8cc1Swenshuai.xi return UTOPIA_STATUS_SUCCESS;
540*53ee8cc1Swenshuai.xi break;
541*53ee8cc1Swenshuai.xi }
542*53ee8cc1Swenshuai.xi case E_ACE_CMD_MWESTATUS:
543*53ee8cc1Swenshuai.xi {
544*53ee8cc1Swenshuai.xi pstACE_MWEStatus pACEArgs = (pstACE_MWEStatus)pArgs;
545*53ee8cc1Swenshuai.xi pACEArgs->bReturn = psACEInstPri->fpACE_MWEStatus(pInstance);
546*53ee8cc1Swenshuai.xi
547*53ee8cc1Swenshuai.xi return UTOPIA_STATUS_SUCCESS;
548*53ee8cc1Swenshuai.xi break;
549*53ee8cc1Swenshuai.xi }
550*53ee8cc1Swenshuai.xi case E_ACE_CMD_MWEHANDLE:
551*53ee8cc1Swenshuai.xi {
552*53ee8cc1Swenshuai.xi psACEInstPri->fpACE_MWEHandle(pInstance);
553*53ee8cc1Swenshuai.xi
554*53ee8cc1Swenshuai.xi return UTOPIA_STATUS_SUCCESS;
555*53ee8cc1Swenshuai.xi break;
556*53ee8cc1Swenshuai.xi }
557*53ee8cc1Swenshuai.xi case E_ACE_CMD_MWEFUNCSEL:
558*53ee8cc1Swenshuai.xi {
559*53ee8cc1Swenshuai.xi pstACE_MWEFuncSel pACEArgs = (pstACE_MWEFuncSel)pArgs;
560*53ee8cc1Swenshuai.xi psACEInstPri->fpACE_MWEFuncSel(pInstance, pACEArgs->eWindow, pACEArgs->mwe_func);
561*53ee8cc1Swenshuai.xi
562*53ee8cc1Swenshuai.xi return UTOPIA_STATUS_SUCCESS;
563*53ee8cc1Swenshuai.xi break;
564*53ee8cc1Swenshuai.xi }
565*53ee8cc1Swenshuai.xi case E_ACE_CMD_MWESETDISPWIN:
566*53ee8cc1Swenshuai.xi {
567*53ee8cc1Swenshuai.xi pstACE_MWESetDispWin pACEArgs = (pstACE_MWESetDispWin)pArgs;
568*53ee8cc1Swenshuai.xi psACEInstPri->fpACE_MWESetDispWin(pInstance, pACEArgs->u16MWE_Disp_Hstart, pACEArgs->u16MWE_Disp_Vstart, pACEArgs->u16MWE_Disp_Width, pACEArgs->u16MWE_Disp_Height);
569*53ee8cc1Swenshuai.xi
570*53ee8cc1Swenshuai.xi return UTOPIA_STATUS_SUCCESS;
571*53ee8cc1Swenshuai.xi break;
572*53ee8cc1Swenshuai.xi }
573*53ee8cc1Swenshuai.xi case E_ACE_CMD_3DCLONEPQMAP:
574*53ee8cc1Swenshuai.xi {
575*53ee8cc1Swenshuai.xi pstACE_3DClonePQMap pACEArgs = (pstACE_3DClonePQMap)pArgs;
576*53ee8cc1Swenshuai.xi psACEInstPri->fpACE_3DClonePQMap(pInstance, pACEArgs->enWeaveType);
577*53ee8cc1Swenshuai.xi
578*53ee8cc1Swenshuai.xi return UTOPIA_STATUS_SUCCESS;
579*53ee8cc1Swenshuai.xi break;
580*53ee8cc1Swenshuai.xi }
581*53ee8cc1Swenshuai.xi case E_ACE_CMD_DNR_BLENDING_NRTBL:
582*53ee8cc1Swenshuai.xi {
583*53ee8cc1Swenshuai.xi pstACE_DNR_Blending_NRTbl pACEArgs = (pstACE_DNR_Blending_NRTbl)pArgs;
584*53ee8cc1Swenshuai.xi psACEInstPri->fpACE_DNR_Blending_NRTbl(pInstance,
585*53ee8cc1Swenshuai.xi pACEArgs->pu8NewNR,
586*53ee8cc1Swenshuai.xi pACEArgs->u8Weight,
587*53ee8cc1Swenshuai.xi pACEArgs->u8Step,
588*53ee8cc1Swenshuai.xi pACEArgs->pu16PreY0,
589*53ee8cc1Swenshuai.xi pACEArgs->pu16PreY1,
590*53ee8cc1Swenshuai.xi pACEArgs->pu8NRTBL);
591*53ee8cc1Swenshuai.xi
592*53ee8cc1Swenshuai.xi return UTOPIA_STATUS_SUCCESS;
593*53ee8cc1Swenshuai.xi break;
594*53ee8cc1Swenshuai.xi }
595*53ee8cc1Swenshuai.xi case E_ACE_CMD_DNR_BLENDING_MISC:
596*53ee8cc1Swenshuai.xi {
597*53ee8cc1Swenshuai.xi pstACE_DNR_Blending_MISC pACEArgs = (pstACE_DNR_Blending_MISC)pArgs;
598*53ee8cc1Swenshuai.xi pACEArgs->u16Return = psACEInstPri->fpACE_DNR_Blending_MISC(pInstance, pACEArgs->u8NewItem, pACEArgs->u16PreItem, pACEArgs->u8Weight, pACEArgs->u8Step);
599*53ee8cc1Swenshuai.xi
600*53ee8cc1Swenshuai.xi return UTOPIA_STATUS_SUCCESS;
601*53ee8cc1Swenshuai.xi break;
602*53ee8cc1Swenshuai.xi }
603*53ee8cc1Swenshuai.xi case E_ACE_CMD_DNR_BLENDING:
604*53ee8cc1Swenshuai.xi {
605*53ee8cc1Swenshuai.xi pstACE_DNR_Blending pACEArgs = (pstACE_DNR_Blending)pArgs;
606*53ee8cc1Swenshuai.xi pACEArgs->u8Return = psACEInstPri->fpACE_DNR_Blending(pInstance, pACEArgs->u8NewItem, pACEArgs->u16PreItem, pACEArgs->u8Weight);
607*53ee8cc1Swenshuai.xi
608*53ee8cc1Swenshuai.xi return UTOPIA_STATUS_SUCCESS;
609*53ee8cc1Swenshuai.xi break;
610*53ee8cc1Swenshuai.xi }
611*53ee8cc1Swenshuai.xi case E_ACE_CMD_DNR_GET_PRECISIONSHIFT:
612*53ee8cc1Swenshuai.xi {
613*53ee8cc1Swenshuai.xi pstACE_DNR_Get_PrecisionShift pACEArgs = (pstACE_DNR_Get_PrecisionShift)pArgs;
614*53ee8cc1Swenshuai.xi pACEArgs->u16Return = psACEInstPri->fpACE_DNR_Get_PrecisionShift(pInstance);
615*53ee8cc1Swenshuai.xi
616*53ee8cc1Swenshuai.xi return UTOPIA_STATUS_SUCCESS;
617*53ee8cc1Swenshuai.xi break;
618*53ee8cc1Swenshuai.xi }
619*53ee8cc1Swenshuai.xi case E_ACE_CMD_DNR_GETMOTION_WEIGHT:
620*53ee8cc1Swenshuai.xi {
621*53ee8cc1Swenshuai.xi pstACE_DNR_GetMotion_Weight pACEArgs = (pstACE_DNR_GetMotion_Weight)pArgs;
622*53ee8cc1Swenshuai.xi pACEArgs->u8Return = psACEInstPri->fpACE_DNR_GetMotion_Weight(pInstance,
623*53ee8cc1Swenshuai.xi pACEArgs->u8CurMotion,
624*53ee8cc1Swenshuai.xi pACEArgs->u8PreMotion,
625*53ee8cc1Swenshuai.xi pACEArgs->u8CurMotionLvl,
626*53ee8cc1Swenshuai.xi pACEArgs->u8PreMotionLvl,
627*53ee8cc1Swenshuai.xi pACEArgs->u8DeFlick_Thre,
628*53ee8cc1Swenshuai.xi pACEArgs->u8DeFilick_Step);
629*53ee8cc1Swenshuai.xi
630*53ee8cc1Swenshuai.xi return UTOPIA_STATUS_SUCCESS;
631*53ee8cc1Swenshuai.xi break;
632*53ee8cc1Swenshuai.xi }
633*53ee8cc1Swenshuai.xi case E_ACE_CMD_DNR_GETLUMA_WEIGHT:
634*53ee8cc1Swenshuai.xi {
635*53ee8cc1Swenshuai.xi pstACE_DNR_GetLuma_Weight pACEArgs = (pstACE_DNR_GetLuma_Weight)pArgs;
636*53ee8cc1Swenshuai.xi pACEArgs->u8Return = psACEInstPri->fpACE_DNR_GetLuma_Weight(pInstance,
637*53ee8cc1Swenshuai.xi pACEArgs->u8CurAvgLuma,
638*53ee8cc1Swenshuai.xi pACEArgs->u8PreAvgLuam,
639*53ee8cc1Swenshuai.xi pACEArgs->u8CurLumaLvl,
640*53ee8cc1Swenshuai.xi pACEArgs->u8PreLumaLvl,
641*53ee8cc1Swenshuai.xi pACEArgs->u8DeFlick_Th,
642*53ee8cc1Swenshuai.xi pACEArgs->u8DeFlick_Step);
643*53ee8cc1Swenshuai.xi
644*53ee8cc1Swenshuai.xi
645*53ee8cc1Swenshuai.xi return UTOPIA_STATUS_SUCCESS;
646*53ee8cc1Swenshuai.xi break;
647*53ee8cc1Swenshuai.xi }
648*53ee8cc1Swenshuai.xi case E_ACE_CMD_DNR_GETNOISE_WEIGHT:
649*53ee8cc1Swenshuai.xi {
650*53ee8cc1Swenshuai.xi pstACE_DNR_GetNoise_Weight pACEArgs = (pstACE_DNR_GetNoise_Weight)pArgs;
651*53ee8cc1Swenshuai.xi pACEArgs->u8Return = psACEInstPri->fpACE_DNR_GetNoise_Weight(pInstance,
652*53ee8cc1Swenshuai.xi pACEArgs->u8CurNoise,
653*53ee8cc1Swenshuai.xi pACEArgs->u8PreNoise,
654*53ee8cc1Swenshuai.xi pACEArgs->u8Range,
655*53ee8cc1Swenshuai.xi pACEArgs->u8DeFlick_Th,
656*53ee8cc1Swenshuai.xi pACEArgs->u8DeFlick_Step);
657*53ee8cc1Swenshuai.xi
658*53ee8cc1Swenshuai.xi
659*53ee8cc1Swenshuai.xi return UTOPIA_STATUS_SUCCESS;
660*53ee8cc1Swenshuai.xi break;
661*53ee8cc1Swenshuai.xi }
662*53ee8cc1Swenshuai.xi case E_ACE_CMD_DNR_GETMOTION:
663*53ee8cc1Swenshuai.xi {
664*53ee8cc1Swenshuai.xi pstACE_DNR_GetMotion pACEArgs = (pstACE_DNR_GetMotion)pArgs;
665*53ee8cc1Swenshuai.xi pACEArgs->u8Return = psACEInstPri->fpACE_DNR_GetMotion(pInstance);
666*53ee8cc1Swenshuai.xi
667*53ee8cc1Swenshuai.xi return UTOPIA_STATUS_SUCCESS;
668*53ee8cc1Swenshuai.xi break;
669*53ee8cc1Swenshuai.xi }
670*53ee8cc1Swenshuai.xi case E_ACE_CMD_DNR_INIT_MOTION:
671*53ee8cc1Swenshuai.xi {
672*53ee8cc1Swenshuai.xi psACEInstPri->fpACE_DNR_Init_Motion(pInstance);
673*53ee8cc1Swenshuai.xi
674*53ee8cc1Swenshuai.xi return UTOPIA_STATUS_SUCCESS;
675*53ee8cc1Swenshuai.xi break;
676*53ee8cc1Swenshuai.xi }
677*53ee8cc1Swenshuai.xi case E_ACE_CMD_DNR_INIT_LUMA:
678*53ee8cc1Swenshuai.xi {
679*53ee8cc1Swenshuai.xi psACEInstPri->fpACE_DNR_Init_Luma(pInstance);
680*53ee8cc1Swenshuai.xi
681*53ee8cc1Swenshuai.xi return UTOPIA_STATUS_SUCCESS;
682*53ee8cc1Swenshuai.xi break;
683*53ee8cc1Swenshuai.xi }
684*53ee8cc1Swenshuai.xi case E_ACE_CMD_DNR_INIT_NOISE:
685*53ee8cc1Swenshuai.xi {
686*53ee8cc1Swenshuai.xi psACEInstPri->fpACE_DNR_Init_Noise(pInstance);
687*53ee8cc1Swenshuai.xi
688*53ee8cc1Swenshuai.xi return UTOPIA_STATUS_SUCCESS;
689*53ee8cc1Swenshuai.xi break;
690*53ee8cc1Swenshuai.xi }
691*53ee8cc1Swenshuai.xi case E_ACE_CMD_DNR_SETPARAM:
692*53ee8cc1Swenshuai.xi {
693*53ee8cc1Swenshuai.xi pstACE_DNR_SetParam pACEArgs = (pstACE_DNR_SetParam)pArgs;
694*53ee8cc1Swenshuai.xi psACEInstPri->fpACE_DNR_SetParam(pInstance, pACEArgs->eWindow, pACEArgs->eParam, pACEArgs->u16val);
695*53ee8cc1Swenshuai.xi
696*53ee8cc1Swenshuai.xi return UTOPIA_STATUS_SUCCESS;
697*53ee8cc1Swenshuai.xi break;
698*53ee8cc1Swenshuai.xi }
699*53ee8cc1Swenshuai.xi case E_ACE_CMD_DNR_GETPARAM:
700*53ee8cc1Swenshuai.xi {
701*53ee8cc1Swenshuai.xi pstACE_DNR_GetParam pACEArgs = (pstACE_DNR_GetParam)pArgs;
702*53ee8cc1Swenshuai.xi pACEArgs->u8Return = psACEInstPri->fpACE_DNR_GetParam(pInstance, pACEArgs->eWindow, pACEArgs->eParam);
703*53ee8cc1Swenshuai.xi
704*53ee8cc1Swenshuai.xi return UTOPIA_STATUS_SUCCESS;
705*53ee8cc1Swenshuai.xi break;
706*53ee8cc1Swenshuai.xi }
707*53ee8cc1Swenshuai.xi case E_ACE_CMD_DNR_SETNRTBL:
708*53ee8cc1Swenshuai.xi {
709*53ee8cc1Swenshuai.xi pstACE_DNR_SetNRTbl pACEArgs = (pstACE_DNR_SetNRTbl)pArgs;
710*53ee8cc1Swenshuai.xi psACEInstPri->fpACE_DNR_SetNRTbl(pInstance, pACEArgs->pu8Tbl);
711*53ee8cc1Swenshuai.xi
712*53ee8cc1Swenshuai.xi return UTOPIA_STATUS_SUCCESS;
713*53ee8cc1Swenshuai.xi break;
714*53ee8cc1Swenshuai.xi }
715*53ee8cc1Swenshuai.xi case E_ACE_CMD_GETLIBVER:
716*53ee8cc1Swenshuai.xi {
717*53ee8cc1Swenshuai.xi pstACE_GetLibVer pACEArgs = (pstACE_GetLibVer)pArgs;
718*53ee8cc1Swenshuai.xi pACEArgs->eResult = psACEInstPri->fpACE_GetLibVer(pInstance, pACEArgs->ppVersion);
719*53ee8cc1Swenshuai.xi
720*53ee8cc1Swenshuai.xi return UTOPIA_STATUS_SUCCESS;
721*53ee8cc1Swenshuai.xi break;
722*53ee8cc1Swenshuai.xi }
723*53ee8cc1Swenshuai.xi case E_ACE_CMD_GETINFO:
724*53ee8cc1Swenshuai.xi {
725*53ee8cc1Swenshuai.xi pstACE_GetInfo pACEArgs = (pstACE_GetInfo)pArgs;
726*53ee8cc1Swenshuai.xi pACEArgs->pstApiInfo = psACEInstPri->fpACE_GetInfo(pInstance);
727*53ee8cc1Swenshuai.xi
728*53ee8cc1Swenshuai.xi return UTOPIA_STATUS_SUCCESS;
729*53ee8cc1Swenshuai.xi break;
730*53ee8cc1Swenshuai.xi }
731*53ee8cc1Swenshuai.xi case E_ACE_CMD_GETSTATUS:
732*53ee8cc1Swenshuai.xi {
733*53ee8cc1Swenshuai.xi pstACE_GetStatus pACEArgs = (pstACE_GetStatus)pArgs;
734*53ee8cc1Swenshuai.xi pACEArgs->bReturn = psACEInstPri->fpACE_GetStatus(pInstance, pACEArgs->pDrvStatus, pACEArgs->bWindow);
735*53ee8cc1Swenshuai.xi
736*53ee8cc1Swenshuai.xi return UTOPIA_STATUS_SUCCESS;
737*53ee8cc1Swenshuai.xi break;
738*53ee8cc1Swenshuai.xi }
739*53ee8cc1Swenshuai.xi case E_ACE_CMD_SETDBGLEVEL:
740*53ee8cc1Swenshuai.xi {
741*53ee8cc1Swenshuai.xi pstACE_SetDbgLevel pACEArgs = (pstACE_SetDbgLevel)pArgs;
742*53ee8cc1Swenshuai.xi pACEArgs->bReturn = psACEInstPri->fpACE_SetDbgLevel(pInstance, pACEArgs->u16DbgSwitch);
743*53ee8cc1Swenshuai.xi
744*53ee8cc1Swenshuai.xi return UTOPIA_STATUS_SUCCESS;
745*53ee8cc1Swenshuai.xi break;
746*53ee8cc1Swenshuai.xi }
747*53ee8cc1Swenshuai.xi case E_ACE_CMD_COLORCORRECTIONTABLE:
748*53ee8cc1Swenshuai.xi {
749*53ee8cc1Swenshuai.xi pstACE_ColorCorrectionTable pACEArgs = (pstACE_ColorCorrectionTable)pArgs;
750*53ee8cc1Swenshuai.xi psACEInstPri->fpACE_ColorCorrectionTable(pInstance, pACEArgs->bScalerWin, pACEArgs->psColorCorrectionTable);
751*53ee8cc1Swenshuai.xi
752*53ee8cc1Swenshuai.xi return UTOPIA_STATUS_SUCCESS;
753*53ee8cc1Swenshuai.xi break;
754*53ee8cc1Swenshuai.xi }
755*53ee8cc1Swenshuai.xi case E_ACE_CMD_SETCOLORMATRIXCONTROL:
756*53ee8cc1Swenshuai.xi {
757*53ee8cc1Swenshuai.xi pstACE_SetColorMatrixControl pACEArgs = (pstACE_SetColorMatrixControl)pArgs;
758*53ee8cc1Swenshuai.xi psACEInstPri->fpACE_SetColorMatrixControl(pInstance, pACEArgs->bScalerWin, pACEArgs->bEnable);
759*53ee8cc1Swenshuai.xi
760*53ee8cc1Swenshuai.xi return UTOPIA_STATUS_SUCCESS;
761*53ee8cc1Swenshuai.xi break;
762*53ee8cc1Swenshuai.xi }
763*53ee8cc1Swenshuai.xi case E_ACE_CMD_SETRBCHANNELRANGE:
764*53ee8cc1Swenshuai.xi {
765*53ee8cc1Swenshuai.xi pstACE_SetRBChannelRange pACEArgs = (pstACE_SetRBChannelRange)pArgs;
766*53ee8cc1Swenshuai.xi psACEInstPri->fpACE_SetRBChannelRange(pInstance, pACEArgs->bScalerWin, pACEArgs->bRange);
767*53ee8cc1Swenshuai.xi
768*53ee8cc1Swenshuai.xi return UTOPIA_STATUS_SUCCESS;
769*53ee8cc1Swenshuai.xi break;
770*53ee8cc1Swenshuai.xi }
771*53ee8cc1Swenshuai.xi case E_ACE_CMD_PICSETPOSTCOLORTEMP:
772*53ee8cc1Swenshuai.xi {
773*53ee8cc1Swenshuai.xi pstACE_PicSetPostColorTemp pACEArgs = (pstACE_PicSetPostColorTemp)pArgs;
774*53ee8cc1Swenshuai.xi psACEInstPri->fpACE_PicSetPostColorTemp(pInstance, pACEArgs->eWindow, pACEArgs->pstColorTemp);
775*53ee8cc1Swenshuai.xi
776*53ee8cc1Swenshuai.xi return UTOPIA_STATUS_SUCCESS;
777*53ee8cc1Swenshuai.xi break;
778*53ee8cc1Swenshuai.xi }
779*53ee8cc1Swenshuai.xi case E_ACE_CMD_PICSETPOSTCOLORTEMPEX:
780*53ee8cc1Swenshuai.xi {
781*53ee8cc1Swenshuai.xi pstACE_PicSetPostColorTempEx pACEArgs = (pstACE_PicSetPostColorTempEx)pArgs;
782*53ee8cc1Swenshuai.xi psACEInstPri->fpACE_PicSetPostColorTempEx(pInstance, pACEArgs->eWindow, pACEArgs->pstColorTemp);
783*53ee8cc1Swenshuai.xi
784*53ee8cc1Swenshuai.xi return UTOPIA_STATUS_SUCCESS;
785*53ee8cc1Swenshuai.xi break;
786*53ee8cc1Swenshuai.xi }
787*53ee8cc1Swenshuai.xi case E_ACE_CMD_PICSETPOSTCOLORTEMP2:
788*53ee8cc1Swenshuai.xi {
789*53ee8cc1Swenshuai.xi pstACE_PicSetColorTemp pACEArgs = (pstACE_PicSetColorTemp)pArgs;
790*53ee8cc1Swenshuai.xi psACEInstPri->fpACE_PicSetPostColorTemp2(pInstance, pACEArgs->eWindow, pACEArgs->bUseYUVSpace, pACEArgs->pstColorTemp);
791*53ee8cc1Swenshuai.xi
792*53ee8cc1Swenshuai.xi return UTOPIA_STATUS_SUCCESS;
793*53ee8cc1Swenshuai.xi break;
794*53ee8cc1Swenshuai.xi }
795*53ee8cc1Swenshuai.xi case E_ACE_CMD_PICSETPOSTCOLORTEMP2EX:
796*53ee8cc1Swenshuai.xi {
797*53ee8cc1Swenshuai.xi pstACE_PicSetPostColorTempEx pACEArgs = (pstACE_PicSetPostColorTempEx)pArgs;
798*53ee8cc1Swenshuai.xi psACEInstPri->fpACE_PicSetPostColorTemp2Ex(pInstance, pACEArgs->eWindow, pACEArgs->bUseYUVSpace, pACEArgs->pstColorTemp);
799*53ee8cc1Swenshuai.xi
800*53ee8cc1Swenshuai.xi return UTOPIA_STATUS_SUCCESS;
801*53ee8cc1Swenshuai.xi break;
802*53ee8cc1Swenshuai.xi }
803*53ee8cc1Swenshuai.xi case E_ACE_CMD_SET_POWERSTATE:
804*53ee8cc1Swenshuai.xi {
805*53ee8cc1Swenshuai.xi pstACE_Set_PowerState pACEArgs = (pstACE_Set_PowerState)pArgs;
806*53ee8cc1Swenshuai.xi pACEArgs->u32Return = psACEInstPri->fpACE_SetPowerState(pInstance, pACEArgs->enPowerState);
807*53ee8cc1Swenshuai.xi
808*53ee8cc1Swenshuai.xi return UTOPIA_STATUS_SUCCESS;
809*53ee8cc1Swenshuai.xi break;
810*53ee8cc1Swenshuai.xi }
811*53ee8cc1Swenshuai.xi case E_ACE_CMD_SET_HDR_INFO:
812*53ee8cc1Swenshuai.xi {
813*53ee8cc1Swenshuai.xi pstACE_HDRInitData pACEArgs = (pstACE_HDRInitData)pArgs;
814*53ee8cc1Swenshuai.xi pACEArgs->bReturn = psACEInstPri->fpACE_SetHDRInit(pInstance, pACEArgs->pstHDRInitData);
815*53ee8cc1Swenshuai.xi
816*53ee8cc1Swenshuai.xi return UTOPIA_STATUS_SUCCESS;
817*53ee8cc1Swenshuai.xi break;
818*53ee8cc1Swenshuai.xi }
819*53ee8cc1Swenshuai.xi
820*53ee8cc1Swenshuai.xi default:
821*53ee8cc1Swenshuai.xi printf("Error Command = %td\n",(ptrdiff_t)u32Cmd);
822*53ee8cc1Swenshuai.xi break;
823*53ee8cc1Swenshuai.xi
824*53ee8cc1Swenshuai.xi }
825*53ee8cc1Swenshuai.xi return UTOPIA_STATUS_SUCCESS;
826*53ee8cc1Swenshuai.xi }
827*53ee8cc1Swenshuai.xi
ACEClose(void * pInstance)828*53ee8cc1Swenshuai.xi MS_U32 ACEClose(void* pInstance)
829*53ee8cc1Swenshuai.xi {
830*53ee8cc1Swenshuai.xi UtopiaInstanceDelete(pInstance);
831*53ee8cc1Swenshuai.xi
832*53ee8cc1Swenshuai.xi return UTOPIA_STATUS_SUCCESS;
833*53ee8cc1Swenshuai.xi }
834*53ee8cc1Swenshuai.xi
835