手动设置ISO&S连拍后,查看照片信息,发现信息显示的ISO&S数值错误?

负基础er 2022-07-06 16:18:44

手动设置ISO&S连拍后,查看照片信息,发现信息显示的ISO&S数值错误?

...全文
1842 1 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
weixin_38498942 2022-07-07
  • 打赏
  • 举报
回复

手动设置ISO&S后,单拍发现照片信息显示正常,但是连拍照片信息显示错误,将连拍的相片散开发现,只有第一张照片显示正常,其他均错误;进一步抓log分析发现,单拍时,camera处于ZSL模式,而连拍时,camera处于非ZSL模式。

ZSL模式:sensor通过MIPI接口将数据流传送到ISP中并分成多个相同(size不同)的流(preview流、thumbnail流、capture流),在拍照时,takepicture会从capture流中取到数据传输给APP,此时也就是说,预览和拍照处于相同全尺寸流状态,即拍照只是从流里取一张而已

非ZSL模式:拍照时,stream off,会停止preview,takepicture从sensor获取一张图片数据传给APP,APP接收到图片后,发送一个命令给sensor,sensor会通过(preview setting、capture setting、video setting等)重新使stream on,重新preview,sensor通过MIPI接口将数据流传送到ISP中并分成多个相同(size不同)的流(preview流、thumbnail流、capture流),takepicture从capture 流获取图片数据传送给APP(故此时的图片信息与第一张图片信息会有所差异),预览是小尺寸,拍照需切换设置到全尺寸,会有一定的延时

解决方案:将连拍模式的camera模式强制转化成ZSL模式,即将hardware/qcom/camera/QCamera2/HAL/QCameraParameters.cpp中setZslMode()函数下的

if(!strcmp(str_asus_camera_mode_val,"PRO")||!strcmp(str_asus_camera_mode_val,"HDR")){}改成

if(/!strcmp(str_asus_camera_mode_val,"PRO")||/!strcmp(str_asus_camera_mode_val,"HDR")){}

原文链接:https://blog.csdn.net/liujun3512159/article/details/123946890

2,853

社区成员

发帖
与我相关
我的任务
社区描述
本论坛以AI、WoS 、XR、IoT、Auto、生成式AI等核心板块组成,为开发者提供便捷及高效的学习和交流平台。 高通开发者专区主页:https://qualcomm.csdn.net/
人工智能物联网机器学习 技术论坛(原bbs) 北京·东城区
社区管理员
  • csdnsqst0050
  • chipseeker
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