/* * Copyright (c) 2019-2021 Rockchip Eletronics Co., Ltd. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef _I_RK_AIQ_RESOURCE_TRANSLATOR_H_ #define _I_RK_AIQ_RESOURCE_TRANSLATOR_H_ #include "smartptr.h" #include "xcam_log.h" #include "video_buffer.h" #include "rk_aiq_pool.h" namespace RkCam { class IRkAiqResourceTranslator { public: IRkAiqResourceTranslator () : mCamPhyId(-1) , mIsGroupMode(false) , mModuleRotation(0) {}; virtual ~IRkAiqResourceTranslator () {}; virtual XCamReturn translateIspStats(const SmartPtr& from, SmartPtr& to, const SmartPtr& aecStat, const SmartPtr& awbStat, const SmartPtr& afStat, const SmartPtr& tmoStat, const SmartPtr& dehazeStat) { return XCAM_RETURN_BYPASS; } virtual XCamReturn translateAecStats(const SmartPtr& from, SmartPtr& to) { return XCAM_RETURN_BYPASS; } virtual XCamReturn translateAwbStats(const SmartPtr& from, SmartPtr& to) { return XCAM_RETURN_BYPASS; } virtual XCamReturn translateAfStats(const SmartPtr& from, SmartPtr& to) { return XCAM_RETURN_BYPASS; } virtual XCamReturn translateOrbStats(const SmartPtr& from, SmartPtr& to) { return XCAM_RETURN_BYPASS; } virtual XCamReturn translateAtmoStats(const SmartPtr& from, SmartPtr& to) { return XCAM_RETURN_BYPASS; } virtual XCamReturn translateAdehazeStats(const SmartPtr& from, SmartPtr& to) { return XCAM_RETURN_BYPASS; } virtual XCamReturn translatePdafStats (const SmartPtr &from, SmartPtr &to, bool sns_mirror) { return XCAM_RETURN_BYPASS; } void setCamPhyId(int phyId) { mCamPhyId = phyId;} void setGroupMode(bool bGroup) { mIsGroupMode = bGroup;} void setModuleRot(int rot) { mModuleRotation = rot;} protected: int mCamPhyId; bool mIsGroupMode; int mModuleRotation; private: XCAM_DEAD_COPY (IRkAiqResourceTranslator); }; } #endif //_I_RK_AIQ_CONFIG_TRANSLATOR_H_