当前位置: 首页 > news >正文

In-sensor zoom功能调试笔记

feb999a1cae268fd293e6d115027f3c6.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 301-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 3mode 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: 001-01 18:53:28.185560  1501  3339 I CamX    : [CORE_CFG][SENSOR ] camxsensornode.cpp:2266 PublishPerFrameSensorMetaData() Sensor[3] AppliedGains: ReqId[12],... ... resID 1, ContextTypeID: 001-01 18:53:28.293122  1501  3341 I CamX    : [CORE_CFG][SENSOR ] camxsensornode.cpp:2266 PublishPerFrameSensorMetaData() Sensor[3] AppliedGains: ReqId[13],... ... resID 1, ContextTypeID: 001-01 18:53:28.440977  1501  3341 I CamX    : [CORE_CFG][SENSOR ] camxsensornode.cpp:2266 PublishPerFrameSensorMetaData() Sensor[3] AppliedGains: ReqId[14],... ... resID 1, ContextTypeID: 001-01 18:53:28.775161  1501  3

参考文献:

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

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

bb49cc41884a6655a1fe8307aac21342.jpeg


http://www.mrgr.cn/news/2008.html

相关文章:

  • Java 类和对象
  • 【4.0】vue3中的属性
  • https握手过程详解
  • linux常用基础命令
  • Unity | AmplifyShaderEditor插件基础(第二集:模版说明)
  • 代码随想录算法训练营第三十一天| 01背包问题 二维 01背包问题 一维 416. 分割等和子集
  • HTTP/2:网络传输的革新与优化
  • Unity开发抖音小游戏广告部分接入
  • Linux索引节点不足引起Mysql报can not create to file /tmp/xxx Errcode:28的解决方案
  • Apollo9.0 PNC源码学习之Planning模块—— Lattice规划(三):静态障碍物与动态障碍物ST图构建
  • ArcGIS Pro SDK (十二)布局 5 布局图片元素
  • Linux Bridge VLAN
  • HTML浏览器缓存(Browser Cache)
  • sm2和md5前端对密码加密的方法
  • 2024华为OD机试真题- 贪吃的猴子Python-C卷D卷-200分
  • JS获取当前设备名称
  • WPF 动画 插值动画、关键帧动画、路径动画
  • 音乐生成模型应用
  • Linux系统-vi/vim编辑器权限管理文档处理三剑客
  • LeetCode 第三十一天 2024.8.18