当前位置: 首页 > 工具软件 > Persist > 使用案例 >

Camera persist使用手册之log使用技巧

东方旺
2023-12-01

查看当前使能了哪些级别的log,可以使用参考命令:

adb shell getprop | grep "camera"

下面是开启各个模块log级别的简单描述。

1. persist.camera.global.debug

数值:0-5

功能:设置不同的数值,将打印对应级别的log。该属性是总的log级别开关。

注意:若子模块的log级别小于该属性设置值,则以该属性为准;若子模块的log级别大于该属性设置值,则以子模块设置的log级别为准。

示例:adb shell setprop persist.camera.global.debug 5

2. persist.camera.mct.debug

数值:0-5

功能:设置不同的数值,将打印对应级别的log。该属性控制MCT模块的log级别。

示例:adb shell setprop persist.camera.mct.debug 5

3. persist.camera.sensor.debug

数值:0-5

功能:设置不同的数值,将打印对应级别的log。该属性控制SENSOR模块的log级别。

示例:adb shell setprop persist.camera.sensor.debug 5

4. persist.camera.iface.logs

数值:0-5

功能:设置不同的数值,将打印对应级别的log。该属性控制IFACE模块的log级别。

示例:adb shell setprop persist.camera.iface.logs 5

5. persist.camera.isp.debug

数值:0-5

功能:设置不同的数值,将打印对应级别的log。该属性控制ISP模块的log级别。

示例:adb shell setprop persist.camera.isp.debug 5

6. persist.camera.stats.debug

数值:0-5

功能:设置不同的数值,将打印对应级别的log。该属性控制STATS模块的log级别。

注意:这是一个container模块。

示例:adb shell setprop persist.camera.stats.debug 5

7. persist.camera.stats.af.debug

数值:0-5

功能:设置不同的数值,将打印对应级别的log。该属性控制AF模块的log级别。

示例:adb shell setprop persist.camera.stats.af.debug 5

8. persist.camera.stats.aec.debug

数值:0-5

功能:设置不同的数值,将打印对应级别的log。该属性控制AEC模块的log级别。

示例:adb shell setprop persist.camera.stats.aec.debug 5

9. persist.camera.stats.awb.debug

数值:0-5

功能:设置不同的数值,将打印对应级别的log。该属性控制AWB模块的log级别。

示例:adb shell setprop persist.camera.stats.awb.debug 5

10. persist.camera.stats.asd.debug

数值:0-5

功能:设置不同的数值,将打印对应级别的log。该属性控制ASD模块的log级别。

示例:adb shell setprop persist.camera.stats.asd.debug 5

11. persist.camera.stats.afd.debug

数值:0-5

功能:设置不同的数值,将打印对应级别的log。该属性控制AFD模块的log级别。

示例:adb shell setprop persist.camera.stats.afd.debug 5

12. persist.camera.stats.q3a.debug

数值:0-5

功能:设置不同的数值,将打印对应级别的log。该属性控制Q3A模块的log级别。

注意:这是一个container模块。

示例:adb shell setprop persist.camera.stats.q3a.debug 5

13. persist.camera.stats.is.debug

数值:0-5

功能:设置不同的数值,将打印对应级别的log。该属性控制IS模块的log级别。

示例:adb shell setprop persist.camera.stats.is.debug 5

14. persist.camera.stats.haf.debug

数值:0-5

功能:设置不同的数值,将打印对应级别的log。该属性控制HAF模块的log级别。

示例:adb shell setprop persist.camera.stats.haf.debug 5

15. persist.camera.pproc.debug.mask

数值:0-5

功能:设置不同的数值,将打印对应级别的log。该属性控制PPROC模块的log级别。

注意:这是一个container模块。

示例:adb shell setprop persist.camera.pproc.debug.mask 5

16. persist.camera.cpp.debug.mask

数值:0-5

功能:设置不同的数值,将打印对应级别的log。该属性控制CPP模块的log级别。

示例:adb shell setprop persist.camera.cpp.debug.mask 5

17. persist.camera.c2d.debug.mask

数值:0-5

功能:设置不同的数值,将打印对应级别的log。该属性控制C2D的log级别。

