您的位置:首页 > 房产 > 建筑 > 东莞百度seo关键词优化_大连市建设工程信息网官网_深圳搜索竞价账户托管_大庆建站公司

东莞百度seo关键词优化_大连市建设工程信息网官网_深圳搜索竞价账户托管_大庆建站公司

2025/4/18 18:17:08 来源:https://blog.csdn.net/rentong123/article/details/146527723  浏览:    关键词:东莞百度seo关键词优化_大连市建设工程信息网官网_深圳搜索竞价账户托管_大庆建站公司
东莞百度seo关键词优化_大连市建设工程信息网官网_深圳搜索竞价账户托管_大庆建站公司

为调试Android设备中camera的相关功能,需要引入v4l2-ctl工具。由于厂商提供的Android SDK源码中未集成v4l2-utils(包含v4l2-ctl以及其它组件的工具包),故需要下载v4l2-utils源码,并在Android SDK中交叉编译生成v4l2-ctl可执行文件。本文讲述其过程步骤。

一、下载v4l2-utils源码

https://github.com/gjasny/v4l-utils

二、移植v4l2-ctl到自己的SDK中

# 1. 一般将外部工具包放到Android SDK/external目录下
cd your_android_sdk/external
mkdir v4l-utils
mkdir v4l-utils/utils# 2. 切换到从github下载的v4l2-utils源码目录
cd v4l-utils
# 切换到stable-1.28分支
git checkout stable-1.28
cp android-config.h your_android_sdk/external/v4l-utils/
cp -r include your_android_sdk/external/v4l-utils/
cp -r utils/common your_android_sdk/external/v4l-utils/utils/
cp -r utils/v4l2-ctl your_android_sdk/external/v4l-utils/utils/# 3. 移植后的目录结构如下
cd your_android_sdk/external/v4l-utils
tree -L 2
.
├── android-config.h
├── include
│   ├── compiler.h
│   ├── gettext.h
│   ├── linux
│   └── v4l-getsubopt.h
└── utils├── common└── v4l2-ctl5 directories, 4 files

三、修改文件

一共五处修改,如下:

diff --git a/utils/v4l2-ctl/Android.mk b/utils/v4l2-ctl/Android.mk
old mode 100644
new mode 100755
index 3078c62..5987b3d
--- a/utils/v4l2-ctl/Android.mk
+++ b/utils/v4l2-ctl/Android.mk
@@ -6,7 +6,7 @@ LOCAL_MODULE := v4l2-ctlLOCAL_MODULE_TAGS := optionalLOCAL_CFLAGS += -DNO_LIBV4L2
-LOCAL_CFLAGS += -Wno-missing-field-initializers
+LOCAL_CFLAGS += -Wno-missing-field-initializers -Wno-unused-parameterLOCAL_CFLAGS += -include ../../android-config.hLOCAL_C_INCLUDES := \$(LOCAL_PATH)/../.. \
@@ -15,13 +15,13 @@ LOCAL_C_INCLUDES := \bionic \external/stlport/stlport-LOCAL_SHARED_LIBRARIES := libstlport
+#LOCAL_SHARED_LIBRARIES := libstlportLOCAL_SRC_FILES := \
-    v4l2-ctl.cpp v4l2-ctl.h v4l2-ctl-common.cpp v4l2-ctl-tuner.cpp \
+    v4l2-ctl.cpp v4l2-ctl-common.cpp v4l2-ctl-tuner.cpp \v4l2-ctl-io.cpp v4l2-ctl-stds.cpp v4l2-ctl-vidcap.cpp v4l2-ctl-vidout.cpp \v4l2-ctl-overlay.cpp v4l2-ctl-vbi.cpp v4l2-ctl-selection.cpp v4l2-ctl-misc.cpp \v4l2-ctl-streaming.cpp v4l2-ctl-sdr.cpp v4l2-ctl-edid.cpp v4l2-ctl-modes.cpp \v4l2-ctl-meta.cpp v4l2-ctl-subdev.cpp v4l2-info.cpp media-info.cpp \
-    v4l2-tpg-colors.c v4l2-tpg-core.c v4l-stream.c codec-fwht.c
+    v4l2-tpg-colors.c v4l2-tpg-core.c v4l-stream.c codec-fwht.c codec-v4l2-fwht.cinclude $(BUILD_EXECUTABLE)
diff --git a/utils/v4l2-ctl/v4l2-ctl-subdev.cpp b/utils/v4l2-ctl/v4l2-ctl-subdev.cpp
old mode 100644
new mode 100755
index 48b7928..6fc3a6a
--- a/utils/v4l2-ctl/v4l2-ctl-subdev.cpp
+++ b/utils/v4l2-ctl/v4l2-ctl-subdev.cpp
@@ -9,7 +9,7 @@ struct mbus_name {static const struct mbus_name mbus_names[] = {{ "Fixed", MEDIA_BUS_FMT_FIXED },
-#include "media-bus-format-names.h"
+//#include "media-bus-format-names.h"{ nullptr, 0 }};

四、编译

cd your_android_sdk
source ./build/envsetup.sh
lunch <product_name>-<build_variant>
cd your_android_sdk/external/v4l-utils/
mm

编译成功后会提示:

五、push到设备中运行

1. 列出设备的所有控制项

./v4l2-ctl -d /dev/v4l-subdev7 --list-ctrls

2. 查看 link_frequency、pixel_rate 这两个控制项的值:

./v4l2-ctl -d /dev/v4l-subdev7 --get-ctrl link_frequency

./v4l2-ctl -d /dev/v4l-subdev7 --get-ctrl pixel_rate

3. 设置 sensor_on_off 这一控制项的值为1

./v4l2-ctl -d /dev/v4l-subdev7 --set-ctrl sensor_on_off=1

有些ioctl设备不支持,没关系。

参考:android交叉编译v4l2-ctl_android v4l2-ctl-CSDN博客

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com