如何开启In-sensor zoom 功能

news/2024/7/20 22:20:10 标签: swift, 开发语言, ios

81797fa40a56bb235002b5bb03dbdef7.gif

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

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

一、In-sensor zoom 概述
二、如何开启 In-sensor zoom
2.1 开启 camxsettings.xml setting
2.2 多摄像头,需要添加特殊的逻辑
2.3 在 MetaTransitionTable 配置 sensorModeGroupId 的范围
2.4 在Sensor.xml 中设置兼容性 INSENSORZOOM
2.5 InSensor zoom log

一、In-sensor zoom 概述

  1. InSensor Zoom 不仅需要高通平台支持,而且需要Camera sensor 模组支持(需要跟Sensor FAE 确认)。

  2. 与正常的zoom 对比,Insensor zoom 使用full remosaic size mode 替换1/4 binng mode, 当zoom > 2x, sensor crop输出2x zoom.

二、如何开启 In-sensor zoom

2.1 开启 camxsettings.xml setting

vendor/qcom/proprietary/camx-common/settings/common/camxsettings.xml
设置 Enable In Sensor Zoom DefaultValue

<setting>
   <Name>Enable In Sensor Zoom</Name>
   <Help>Settings to enable In sensor Zoom</Help>
   <VariableName>enableInSensorZoom</VariableName>
   <VariableType>BOOL</VariableType>
   <SetpropKey>vendor.debug.camera.enableInSensorZoom</SetpropKey>
   // 设置  Enable In Sensor Zoom DefaultValue 
   <DefaultValue>TRUE</DefaultValue>
   <Dynamic>FALSE</Dynamic>
   <Public>TRUE</Public>
 </setting>
2.2 多摄像头,需要添加特殊的逻辑

oem/qcom/multicamera/chimcxcameraconfig/configs/netrani/netrani.xml

配置 SensorMode Group id 是否否支持 Insensor zoom 1 支持 、0 不支持

<!-- Transition Modes ============================================================== ====================-->
    <TransitionMode id="0" sensorModeGroupId="0" skipRate="0" physicalDeviceRef="UltrawidePhysicalCam" />
    <TransitionMode id="1" sensorModeGroupId="0" skipRate="0" physicalDeviceRef="WidePhysicalCam" />
    <TransitionMode id="2" sensorModeGroupId="0" skipRate="0" physicalDeviceRef="TelePhysicalCam" />
    <TransitionMode id="3" sensorModeGroupId="1" skipRate="0" physicalDeviceRef="WidePhysicalCam" />
    <TransitionMode id="4" sensorModeGroupId="1" skipRate="0" physicalDeviceRef="TelePhysicalCam" />
    <!-- Transition Tables ==================================================================================-->
2.3 在 MetaTransitionTable 配置 sensorModeGroupId 的范围
<MetaTransitionTable id="2" metadata="zoomRatio" type="Float">
        <Transition  activeRangeStart="0.6" activeRangeEnd="0.9999"  hysteresisMinFactor="0.0" hysteresisMaxFactor="0.0" transition_modes="(0)"/>
        <Transition  activeRangeStart="1.0" activeRangeEnd="1.9999"  hysteresisMinFactor="0.0" hysteresisMaxFactor="0.0" transition_modes="(1)"/>
        <Transition  activeRangeStart="2.0" activeRangeEnd="2.9999"  hysteresisMinFactor="0.0" hysteresisMaxFactor="0.0" transition_modes="(3)"/>
        <Transition  activeRangeStart="3.0" activeRangeEnd="6.0999"  hysteresisMinFactor="0.0" hysteresisMaxFactor="0.0" transition_modes="(2)"/>
        <Transition  activeRangeStart="6.1" activeRangeEnd="120.01"  hysteresisMinFactor="0.0" hysteresisMaxFactor="0.0" transition_modes="(4)"/>
    </MetaTransitionTable>
2.4 在Sensor.xml 中设置兼容性 INSENSORZOOM

找FAE 要Sensor FAE 要一组 支持remosaic 的insensor zoom 的 resolution

<!--res5 4624x3472_30fps for QCFA insensorzoom mode with remosaic enable -->
     <!--Frame dimension: contains xStart, yStart, width and height -->
     <frameDimension>
       <xStart>  </xStart>
       <yStart> </yStart>
       <width>4624</width>
       <height>3472</height>
     </frameDimension>
     
      <!--List of features / capabilities supported by sensor -->
      <capability>INSENSORZOOM</capability>
      <transitionGroups>BINCROP43 BINCROP169</transitionGroups>
      <RemosaicTypeInfo>NoRemosaic</RemosaicTypeInfo>
2.5 InSensor zoom log

log 关键字:
SetInSensorZoomInfo|PublishPerFrameSensorMetaData .*resID|ApplySensorUpdate

bEnableInSensorZoomMode: 1 表示成功开启Insensor Zooom

触发Insensorroom 后 会切换对应的senmode 的resolution(比如:从 mode 1-->mode 5 bEnableInSensorZoomMode: 1 )

