和你一起终身学习,这里是程序员Android

经典好文推荐,通过阅读本文,您将收获以下知识点:

一、 创建 LogicalCameraName 相关的metadata
二、 导通 LogicalCameraName Middleware 相关配置
三、认 LogicalCameraName 是否创建成功
四、双摄bringup LogicalCameraDevice 导通参考

一、 创建 LogicalCameraName 相关的metadata

1.1 LogicalCameraName 文件夹命名规则

主摄_FeatureName

例如:(主摄_bayerwide, 主摄_bayertele, 主摄_bayerbayer, 主摄_bayermono)

预设单摄对应的metadata 已经存在并导通,将主摄(比如:SENSOR_DRVNAME_S5K_MIPI_RAW)的 metadata文件夹 copy 一份;
修改主摄文件夹名为LogicalCameraName;
比如:vendor\mediatek\proprietary\custom\mt**\hal\imgsensor_metadata\S5K_mipi_raw_bayermono

修改创建 LogicalCameraName 文件夹中的metadata文件中 STATIC_METADATA2_BEGIN 后面的主摄的name 修改为LogicalCameraName;
比如:

$grep "S5K" -ri .
./config_static_metadata.lens.S5Kmipiraw.h:STATIC_METADATA2_BEGIN(PLATFORM, LENS, SENSOR_DRVNAME_S5K_MIPI_RAW_bayermono)
./config_static_metadata.module.S5Kmipiraw.h:STATIC_METADATA2_BEGIN(PLATFORM, MODULE, SENSOR_DRVNAME_S5K_MIPI_RAW_bayermono)
./config_static_metadata.module.S5Kmipiraw.h:STATIC_METADATA2_BEGIN(PLATFORM, MOD_OVERWRITE, SENSOR_DRVNAME_S5K_MIPI_RAW_bayermono)
./config_static_metadata_availableKeys.h:STATIC_METADATA2_BEGIN(PLATFORM, AVAILABLE_KEYS, SENSOR_DRVNAME_S5K_MIPI_RAW_bayermono)
./config_static_metadata_custom.h:STATIC_METADATA2_BEGIN(PLATFORM, CUSTOM, SENSOR_DRVNAME_S5K_MIPI_RAW_bayermono)
./config_static_metadata_project.h:STATIC_METADATA2_BEGIN(PLATFORM, PROJECT, SENSOR_DRVNAME_S5K_MIPI_RAW_bayermono)
./config_static_metadata_project.h:STATIC_METADATA2_BEGIN(PLATFORM, PRO_OVERWRITE, SENSOR_DRVNAME_S5K_MIPI_RAW_bayermono)
./config_static_metadata_vendor.h:STATIC_METADATA2_BEGIN(PLATFORM, VENDOR, SENSOR_DRVNAME_S5K_MIPI_RAW_bayermono)
1.2 LogicalCamera Size 修改

LogicalCamera Size相关:config_static_metadata_custom.h

后置人像尺寸:CONFIG_METADATA_BEGIN(android_TUNNING_BACK_PORTRAIT_NORMAL_PICTURE_SIZE)CONFIG_ENTRY_VALUE(4160, MINT32)CONFIG_ENTRY_VALUE(3120, MINT32)CONFIG_METADATA_END()/主副摄照片尺寸CONFIG_METADATA_BEGIN(android_CONTROL_BOKEH_PICTURE_SIZE)CONFIG_ENTRY_VALUE(4160 , MINT32)CONFIG_ENTRY_VALUE(3120 , MINT32)CONFIG_ENTRY_VALUE(1600 , MINT32)CONFIG_ENTRY_VALUE(1200 , MINT32)CONFIG_METADATA_END()

二、 导通 LogicalCameraName Middleware 相关配置

Multicamra custom stereo Setting middleware 配置路径:

alps/vendor/mediatek/proprietary/custom/mt**/hal/camera/camera_custom_stereo_setting.h

主摄Name ,副摄Name ,LogicalCameraName(主摄_FeatureName)添加到camera_custom_stereo_setting.h中。
注意:主摄Name ,副摄Name ,LogicalCameraName 需要跟meatdata文件夹中的保持一致。

