当前位置: 代码网 > it编程>App开发>Android > 如何开启In-sensor zoom 功能

如何开启In-sensor zoom 功能

2024年07月28日 Android 我要评论
和你一起终身学习,这里是程序员Android经典好文推荐,通过阅读本文,您将收获以下知识点:一、In-sensor zoom 概述二、如何开启 In-sensor zoom2.1 开启 camxsettings.xml setting2.2 多摄像头,需要添加特殊的逻辑2.3 在 MetaTransitionTable 配置 sensorModeGroupId 的范围2.4 在Sensor.xml...

81797fa40a56bb235002b5bb03dbdef7.gif

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

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

一、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

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

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com