Lines Matching +full:data +full:- +full:mirror
2 * Copyright (c) 2019-2021 Rockchip Eletronics Co., Ltd.
8 * http://www.apache.org/licenses/LICENSE-2.0
45 const static int32_t timeout = -1; in loop()
56 switch (msg->cmd) { in loop()
58 if (msg->sync) in loop()
59 msg->mutex->lock(); in loop()
60 mAiqMng->swWorkingModeDyn(msg->data.sw_wk_mode.mode); in loop()
61 mAiqMng->mWkSwitching = false; in loop()
62 if (msg->sync) { in loop()
63 msg->cond->broadcast (); in loop()
64 msg->mutex->unlock(); in loop()
79 const static int32_t timeout = -1; in loop()
96 ret = mAiqMng->applyAnalyzerResult(results); in loop()
211 mRkAiqAnalyzer->setAnalyzeResultCb(this); in init()
213 ret = mRkAiqAnalyzer->init(mSnsEntName, mCalibDb, mCalibDbV2); in init()
215 ret = mRkAiqAnalyzer->init(mSnsEntName, nullptr, mCalibDbV2); in init()
220 mRkLumaAnalyzer->setAnalyzeResultCb(this); in init()
224 ret = mRkLumaAnalyzer->init(lumaDetect); in init()
230 mCamHw->setHwResListener(this); in init()
231 ret = mCamHw->init(mSnsEntName); in init()
235 mCamHw->getShareMemOps(&mem_ops); in init()
236 mRkAiqAnalyzer->setShareMemOps(mem_ops); in init()
237 // set default mirror & flip in init()
239 mAiqMngCmdTh->triger_start(); in init()
240 bool bret = mAiqMngCmdTh->start(); in init()
276 mCamHw->setCalib(mCalibDbV2); in prepare()
281 mCamHw->setGroupMode(mCamGroupCoreManager ? true : false, mIsMain); in prepare()
285 ret = mCamHw->prepare(width, height, working_mode_hw, in prepare()
286 sensor_calib->CISExpUpdate.Hdr.time_update, in prepare()
287 sensor_calib->CISExpUpdate.Hdr.gain_update); in prepare()
289 ret = mCamHw->prepare(width, height, working_mode_hw, in prepare()
290 sensor_calib->CISExpUpdate.Linear.time_update, in prepare()
291 sensor_calib->CISExpUpdate.Linear.gain_update); in prepare()
296 ret = mCamHw->getSensorModeData(mSnsEntName, sensor_des); in prepare()
301 ret = mCamHw->get_sp_resolution(w, h, aligned_w, aligned_h); in prepare()
302 ret = mRkAiqAnalyzer->set_sp_resolution(w, h, aligned_w, aligned_h); in prepare()
305 ret = mRkLumaAnalyzer->prepare(working_mode_hw); in prepare()
308 ret = mRkAiqAnalyzer->set_pdaf_support(mCamHw->get_pdaf_support()); in prepare()
312 mRkAiqAnalyzer->notifyIspStreamMode(mCamHw->getIspStreamMode()); in prepare()
313 ret = mRkAiqAnalyzer->prepare(&sensor_des, working_mode_hw); in prepare()
316 SmartPtr<RkAiqFullParamsProxy> initParams = mRkAiqAnalyzer->getAiqFullParams(); in prepare()
320 mAiqRstAppTh->triger_start(); in prepare()
351 SmartPtr<RkAiqFullParamsProxy> initParams = mRkAiqAnalyzer->getAiqFullParams(); in start()
354 if (initParams->data()->mIspMeasParams.ptr()) { in start()
355 initParams->data()->mIspMeasParams->data()->frame_id = 0; in start()
358 if (initParams->data()->mIsppMeasParams.ptr()) { in start()
359 initParams->data()->mIsppMeasParams->data()->frame_id = 0; in start()
369 bool bret = mAiqRstAppTh->start(); in start()
375 ret = mRkAiqAnalyzer->start(); in start()
380 ret = mRkLumaAnalyzer->start(); in start()
384 ret = mCamHw->start(); in start()
389 mAiqRstAppTh->triger_start(); in start()
391 bool bret = mAiqRstAppTh->start(); in start()
416 mAiqRstAppTh->triger_stop(); in stop()
417 bool bret = mAiqRstAppTh->stop(); in stop()
421 ret = mRkAiqAnalyzer->stop(); in stop()
426 ret = mRkLumaAnalyzer->stop(); in stop()
430 mCamHw->keepHwStAtStop(keep_ext_hw_st); in stop()
431 ret = mCamHw->stop(); in stop()
455 mAiqMngCmdTh->triger_stop(); in deInit()
457 bool bret = mAiqMngCmdTh->stop(); in deInit()
461 ret = mRkAiqAnalyzer->deInit(); in deInit()
466 ret = mRkLumaAnalyzer->deInit(); in deInit()
470 ret = mCamHw->deInit(); in deInit()
493 update_list->push_back("colorAsGrey"); in updateCalibDb()
496 mCamHw->setCalib(newCalibDb); in updateCalibDb()
498 ret = mRkAiqAnalyzer->setCalib(mCalibDbV2); in updateCalibDb()
500 if (!mRkAiqAnalyzer->isRunningState()) { in updateCalibDb()
501 mRkAiqAnalyzer->updateCalibDbBrutal(mCalibDbV2); in updateCalibDb()
503 mRkAiqAnalyzer->calibTuning(mCalibDbV2, update_list); in updateCalibDb()
515 if (hwres->_buf_type == ISP_POLL_SOF) { in syncSofEvt()
518 mCamHwIsp20->notify_sof(hwres); in syncSofEvt()
521 SmartPtr<SofEventData> evtdata = evtbuf->get_data(); in syncSofEvt()
522 …SmartPtr<ispHwEvt_t> hw_evt = mCamHwIsp20->make_ispHwEvt(evtdata->_frameid, V4L2_EVENT_FRAME_SYNC,… in syncSofEvt()
523 mRkAiqAnalyzer->pushEvts(hw_evt); in syncSofEvt()
528 metas.frame_id = hwres->get_sequence(); in syncSofEvt()
547 if (hwres->_buf_type == ISP_POLL_3A_STATS) { in hwResCb()
549 uint32_t seq = -1; in hwResCb()
550 seq = hwres.dynamic_cast_ptr<VideoBuffer>()->get_sequence(); in hwResCb()
558 SmartPtr<ispHwEvt_t> hw_evt = mCamHwIsp20->make_ispHwEvt( in hwResCb()
562 mRkAiqAnalyzer->pushEvts(hw_evt); in hwResCb()
565 if (mTBStatsCnt == 0) ret = mRkAiqAnalyzer->pushStats(hwres); in hwResCb()
569 ret = mRkAiqAnalyzer->pushStats(hwres); in hwResCb()
572 } else if (hwres->_buf_type == ISP_POLL_LUMA) { in hwResCb()
574 ret = mRkLumaAnalyzer->pushStats(hwres); in hwResCb()
576 } else if (hwres->_buf_type == ISP_POLL_PARAMS) { in hwResCb()
581 } else if (hwres->_buf_type == ISPP_POLL_NR_STATS) { in hwResCb()
582 ret = mRkAiqAnalyzer->pushStats(hwres); in hwResCb()
583 } else if (hwres->_buf_type == ISP_POLL_SOF) { in hwResCb()
585 mCamHwIsp20->notify_sof(hwres); in hwResCb()
588 SmartPtr<SofEventData> evtdata = evtbuf->get_data(); in hwResCb()
589 …SmartPtr<ispHwEvt_t> hw_evt = mCamHwIsp20->make_ispHwEvt(evtdata->_frameid, V4L2_EVENT_FRAME_SYNC,… in hwResCb()
591 if (evtdata->_frameid % 100 == 0) in hwResCb()
595 LOGE("<TB> skip real sof %d\n", evtdata->_frameid); in hwResCb()
598 mRkAiqAnalyzer->pushEvts(hw_evt); in hwResCb()
602 metas.frame_id = evtdata->_frameid; in hwResCb()
609 } else if (hwres->_buf_type == ISP_POLL_TX) { in hwResCb()
614 … camVBuf->info.format, camVBuf->info.color_bits, camVBuf->info.width, camVBuf->info.height, in hwResCb()
615 …camVBuf->info.aligned_width, camVBuf->info.aligned_height, camVBuf->info.size, camVBuf->info.compo… in hwResCb()
616 …camVBuf->info.strides[0], camVBuf->info.strides[1], camVBuf->info.offsets[0], camVBuf->info.offset… in hwResCb()
618 camVBuf->unref(camVBuf); in hwResCb()
620 ret = mRkAiqAnalyzer->pushStats(hwres); in hwResCb()
621 } else if (hwres->_buf_type == ISP_POLL_SP) { in hwResCb()
625 …ts: %d\n strides[0]: %d\n strides[1]: %d\n offset[0]: %d\n offset[1]: %d\n", hwres->get_sequence(), in hwResCb()
626 … camVBuf->info.format, camVBuf->info.color_bits, camVBuf->info.width, camVBuf->info.height, in hwResCb()
627 …camVBuf->info.aligned_width, camVBuf->info.aligned_height, camVBuf->info.size, camVBuf->info.compo… in hwResCb()
628 …camVBuf->info.strides[0], camVBuf->info.strides[1], camVBuf->info.offsets[0], camVBuf->info.offset… in hwResCb()
629 camVBuf->unref(camVBuf); in hwResCb()
632 ret = mRkAiqAnalyzer->pushStats(hwres); in hwResCb()
633 } else if (hwres->_buf_type == ISP_NR_IMG) { in hwResCb()
638 … camVBuf->info.format, camVBuf->info.color_bits, camVBuf->info.width, camVBuf->info.height, in hwResCb()
639 …camVBuf->info.aligned_width, camVBuf->info.aligned_height, camVBuf->info.size, camVBuf->info.compo… in hwResCb()
640 …camVBuf->info.strides[0], camVBuf->info.strides[1], camVBuf->info.offsets[0], camVBuf->info.offset… in hwResCb()
641 camVBuf->unref(camVBuf); in hwResCb()
643 ret = mRkAiqAnalyzer->pushStats(hwres); in hwResCb()
644 } else if (hwres->_buf_type == ISP_GAIN) { in hwResCb()
646 ret = mRkAiqAnalyzer->pushStats(hwres); in hwResCb()
647 } else if (hwres->_buf_type == ISPP_GAIN_WR) { in hwResCb()
649 ret = mRkAiqAnalyzer->pushStats(hwres); in hwResCb()
650 } else if (hwres->_buf_type == ISPP_GAIN_KG) { in hwResCb()
652 ret = mRkAiqAnalyzer->pushStats(hwres); in hwResCb()
654 } else if (hwres->_buf_type == ISP_POLL_PDAF_STATS) { in hwResCb()
656 ret = mRkAiqAnalyzer->pushStats(hwres); in hwResCb()
658 } else if (hwres->_buf_type == VICAP_STREAM_ON_EVT) { in hwResCb()
663 hwevt.cam_id = mCamHw->getCamPhyId(); in hwResCb()
666 mCamGroupCoreManager->setVicapReady(&hwevt); in hwResCb()
667 if (mCamGroupCoreManager->isAllVicapReady()) in hwResCb()
679 } else if (hwres->_buf_type == VICAP_RESET_EVT) { in hwResCb()
685 hwevt.cam_id = mCamHw->getCamPhyId(); in hwResCb()
692 } else if (hwres->_buf_type == VICAP_WITH_RK1608_RESET_EVT) { in hwResCb()
700 hwevt.multi_cam.multi_cam_id[id] = -1; in hwResCb()
709 hwevt.cam_id = -1; in hwResCb()
719 } else if (hwres->_buf_type == VICAP_POLL_SCL) { in hwResCb()
720 ret = mRkAiqAnalyzer->pushStats(hwres); in hwResCb()
741 aiqParams = results->data().ptr(); in applyAnalyzerResult()
744 if (aiqParams->mExposureParams.ptr()) { in applyAnalyzerResult()
745 aiqParams->mExposureParams->setType(RESULT_TYPE_EXPOSURE_PARAM); in applyAnalyzerResult()
746 results_list.push_back(aiqParams->mExposureParams); in applyAnalyzerResult()
749 if (aiqParams->mIrisParams.ptr()) { in applyAnalyzerResult()
750 aiqParams->mIrisParams->setType(RESULT_TYPE_IRIS_PARAM); in applyAnalyzerResult()
751 results_list.push_back(aiqParams->mIrisParams); in applyAnalyzerResult()
754 …if (aiqParams->mFocusParams.ptr() && (ignoreIsUpdate || aiqParams->mFocusParams->data()->is_update… in applyAnalyzerResult()
755 aiqParams->mFocusParams->setType(RESULT_TYPE_FOCUS_PARAM); in applyAnalyzerResult()
756 aiqParams->mFocusParams->data()->is_update = false; in applyAnalyzerResult()
757 results_list.push_back(aiqParams->mFocusParams); in applyAnalyzerResult()
762 …if (aiqParams->m##lc##Params.ptr() && (ignoreIsUpdate || aiqParams->m##lc##Params->data()->is_upda… in applyAnalyzerResult()
764 aiqParams->m##lc##Params->setType(RESULT_TYPE_##BC##_PARAM); \ in applyAnalyzerResult()
765 aiqParams->m##lc##Params->setId(aiqParams->mFrmId); \ in applyAnalyzerResult()
766 aiqParams->m##lc##Params->data()->is_update = false; \ in applyAnalyzerResult()
767 results_list.push_back(aiqParams->m##lc##Params); \ in applyAnalyzerResult()
963 mCamHw->applyAnalyzerResult(results_list); in applyAnalyzerResult()
977 mAiqRstAppTh->push_results(results); in rkAiqCalcDone()
998 ret = mCamHw->setHdrProcessCount(luma_params); in rkLumaCalcDone()
1016 ret = mCamHw->setModuleCtl(mId, mod_en); in setModuleCtl()
1026 ret = mCamHw->getModuleCtl(mId, mod_en); in getModuleCtl()
1036 ret = mCamHw->rawdataPrepare(prop); in rawdataPrepare()
1046 ret = mCamHw->enqueueRawBuffer(rawdata, sync); in enqueueRawBuffer()
1056 ret = mCamHw->enqueueRawFile(path); in enqueueRawFile()
1066 ret = mCamHw->registRawdataCb(callback); in registRawdataCb()
1077 return camHwIsp20->setSharpFbcRotation(rot); in setSharpFbcRotation()
1085 XCamReturn RkAiqManager::setMirrorFlip(bool mirror, bool flip, int skip_frm_cnt) in setMirrorFlip() argument
1093 ret = mCamHw->setSensorFlip(mirror, flip, skip_frm_cnt); in setMirrorFlip()
1096 mRkAiqAnalyzer->setSensorFlip(mirror, flip); in setMirrorFlip()
1097 mCurMirror = mirror; in setMirrorFlip()
1100 LOGW_ANALYZER("set mirror %d, flip %d error", mirror, flip); in setMirrorFlip()
1106 XCamReturn RkAiqManager::getMirrorFlip(bool& mirror, bool& flip) in getMirrorFlip() argument
1114 mirror = mCurMirror; in getMirrorFlip()
1123 /* set defalut mirror & flip from iq*/ in setDefMirrorFlip()
1131 ret = mCamHw->getSensorFlip(mCurMirror, mCurFlip); in setDefMirrorFlip()
1133 sensor->CISFlip = 0x0; in setDefMirrorFlip()
1135 sensor->CISFlip |= 0x1; in setDefMirrorFlip()
1138 sensor->CISFlip |= 0x2; in setDefMirrorFlip()
1141 LOGI_ANALYZER("get mirror %d, flip %d from sensor driver", mCurMirror, mCurFlip); in setDefMirrorFlip()
1144 mRkAiqAnalyzer->setSensorFlip(mCurMirror, mCurFlip); in setDefMirrorFlip()
1146 LOGW_ANALYZER("Failed to updateCalibDb for update sensor mirror/flip"); in setDefMirrorFlip()
1149 LOGW_ANALYZER("Failed to get mirror/flip from sensor driver"); in setDefMirrorFlip()
1152 bool def_mirr = sensor->CISFlip & 0x1 ? true : false; in setDefMirrorFlip()
1153 bool def_flip = sensor->CISFlip & 0x2 ? true : false; in setDefMirrorFlip()
1160 msg->cmd = RkAiqMngCmdThread::MSG_CMD_SW_WORKING_MODE; in swWorkingModeDyn_msg()
1161 msg->sync = true; in swWorkingModeDyn_msg()
1162 msg->data.sw_wk_mode.mode = mode; in swWorkingModeDyn_msg()
1163 mAiqMngCmdTh->send_cmd(msg); in swWorkingModeDyn_msg()
1181 // 1. stop analyzer, re-preapre with the new mode in swWorkingModeDyn()
1182 // 2. stop luma analyzer, re-preapre with the new mode in swWorkingModeDyn()
1185 mAiqRstAppTh->triger_stop(); in swWorkingModeDyn()
1186 bool bret = mAiqRstAppTh->stop(); in swWorkingModeDyn()
1190 ret = mRkAiqAnalyzer->stop(); in swWorkingModeDyn()
1195 ret = mRkLumaAnalyzer->stop(); in swWorkingModeDyn()
1201 ret = mCamHw->pause(); in swWorkingModeDyn()
1211 ret = mCamHw->swWorkingModeDyn(working_mode_hw); in swWorkingModeDyn()
1217 // 5. re-prepare analyzer in swWorkingModeDyn()
1220 ret = mCamHw->getSensorModeData(mSnsEntName, sensor_des); in swWorkingModeDyn()
1221 mRkAiqAnalyzer->notifyIspStreamMode(mCamHw->getIspStreamMode()); in swWorkingModeDyn()
1222 ret = mRkAiqAnalyzer->prepare(&sensor_des, working_mode_hw); in swWorkingModeDyn()
1225 initParams = mRkAiqAnalyzer->getAiqFullParams(); in swWorkingModeDyn()
1233 ret = mCamHw->resume(); in swWorkingModeDyn()
1239 mAiqRstAppTh->triger_start(); in swWorkingModeDyn()
1240 bret = mAiqRstAppTh->start(); in swWorkingModeDyn()
1244 ret = mRkAiqAnalyzer->start(); in swWorkingModeDyn()
1249 ret = mRkLumaAnalyzer->start(); in swWorkingModeDyn()
1255 /* ret = mCamHw->resume(); */ in swWorkingModeDyn()
1269 camHwIsp20->setMulCamConc(cc); in setMulCamConc()
1271 mRkAiqAnalyzer->setMulCamConc(cc); in setMulCamConc()
1285 mCamHw->setCalib(aiqCalib); in calibTuning()
1286 ret = mRkAiqAnalyzer->setCalib(aiqCalib); in calibTuning()
1294 mRkAiqAnalyzer->calibTuning(aiqCalib, change_list); in calibTuning()