【Camera Sensor Driver笔记】六、点亮指南之PDAF

CAF是一步一步推进lens直到画面清晰
PDAF 经常与 CAF 配合使用


PDAF软件流程:
                                                                                
sensor输出带有PD信息的图像数据 -> 经过分离模块

-> ① 图像数据 -> PD Pixel correction 进行坏点矫正(将PD点还原为正常的像素点) -> ISP         -> ② PD Buffer相位计算 -> ISP

sensor PD type:

type1 sensor进行 分离 、坏点矫正 、相位计算
type2 sensor进行 分离 、坏点矫正,其他由平台处理
type3 sensor只输出带有PD信息的图像数据,其他由平台处理


1.在eeprom xml中配置PDAF的信息
2.在sensor xml中配置PDAF的信息
3.配置PDAF xml

<PDCommonInfo>         
    PDAFName     imx586_pdaf     pdaf 驱动名称
    PDOrientation     DEFAULT     mirror/flip/both
    PDDefocusConfidenceThreshold     200     
</PDCommonInfo>         
<PDModeInfo>         
    PDSensorMode     0     对应sensor resolution idx
    PDType     PDType2     type 1 2 3
    PDAFLibraryName     com.qti.stats.pdlib     pd 算法库
    <PDSensorNativePatternInfo>         
        PDNativeBufferFormat     MIPI10     pd 数据格式
        PDBlockCountHorizontal     248     width,单位block
        PDBlockCountVertical     186     height, 单位block
        <PDBlockPattern>         
            PDPixelCount     32     一个block里pd点数量,包括左右pd
            <PDPixelCoordinates>         
                PDXCoordinate     19     x坐标
                PDYCoordinate     13     y坐标
                PDPixelShieldInformation     RIGHTSHIELDED     LEFT pd,屏蔽右半部
            </PDPixelCoordinates>         
            <PDBlockDimensions>         
                width     16     Block分辨率
                height     16     Block分辨率
            </PDBlockDimensions>         
            PDOffsetHorizontal     17     Block 第一个pixel偏移
            PDOffsetVertical     12     Block 第一个pixel偏移
        </PDBlockPattern>         
        <PDCropRegion>         
            xStart     0     x坐标
            yStart     0     y坐标
            width     4000     frame 宽
            height     3000     frame 高
        </PDCropRegion>         
        PDDownscaleFactorHorizontal     1     水平下采样
        PDDownscaleFactorVertical     1     垂直下采样
    </PDSensorNativePatternInfo>         
    <PDBufferBlockPatternInfo>         
        PDStride     1984     pd stats 行buffer大小(一个pixel占两个字节,sensor中pd的width * 2)
        PDBufferFormat     UNPACKED16     一个pd占16个bit
        <PDBlockPattern>         
            PDPixelCount     32     pd像素个数
            <PDPixelCoordinates>         
                PDXCoordinate     0     x坐标
                PDYCoordinate     0     y坐标
                PDPixelShieldInformation     RIGHTSHIELDED     left pd
                …         
            </PDPixelCoordinates>         
            <PDBlockDimensions>         
                width     4     pd宽(block)
                height     8     pd高(block)
            </PDBlockDimensions>         
            PDOffsetHorizontal     0     Block 第一个pixel偏移
            PDOffsetVertical     0     Block 第一个pixel偏移
        </PDBlockPattern>         
    </PDBufferBlockPatternInfo>         
</PDModeInfo>

PDAF 验证

echo “enablePDLibDump=1” >> /vendor/etc/camera/camxoverridesettings.txt
adb shell killall android.hardware.camera.provider@2.4-service_64
Open camera and focus
adb pull /data/vendor/camera/pdaf_input_single.raw

  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
在三星 Android Camera 驱动中,Sensor Driver 通常位于内核源代码树的 drivers/media/platform/sprd/sensor 目录下,其目录结构如下: - drivers/media/platform/sprd/sensor/sensor_hw_def.h:该文件定义了传感器芯片的一些常量和寄存器地址等信息,用于驱动程序的控制和配置。 - drivers/media/platform/sprd/sensor/sensor_core.c:该文件包含了 Sensor Driver 的核心代码,负责与传感器芯片进行通信,读取原始图像数据,并将其传递给 ISP 驱动程序进行处理。 - drivers/media/platform/sprd/sensor/sensor_ctrl.c:该文件包含了一些用于控制传感器的函数,包括对传感器的初始化、配置和启动/停止等操作。该文件还包含了一些与 ISP 驱动程序进行通信的接口函数,用于传递图像数据和控制指令。 - drivers/media/platform/sprd/sensor/sensor_device.h/.c:该文件定义了 Sensor Driver 的设备结构体和相关函数,用于注册和管理 Sensor Driver。 - drivers/media/platform/sprd/sensor/sensor_factory.c:该文件实现了一个 Sensor Driver 工厂函数,用于根据传感器类型和传感器 ID 动态创建 Sensor Driver 实例。 - drivers/media/platform/sprd/sensor/sensor_i2c.c:该文件实现了通过 I2C 总线与传感器进行通信的函数,用于读取传感器的参数和配置信息。 - drivers/media/platform/sprd/sensor/sensor_init.c:该文件包含了 Sensor Driver 的初始化函数,该函数在驱动程序加载时被调用,用于初始化 Sensor Driver 并注册到内核中。 - drivers/media/platform/sprd/sensor/sensor_sysfs.c:该文件实现了一些用于在 Sysfs 文件系统中显示传感器信息的函数,方便用户查看和调试传感器。 总体来说,Sensor Driver 的目录结构比较清晰,包含了一些核心代码和相关的函数文件,用于与传感器进行通信、控制和配置。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Cam_Rxy

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值