完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
请问,摄像像头DVP接口的驱动,即 /dev/video0,能不能配置成读取RAW数据(1个像素用8bit表示),存到缓冲区也是这个格式?例程配置的是V4L2_PIX_FMT_NV12,采到的数据格式为YUV420. 我现在挂的是开发板配套的OV5640,从它的手册上,描述是支持RAW输出的,现在就看驱动支不支持写这个模式,如果能,怎么操作?
我这里不只是要解决格式问题,因为我后期开发选用的是只有RAW输出的sensor,软件变一下格式没有意义。 请问/dev/video0的源文件是哪里编译的? 我的想法是只要通过SCCB接口,能修改sensor的输出模式应该就能实现我的要求吧。 例程里面有类似的判断,是不是代表是可以支持的: memset(&fmt, 0, sizeof(struct v4l2_format)); memset(&sub_fmt, 0, sizeof(struct v4l2_format)); fmt.type = V4L2_BUF_TYPE_VIDEO_CAPTURE; fmt.fmt.pix.width = input_size.width; fmt.fmt.pix.height = input_size.height; fmt.fmt.pix.pixelformat = csi_format; fmt.fmt.pix.field = V4L2_FIELD_NONE; sensor_type = getSensorType(fd); db_debug("sensor_type: %dn",sensor_type); 说明:此处运行结果值为 -1 sensor_type = 0; 说明:例程直接把值赋值为 0,也就是默认为YUV模式, V4L2_SENSOR_TYPE_RAW值为1 if(sensor_type == V4L2_SENSOR_TYPE_RAW) { fmt.fmt.pix.subchannel->width = 640; fmt.fmt.pix.subchannel->height = 480; fmt.fmt.pix.subchannel->pixelformat = csi_format; fmt.fmt.pix.subchannel->field = V4L2_FIELD_NONE; } if (ioctl(fd, VIDIOC_S_FMT, &fmt)<0) { db_error("set image format failedn"); goto err; } 如果能找到此驱动的源码,也可以继续研究一下对sensor是怎么样的操作过程。 |
|
相关推荐
2个回答
|
|
这个节点是驱动生成的,开机服务有个udev,这个服务管理节点生成
|
|
|
|
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
rk1126实现BT601输入,输入不带IIC接口的驱动程序
1235 浏览 0 评论
1225 浏览 1 评论
2318 浏览 3 评论
RK3568 Android11让系统ntp校准时间生效,需要设置些什么
3077 浏览 1 评论
5085 浏览 2 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-8-17 18:08 , Processed in 0.580877 second(s), Total 74, Slave 58 queries .
Powered by 电子发烧友网
© 2015 www.ws-dc.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号