1 /* 2 * Copyright (c) 2019 Rockchip Corporation 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 */ 17 18 #ifndef _CAM_HW_SIMULATOR_H_ 19 #define _CAM_HW_SIMULATOR_H_ 20 21 #include "CamHwBase.h" 22 23 namespace RkCam { 24 25 class CamHwSimulator : public CamHwBase { 26 public: 27 explicit CamHwSimulator(); 28 virtual ~CamHwSimulator(); 29 // from ICamHw 30 virtual XCamReturn init(const char* sns_ent_name); 31 virtual XCamReturn deInit(); 32 virtual XCamReturn prepare(uint32_t width, uint32_t height, rk_aiq_working_mode_t mode); 33 virtual XCamReturn start(); 34 virtual XCamReturn stop(); 35 virtual XCamReturn getSensorModeData(const char* sns_ent_name, 36 rk_aiq_exposure_sensor_descriptor& sns_des); 37 virtual XCamReturn setIspParams(SmartPtr<RkAiqIspParamsProxy>& ispParams); 38 virtual XCamReturn setHdrProcessCount(uint32_t frame_id, int count); 39 virtual XCamReturn setExposureParams(SmartPtr<RkAiqExpParamsProxy>& expPar); 40 virtual XCamReturn setFocusParams(SmartPtr<RkAiqFocusParamsProxy>& focus_params); 41 virtual XCamReturn setIspLumaListener(IspLumaListener* lumaListener); 42 virtual XCamReturn setIspStatsListener(IspStatsListener* statsListener); 43 virtual XCamReturn setEvtsListener(IspEvtsListener* evtListener); setModuleCtl(rk_aiq_module_id_t moduleId,bool en)44 XCamReturn setModuleCtl(rk_aiq_module_id_t moduleId, bool en) { 45 return XCAM_RETURN_NO_ERROR; 46 }; getModuleCtl(rk_aiq_module_id_t moduleId,bool & en)47 XCamReturn getModuleCtl(rk_aiq_module_id_t moduleId, bool& en) { 48 return XCAM_RETURN_NO_ERROR; 49 }; notify_capture_raw()50 XCamReturn notify_capture_raw() { 51 return XCAM_RETURN_NO_ERROR; 52 }; capture_raw_ctl(bool sync)53 XCamReturn capture_raw_ctl(bool sync) { 54 return XCAM_RETURN_NO_ERROR; 55 }; getShareMemOps(isp_drv_share_mem_ops_t ** mem_ops)56 virtual void getShareMemOps(isp_drv_share_mem_ops_t** mem_ops) {}; enqueueRawBuffer(struct rk_aiq_vbuf * vbuf,bool sync)57 virtual XCamReturn enqueueRawBuffer(struct rk_aiq_vbuf *vbuf, bool sync) { 58 return XCAM_RETURN_ERROR_FAILED; 59 } enqueueRawFile(const char * path)60 virtual XCamReturn enqueueRawFile(const char *path) { 61 return XCAM_RETURN_ERROR_FAILED; 62 } registRawdataCb(void (* callback)(void *))63 virtual XCamReturn registRawdataCb(void (*callback)(void *)) { 64 return XCAM_RETURN_ERROR_FAILED; 65 } rawdataPrepare(rk_aiq_raw_prop_t prop)66 virtual XCamReturn rawdataPrepare(rk_aiq_raw_prop_t prop) { 67 return XCAM_RETURN_ERROR_FAILED; 68 } 69 private: 70 XCAM_DEAD_COPY (CamHwSimulator); 71 }; 72 73 }; 74 75 #endif 76