示例:adb shell setprop persist.camera.c2d.debug.mask 5

18. persist.camera.imglib.logs

数值:0-5

功能:设置不同的数值,将打印对应级别的log。该属性控制IMGLIB模块的log级别。

示例:adb shell setprop persist.camera.imglib.logs 5

19. persist.camera.hal.debug

数值:0-5

功能:设置不同的数值,将打印对应级别的log。该属性控制HAL的log级别。

示例:adb shell setprop persist.camera.hal.debug 5

20. persist.camera.mmstill.logs

数值:0-5

功能:设置不同的数值,将打印对应级别的log。该属性控制mm-still的log级别。

示例:adb shell setprop persist.camera.mmstill.logs 5

21. 从HAL层dump camera yuv buffer的方法:

1.chmod 777 /data

2.setprop persist.vendor.camera.dumpimg  xxxxx

persist.vendor.camera.dumpimg 对该属性设置不同的值,来dump不同的数据。
bit解析
bits meaning
31-16(frame number) 用来设置要dump的帧数,最小10帧,最大256帧,默认值是10
15-8(skip mode) 用来设置skip多少帧dump一帧,默认值是1
7-0(frame type) 用来设置dump哪种数据,具体见下面定义
HAL_DUMP_FRM_PREVIEW = 1,
HAL_DUMP_FRM_VIDEO = 1<<1,
HAL_DUMP_FRM_MAIN = 1<<2,
HAL_DUMP_FRM_THUMBNAIL = 1<<3,
HAL_DUMP_FRM_RDI = 1<<4,
/*8 bits mask*/
HAL_DUMP_FRM_MAX = 1 << 8

例如,dump预览帧,每隔10帧dump一帧,一共dump 20帧,根据上面的说明设置如下:
1313281(10进制,0x140A10)

22. 帧率打开

persist.vendor.debug.sf.showfps

============================= 局部开关 ======================================

1. SENSOR模块

1) persist.camera.sensor.gain

数值:非负数

功能:手动设置real gain到sensor。

注意:该属性在宏ENABLE_MANUAL_EXPOSURE_UPDATE被使能的前提下生效。

示例:adb shell setprop persist.camera.sensor.gain 1

2) persist.camera.sensor.linecount

数值:非负数

功能:手动设置line count到sensor。

注意:该属性在宏ENABLE_MANUAL_EXPOSURE_UPDATE被使能的前提下生效。

示例:adb shell setprop persist.camera.sensor.linecount 1024

3) persist.dual.gain_tune

数值:非负数

功能:手动设置双摄像头gain factor。

注意:该属性在双摄像头使用场景中生效。

4) persist.dual.line_tune

数值:非负数

功能:手动设置双摄像头line count factor。

注意:该属性在双摄像头使用场景中生效。

5) persist.camera.fastaec

数值:非负整数

功能:fast aec模式下,手动设置frame skip数目。

示例:adb shell setprop persist.camera.fastaec 2

6) persist.camera.iso100

数值:非负数

功能:手动设置iso100的gain数值。

示例:adb shell setprop persist.camera.iso100 1

7) persist.camera.csid.payload

数值:0或4

功能:test模式下,将csid设置为0或4模式,以便产生相应的测试pattern。

示例:adb shell setprop persist.camera.csid.payload 4

8) persist.camera.sensorliveconnect

数值:0或1

功能:设置为1,则在代码中开启sensor live connect线程,方便调试工具实时控制AF。

示例:adb shell setprop persist.camera.sensorliveconnect 1

9) persist.partial.skip

数值:0或1

功能:设置为1,则使能闪光灯下的frame skip模式。

示例:adb shell setprop persist.partial.skip 1

10) persist.camera.led.rerdbg

数值:0或1

功能:开启闪光灯去红眼功能后,若将该属性设置为1,则会打印预闪电流、持续时间、脉冲数目等调试信息。

示例:adb shell setprop persist.camera.led.rerdbg 1

11) persist.camera.cal.af

数值:0或1

功能:如果设置为0,则不加载eeprom中af校准数据。

示例:adb shell setprop persist.camera.cal.af 1

12) persist.camera.cal.awb

