我是靠谱客的博主 单身机器猫,最近开发中收集的这篇文章主要介绍MTK平台Camera Dump Buffer处理,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

(1)Dump Buffer的方法

在Camera调试过程中可能会遇到预览图或拍照图有花屏,竖线等各种情况,这种情况下很多时候我们不清楚这种异常画面是如何来的?此时我们就可以通过Dump Buffer来确认是Sensor还是Pass2又或者是MDP等哪个模块的问题,从而排查画面异常的原因。

可以看一下Mtk Hal的简单架构。
在这里插入图片描述
Dump Buffer的相关命令,MTK平台已经总结到FAQ上了,可参考如下两篇:

  • 预览或录像画面异常问题的 buffer dump和处理
  • 拍照画面异常问题的 buffer dump和处理

可下如下命令准备进行dump。

adb root
adb remount
adb shell setprop debug.cam.drawid 1
adb shell setprop persist.vendor.dp.dumpreg.check 1
adb shell setprop vendor.dp.dumpreg.enable 2
adb shell setprop vendor.debug.hal3av3.forcedump 1
adb shell setprop vendor.debug.aaa.perframe_prop.enable 1
adb shell setprop vendor.debug.camera.dump.p2.debuginfo 1
adb shell setprop vendor.debug.camera.copy.p1.lsc 1
adb shell setprop vendor.debug.camera.dump.lsc2 1
adb shell setprop vendor.debug.camera.SttBufQ.enable 60
adb shell setprop vendor.debug.camera.AAO.dump 1
adb shell setprop vendor.debug.camera.dump.p2.ext.img3o 1
adb shell setprop vendor.debug.camera.img3o.dump 1
adb shell setprop vendor.debug.camera.ufo_off 1
adb shell setprop vendor.debug.camera.p2.dump 1
adb shell setprop vendor.debug.camera.dump.JpegNode 1
adb shell setprop vendor.debug.camera.raw.type 0
adb shell pkill camera*

adb shell setprop vendor.debug.camera.preview.dump 1 //start dump preview
adb shell setprop vendor.debug.camera.preview.dump 0 //stop dump preview

简易命令可如下测试:

//data/vendor/camera_dump/
adb root
adb shell setenforce 0
adb shell setprop debug.cam.drawid 1            --> draw magic number on camera output buffer
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

adb shell setprop vendor.debug.camera.preview.dump 1 //start dump preview
adb shell setprop vendor.debug.camera.preview.dump 0 //stop dump preview

(2)Dump Buffer的port口

以上两篇文章总结的还是很详细的,简单说一下dump出来的文件分别对应什么port口。

(A)Preview + Record

//Preview
142822942-0133-0133-main-rrzo-PW1911-PH1424-BW3584__1904x1424_10_3.packed_word ———main sensor 的P1 rrzo buffer(Preview142822942-0133-0133-main-wdmao-PW1280-PH720-BW1280__1280x720_8_s0.yv12——— wdmao 代表为 display output buffer,也就是P2S 最终输出的main sensor的display buffer(Preview142822942-0133-0133-main-img3o-PW1920-PH1472-BW1920__1904x1424_8_s0.yv12———main sensor 的img3o buffer(P2Anode但是还没过MDP 的buffer,供3DNR)  

//Record
040521031-2275-1954-main-wroto-PW640-PH480-BW640__640x480_8_s0.yv12———wroto代表为record output buffer,也就是 P2S 最终输出的main sensor 的record buffer(Record

(B)Capture

(a)P1Node可以直接出pure raw

在这里插入图片描述

(b)对于ISP 6s相关平台,P1Node只能出pure raw,可以通过P2CaptureNode出process raw

在这里插入图片描述

(c)对于ISP 6s之前的平台,P1Node可以直接出process raw

在这里插入图片描述

(d)P2CaptureNode中的yuv

在这里插入图片描述

181441592-0403-0403-main-imgo-PW4006-PH3000-BW5008__4000x3000_10_1.packed_word || 181441592-0403-0403-main-imgo-PW4000-PH3000-BW8000__4000x3000_12_s0.raw———imgo代表P1Node 拍照所出的full size

173029054-0049-0049-main-img2o-PW192-PH108-BW384__192x108_8_s0.yuy2———img2o代表ISP_P2出的thumbnail yuv

173029054-0049-0049-main-img3o-PW4208-PH3120-BW8416__4208x3120_8_s0.yuy2———img3o代表ISP_P2出的main yuv

173029054-0049-0049-main-wdmao-PW192-PH128-BW192__192x108_8_s0.nv21———wdmao代表MDP出的postview

173029054-0049-0049-main-wroto-PW2304-PH4096-BW2304__2304x4096_8_s0.nv21———wroto代表MDP出的main yuv

最后

以上就是单身机器猫为你收集整理的MTK平台Camera Dump Buffer处理的全部内容,希望文章能够帮你解决MTK平台Camera Dump Buffer处理所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(55)

评论列表共有 0 条评论

立即
投稿
返回
顶部