2.1 配置举例如下:
//主摄Name"{""\"Name\": \"S5K_MIPI_RAW\",""\"Capture Size\": {" //实际双摄图片的最终输出大小。"\"4:3\": [""\"4160x3120\"""],""\"16:9\": [""\"4160x2340\"""]""},""\"IMGOYUV Size\": {" //在有Fov Crop 的情况下,不能配置为Sensor full size,建议比full size 小,或者配置FOV crop的值"\"4:3\": \"4160x3120\",""\"16:9\": \"4160x2340\"""},""\"RRZOYUV Size\": {" //一般配置跟预览size 相等或者稍大,如果IMGOYUV Size的二分之一比预览size 大的话,也可以配置为IMGOYUV Size的二分之一。"\"4:3\": \"2080x1560\",""\"16:9\": \"2080x1170\"""},""\"SensorScenarioZSD\": {" //人像对应的是VSDoF, 对应的Sensor Settings的Sensormode 是Custom1"\"VSDoF\": \"custom1\",""\"3rdParty\": \"custom1\",""\"Zoom\": \"custom1\",""\"MtkDepthmap\": \"custom1\",""\"Multicam\": \"custom1\"""},""\"SensorScenarioRecording\": {""\"VSDoF\": \"Video\",""\"3rdParty\": \"custom1\",""\"MtkDepthmap\": \"custom1\"""},""\"FOV\": {""\"H\": 69.0,""\"V\": 54.4""},""\"Calibration\": {"  "\"Macro Distance\": 80,""\"Infinite Distance\": 5000"  // 标定距离远处 50cm"}//,副摄Name"{""\"Name\": \"SC20_MIPI_RAW\",""\"Capture Size\": {""\"4:3\": ["... ...}//,LogicalCameraName"{""\"Logical Device\":{""\"Name\": \"bayermono\",""\"Features\": [\"VSDoF\"]""},""\"Sensors\": [ \"S5K_MIPI_RAW\", \"SC20_MIPI_RAW\"],""\"Depth Flow\": \"MtkDepthmap\",""\"Module Type\": 2,""\"Baseline\": 1.82,"  //主副摄Sensor 中心距离"\"FOV Crop\": {""\"Disable Crop\": 1" //如果副摄FOV可以 cover 到主摄FOV 就不需要做Crop,配置为Disable Crop,否则配置为 Center Crop"},""\"Depthmap Size\": {""\"4:3\": \"480x360\",""\"16:9\": \"480x272\"""},""\"LDC\": [\"0\"]"}
2.3 部分名词解释

Caputre Size:实际双摄图片的最终输出大小。
IMGOYUV Size:在有Fov Crop 的情况下,不能配置为Sensor full size,建议比full size 小,或者配置FOV crop的值。
RRZOYUV Size:一般配置跟预览size 相等或者稍大,如果IMGOYUV Size的二分之一比预览size 大的话,也可以配置为IMGOYUV Size的二分之一。
SensorScenaricZSD:人像对应的是VSDoF, 对应的Sensor Settings的Sensormode 是Custom1 ,详细请看下面举例。
FOV : 市场角,规格说明书中有H/V 或者D两种表达
Calibration: 标定距离远处 50cm

Baseline: 主副摄Sensor 中心距离,涉及到标定。
FOV Crop: 如果副摄FOV可以 cover 到主摄FOV 就不需要做Crop,配置为Disable Crop,否则配置为 Center Crop

2.4 Sensormode 客制化举例

修改S5K_mipi_raw 客制化sensormode 为custom1
比如:在下面文件中添加custom1
\kernel-4.14\drivers\misc\mediatek\imgsensor\src\mt**\camera_project\k6833v1_64\S5K_mipi_raw

