• MTK平台Camera Dump Buffer处理


    (1)Dump Buffer的方法

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

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

    可下如下命令准备进行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*
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19

    (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
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    (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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
  • 相关阅读:
    Java基于 SpringBoot+Vue 的游戏分享网站
    Python基础入门——python中的时间包
    数字孪生技术:智慧港口的未来
    Elasticsearch的介绍与安装
    Java-面向对象
    薅羊毛-微信阅读
    Xsell中常用的Linux命令
    vscode 配置默认shell
    【牛客网面试必刷TOP101】二叉树篇(二)
    熊猫电影网站(springboot+ssm+vue+element+shiro+jwt+redis)前后端分离
  • 原文地址:https://blog.csdn.net/dongxianfei/article/details/126010011