mtk-camera-flow.txt

mtk6835 ISP6S
//----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------    
1-> FdNodeImp::FDHalThreadLoop(MVOID* arg)                                X:\bruce\SI\mtkcam3\pipeline\hwnode\fd\FDNodeImp.cpp
  2-> _FDNode->RunFaceDetection();
    3-> FDRet |= mvpFDHalObj[i]->oplusHalFDInit(getOpenId(), &faceData);        //三方商汤FD    
      4-> MINT32 CustomFDApi::oplusHalFDInit(MINT8 camID, oplusFaceInitData* faceData)        X:\bruce\SI\custom\mt6835\hal\camera_fd\custom_fd.cpp
        5-> FdAlgoApi::createInstance(type, mpFdAlgolObj);
          6-> cusAlgo = std::make_shared<CustomVgeaFdApi>();                X:\bruce\SI\custom\mt6835\hal\camera_fd\custom_fd_algo_api.cpp    
        5-> mpFdAlgolObj->cusHalFDInit(camID, faceData);
          6-> int32_t CustomVgeaFdApi::cusHalFDInit(int camId, oplusFaceInitData* faceData)        X:\bruce\SI\custom\mt6835\hal\camera_fd\custom_vgea_fd.cpp
            7-> custom_fd_algo_init(mLogLevel, mBypassAlgo, mAlgoWConf, camId);
    3-> FDRet |= mvpFDHalObj[i]->halFDInit(srcWidth, srcHeight        //MTK平台FD    
      4-> halFDVT50Base::halFDInit(                X:\bruce\SI\mtkcam3\feature\common\faceeffect\FaceDetection\FD5.0\fd_hal50_base.cpp
        5-> 
          6-> 
            7-> 
              8-> 
                9-> 
                  10->     
    3-> numFace = mpFDHalObj->halFDGetFaceResult(mpDetectedFaces, 1);
    3-> FDRet = mpFDHalObj->halFDDo(Param);
      4-> iMINT32 CustomFDApi::halFDDo(        //三方商汤FD                            X:\bruce\SI\custom\mt6835\hal\camera_fd\custom_fd.cpp
        5-> mpFdAlgolObj->process(Param, &p3AFaceResult);
          6-> int32_t CustomVgeaFdApi::process(                            X:\bruce\SI\custom\mt6835\hal\camera_fd\custom_vgea_fd.cpp
            7-> custom_fd_algo_face_detect(&mFrame, &param, p3AFaceResult);
              8-> ret = m_custom_fd_ops.vega_face_track_set_detect_interval_t(m_track_handle    
              8-> ret = m_custom_fd_ops.vega_face_track_t(m_track_handle, &tempFrame,
              8-> ret = m_custom_fd_ops.vega_face_ret_get_faces_cnt_t(m_result_handle, &mFacesCnt);
              8-> ret = m_custom_fd_ops.vega_face_ret_get_face_at_t(m_result_handle, i,
              8-> ret = m_custom_fd_ops.vega_face_ret_get_face_rect_t(m_face_handle, &id,
              8-> setFdRectInfo(in, &tempFrame, p3AFaceResult, face_points, rect, i);          
                9-> p3AFaceResult->faces[i].rect[0] = (int32_t)rect.left;
              8-> setFfdInfo(in, &tempFrame, p3AFaceResult, rotateInfo, face_points, occlusions, i);          
                9-> p3AFaceResult->fld_rop[i] = -(int)rotateInfo.yaw;                
                  10->             
            7-> custom_fd_algo_face_attribute(&mFrame, &param, p3AFaceResult);
              8-> ret = m_custom_fd_ops.vega_face_attribute_detect_t(m_attribute_handle, frame,                        
                9-> setFdAttribute(face_attribute, p3AFaceResult, &raceResult, i);
                  10-> raceResult->race[i] = race[0].label;
      4-> halFDVT50Base::halFDDo(        //MTK平台FD        X:\bruce\SI\mtkcam3\feature\common\faceeffect\FaceDetection\FD5.0\fd_hal50_base.cpp
        5-> doHWFaceDetection(pfd_cal_data, &FDOps);
          6-> halFDVT51::doHWFaceDetection(            X:\bruce\SI\mtkcam3\feature\common\faceeffect\FaceDetection\FD5.0\fdvt_hal51.cpp
            7-> mpFDStream->EGNenque(mFdvtParams_face);
              8-> MBOOL DPEV4L2Stream::EGNenque(DPEParamV4L2 &enqueData)    X:\bruce\SI\mtkcam3\feature/core/featurePipe/vsdof/depthmap/4.5/driverInterface/DPEDrv.cpp
                9-> 
                  10->     
//----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------    
1-> FdNodeImp::threadLoop()
  2-> onProcessFrame(pFrame);
    3-> ReturnFDResult(pOutMetadataResult
    3-> 
    3-> 
    3-> 
    3-> 
    3->     
      4-> 
        5-> 
          6-> 
            7-> 
              8-> 
                9-> 
                  10->     
//----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------    

1-> bool CamThread::CamThreadHandle::threadLoop()        mtkcam3/feature/core/featurePipe/core/src/CamThread.cpp
  2-> mParent->onThreadLoop();
    3-> MBOOL HelperNode::onThreadLoop()        mtkcam3/feature/core/featurePipe/streaming/HelperNode.cpp
      4-> processHelper(request, cbRequest.mData);
        5-> processTPIMeta(request, helpReq.mCBMsg);
          6-> ret = mTPIMgr->enqueNode(mTPIMetaNode.mNodeID, request->mRequestNo,
            7-> bool TPIMgr_PluginWrapper::enqueNode(T_NodeID nodeID, unsigned frame,         mtkcam3/feature/core/featurePipe/streaming/tpi/TPIMgr_PluginWrapper.cpp
              8-> if( plugin->process(request) == OK )
                9-> return mImpl.process(pRequest, pCallback);        mtkcam3/include/mtkcam3/3rdparty/plugin/PluginInterceptor.h
                  10-> MERROR OcamMeta::process(RequestPtr pRequest, RequestCallbackPtr pCallback)        X:\bruce\SI\mtkcam3\oplus\3rdparty\customer\ocam_async\ocam_meta.cpp
                    11-> setFfdData2App(facedata, pOMetadataApp);
                      12-> pOMetadataApp->update(OPLUS_CONTROL_CAPTURE_FB_FACE_INFO, faceInfoEntry);
                      12-> pOMetadataApp->update(OPLUS_CONTROL_CAPTURE_FFDPOINTS_INFO, ffdInfoEntry);
                        13-> 
                          14-> 
                            15-> 
        5-> processAsync(request, helpReq.mCBMsg);
          6-> 
            7-> 
              8-> 
                9-> 
                  10-> 
                    11-> 
                      12-> 
                        13-> 
                          14-> 
                            15-> 
        5-> processCB(request, helpReq.mCBMsg);
          6-> 
            7-> 
              8-> 
                9-> 
                  10-> 
                    11-> 
                      12-> 
                        13-> 
                          14-> 
                            15->     
//----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------    
1-> NSCam::NSCamFeature::NSFeaturePipe::TPI_AsyncNode::onThreadLoop()        mtkcam3/feature/core/featurePipe/streaming/TPI_AsyncNode.cpp
  2-> result = process(request, data);
    3-> TPI_AsyncNode::process(const         
      4-> ret = mTPIMgr->enqueNode(mTPINodeIO.mNodeInfo.mNodeID,
        5-> TPIMgr_PluginWrapper::enqueNode            mtkcam3/feature/core/featurePipe/streaming/tpi/TPIMgr_PluginWrapper.cpp
          6-> if( plugin->process(request) == OK )
            7-> bool TPIMgr_PluginWrapper::enqueNode(T_NodeID nodeID, unsigned frame,         mtkcam3/feature/core/featurePipe/streaming/tpi/TPIMgr_PluginWrapper.cpp
              8-> if( plugin->process(request) == OK )
                9-> return mImpl.process(pRequest, pCallback);        mtkcam3/include/mtkcam3/3rdparty/plugin/PluginInterceptor.h
                  10-> OcamAsync::process(RequestPtr pRequest, RequestCallbackPtr pCallback)        X:\bruce\SI\mtkcam3\oplus\3rdparty\customer\ocam_async\ocam_async.cpp
                    11-> doProcess(&preview_frame);
                      12-> int OcamAsync::doProcess(buffer_def_t* preview_frame)
                        13-> 
                          14-> 
                            15->                             
//----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------    
1-> PipelineModelImpl::open(                      mtkcam3/pipeline/model/PipelineModelImpl.cpp
  2-> CC_LIKELY( mHalDeviceAdapter->powerOn()                      mtkcam3/pipeline/model/PipelineModelImpl.cpp
    3-> virtual auto    powerOn() -> bool override    X:\bruce\SI\mtkcam3\pipeline\model\adapter\HalDeviceAdapter.cpp    
      4-> if (CC_UNLIKELY( !mvHalSensor[i]->powerOn(mName.c_str(), 1, &sensorIndex) ))        
        5-> HalSensor::powerOn(                        X:\bruce\SI\mtkcam\drv\src\sensor\common\v1_1\HalSensor.cpp
          6-> ret = pSensorDrv->open();        
            7-> ImgSensorDrv::open()                X:\bruce\SI\mtkcam\drv\src\sensor\common\v1_1\imgsensor_drv.cpp
              8-> ret = featureControl(SENSOR_FEATURE_OPEN
                9-> ret = ioctl(m_fd, KDIMGSENSORIOC_X_FEATURECONCTROL, &featureCtrl);    
                  10-> 
          6-> HalSensor::setSensorMclk
          6-> HalSensor::setSensorMclkDrivingCurrent              
            7-> ImgSensorDrv::sendCommand                        mtkcam/drv/src/sensor/mt6835/../common/v1_1/imgsensor_drv.cpp                  
      4-> mvHal3A.push_back(IHal3AAdapter::create(mvPhySensorId[i], mName.c_str()));    
        5-> IHal3AAdapter::create                    mtkcam3/pipeline/model/adapter/Hal3AAdapter.cpp
          6-> Hal3AAdapter::init() at vendor/mediatek/proprietary/hardware/mtkcam3/pipeline/model/adapter/Hal3AAdapter.cpp
            7-> createInstance_Hal3A at vendor/mediatek/proprietary/hardware/mtkcam/aaa/source/common/hal3a/v3.0/IHal3A.cpp
              8-> NS3Av3::Hal3AAdapter3::createInstance(int, char const*) at vendor/mediatek/proprietary/hardware/mtkcam/aaa/source/common/hal3a/v3.0/Hal3AAdapter3.cpp
                9-> NS3Av3::Hal3AAdapter3::init
                  10-> NS3Av3::Hal3AAdapter3::doInit()
                    11-> NS3Av3::Hal3AFlowCtrl::getInstance(int)
                      12-> NS3Av3::Hal3AFlowCtrl::init(int)
                        13-> Hal3ARawImp::getInstance(int) at vendor/mediatek/proprietary/hardware/mtkcam/aaa/source/isp_6s/wrapper/Hal3ARawImp.cpp
                          14-> Hal3ARawImp::init(int) 
                            15-> NS3Av3::AeMgr::cameraPreviewInit(int, NS3Av3::Param_T&) at vendor/mediatek/proprietary/hardware/mtkcam/aaa/source/isp_6s/ae_mgr/ae_mgr.cpp
                              16-> AeMgr::PreviewAEInit
                                17-> AAASensorMgr::getSensorDeviceInfo2(                mtkcam/aaa/source/common/lsc_mgr/../../isp_6s/sensor_mgr/aaa_sensor_mgr.cpp
                                  18-> HalSensor::sendCommand(                            mtkcam/drv/src/sensor/mt6835/../common/v1_1/HalSensor.cpp
                                    19-> ImgSensorDrv::sendCommand(                        mtkcam/drv/src/sensor/mt6835/../common/v1_1/imgsensor_drv.cpp        
                                      20-> ImgSensorDrv::featureControl
                            15-> LscMgrDefault::init()                                             mtkcam/aaa/source/common/lsc_mgr/../../isp_6s/lsc_mgr/LscMgrDefault.cpp
                              16-> LscMgrDefault::getSensorResolution()
                                17-> HalSensor::sendCommand
                                  18-> ImgSensorDrv::sendCommand(                        mtkcam/drv/src/sensor/mt6835/../common/v1_1/imgsensor_drv.cpp        
                                    19-> ImgSensorDrv::featureControl        
                                      20-> 


//----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------    
1-> main at vendor/mediatek/proprietary/hardware/mtkcam3/main/hal/service/service.cpp
  2-> NSCam::hidl_dev3::HidlCameraDevice3::open    mtkcam3/main/hal/entry/hidl/device/3.x/HidlCameraDevice3.cpp
    3-> hidlSession->open(V3_5::ICameraDeviceCallback::castFrom(callback));    
      4-> HidlCameraDeviceSession::open                mtkcam3/main/hal/entry/hidl/device/3.x/HidlCameraDeviceSession.cpp
        5-> HidlCameraDeviceSession::initialize
          6-> CameraDevice3SessionImpl::open        mtkcam3/main/hal/device/3.x/device/CameraDevice3SessionImpl.cpp
            7-> CameraDevice3SessionImpl::tryRunCommandLocked
              8-> err = onOpenLocked(callback);
                9-> PipelineModelManagerImpl::getPipelineModel(int) const at vendor/mediatek/proprietary/hardware/mtkcam3/pipeline/model/PipelineModelManagerImpl.cpp
                  10-> PipelineModelImpl::createInstance                mtkcam3/pipeline/model/PipelineModelImpl.cpp
                    11-> PipelineModelImpl::init()
                      12-> PipelineModelImpl::initPipelineStaticInfo
                        13-> querySeamlessSwitchStaticInfo             
                          14-> HalSensor::sendCommand                                            mtkcam/drv/src/sensor/mt6835/../common/v1_1/HalSensor.cpp
                            15-> ImgSensorDrv::sendCommand                        mtkcam/drv/src/sensor/mt6835/../common/v1_1/imgsensor_drv.cpp
                              16-> ImgSensorDrv::featureControl
                                17-> 
                                  18-> 
                                    19->         
                                      20-> 
                                      
                                      
gc32e2mipiraw_avatarl5_Sensor.c   feature_control(MSDK_SENSOR_FEATURE_ENUM feature_id,UINT8 *feature_para, UINT32 *feature_para_len)   
case SENSOR_FEATURE_GET_AWB_REQ_BY_SCENARIO:
case SENSOR_FEATURE_GET_GAIN_RANGE_BY_SCENARIO:
case SENSOR_FEATURE_GET_BASE_GAIN_ISO_AND_STEP:
case SENSOR_FEATURE_GET_MIN_SHUTTER_BY_SCENARIO:
case SENSOR_FEATURE_GET_PIXEL_CLOCK_FREQ_BY_SCENARIO:
    case MSDK_SCENARIO_ID_CAMERA_CAPTURE_JPEG:
    case MSDK_SCENARIO_ID_VIDEO_PREVIEW:
    case MSDK_SCENARIO_ID_HIGH_SPEED_VIDEO:
    case MSDK_SCENARIO_ID_SLIM_VIDEO:
    case MSDK_SCENARIO_ID_CUSTOM1:
    case MSDK_SCENARIO_ID_CUSTOM2:
    case MSDK_SCENARIO_ID_CAMERA_PREVIEW:
case SENSOR_FEATURE_GET_PERIOD_BY_SCENARIO:
    case MSDK_SCENARIO_ID_CAMERA_CAPTURE_JPEG:
    case MSDK_SCENARIO_ID_VIDEO_PREVIEW:
    case MSDK_SCENARIO_ID_HIGH_SPEED_VIDEO:
    case MSDK_SCENARIO_ID_SLIM_VIDEO:
    case

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一起搞IT吧

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值