.custom1 = {.pclk = 480000000,              //record different mode's pclk.linelength  = 4896,                //record different mode's linelength.framelength = 4084,            //record different mode's framelength.startx = 0,                    //record different mode's startx of grabwindow.starty = 0,                    //record different mode's starty of grabwindow.grabwindow_width  = 4160,      //record different mode's width of grabwindow.grabwindow_height = 3120,      //record different mode's height of grabwindow/*   following for MIPIDataLowPwr2HighSpeedSettleDelayCount by different scenario   */.mipi_data_lp2hs_settle_dc = 85,/*   following for GetDefaultFramerateByScenario()  */.max_framerate = 240,.mipi_pixel_rate = 454400000,},

三、认 LogicalCameraName 是否创建成功

抓开机Log(boot_normal的main log) 确认 LogicalCameraName 是否创建成功

3.1 打开logD命令抓取开启log方式:
adb rootadb shell setenforce 0adb shell setprop persist.vendor.mtk.camera.log_level 3adb shell setprop persist.vendor.debug.camera.log 3adb shell pkill camerahalserveradb shell pkill cameraserver
3.2 Log 关键字:

LogicalDevice|Logical Device Name|addLogicalDevice|queryDriverName
or
LogicalDevice: Sensor #|addLogicalDevice|queryDriverName] queryDriverName

// LogicalCameraName 名称 bayermono,包含的物理主副摄 Sensor 名,Feature:vsdof 01-01 04:35:58.196228 26609 26609 D MtkCam/Util/LogicalDevice: Logical Device Name: bayermono01-01 04:35:58.196262 26609 26609 D MtkCam/Util/LogicalDevice: Sensor #0: S5K_MIPI_RAW(ID: 0)01-01 04:35:58.196278 26609 26609 D MtkCam/Util/LogicalDevice: Sensor #1: SC20_MIPI_RAW(ID: 2)01-01 04:35:58.196296 26609 26609 D MtkCam/Util/LogicalDevice: vsdof   //对应的Feature 是vsdof 虚化01-01 04:35:58.196312 26609 26609 D MtkCam/Util/LogicalDevice: --------------- ... ...//成功添加 Logical camera SENSOR_DRVNAME_S5K_MIPI_RAW_bayermono 并查询index 为301-01 04:35:58.198808 26609 26609 D MtkCam/Util/LogicalDevice: (26609)[addLogicalDevice] query static metadata for multi-cam (SENSOR_DRVNAME_S5K_MIPI_RAW_bayermono)01-01 04:35:58.226454 26609 26609 I MtkCam/Util/LogicalDevice: (26609)[addLogicalDevice] add new logic device: SENSOR_DRVNAME_S5K_MIPI_RAW_bayermono01-01 04:35:59.019505 26609 26609 D MtkCam/Util/LogicalDevice: (26609)[queryDriverName] queryDriverName index : 301-01 04:35:59.019530 26609 26609 D MtkCam/Util/LogicalDevice: (26609)[queryDriverName] queryDriverName : SENSOR_DRVNAME_S5K_MIPI_RAW_bayermono01-01 04:45:12.691179 11172 11855 I CameraService: CameraService::connect call (PID -1 "com.android.camera", camera ID 3) and Camera API version 2

四、双摄bringup LogicalCameraDevice 导通参考

  • 004_ISP7_Multi-Camera(SAT,VSDOF).pdf

  • ISP7_How_to_use_custom_setting_file.pdf

  • VSdof :Video Shallow Depth of Field 视频浅景深

  • SAT: Spatial Alignment Transform 光变切换(空间对齐变换)

  • PIP: Picture in Picture 画中画(双景录像)

友情推荐:

Android 开发干货集锦

至此,本篇已结束。转载网络的文章,小编觉得很优秀,欢迎点击阅读原文,支持原创作者,如有侵权,恳请联系小编删除,欢迎您的建议与指正。同时期待您的关注,感谢您的阅读,谢谢!

点击阅读原文,为大佬点赞!

MTK 人像双摄虚化导通guide相关推荐

  1. MTK 人像双摄虚化导通流程

    和你一起终身学习,这里是程序员Android 经典好文推荐,通过阅读本文,您将收获以下知识点: 一. 创建 LogicalCameraName 相关的metadata 二. 导通 LogicalCam ...

  2. MTK平台camera的部分log及pdaf导通

    目录 文章目录 一.camera log 的整理 二.配置pdaf的步骤 1.文件的修改路径 2.pdaf的整体流程 前言 一.camera log的整理 二.配置 pdaf的步骤 1.文件的修改路径 ...

  3. p沟道mos管导通条件_10天电子入门-MOS管

    1.MOS管介绍: 在各大IT企中我们把场效应管(FET)统称为MOS管,其作用是把输入电压的变化转化为输出电流的变化.FET的增益等于它的跨导, 定义为输出电流的变化和输入电压变化之比.市面上常有的 ...

  4. 开关二极管的导通和截止条件

    三极管在我们数字电路和模拟电路中都有大量的应用,在我们开发板上也用了多个三极管.在我们板子上的 LED 小灯部分,就有这个三极管的应用了,图 3-5 的 LED 电路中的 Q16就是一个 PNP 型的 ...

  5. 彩扩机项目--死区,另辟蹊径使用即将导通的一路的电压得能量对需要关闭的一路的电容进行放电...

    另辟蹊径使用即将导通的一路的电压得能量对需要关闭的一路的电容进行放电. 因为马达的自感现象,需要在桥的四个三极管上面加上二极管.(具体为什么,以后马达章节在细说) 转载于:https://www.cn ...

  6. nmos导通流向_技术参数详解,MOS管知识最全收录!

    原标题:技术参数详解,MOS管知识最全收录! MOS管,即金属(Metal)-氧化物(Oxide)-半导体(Semiconductor)场效应晶体管,是一种应用场效应原理工作的半导体器件:和普通双极型 ...

  7. matlab晶闸管没有触发就导通,单相全控桥式晶闸管整流电路(纯电阻负载)

    单相全控桥式晶闸管整流电路(纯电阻负载) 电力电子综合课程设计报告 班 级: 自动化A班 学生姓名: 学 号: 第一部分 1. Matlab仿真电路图及参数设置 1.1仿真电路图 1.2系统参数设置 ...

  8. MOS管的导通电阻RDS(on)与阈值电压VGS(th)温度特性详解

    经常看到有文章说MOS管的导通电阻是正温度特性,阈值电压是负温度特性,但是一直不清楚具体的原理.本文就详细讲讲MOS管导通电阻正温度特性. 首先分别找一份PMOS和一份NMOS的datasheet,看 ...

  9. N MOSFET VGS(th)和管子导通的关系

    如下图所示,为AOT290L/AOB290L( N MOSET )的部分参数. 其中,VGS(th)的值为:Min,2.9V :Typ,3.5V:Max,4.1V . 1. 当VGS(th)≥4.1V ...

最新文章

  1. Python如何在以数字命名的文件前补0
  2. page event
  3. dhrystone测试结果_RTThread软件包可以对MCU进行性能测试,跑一个试试!
  4. 后宫佳丽三千,假如古代皇帝也懂负载均衡算法...
  5. lucene3.0_IndexSearcher排序
  6. 语音转换截取N个文字进行转换
  7. Linux下安装和卸载jdk及环境配置
  8. 7-1 近似求PI (15 分)
  9. 什么是信用评分分析?
  10. github copilot插件安装
  11. 机器学习技法-01-5-Reasons behind Large-Margin Hyperplane
  12. IBM X3650 M4服务器数据恢复成功案例
  13. C++-OpenCV(1)-连通区域
  14. 老男孩教育Python课程内容
  15. 青岛理工大学 研究生 吴斌
  16. Top 25 sourceforge上开源项目介绍
  17. 调研-python使用win32com模块操纵excel
  18. matlab中ct值直方图,CT值直方图在原发性肝癌诊断中的应用
  19. NEON指令优化指南学习之一
  20. ker矩阵是什么意思_“拨开迷雾”,如何判定矩阵相似?

热门文章

  1. AES128-ECB对文件进行加密解密验证
  2. 力争下游:腾讯和淘宝的站位
  3. java 动态爬虫_用selenium(Java)爬取b站up的动态
  4. mysql用户登录错误18456_sa登陆失败SQLServer错误18456的解决方法_MySQL
  5. torch.nn.Dropout()细节记录
  6. Bootstrap 4-Glyphicons迁移?
  7. 向量的1范数,2范数,无穷范数,KNN中的Lp距离
  8. 【程序人生】干了三年程序员,我决定兼职送外卖
  9. ios 与 linux 蓝牙耳机,苹果用什么蓝牙耳机好?2018全网最适配iOS的5款蓝牙耳机!...
  10. mysql NULL