数值:0或1

功能:如果设置为0,则不加载eeprom中awb校准数据。

示例:adb shell setprop persist.camera.cal.awb 1

13) persist.camera.cal.lsc

数值:0或1

功能:如果设置为0,则不加载eeprom中lsc校准数据。

示例:adb shell setprop persist.camera.cal.lsc 1

14) persist.camera.cal.dp

数值:0或1

功能:如果设置为0,则不加载eeprom中dp校准数据。

示例:adb shell setprop persist.camera.cal.dp 1

15) persist.camera.cal.dual

数值:0或1

功能:如果设置为0,则不做dual camera校准。

示例:adb shell setprop persist.camera.cal.dual 1

16) persist.camera.dumpmetadata

数值:0或1

功能:若设置为1,则将sensor中的meta数据发送到MCT BUS,然后通过mct_stream_fill_metadata_v1接口将信息传递给HAL。

注意:该属性需要配合HAL/PPROC中同名属性进行使用,此处仅仅是HAL/PPROC中同名属性生效的前提。

示例:adb shell setprop persist.camera.dumpmetadata 1


2. IFACE2模块

1) persist.camera.isp.testgen

数值:0或1

功能:若设置为1,折预览将呈现七彩条纹图像。

示例:adb shell setprop persist.camera.isp.testgen 1

2) persist.camera.isp.dump

数值:需要dump的stream type所对应的enum数值。

功能:使能后,会根据设置的stream type去dump相应的帧数据。路径:/data/misc/camera/

示例:adb shell setprop persist.camera.isp.dump 2

3) persist.camera.isp.dump_cnt

数值:非负整数

功能:该属性定义persist.camera.isp.dump需要dump的帧数。

示例:adb shell setprop persist.camera.isp.dump_cnt 10

4) persist.camera.isp.ppbypass

数值:0或1

功能:使能该属性后,isp不再自己申请native buffer,而是使用从HAL map过来的buffer,并且buffer将不做pproc处理。

注意:生效前提是HAL已经申请过足够数量的buffer。

示例:adb shell setprop persist.camera.isp.ppbypass 1

5) persist.camera.isp.buf_cnt

数值:非零正整数

功能:stream on后,会request image buffer,有两种方式,一是map HAL的buffer,二是自己在本地申请native buffer。如果选择方式二,则该属性将定义native buffer的数量。

注意:生效前提是ISP自己在本地申请native buffer。

示例:adb shell setprop persist.camera.isp.buf_cnt 4

6) persist.camera.hvx_lib_1

数值:external chromatix lib名称

功能:手动指定加载的后置external chromatix lib。

注意:生效前提是tuning没有设置external chromatix的name。

示例:adb shell setprop persist.camera.hvx_lib_1 libchromatix_xxx.so

7) persist.camera.hvx_lib_2

数值:external chromatix lib名称

功能:手动指定加载的前置external chromatix lib。

注意:生效前提是tuning没有设置external chromatix的name。

示例:adb shell setprop persist.camera.hvx_lib_2 libchromatix_xxx.so


3. ISP2模块

1) persist.camera.isp.turbo

数值:0或1

功能:若设置为1,则将turbo clk设置为ISP默认工作clk。

注意:设置完成后,需要重启手机才会生效。

示例:adb shell setprop persist.camera.isp.turbo 1

2) persist.camera.isp.dualisp

数值:0或1

功能:若设置为1,将强制使用两个VFE工作。若设置为0,则将根据默认clk与user请求clk的大小关系来决定使用VFE数量。

注意:若channel中有raw stream存在,该属性将失效。

示例:adb shell setprop persist.camera.isp.dualisp 1

3) persist.camera.dumpmetadata

数值:0或1

功能:若设置为1,将分配meta dump的资源。同时,将打印mesh_roll、tintless_algo等sub isp module中的调试信息或在/data/misc/camera/路径下生成相关调试信息文件。

注意:该属性需要配合HAL/PPROC中同名属性进行使用,此处仅仅是HAL/PPROC中同名属性生效的前提。

示例:adb shell setprop persist.camera.dumpmetadata 1

4) persist.camera.tintless.skip

