竖条纹问题分析

发布时间 2023-04-28 13:46:47作者: 箐箐我心

1.测试前,先下adb命令准备dump:

adb root

adb shell setenforce 0

adb shell setprop debug.cam.drawid 1  --> draw magic number on camera output buffe

adb shell "rm -rf /data/vendor/camera_dump/"
adb shell "mkdir /data/vendor/camera_dump/ -p"

adb shell setprop vendor.debug.fpipe.force.img3o 1  --> force enable img3o

adb shell setprop vendor.debug.p2f.dump.enable 1

adb shell setprop vendor.debug.p2f.dump.mode 1

rem adb shell setprop vendor.debug.camera.preview.dump 1

adb shell setprop vendor.debug.camera.dump.en 1
adb shell setprop vendor.debug.feature.forceEnableIMGO 1
adb shell setprop vendor.debug.camera.dump.p1.imgo 1  ===》dump raw图

 

2. 复现问题,并下adb命令开始dump:

2.1 如果问题复现后,异常画面是一直存在的而不是闪现,则异常画面出现后,下adb命令开始 dump

2.2 如果问题是概率性出现的,异常画面不会一直存在,则异常画面出现前,下adb命令开始 dump

2.3 如果是录像录出的视频画面异常,则需要在录像时,就要下adb命令开始dump,才能dump到camera输出的 record buffer  

adb shell setprop vendor.debug.camera.preview.dump 1

 

3.停止dump:

3.1 如果问题复现后,异常画面是一直存在的而不是闪现,则 dump 一小会儿(大概2s, 3s左右),立马下adb命令停止 dump(防止 dump时间长,dump 信息过大)

3.2 如果问题是概率性出现的, 异常画面不会一直存在,则要等异常画面复现后,再下adb命令停止 dump

adb shell setprop vendor.debug.camera.preview.dump 0

 

 4.将dump到的信息pull到本地目录:

adb pull /data/vendor/camera_dump <本地电脑存放路径>

 

5、根据视频找到异常的帧,第337帧异常

 

6、根据帧的magic number找到对应的raw图,可以将对应数字的前后帧一起pull出来(与实际相差1)

 

7、解packed_word

C:\Users\yingfei.li>E:\tool\unpack6589raw\unpack6589raw.exe E:\debug\x6731-SHBN\003441458-0338-0338-main2-imgo-PW4224-PH3120-BW5280__4208x3120_10_1.packed_word 4224 3120 10 2
Save Raw image file name:E:\debug\x6731-SHBN\003441458-0338-0338-main2-imgo-PW4224-PH3120-BW5280__4208x3120_10_1.packed__4224_3120.raw
De-mosaic it
Save BMP image file name:E:\debug\x6731-SHBN\003441458-0338-0338-main2-imgo-PW4224-PH3120-BW5280__4208x3120_10_1.packed__4224_3120.bmp
Press any key to continue ..

 

8、查看bmp图