bEnableInSensorZoomMode: 1 
 01-01 18:53:41.468933  1501 11723 I CHIUSECASE: [CORE_CFG ] chifeature2graphselector.cpp:7391 SetInSensorZoomInfo() [InSensorZoom] cameraId:0 bEnableInSensorZoomMode: 0zoomStatusChanged = 0 requested zoomState: 1 m_inSensorZoomInfo.zoomState 1 appFrameIndex 91 size 3
 01-01 18:53:41.469350  1501 11723 I CHIUSECASE: [CORE_CFG ] chifeature2graphselector.cpp:7391 SetInSensorZoomInfo() [InSensorZoom] cameraId:3 bEnableInSensorZoomMode: 1zoomStatusChanged = 0 requested zoomState: 2 m_inSensorZoomInfo.zoomState 2 appFrameIndex 91 size 3

mode 1-->mode 5 
 01-01 18:53:28.041499  1501  3338 I CamX    : [CORE_CFG][SENSOR ] camxsensornode.cpp:2266 PublishPerFrameSensorMetaData() Sensor[3] AppliedGains: ReqId[11],... ... resID 1, ContextTypeID: 0
 01-01 18:53:28.185560  1501  3339 I CamX    : [CORE_CFG][SENSOR ] camxsensornode.cpp:2266 PublishPerFrameSensorMetaData() Sensor[3] AppliedGains: ReqId[12],... ... resID 1, ContextTypeID: 0
 01-01 18:53:28.293122  1501  3341 I CamX    : [CORE_CFG][SENSOR ] camxsensornode.cpp:2266 PublishPerFrameSensorMetaData() Sensor[3] AppliedGains: ReqId[13],... ... resID 1, ContextTypeID: 0
 01-01 18:53:28.440977  1501  3341 I CamX    : [CORE_CFG][SENSOR ] camxsensornode.cpp:2266 PublishPerFrameSensorMetaData() Sensor[3] AppliedGains: ReqId[14],... ... resID 1, ContextTypeID: 0
 01-01 18:53:28.775161  1501  3

参考文献:

【腾讯文档】Camera学习知识库
https://docs.qq.com/doc/DSWZ6dUlNemtUWndv

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

f923994516817a3386a1208357111c70.jpeg

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


http://www.niftyadmin.cn/n/5277350.html

相关文章

b站高可用架构 笔记

b站高可用架构 关键点&#xff1a;主机房&#xff0c;多活和多活机房 参考文章&#xff1a;bilibili技术总监毛剑&#xff1a;B站高可用架构实践 1. 前端和数据中心负载均衡 前端负载均衡(动态CDN):最近节点、带宽策略、可用服务容量 数据中心负载均衡:均衡流量、识别异常节…

【电路笔记】-电容器颜色代码与电容值

电容器颜色代码与电容值 文章目录 电容器颜色代码与电容值1、概述 电容器颜色代码是识别电容器电容值的一种简单有效的视觉方式。 1、概述 有两种常见的方法可以了解电容器的电容值&#xff0c;即使用数字万用表进行测量&#xff0c;或读取印刷在其上的电容器颜色代码。 这些彩…

BBS项目--登录

BBS阶段性测试总要求 django登录报错 Error: [WinError 10013] 以一种访问权限不允许的方式做了一个访问套接字的尝试。 原因分析&#xff1a;出现这种情况在Windows中很常见&#xff0c;就是端口被占用 解决措施&#xff1a;这时我们只需改一下端口便可以了 登录前端页面(HTML…

程序员为什么不接单赚钱?绝对是损失!!!

天气渐寒&#xff0c;2024年步步紧逼。 回望旧的2023年&#xff0c;生活有日益向好吗&#xff1f;身体是否还匹配年龄呢&#xff1f; 再问一个致命的问题&#xff1a;2023年攒的钱够多了吗&#xff1f; 如果差强人意&#xff0c;建议来年再改进。若是一言难尽&#xff0c;同样…

系统分析师(软考)知识点整理(二)

会计相关 会计是指记录、分类、汇总、计量和报告发送在企业经济活动中的财务数据的行为 #mermaid-svg-YBI5YPWzqWhRB4kI {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-YBI5YPWzqWhRB4kI .error-icon{fill:#552222…

鸿蒙ArkTS语言介绍与TS基础法

1、ArkTS介绍 ArkTS是HarmonyOS主力应用开发语言&#xff0c;它在TS基础上&#xff0c;匹配ArkUI框架&#xff0c;扩展了声明式UI、状态管理等响应的能力&#xff0c;让开发者以更简洁、更自然的方式开发跨端应用。 JS 是一种属于网络的高级脚本语言&#xff0c;已经被广泛用…

深度学习的十大核心算法

引言 深度学习是人工智能领域中最热门和最具影响力的分支之一。其核心在于通过构建复杂的神经网络模型&#xff0c;从大量的数据中自动学习并提取出有用的特征&#xff0c;从而实现各种高级的任务&#xff0c;如图像识别、自然语言处理等。本文将介绍深度学习中的十大核心算法…

JavaWeb笔记之前端开发HTML

一、引言 1.1HTML概念 网页&#xff0c;是网站中的一个页面&#xff0c;通常是网页是构成网站的基本元素&#xff0c;是承载各种网站应用的平台。通俗的说&#xff0c;网站就是由网页组成的。通常我们看到的网页都是以htm或html后缀结尾的文件&#xff0c;俗称 HTML文件。 …