Android : 高通平台Camera调试之SetpropKey/camxoverridesettings.txt
高通相关网址:Createpoint: https://createpoint.qti.qualcomm.com(可下载文档,Release Note等)
Chipcode: https://chipcode.qti.qualcomm.com(下载私有代码)
开源代码: https://www.codeaurora.org/xwiki/bin/QAEP/release(下载开源代码)
Case和文档: https://support.cdmatech.com(Case,文档,工具等)
调试平台信息:【SDM845/670】
1.LOG信息相关:
--AF相关LOG控制--
例: setprop persist.vendor.camera.logInfoMask 0x8000000 //AF info level log setprop persist.vendor.camera.logVerboseMask 0x8000000 //AF verbose level log
adb shell "echo logInfoMask=0x8000000 >> /vendor/etc/camera/camxoverridesettings.txt" adb shell "echo logVerboseMask=0x8000000 >> /vendor/etc/camera/camxoverridesettings.txt"
Mask值对应如下:(1 << 27)=0x8000000 即对应AF模块
// The group tag for a given debug print message typedef UINT32 CamxLogGroup; static const CamxLogGroup CamxLogGroupNone = (1 << 0); ///< Generic group static const CamxLogGroup CamxLogGroupSensor = (1 << 1); ///< Sensor static const CamxLogGroup CamxLogGroupIFace = (1 << 2); ///< IFace static const CamxLogGroup CamxLogGroupISP = (1 << 3); ///< ISP static const CamxLogGroup CamxLogGroupPProc = (1 << 4); ///< Post Processor static const CamxLogGroup CamxLogGroupImgLib = (1 << 5); ///< Image Lib static const CamxLogGroup CamxLogGroupCPP = (1 << 6); ///< CPP static const CamxLogGroup CamxLogGroupHAL = (1 << 7); ///< HAL static const CamxLogGroup CamxLogGroupJPEG = (1 << 8); ///< JPEG static const CamxLogGroup CamxLogGroupStats = (1 << 9); ///< Stats static const CamxLogGroup CamxLogGroupCSL = (1 << 10); ///< CSL static const CamxLogGroup CamxLogGroupApp = (1 << 11); ///< Application static const CamxLogGroup CamxLogGroupUtils = (1 << 12); ///< Utilities static const CamxLogGroup CamxLogGroupSync = (1 << 13); ///< Sync static const CamxLogGroup CamxLogGroupMemSpy = (1 << 14); ///< MemSpy static const CamxLogGroup CamxLogGroupAssert = (1 << 15); ///< Asserts static const CamxLogGroup CamxLogGroupCore = (1 << 16); ///< Core static const CamxLogGroup CamxLogGroupHWL = (1 << 17); ///< HWL static const CamxLogGroup CamxLogGroupChi = (1 << 18); ///< CHI static const CamxLogGroup CamxLogGroupDRQ = (1 << 19); ///< DRQ static const CamxLogGroup CamxLogGroupFD = (1 << 20); ///< FD static const CamxLogGroup CamxLogGroupIQMod = (1 << 21); ///< IQ module static const CamxLogGroup CamxLogGroupLRME = (1 << 22); ///< LRME static const CamxLogGroup CamxLogGroupNCS = (1 << 23); ///< NCS static const CamxLogGroup CamxLogGroupMeta = (1 << 24); ///< Metadata static const CamxLogGroup CamxLogGroupAEC = (1 << 25); ///< AEC //0x2000000 static const CamxLogGroup CamxLogGroupAWB = (1 << 26); ///< AWB //0x4000000 static const CamxLogGroup CamxLogGroupAF = (1 << 27); ///< AF //0x8000000
--禁用深度焦点指示--
setprop persist.vendor.camera.af.depthfocus 1
disableFocusIndication=1
--关闭 PDAF--
setprop persist.vendor.camera.disablePDAF 1
disablePDAF=1
--开启PDLib log--
setprop persist.camera.pdaf_logging 1
--开启PDAF performance log--
setprop persist.camera.pdaf_profiling 1
--开启 AF debug log--
setprop persist.camera.stats.af.debug 5
setprop persist.camera.stats.haf.debug 5
--设置 fullsweep 模式--
afFullsweep=0 //fullsweep off
afFullsweep=1 //far to near
afFullsweep=2 //near to far
afFullsweep=3 //both
--Dump EEPROM 保存OTP数据至 /data/misc/camera/ --
dumpSensorEEPROMData=1
--3A调试 exif信息--
debugDataSizeAEC=6000
debugDataSizeAWB=550000
debugDataSizeAF=70000
--CHI Override log--
logInfoMask=0x40080
logVerboseMask=0x40000
overrideLogLevels=0x1F
--Assert--
persist.vendor.camera.assertMask
assertMask=0x2
--Warning log--
persist.vendor.camera.logWarningMask
logWarningMask=0x2
--Info log--
persist.vendor.camera.logInfoMask
logInfoMask=0x2
--Perf Info log--
persist.vendor.camera.logPerfInfoMask
logPerfInfoMask=0x2
--Verbose Info log--
persist.vendor.camera.logVerboseMask
logVerboseMask=0x2
--Entry/Exit log--
persist.vendor.camera.logEntryExitMask
logEntryExitMask=0x2
--DRQ Log--
persist.vendor.camera.logDRQEnable
logDRQEnable=TRUE
--System Log Enable--
persist.vendor.camera.systemLogEnable
systemLogEnable=FALSE
--Log filename--
persist.vendor.camera.debugLogFilename
debugLogFilename=cameralog
--Trace group--
persist.vendor.camera.traceGroupsEnable
traceGroupsEnable=0x2
--Enable FPS Logs--
persist.vendor.camera.enableFPSLog
enableFPSLog=TRUE
2.ChiOverride 设置
(1)开关ZSL
persist.vendor.camera.overrideDisableZSL adb shell "echo overrideDisableZSL=1 >> /vendor/etc/camera/camxoverridesettings.txt"
(2)开关MFNR
persist.vendor.camera.overrideEnableMFNR adb shell "echo overrideEnableMFNR=1 >> /vendor/etc/camera/camxoverridesettings.txt"
(3)强制选择一个usecase
persist.vendor.camera.overrideForceUsecaseId adb shell "echo overrideForceUsecaseId=8 >> /vendor/etc/camera/camxoverridesettings.txt”
(4)强制选择一个sensor mode
persist.vendor.camera.overrideForceSensorMode adb shell "echo overrideForceSensorMode=1 >> /vendor/etc/camera/camxoverridesettings.txt"
(5)启用GPU Node Rotation Usecase
persist.vendor.camera.overrideGPURotationUsecase adb shell "echo overrideGPURotationUsecase=1 >> /vendor/etc/camera/camxoverridesettings.txt"
(6)强制使用不带3A的HFR Usecase
persist.vendor.camera.overrideHFRNo3AUseCase adb shell "echo overrideHFRNo3AUseCase=1 >> /vendor/etc/camera/camxoverridesettings.txt"
(7)允许使用AdvancedCameraUsecase
persist.vendor.camera.overrideUseAdvancedUsecase adb shell "echo overrideUseAdvancedUsecase=0 >> /vendor/etc/camera/camxoverridesettings.txt"
(8)开启 EIS V2/V3
persist.vendor.camera.eisv2enable adb shell "echo EISV2Enable=1 >> /vendor/etc/camera/camxoverridesettings.txt"
persist.vendor.camera.eisv3enable adb shell "echo EISV3Enable=1 >> /vendor/etc/camera/camxoverridesettings.txt"
(9) EIS V2/V3 Margin
persist.vendor.camera.eisv2margin adb shell "echo EISV2Margin=0.4 >> /vendor/etc/camera/camxoverridesettings.txt"
persist.vendor.camera.eisv3margin
adb shell "echo EISV3Margin=0.4 >> /vendor/etc/camera/camxoverridesettings.txt"
(10)EIS V2/V3 Frame Delay
persist.vendor.camera.eisv2framedelay adb shell "echo EISV2FrameDelay=1 >> /vendor/etc/camera/camxoverridesettings.txt"
persist.vendor.camera.eisv3framedelay
adb shell "echo EISV3FrameDelay=1 >> /vendor/etc/camera/camxoverridesettings.txt"
(11)Number of PCRs before stream on
persist.vendor.camera.numPCRsBeforeStreamOn adb shell "echo numPCRsBeforeStreamOn=1 >> /vendor/etc/camera/camxoverridesettings.txt"
(12)图像 Buffer Count Override (初始化期间分配的图像buffer计数,默认值8)
persist.vendor.camera.overrideImageBufferCount adb shell "echo overrideImageBufferCount=7 >> /vendor/etc/camera/camxoverridesettings.txt"
(13)Stats Frame Skipping 【0: invalid. <default 1: No Skip.> 2: skip 1 frame. 3: skip 2 frames】
persist.vendor.camera.statsProcessingSkipCount adb shell "echo statsProcessingSkipFactor=2 >> /vendor/etc/camera/camxoverridesettings.txt
3.获取raw 和 metadata 用于ISP调试
(1) Enable Dump
adb shell setprop persist.vendor.camera.imageDumpMask 6 ->No dumps = 0x0
->All output ports for IFE = 0x1
->All output ports for IPE = 0x2
->All output ports for BPS = 0x4
adb shell setprop persist.vendor.camera.offlineImageDumpOnly 1 adb shell setprop persist.vendor.camera.reprocessDump 1 adb shell setprop persist.vendor.camera.autoImageDump 1
或
adb shell "echo autoImageDumpMask=6>>/vendor/etc/camera/camxoverridesettings.txt" adb shell "echo offlineImageDumpOnly=TRUE>>/vendor/etc/camera/camxoverridesettings.txt" adb shell "echo reprocessDump=TRUE >>/vendor/etc/camera/camxoverridesettings.txt" adb shell "echo autoImageDump=TRUE>>/vendor/etc/camera/camxoverridesettings.txt"
生成路径:data/misc/camera/ 或 data/vendor/camera/ ,raw文件名后缀为.RAWMIPI
(2) Get Meta
步骤: ① 设备开启meta
② 拍照获得jpeg
③ 通过C7获取meta (QualcommSpectraSim280.exe -metaparsetest.jpg -》 C7\Simulator\Spectra280\)
adb shell "echo tuningDumpDataSizeIFE=5000 >> /vendor/etc/camera/camxoverridesettings.txt"
adb shell "echo tuningDumpDataSizeBPS=20000 >> /vendor/etc/camera/camxoverridesettings.txt"
adb shell "echo tuningDumpDataSizeIPE=150000 >> /vendor/etc/camera/camxoverridesettings.txt
-end-


浙公网安备 33010602011771号