![](https://img-blog.csdnimg.cn/20190927151101105.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Camera开发
文章平均质量分 68
# camera
深海带鲤鱼
巩固知识
展开
-
Android Camera(一)-框架小结
工作涉及安卓Camera的内容,做一下笔记。原创 2023-01-14 23:37:28 · 1382 阅读 · 0 评论 -
V4l2框架-Videobuf2数据结构简单分析
Videobuf2作为V4L2驱动程序和用户空间之间的数据传输桥梁,用于分配和处理视频帧缓冲区,实现许多标准的POSIXI/O系统调用,包括read()、poll()以及mmap()。实现大量与流式I/O相关V4L2ioctl()调用,包括缓冲区分配、缓冲区入队列和缓冲区出队列以及流控制。......原创 2022-07-16 12:07:04 · 1758 阅读 · 2 评论 -
V4L2框架-视频流的停止(VIDIOC_STREAMOFF)
2.驱动层关闭视频流调用平台关闭视频流驱动接口vidioc_streamoff原创 2022-07-10 22:00:51 · 1489 阅读 · 1 评论 -
V4L2框架-缓存出队列(VIDIOC_DQBUF)
2.底层调用调用平台驱动代码vidioc_dqbufvidioc_dqbufvb2_ioctl_dqbufvb2_dqbufvb2_internal_dqbuf__vb2_get_done_vbvidioc_dqbufvb2_ioctl_dqbufvb2_dqbufvb2_internal_dqbuf__vb2_get_done_vb1.__vb2_wait_for_done_vbvidioc_dqbufvb2_ioctl_dqbufvb2_dqbufvb2原创 2022-07-10 20:41:07 · 3615 阅读 · 3 评论 -
v4l2框架-开启视频流(stream on)
应用层开启视频流底层调用为vidioc_streamon->vb2_ioctl_streamon->vidioc_streamon->vb2_ioctl_streamon->vb2_streamon->分析vb2_internal_streamonvidioc_streamon->vb2_ioctl_streamon->vb2_streamon->vb2_internal_streamon->其中call_void_memop(vb, prepare, vb->planes[plane].mem_原创 2022-07-09 01:42:42 · 1895 阅读 · 1 评论 -
v4l2框架-将缓存放入队列(VIDIOC_QBUF)
应用层编程:将缓存放入队列中vidioc_qbuf->vidioc_qbuf->vb2_ioctl_qbuf->vidioc_qbuf->vb2_ioctl_qbuf->vb2_qbuf->__fill_v4l2_buffer接着分析__buffer_in_usecall_memop(vb, num_users, mem_priv)会调用vb2_dma_contig_memops->大概就是将buffer放入vb2_queue队列中,并填充v4l2_buffer的信息返回给应用层...原创 2022-07-09 00:09:12 · 2652 阅读 · 0 评论 -
v4l2框架-内存映射(mmap)
mmap一般搭配VIDIOC_QUERYBUF使用2.驱动层mmap函数mmap对应驱动中v4l2_file_operations即xvip_dma_fops->mmap(vb2_fop_mmap)vb_mmap__find_plane_by_offset通过offset的值找到对应的buffer以及plane的值,这里只用到一个planecall_memop(vb, mmap, vb->planes[plane].mem_priv, vma)调用的是vb2_dma_contig_memops->原创 2022-07-08 21:21:42 · 1556 阅读 · 1 评论 -
v4l2框架-查询缓存信息(VIDIOC_QUERYBUF)
应用层查询缓存信息调用vb2_ioctl_querybuf,平台是xilinx重点分析__fill_v4l2_buffer__buffer_in_usecall_memop(vb, num_users, mem_priv)会调用vb2_dma_contig_memops->.num_users->vb2_dc_num_users原创 2022-07-06 00:17:21 · 1666 阅读 · 1 评论 -
v4l2框架—申请缓存(VIDIOC_REQBUFS)
在v4l2框架中,有三种获取底层摄像头数据的方式:可以参考这篇文章# v4l2应用框架-摄像头v4l2编程,本文就学习V4L2框架缓存管理做一个笔记。在v4l2中,使用vb2_queue结构体作为缓存管理的结构体这个结构体中重要的成员为vb2_ops,vb2_mem_ops,在xilinx平台中video_device时初始化这两个参数vb2_ops用来对buffer的入队出队进行管理,等后续分析2.2 vb2_mem_opsvb2_mem_ops用来申请,获取,释放缓存等函数在v4l2中实现了三原创 2022-07-03 21:06:03 · 3081 阅读 · 1 评论 -
v4l2应用框架-摄像头v4l2编程
1.简介V4L2支持三种方式来采集图像,内存映射(mmap),直接读取方式(read)和用户指针,内存映射一般用于连续视频数据的采集,直接读取的方式相对速度慢一些,常用于静态图片数据的采集;用户指针直接传一个buffer指针给内核,从而获取图像数据2.v4l2采集原理从上图可知,当视频采集的时候,驱动程序从视频采集输入队列取出一个帧缓冲区填充图像buffer,这个帧缓冲区填充完毕之后会放入视频采集输出队列,交由应用程序处理,应用程序处理完这个帧缓冲区之后在将已经处理过的帧缓冲区交由驱动程序,从而循环原创 2021-10-27 23:30:48 · 2016 阅读 · 3 评论 -
驱动调试-摄像头部分
theme: juejin调试1.硬件部分根据原理图确定camera的接口是MIPI还是DVP,确定在哪路IIC上如果是MIPI,确定MIPI的的data lane数,哪路CSI上用万用表确定Camera的供电是否正常,是否需要软件控制AVDD:camera模拟电压,给芯片的模拟器件供电---->2.8V,主要给摄像头的感光区和ADC部分供电,一般功耗比较高IOVDD:为camera的GPIO口模拟电压,给芯片引脚供电---->1.8V:给I2C或者DVP部分供电,.原创 2022-02-28 20:43:26 · 6683 阅读 · 5 评论 -
PAL制式和NTSC制式的区别
一、NTSC制式NTSC制下:规定每秒需要30帧画面,每帧要有525行 1秒=30帧,每帧要扫两场,那么每秒就是60场,所以n制的扫描频率是60hz。标准的扫描线要求有525行,水平频率是30*525=15750hz=15.75mhz二、PAL制式PAL制式下:规定每秒需要25帧画面,每帧要有625行 1秒=25帧,每帧要扫两场,那么每秒就是50场,所以P制的扫描频率是50hz。标准的扫描线要求有625行,水平频率是25*625=15625hz=15.625mhz转载PAL制式和NTSC制式的区别转载 2021-10-17 23:04:19 · 4915 阅读 · 0 评论 -
V4l2框架-平台V4L2驱动共性
文章目录一.前言二.主要结构体2.1 v4l2_device本文为学习v4l2过程中所做笔记,若有错误,帮忙指正,共同进步,谢谢一.前言在上一个小节中分析了V4L2的总体驱动框架,这一小结根据具体的平台驱动来分析video_device,v4l2_device,v4l2_subdev之间的关系以及注册流程,平台V4L2设备驱动的工作一般为根据平台自身的特性实现与平台相关的V4L2驱动部分,包括设置并注册video_device和v4l2_device,v4l2_subdev这里随便选择一个平台代码进行原创 2021-07-25 01:50:27 · 755 阅读 · 1 评论 -
2.V4L2框架-框架简介
文章目录一.前言二.主要结构体由于工作中涉及摄像头驱动以及摄像头应用开发,通过网上资料与自己理解,现对V4L2框架进行一个小结,若有错误帮忙指正,谢谢一.前言4L2 是专门为 linux 设备设计的一套视频框架,其主体框架在 linux 内核,可以理解为是整个 linux 系统上面的视频源捕获驱动框架。其广泛应用在嵌入式设备以及移动端、个人电脑设备上面,市面上的编码产品类如:SDV、手机、IPC、行车记录仪都会用到这个框架来进行视频采集。二.主要结构体v4l2驱动框架主要的对象有video_d原创 2021-07-16 22:46:59 · 3753 阅读 · 2 评论 -
1.camera硬件接口学习-DVP,MIPI-CSI2,USB
文章目录1.前言2.DVP2.1 输入总线介绍2.2 输出总线介绍2.3 电源总线介绍3.MIPI(MIPI-CSI2)3.1 MIP-CSI-2简介3.2 MIPI CSI-2的分层结构3.3 MIPI CSI-2的链路工作流程3.4 MIPI CSI-2的物理连接3.5 MIPI CSI-2的工作模式3.6 MIPI CSI-2的数据包格式3.7 MIPI CSI-2的长包格式3.7 MIPI CSI-2的短包格式4.USB接口1.前言常见摄像头的接口主要有:USB,DVP.MIPI(CS原创 2021-07-04 22:03:08 · 8450 阅读 · 5 评论