深入浅出,camera v4l2理解(1)v4l2准备使用的参数
来源:互联网 发布:mysql手机版 编辑:程序博客网 时间:2024/05/22 12:14
1,probe
2,读id,id读完了并且成功才能注册v4l2
3,注册v4l2,
v4l2_i2c_subdev_init(&s_ctrl->sensor_v4l2_subdev, client,s_ctrl->sensor_v4l2_subdev_ops);
这里v4l2的注册需要几个参数
s_ctrl->sensor_v4l2_subdev
这个参数主要是v4l2的名字,这个name是从驱动中去读的,如下
snprintf(s_ctrl->sensor_v4l2_subdev.name,sizeof(s_ctrl->sensor_v4l2_subdev.name), "%s", id->name);
client
这个参数是i2c的client,从驱动中获取,读id的时候使用的那个
s_ctrl->sensor_v4l2_subdev_ops
这个参数是驱动中的imx111_subdev_ops
static struct v4l2_subdev_core_ops imx111_subdev_core_ops = {
.ioctl = msm_sensor_subdev_ioctl, //各种效果等控制参数的传递
.s_power = msm_sensor_power, //power
};
static struct v4l2_subdev_video_ops imx111_subdev_video_ops = {
.enum_mbus_fmt = msm_sensor_v4l2_enum_fmt,
};
static struct v4l2_subdev_ops imx111_subdev_ops = {
.core = &imx111_subdev_core_ops, //见上面
.video = &imx111_subdev_video_ops, //见上面
};
int32_t msm_sensor_v4l2_enum_fmt(struct v4l2_subdev *sd, unsigned int index,
enum v4l2_mbus_pixelcode *code)
{
struct msm_sensor_ctrl_t *s_ctrl = get_sctrl(sd); //这边不用说,还是驱动那个s_ctrl
if ((unsigned int)index >= s_ctrl->sensor_v4l2_subdev_info_size) //这里就是看你准备了多少种code,看看是不是超出了所定义的
return -EINVAL;
*code = s_ctrl->sensor_v4l2_subdev_info[index].code; //调用驱动中的code
return 0;
}
static struct v4l2_subdev_info imx111_subdev_info[] = { //这个在驱动里面,就是上面的那个info
{
.code = V4L2_MBUS_FMT_SRGGB10_1X10,
.colorspace = V4L2_COLORSPACE_JPEG,
.fmt = 1,
.order = 0,
},
};
- 深入浅出,camera v4l2理解(1)v4l2准备使用的参数
- 深入浅出,camera v4l2理解
- 深入浅出,camera v4l2理解(2)v4l2注册
- 基于V4L2的视频驱动开发(1)---Camera
- 基于V4L2的视频驱动开发(1)---Camera
- camera-------V4L2
- V4L2的soc-camera子系统
- v4l2 FIELD 的理解
- v4l2 FIELD 的理解
- V4L2中filed的理解
- jni 调用V4L2使用ioctl设置v4l2摄像头参数
- V4L2 soc-camera 子系统
- v4l2,camera笔记
- V4L2 soc-camera 数据结构
- camera V4L2 FIMC
- V4L2 soc-camera 数据结构
- V4L2 soc-camera 子系统
- camera V4L2 FIMC
- 题目1087:约数的个数
- 嵌入式笔试总结
- 生成APNS Service证书的步骤
- XLINQ(LINQ to XML)之针对XML文件的添加、查询、更新和删除
- wpf combobox数据绑定并添加一个额外的选项
- 深入浅出,camera v4l2理解(1)v4l2准备使用的参数
- 如何静态添加toolbar到datagrid.
- Android中的Handler总结
- Unique Paths
- Android设置TextView行间距(非行高)
- rsync 的核心算法
- 从程序员到项目经理(2)
- 深入浅出,camera v4l2理解(2)v4l2注册
- 从程序员到项目经理(3):认识项目经理