当前位置: 首页 > news >正文

怎么做免费的网站网站建设与管理量化考细则

怎么做免费的网站,网站建设与管理量化考细则,免费自学网,网站做的好看的#xff08;1#xff09;概念 MTK打闪一般分为预闪、主闪两个阶段。相应的执行一次拍照会有预闪、主闪两次开灯。预闪可以用来防红眼(red-eye reduction)。闪光时使环境发生变化#xff0c;会按新的光线条件#xff08;有闪光时#xff09;重新测光#xff0c;来实现更精…1概念 MTK打闪一般分为预闪、主闪两个阶段。相应的执行一次拍照会有预闪、主闪两次开灯。预闪可以用来防红眼(red-eye reduction)。闪光时使环境发生变化会按新的光线条件有闪光时重新测光来实现更精确预闪是开灯让AE/AF收敛其持续的时间取决于AF/AF收敛的速度Flash本身没有控制预闪时间长短的能力。理论上环境亮度越暗对应的Sensor Framerate越低AE/AF收敛的时间就越长(AE收敛完之后才会做AF收敛)。预闪阶段会提前计算主闪时会使用的参数(AE/AWB/AF/Duty)。主闪是在Capture阶段去开灯一般flow至少会亮三张Frame在第三帧P1 Done关灯。主闪Duty, doCap要使用的AE参数、AWB权重、AF lock focus都是在预闪阶段就决定了。所以主闪的持续时间相对比预闪的会短一些电流强度也会稍微高一点。 这里我们以普通的mt6761为例可以查看部分代码的设置。 2闪光灯Hal逻辑代码 //vendor/mediatek/proprietary/hardware/mtkcam/aaa/source/common/flash_mgr/flash_hal.cppint FlashHal::getTorchStatus() {logI(getTorchStatus(): torch status(%d)., mTorchStatus);return mTorchStatus; }int FlashHal::setTorchOnOff(MBOOL enable) {logI([CAT][flash] setTorchOnOff(): type:%d enable:%d, mStrobeTypeId, enable);if (mStrobeTypeId STROBE_TYPE_FRONT !cust_isSubFlashSupport())return 1;if (enable 1) {init();setInCharge(1);setOnOff(enable, FLASH_HAL_SCENARIO_TORCH);mTorchStatus 1;} else {setOnOff(enable, FLASH_HAL_SCENARIO_TORCH);setInCharge(0);uninit();mTorchStatus 0;}return 0; }int FlashHal::setVideoTorchOnOff(int enable) {logI(setVideoTorchOnOff(): enable(%d)., enable);setOnOff(enable, FLASH_HAL_SCENARIO_VIDEO_TORCH);return 0; }int FlashHal::setAfLampOnOff(int enable) {logI(setAfLampOnOff(): enable(%d)., enable);setOnOff(enable, FLASH_HAL_SCENARIO_AF_LAMP);return 0; }int FlashHal::setPfOnOff(int enable) {logI(setPfOnOff(): enable(%d)., enable);setOnOff(enable, FLASH_HAL_SCENARIO_PRE_FLASH);return 0; }int FlashHal::setCaptureFlashOnOff(int enable) {logI(setCaptureFlashOnOff(): enable(%d)., enable);setOnOff(enable, FLASH_HAL_SCENARIO_MAIN_FLASH);return 0; }int FlashHal::setTorchDuty(int level) {int duty 0, dutyLt 0;logI(setTorchLevel(): level(%d)., level);mTorchLevel level;FlashCustomAdapter::getInstance(mSensorDev)-getTorchDuty(level, duty, dutyLt);mpStrobe-setDuty(duty);if (mStrobeCtNum 1) {mpStrobe2-setDuty(dutyLt);}return 0; }//setOnOff int FlashHal::setOnOff(int enable, FLASH_HAL_SCENARIO_ENUM scenario) {logI([CAT][flash] setOnOff(): type:%d enable:%d scenario:%d, mStrobeTypeId, enable, scenario);/* verify arguments */if (verifyScenario(scenario)) {logE(setOnOff(): invalid arguments.);return -1;}if (!isAvailable()) {logI(setOnOff(): sensorDev(%d) not available., mSensorDev);return -1;}if (scenario FLASH_HAL_SCENARIO_MAIN_FLASH) {//...} else if (scenario FLASH_HAL_SCENARIO_VIDEO_TORCH) {//...}if (enable)return setFlashOn(mFlashHalInfo[scenario]);elsereturn setFlashOff(); }3关闭真闪配置 //vendor/mediatek/proprietary/custom/mt6761/hal/camera_3a/flashawb_tuning_custom.cppMBOOL isFlashAWBv2Enabled(MINT32 i4SensorDev) {switch (i4SensorDev){case NSIspTuning::ESensorDev_Main: // Main Sensorreturn MTRUE;//MFALSEcase NSIspTuning::ESensorDev_MainSecond: // Main Second Sensorreturn MTRUE;case NSIspTuning::ESensorDev_Sub: // Sub Sensorreturn MTRUE;case NSIspTuning::ESensorDev_SubSecond: // Sub Second Sensorreturn MTRUE;default:return MTRUE;} }4默认关闭双闪通道并进行闪光灯校准 //kernel-4.19/arch/arm64/boot/dts/mediatek/mt6761.dtsflashlight_core: flashlight_core {compatible mediatek,flashlight_core;};flashlights_mt6370: flashlights_mt6370 {compatible mediatek,flashlights_mt6370;decouple 1;//默认为0需要配置为1channel1 {type 0;ct 0;part 0;};};flashlights_aw3644: flashlights_aw3644 {compatible mediatek,flashlights_aw3644;};//vendor/mediatek/proprietary/custom/mt6761/hal/flashlight/flash_custom.cppint cust_isDualFlashSupport(int sensorDev) {if(sensorDev DUAL_CAMERA_MAIN_SENSOR || sensorDev DUAL_CAMERA_MAIN_2_SENSOR)return 0;elsereturn 0;return 0; }如下修改为闪光灯校准vendor/mediatek/proprietary/custom/mt6761/hal/flashlight/flash_tuning_custom_cct.cpp 5闪光灯亮度相关参数 //vendor/mediatek/proprietary/custom/mt6761/hal/flashlight//flash_tuning_custom_cct.cpp //--------------------//eng level//index mode//torchp-engLevel.torchDuty 6;//手电筒亮度//afp-engLevel.afDuty 6;//对焦闪光灯亮度//pf, mf, normalp-engLevel.pfDuty 6;//预闪亮度p-engLevel.mfDutyMax 27;//主闪亮度范围值p-engLevel.mfDutyMin 0;//...6闪光灯打闪Log分析 Amain Log查看3次打闪 打闪几次可通过如下Log判断。 W TaskMgr : [sendEvent] TaskEvent:TouchAEStart, fgLampflashCond(1)/bCustEnableFlash(1)/bStrobeBVTrigger(1) W TaskMgr : [sendEvent] TaskEvent:TouchAEStart, fgLampflashCond(1)/bCustEnableFlash(1)/bStrobeBVTrigger(1) W TaskMgr : [sendEvent] TaskEvent:TouchAEStart, fgLampflashCond(1)/bCustEnableFlash(1)/bStrobeBVTrigger(1)另可通过如下源码查看调用过程。 //vendor/mediatek/proprietary/hardware/mtkcam/aaa/source/isp_30/ae_mgr/ae_mgr.cppMBOOL AeMgr::IsStrobeBVTrigger() {MBOOL bStrobeBVTrigger;MINT32 i4Bv 0;if (m_rAEInitInput.rAEPARAM.strAEParasetting.bEV0TriggerStrobe MTRUE){// The strobe trigger by the EV 0 indexi4Bv m_BVvalueWOStrobe;}else{if (m_rAEInitInput.rAEPARAM.pEVValueArray[m_eAEEVcomp]){if (m_pIAeAlgo ! NULL){i4Bv m_BVvalueWOStrobe m_pIAeAlgo-getSenstivityDeltaIndex(1024 * 1024 / m_rAEInitInput.rAEPARAM.pEVValueArray[m_eAEEVcomp]);}else{i4Bv m_BVvalueWOStrobe;AE_LOG([%s()] The AE algo class is NULL, i4SensorDev:%d line:%d\n, __FUNCTION__, m_eSensorDev, __LINE__);}}}bStrobeBVTrigger (i4Bv m_CurrentCaptureTable.i4StrobeTrigerBV)?MTRUE:MFALSE;AE_LOG_IF(m_3ALogEnable, [%s()] i4SensorDev:%d bStrobeBVTrigger:%d BV:%d %d\n, __FUNCTION__, m_eSensorDev, bStrobeBVTrigger, i4Bv, m_CurrentCaptureTable.i4StrobeTrigerBV);return bStrobeBVTrigger; }可通过如上Code中的bStrobeBVTrigger字段来查看当前环境值和打闪阈值。 D ae_mgr : [IsStrobeBVTrigger()] i4SensorDev:1 bStrobeBVTrigger:0 BV:11 -28 D ae_mgr : [IsStrobeBVTrigger()] i4SensorDev:1 bStrobeBVTrigger:0 BV:10 -28 D ae_mgr : [IsStrobeBVTrigger()] i4SensorDev:1 bStrobeBVTrigger:1 BV:-36 -28 D ae_mgr : [IsStrobeBVTrigger()] i4SensorDev:1 bStrobeBVTrigger:0 BV:-2 -28备注具体打闪阈值通过效果文件来控制。 //camera_AE_PLineTable_xxxxraw.hstatic constexpr strAETable g_AE_PreviewAutoTable {AETABLE_RPEVIEW_AUTO, //eAETableID147, //u4TotalIndex-28, //i4StrobeTrigerBV //为当前配置的打闪阈值102, //i4MaxBV-44, //i4MinBV, Original:-4590, //i4EffectiveMaxBV-30, //i4EffectiveMinBVLIB3A_AE_ISO_SPEED_AUTO, //ISOsPreviewPLineTable_60Hz,sPreviewPLineTable_50Hz,NULL, };Bkernel Log查看3次打闪 //预闪 kernel_log_6__2023_0613_212218:10220: 7[ 2188.129555] (0)[7550:3AEventThd]flashlight: _flashlight_ioctl: FLASH_IOC_SET_ONOFF(0,0,0): 1 kernel_log_6__2023_0613_212218:11035: 7[ 2189.912077] (2)[7550:3AEventThd]flashlight: _flashlight_ioctl: FLASH_IOC_SET_ONOFF(0,0,0): 0 //主闪 kernel_log_6__2023_0613_212218:11260: 7[ 2190.348990] (0)[7467:3ATHREAD]flashlight: _flashlight_ioctl: FLASH_IOC_SET_ONOFF(0,0,0): 1 kernel_log_6__2023_0613_212218:11305: 7[ 2190.453573] (3)[7512:CAM_P1]flashlight: _flashlight_ioctl: FLASH_IOC_SET_ONOFF(0,0,0): 0 kernel_log_6__2023_0613_212218:11463: 7[ 2190.665271] (1)[7467:3ATHREAD]flashlight: _flashlight_ioctl: FLASH_IOC_SET_ONOFF(0,0,0): 0kernel_log_6__2023_0613_212218:12779: 7[ 2193.272978] (1)[7639:3AEventThd]flashlight: _flashlight_ioctl: FLASH_IOC_SET_ONOFF(0,0,0): 1 kernel_log_6__2023_0613_212218:13307: 7[ 2194.481592] (3)[7639:3AEventThd]flashlight: _flashlight_ioctl: FLASH_IOC_SET_ONOFF(0,0,0): 0 kernel_log_6__2023_0613_212218:13497: 7[ 2194.918873] (0)[7467:3ATHREAD]flashlight: _flashlight_ioctl: FLASH_IOC_SET_ONOFF(0,0,0): 1 kernel_log_6__2023_0613_212218:13542: 7[ 2195.016548] (1)[7512:CAM_P1]flashlight: _flashlight_ioctl: FLASH_IOC_SET_ONOFF(0,0,0): 0 kernel_log_6__2023_0613_212218:13705: 7[ 2195.222145] (2)[7467:3ATHREAD]flashlight: _flashlight_ioctl: FLASH_IOC_SET_ONOFF(0,0,0): 0kernel_log_6__2023_0613_212218:15349: 7[ 2198.889098] (2)[7653:3AEventThd]flashlight: _flashlight_ioctl: FLASH_IOC_SET_ONOFF(0,0,0): 1 kernel_log_6__2023_0613_212218:15942: 7[ 2200.201315] (3)[7653:3AEventThd]flashlight: _flashlight_ioctl: FLASH_IOC_SET_ONOFF(0,0,0): 0 kernel_log_6__2023_0613_212218:16129: 7[ 2200.869104] (3)[7467:3ATHREAD]flashlight: _flashlight_ioctl: FLASH_IOC_SET_ONOFF(0,0,0): 1 kernel_log_6__2023_0613_212218:16174: 7[ 2200.967390] (0)[7512:CAM_P1]flashlight: _flashlight_ioctl: FLASH_IOC_SET_ONOFF(0,0,0): 0 kernel_log_6__2023_0613_212218:16347: 7[ 2201.322911] (1)[7467:3ATHREAD]flashlight: _flashlight_ioctl: FLASH_IOC_SET_ONOFF(0,0,0): 0
http://www.huolong8.cn/news/50281/

