1 /* 2 * Copyright (c) 2019-2022 Rockchip Eletronics Co., Ltd. 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 #ifndef _RK_AIQ_CUSTOM_AE_HANDLE_H_ 17 #define _RK_AIQ_CUSTOM_AE_HANDLE_H_ 18 19 #include "algo_handlers/RkAiqAeHandle.h" 20 21 namespace RkCam { 22 23 // ae 24 class RkAiqCustomAeHandle: 25 public RkAiqAeHandleInt { 26 public: RkAiqCustomAeHandle(RkAiqAlgoDesComm * des,RkAiqCore * aiqCore)27 explicit RkAiqCustomAeHandle(RkAiqAlgoDesComm* des, RkAiqCore* aiqCore) 28 : RkAiqAeHandleInt (des, aiqCore) {}; ~RkAiqCustomAeHandle()29 virtual ~RkAiqCustomAeHandle() { 30 deInit(); 31 }; 32 virtual void init(); 33 virtual void deInit(); 34 virtual XCamReturn updateConfig(bool needSync); 35 virtual XCamReturn preProcess(); 36 virtual XCamReturn processing(); 37 virtual XCamReturn postProcess(); 38 virtual XCamReturn lock(); 39 virtual XCamReturn unlock(); 40 41 // TODO: calibv1 42 virtual XCamReturn setExpSwAttr(Uapi_ExpSwAttr_t ExpSwAttr); 43 virtual XCamReturn getExpSwAttr(Uapi_ExpSwAttr_t* pExpSwAttr); 44 virtual XCamReturn setLinExpAttr(Uapi_LinExpAttr_t LinExpAttr); 45 virtual XCamReturn getLinExpAttr(Uapi_LinExpAttr_t* pLinExpAttr); 46 virtual XCamReturn setHdrExpAttr(Uapi_HdrExpAttr_t HdrExpAttr); 47 virtual XCamReturn getHdrExpAttr (Uapi_HdrExpAttr_t* pHdrExpAttr); 48 49 // TODO: calibv2 50 virtual XCamReturn setExpSwAttr(Uapi_ExpSwAttrV2_t ExpSwAttr); 51 virtual XCamReturn getExpSwAttr(Uapi_ExpSwAttrV2_t* pExpSwAttr); 52 virtual XCamReturn setLinExpAttr(Uapi_LinExpAttrV2_t LinExpAttr); 53 virtual XCamReturn getLinExpAttr(Uapi_LinExpAttrV2_t* pLinExpAttr); 54 virtual XCamReturn setHdrExpAttr(Uapi_HdrExpAttrV2_t HdrExpAttr); 55 virtual XCamReturn getHdrExpAttr (Uapi_HdrExpAttrV2_t* pHdrExpAttr); 56 57 virtual XCamReturn setLinAeRouteAttr(Uapi_LinAeRouteAttr_t LinAeRouteAttr); 58 virtual XCamReturn getLinAeRouteAttr(Uapi_LinAeRouteAttr_t* pLinAeRouteAttr); 59 virtual XCamReturn setHdrAeRouteAttr(Uapi_HdrAeRouteAttr_t HdrAeRouteAttr); 60 virtual XCamReturn getHdrAeRouteAttr(Uapi_HdrAeRouteAttr_t* pHdrAeRouteAttr); 61 62 virtual XCamReturn setIrisAttr(Uapi_IrisAttrV2_t IrisAttr); 63 virtual XCamReturn getIrisAttr (Uapi_IrisAttrV2_t* pIrisAttr); 64 virtual XCamReturn setSyncTestAttr(Uapi_AecSyncTest_t SyncTestAttr); 65 virtual XCamReturn getSyncTestAttr (Uapi_AecSyncTest_t* pSyncTestAttr); 66 virtual XCamReturn queryExpInfo(Uapi_ExpQueryInfo_t* pExpQueryInfo); 67 virtual XCamReturn setLockAeForAf(bool lock_ae); 68 virtual XCamReturn setExpWinAttr(Uapi_ExpWin_t ExpWinAttr); 69 virtual XCamReturn getExpWinAttr(Uapi_ExpWin_t* pExpWinAttr); 70 virtual XCamReturn genIspResult(RkAiqFullParams* params, RkAiqFullParams* cur_params); 71 }; 72 73 74 } //namespace RkCam 75 76 #endif 77