摄像头sc233hgs驱动 v4l2驱动层设置参数方法
主要是下面的几个接口:
v4l2_ctrl_new_std
v4l2_ctrl_new_int_menu
v4l2_ctrl_new_std_menu_items
这三个接口都属于 Linux V4L2(Video for Linux 2)驱动开发中的控制项创建函数,用于为 V4L2 设备(如摄像头、视频采集卡)添加可配置的控制参数(如亮度、对比度、帧率模式等),定义在
v4l2_ctrl_new_std
功能
创建标准类型的 V4L2 控制项(如整数、布尔、枚举等基础类型),是最常用的通用控制项创建接口。
函数原型:
struct v4l2_ctrl v4l2_ctrl_new_std(struct v4l2_ctrl_handler hdl,
const struct v4l2_ctrl_ops ops,
u32 id, s32 min, s32 max, u32 step, s32 def);
参数说明
hdl 控制项处理器(句柄),所有控制项都挂载到该处理器下
ops 控制项操作回调函数集(如 g_ctrl/s_ctrl,NULL 表示使用默认操作)
id 控制项 ID(如 V4L2_CID_BRIGHTNESS、V4L2_CID_CONTRAST 等标准 ID)
min 控制项最小值
max 控制项最大值
step 步长(调节时的最小增量,如亮度按 1 调节则 step=1)
def 默认值
使用场景
创建数值型、布尔型等连续 / 离散范围的标准控制项,如亮度、对比度、曝光值等。
v4l2_ctrl_new_int_menu
功能
创建整数菜单型控制项(即选项为离散整数的下拉菜单),适用于 “固定可选值” 的场景(如帧率模式、分辨率选项)。
函数原型:
struct v4l2_ctrl v4l2_ctrl_new_int_menu(struct v4l2_ctrl_handler hdl,
const struct v4l2_ctrl_ops ops,
u32 id, s32 def, int n_choices,
const s32 choices);
参数说明
hdl/ops/id/def 同 v4l2_ctrl_new_std
n_choices 菜单选项的数量
choices 菜单选项的整数数组(如 {10, 20, 30} 表示可选 10/20/30)
使用场景
控制项值为固定离散整数,如帧率(10/20/30fps)、分辨率模式(1=720p,2=1080p)等。
v4l2_ctrl_new_std_menu_items
功能
基于 V4L2 标准菜单 ID 创建菜单型控制项,是 v4l2_ctrl_new_int_menu 的 “标准封装版”,仅用于 V4L2 预定义的菜单型控制项。
函数原型
struct v4l2_ctrl v4l2_ctrl_new_std_menu_items(struct v4l2_ctrl_handler hdl,
const struct v4l2_ctrl_ops ops,
u32 id, s32 def);
参数说明
hdl/ops/id/def 同前,其中 id 必须是 V4L2 预定义的菜单型 ID(如 V4L2_CID_POWER_LINE_FREQUENCY)
使用场景
创建 V4L2 标准定义的菜单控制项,无需手动指定选项数组(框架已内置选项),如电源频率(50Hz/60Hz)、白平衡模式等。
**
上面三个函数的被调用的时机:
1:驱动层调用
当你通过 v4l2_ctrl_new_std/v4l2_ctrl_new_int_menu 等函数创建完所有控制项后,必须调用 v4l2_ctrl_handler_setup,确保:
控制项的默认值被设置为当前值;
若实现了 s_ctrl 回调(硬件寄存器操作),默认值会被写入硬件(比如初始化时将亮度默认值 128 写入寄存器)。
2:应用层调用
通过命令行工具触发(如 v4l2-ctl)
通过应用程序触发(实际业务场景)
————————————————
版权声明:本文为CSDN博主「自来水605」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_41556762/article/details/158508057
- 分享
- 举报
暂无数据-
浏览量:3458次2023-12-28 14:40:29
-
浏览量:4084次2024-03-01 16:01:03
-
浏览量:1481次2023-10-30 14:53:50
-
浏览量:2359次2023-10-25 14:27:44
-
浏览量:3376次2018-12-27 13:35:53
-
浏览量:3704次2023-10-26 13:56:58
-
2026-03-10 14:20:29
-
浏览量:2478次2023-10-26 13:41:10
-
浏览量:2360次2023-12-08 16:23:35
-
浏览量:1487次2023-11-23 13:38:54
-
浏览量:2107次2024-02-22 15:39:36
-
浏览量:2279次2023-12-08 16:48:29
-
浏览量:17975次2024-01-04 14:35:55
-
浏览量:10360次2022-10-17 11:49:55
-
浏览量:2718次2020-04-01 10:07:10
-
浏览量:2870次2023-11-20 17:36:15
-
浏览量:5677次2024-02-04 10:54:00
-
浏览量:3436次2023-12-25 14:19:43
-
浏览量:4015次2020-10-29 17:26:12
-
广告/SPAM
-
恶意灌水
-
违规内容
-
文不对题
-
重复发帖
自来水605
微信支付举报类型
- 内容涉黄/赌/毒
- 内容侵权/抄袭
- 政治相关
- 涉嫌广告
- 侮辱谩骂
- 其他
详细说明

微信扫码分享
QQ好友