数值:非负整数

功能:设置tintless所需要skip的frame数目,默认是skip 2帧。

示例:adb shell setprop persist.camera.tintless.skip 2

5) persist.camera.isp.regdump

数值:非负整数

功能:isp online process时,根据设定的数值去dump相应帧数的register信息。

示例:adb shell setprop persist.camera.isp.regdump 30

6) persist.camera.isp.offregdump

数值:非负整数

功能:isp offline process时,根据设定的数值去dump相应帧数的register信息。

示例:adb shell setprop persist.camera.isp.offregdump 30

7) persist.camera.isp.cac_disable

数值:0或1

功能:手动开/关CAC功能。

示例:adb shell setprop persist.camera.isp.cac_disable 1

8) persist.camera.isp.ltm_disable

数值:0或1

功能:手动开/关LTM功能。

示例:adb shell setprop persist.camera.isp.ltm_disable 1

9) persist.camera.ltm.overlap

数值:0-50

功能:手动定义cell overlap factor的大小。

示例:adb shell setprop persist.camera.isp.ltm_disable 10


4. STATS模块

1) persist.camera.ledcalib.enabled

数值:0或1

功能:手动开/关双色温LED校准功能。

示例:adb shell setprop persist.camera.ledcalib.enabled 1

2) persist.camera.mobicat

数值:0或1

功能:手动开/关mobicat。

示例:adb shell setprop persist.camera.mobicat 1


5. PPROC-NEW模块

1) persist.enable.max.pending.buf

数值:1或2

功能:定义cpp硬件一次操作所处理的buffer数量。

示例:adb shell setprop persist.enable.max.pending.buf 1

2) persist.camera.c2d.disable

数值:0或1

功能:手动开/关C2D。

示例:adb shell setprop persist.camera.c2d.disable 1

3) persist.camera.tnr.force_enable

数值:0或1

功能:手动开/关TNR。

示例:adb shell setprop persist.camera.tnr.force_enable 1

4) persist.camera.enable_vpu

数值:0或1

功能:手动开/关VPU。

示例:adb shell setprop persist.camera.enable_vpu 1

5) persist.camera.dumpmetadata

数值:0或1

功能:使能后,将dump PPROC的Metadata到/data/misc/camera/路径下。

示例:adb shell setprop persist.camera.dumpmetadata 1


6. IMGLIB模块

1) persist.camera.imglib.hdr.dump

数值:no/in/out/in out

功能:设置为no,关闭HDR dump功能;设置为in,将dump输入帧;设置为out,将dump输出帧;设置为in out,将同时dump输入与输出帧。

示例:adb shell setprop persist.camera.imglib.hdr.dump in

2) persist.camera.imglib.cac.dump

数值:no/in/out/inout

功能:设置为no,关闭CAC dump功能;设置为in,将dump输入帧;设置为out,将dump输出帧;设置为in out,将同时dump输入与输出帧。

示例:adb shell setprop persist.camera.imglib.cac.dump no

3) persist.camera.mobicat

数值:0与非0

功能:设置为0,关闭这个功能;设置为其他值,将在返回给HAL的meta信息中添加mobicat相关的调试信息。

注意:该属性需要配合HAL中的同名属性使用。

示例:adb shell setprop persist.camera.mobicat 0

4) persist.camera.imglib.cf.ver

数值:chroma flash 库的版本号

功能:返回使用的chroma flash 库版本号给chroma flash初始化提供版本信息。

注意:该属性一般有系统设置,此处仅做读取操作。

示例:adb shell getprop persist.camera.imglib.cf.ver

5) persist.imglib.cf.tune

数值:0或1

功能:“手动设置chroma flash参数”的总开关,使能后,才能通过其他属性手动修改相应参数。

示例:adb shell setprop persist.imglib.cf.tune 1

6) persist.imglib.cf.deghost

数值:0或1

功能:手动开/关deghost功能。

注意:该属性在persist.imglib.cf.tune被使能后才能生效。

示例:adb shell setprop persist.imglib.cf.deghost 1

7) persist.imglib.cf.flash_weight

数值:1-15

功能:手动设置chroma flash 亮度等级。