相关文章:

  • 长沙网页制作模板的网站做展厅 参考什么网站
  • 安平做网站的电话wordpress悬浮音乐插件
  • 网站设计的价格wordpress网页加入音乐入口
  • 广西建设执业注册中心中心网站网站开发绑定qq
  • 策划电子商务网站建设规划书请问那个网站做推广好点
  • 假山网站建设建设项目自主验收公示的网站
  • 网站建设播放vr视频教程大连旅顺港
  • 网站建设与管理报告书北京网站设计公司yy成都柚米科技15
  • 网站建设培训学校wordpress采集查卷
  • seo刷网站wordpress+重装教程
  • 贸易公司自建免费网站驻马店网站建设价格
  • 数据库作业代做网站在虚拟主机上安装wordpress
  • 百度指数网站seo综合查询使用vsping工具
  • 网站建设创建做网站的公司都很小吗
  • 做外贸公司网站怎么做中天控股集团有限公司
  • 大气建站工作室网站源码江苏苏州昨天出大事
  • 深圳住房和建设局网站哪里预约wordpress返回500
  • 长宁区网站建设开中国域名注册中心
  • 织梦网站调节网站温州企业网站建设要多少钱
  • 接网站开发的公司电话做公司官网步骤
  • 免费网站域名空间鄂州网页定制
  • 东营网站seo顾问有哪些网站做的比较好的
  • 地区网站建设天眼查官网查询企业
  • 焦作北京网站建设网站用什么语言
  • 做字画的网站淘宝客登记新网站
  • 郑州模板网站一个网站2级域名多
  • 网站排名效果好长沙景点视频
  • 厦门网站建设开发公司唐山哪里建档生孩子好
  • 用phpmysql做网站建设网站的企业
  • 外国旅游网站建设现状建立网站视频教程