IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 移动开发 -> Hexagon SDK camera_streaming example demo运行方法 -> 正文阅读

[移动开发]Hexagon SDK camera_streaming example demo运行方法


本文使用的Hexagon_SDK版本为3.5.4,设备芯片型号为sm8250。

概述

注意:
本样例适用于sm8250/sm7250/sm8350。
对于其他目标如msm8998, sdm660, sdm485, sm8150, sm7150, sm6125等。请参阅Example_legacy.html。
相机流的样例为hvx_app_add_constant,可以在Hexagon_SDK目录下找到。这个简单的样例展示了开发人员如何使用相机流框架提供的实用程序来开发用于拜耳像素数据处理的相机流样例。
在设备上运行样例之前,请确保已准备好Hexagon_SDK运行依赖关系。

目的

本样例的目标是

  • 演示如何使用相机流框架提供的实用程序
  • 为开发人员提供编程模型。
  • 展示相机流通常处理的不同用例
  • 使用这些样例作为参考,开发人员可以用他们自己的代码替换处理部分,并快速实现他们自己的摄像机流用例。

add_constant样例展示了应用程序如何将运行时参数从OEM插件传递到QDSP6 lib,以及应用程序如何在Android和DSP之间传输和访问缓冲区。

编译样例

构建hvx_add_constant样例的步骤如下,这同样也适用于其他相机流的例子。

编译OEM插件

通过windows系统命令行进入<sdk_root>\examples\camera_streaming\hvx_add_constant_stub文件夹,<sdk_root>为Hexagon_SDK的安装目录,在我的电脑上为“D:\Hexagon_SDK\3.5.4”,各位根据自己的实际情况,进行调整。
注:本文默认各位读者已经准备好了Hexagon_SDK的运行环境,即已经运行了setup_sdk_env.cmd脚本。
然后运行以下命令进行编译

make tree V=android_Release sm8250=1

此文件夹下的android_Release\ship文件夹下将出现libmmcamera_hvx_add_constant.so文件。

编译QDSP6库

同样进入到<sdk_root>\examples\camera_streaming\hvx_add_constant文件夹,然后执行以下编译命令:

make tree V=hexagon_Release_dynamic_toolv83_v66 sm8250=1 VERBOSE=1

注意,make命令中的“tree”对于构建指定变体(hexon_releaseg)的所有样例依赖关系是必要的。VERBOSE=1是一个可选标志,用于显示make及其包含的模拟测试结果的详细信息。对于相同变体的示例的后续重新构建可以省略如下所示的“tree”。

make V=hexagon_Release_dynamic_toolv83_v66 sm8250=1

注意,这个make命令以共享库(.so)格式构建QDSP6库。此共享库将加载到支持HVX流的目标芯片组。
这时在此文件夹下会生成hexagon_Release_dynamic_toolv83_v66\libdsp_streamer_add_constant.so文件

将样例加载到设备上

有一种方法可以在模拟器上离线测试摄像机流媒体代码(如下所示),但由于流媒体的性质,示例通常是在安装了合适的成像传感器的目标设备上测试的。
作为一个预先要求,目标设备应该预装APPS构建和DSP构建。另外,以hvx_add_constant为例:
运行以下命令将生成的文件推送到设备中

adb push D:\Hexagon_SDK\3.5.4\examples\camera_streaming\hvx_add_constant\hexagon_Release_dynamic_toolv83_v66\libdsp_streamer_add_constant.so /system/lib/rfsa/adsp
adb push D:\Hexagon_SDK\3.5.4\examples\camera_streaming\hvx_add_constant_stub\android_Release\libmmcamera_hvx_add_constant.so /system/lib/

如果设备中的/system/lib/rfsa/adsp以及/system/lib/文件夹不存在,可以运行以下命令建立文件夹

adb shell mkdir -p /system/lib/rfsa/adsp

运行样例

当前运行相机流的方法是使用adb shell setprop命令来启用和禁用它。
假设OEM插件名称为“libmmcamera_hvx_add_constant.”so”,执行以下操作,启用HVX相机流并加载指定的QDSP6库进行处理。

adb shell setprop persist.camera.hvx_lib_1 "libmmcamera_hvx_add_constant.so"

禁用流媒体,使像素数据完全绕过HVX流媒体模块,作为一个正常的ISP,执行以下命令:

adb shell setprop persist.camera.hvx_lib_1 ""

开启相机流(HVX)模式。

adb root 
adb remount

创建一个名为camxoverridessettings .txt的新文本文件,并在文件中插入enableHVXStreaming=1,然后将其推送到以下位置/vendor/etc/camera的设备。如果文件夹不存在,则通过上文命令创建它们。
如果文件存在运行以下命令:

adb shell echo enableHVXStreaming=1 > /vendor/etc/camera/camxoverridesettings .txt

接下来继续执行命令

adb reboot 
adb root 
adb remount 
adb shell setenforce 0

重新启动设备。在MTP上启动骁龙相机应用程序或相应的相机应用程序
设备在预览模式,你应该看到明亮的区域将定期增强为粉红色,这表明相机流模式正在工作添加常量样例,具体效果如下视频所示。

video

  移动开发 最新文章
Vue3装载axios和element-ui
android adb cmd
【xcode】Xcode常用快捷键与技巧
Android开发中的线程池使用
Java 和 Android 的 Base64
Android 测试文字编码格式
微信小程序支付
安卓权限记录
知乎之自动养号
【Android Jetpack】DataStore
上一篇文章      下一篇文章      查看所有文章
加:2022-08-19 19:17:25  更:2022-08-19 19:20:42 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/25 5:04:01-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码