注意:该属性在persist.imglib.cf.tune被使能后才能生效。

示例:adb shell setprop persist.imglib.cf.flash_weight 1

8) persist.camera.imglib.dump

数值:0或1

功能:imglib模块frame dump总开关。

示例:adb shell setprop persist.camera.imglib.dump 1

9) persist.camera.fd.dump

数值:0-4

功能:设置为0,将关闭face frame dump功能;设置为1,将dump non-tracked faces帧数据;设置为2,将dump tracked faces帧数据;设置为3,将dump non-detected faces帧数据;设置为4,将dump所有的帧数据。

注意:该属性只有在persist.camera.imglib.dump为1的前提下才能生效。

示例:adb shell setprop persist.camera.fd.dump 1

10) persist.camera.imglib.face_sw

数值:0或1

功能:手动开/关软件辅助人脸识别功能。

示例:adb shell setprop persist.camera.imglib.face_sw 1

11) persist.camera.imglib.face_all

数值:0或1

功能:手动开/关全角度搜寻人脸功能。使能该功能后,在识别人脸时,将不考虑手机的方向。

示例:adb shell setprop persist.camera.imglib.face_all 1

12) persist.camera.fd_region_filter

数值:0或1

功能:使能后,将根据region来执行相应的滤波设定。相应region参数,由chromatix加载进来。

示例:adb shell setprop persist.camera.fd_region_filter 1

13) persist.camera.imglib.bsgc

数值:0或1

功能:设置为1,将Enable blink, smile, gaze, contour detection。

示例:adb shell setprop persist.camera.imglib.bsgc 1

14) persist.camera.imglib.fd_arm

数值:0或1

功能:设置为0,将优先申请HW FD资源。设置为1,将不优先使用HW FD资源,将会优先去申请DSP FD资源。

示例:adb shell setprop persist.camera.imglib.fd_arm 1

15) persist.camera.imglib.tp.mask

数值:0或1

功能:在TruePortrait模式下,设置为1,将使能bodymask。

示例:adb shell setprop persist.camera.imglib.tp.mask 1

16) persist.camera.imglib.tp.effect

数值:0-2

功能:在TruePortrait模式下,手动设置effect,0代表boke effect,1代表halo effect,2代表notion blur effect。

示例:adb shell setprop persist.camera.imglib.tp.effect 1

17) persist.camera.imglib.tp.power

数值:正整数

功能:在TruePortrait模式下,手动设置effect的强度,数值越大,强度越大。

示例:adb shell setprop persist.camera.imglib.tp.power 1

18) persist.camera.imglib.fddsp

数值:0或1

功能:设置为1,将强制使用FD DSP资源。

示例:adb shell setprop persist.camera.imglib.fddsp 1

19) persist.camera.imglib.cds

数值:0-5

功能:手动选择CDS的运行模式:C、NEON、NENO_ASM、DSP、GPU、FCV。

示例:adb shell setprop persist.camera.imglib.cds 1

20) persist.camera.dumpmetadata

数值:0或1

功能:使能后,将meta中填充CAC相关调试信息。并且,可以dump WNR相关参数到/data/misc/camera/路径下

示例:adb shell setprop persist.camera.dumpmetadata 1


7. MCT模块

1) persist.camera.max_prev.enable

数值:0或1

功能:使能后,将使用符合条件的最大尺寸来做preview。

示例:adb shell setprop persist.camera.max_prev.enable 1

2) persist.camera.max.snapshot

数值:0或1

功能:使能后,将使用符合条件的最大尺寸来做sanpshot。

示例:adb shell setprop persist.camera.max.snapshot 1


8. MM-STILL模块

1) persist.camera.max_prev.enable persist.camera.jpeg.dumpqtable

数值:0或1

功能:开启后,将打印jpeg的quality table调试信息。

示例:adb shell setprop persist.camera.jpeg.dumpqtable 1

2) persist.camera.kpi.debug

数值:1或2

功能:设置KPI调试信息的级别,设置为1表示KPI_APT,设置为2表示KPI_DBG级别。

示例:adb shell setprop persist.camera.kpi.debug 1


《未完待续》

 类似资料: