![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
V4L2
文章平均质量分 77
pengjin1985
这个作者很懒,什么都没留下…
展开
-
v4l2驱动编写篇一-----介绍
v4l2驱动编写篇一--介绍nhttp://www.usr.cc/thread-1890-1-1.htmln原文网址:http://lwn.net/Articles/203924/笔者最近有机会写了一个摄像头的驱动,是“One laptop per child”项目的中摄像头专用的。这个驱动使用了为此目的而设计的内核API:the Video4Linux2 API。在写这个驱动的过程中,笔转载 2012-05-07 15:53:38 · 649 阅读 · 0 评论 -
V4L2驱动的移植与应用
关于V4L2驱动的code,可以去下面两个路径下查看:/kernel/drivers/media/video//kernel/include/media/关于camera的code,可以去下面路径查看:/frameworks/base/camera/libcameraservice//frameworks/base/incude/ui//hardware/mx5x/libc转载 2012-05-07 09:44:07 · 512 阅读 · 0 评论 -
v4l2驱动编写篇第七--控制方法
刚刚完成了这一系列文章的第六部分,我们现在知道如何设置视频设备,并来回传输帧了。然而,有一个众所周知的事实,那就是用户永远也不会满意,不会满足于能从摄像头上看到视频,他们马上就会问我可不可以调参数啊?像亮度、对比度等等。这些参数可以视频应用中调整,有时也的确会这样做,但是当硬件支持时,在硬件中进行调整有其优势。比如说亮度调整,如果不这样做的话,可能会丢失动态范围,但是基于硬件的调整可以完整保持传感转载 2012-05-07 16:12:32 · 726 阅读 · 0 评论 -
V4l2 Capture Sequence
v4l2 操作实际上就是 open()设备, close() 设备,以及中间过程的 ioctl()操作。对于 ioctl 的调用,要注意对 errno 的判断,如果调用被其他信号中断,即 errno等于 EINTR的时候,要重新调用。 Video capture device 的实际功能就是采集视频信号,并将数字化的图像保存在memory 中,现在几乎上所有的相关设备都转载 2012-05-08 16:21:27 · 563 阅读 · 0 评论 -
V4L2视频采集实现步骤
<!--@page {margin:2cm}p {margin-bottom:0.21cm}--><!--@page {margin:2cm}p {margin-bottom:0.21cm}-->一.什么是video4linuxVideo4linux2(简称V4L2),是linux中关于视频设备的内核驱动。在Linux中,视频转载 2012-05-08 09:22:40 · 1299 阅读 · 0 评论 -
V4L2视频采集操作流程和接口说明
一般操作流程(视频设备):1. 打开设备文件。 int fd=open("/dev/video0",O_RDWR); 2. 取得设备的capability,看看设备具有什么功能,比如是否具有视频输入,或者音频输入输出等。VIDIOC_QUERYCAP,struct v4l2_capability3. 选择视频输入,一个视频设备可以有多个视频输入。VIDIOC_S_INPUT,str转载 2012-05-08 11:12:23 · 761 阅读 · 0 评论 -
Linux 下V4L2的使用例子
#include #include #include #include #include #include //#define Android_ENV #ifdef Android_ENV#define LOG LOGV #else #define LOG printf #endif#define CAMER转载 2012-05-08 11:13:39 · 996 阅读 · 0 评论 -
VGA、QVGA、CIF、QCIF 常用视频格式说明
尺寸 (闊 x 高)簡稱 (代號)全寫尺寸比例128 x 96subQCIF 4:3176 X 144QCIF 11:9320 x 200CGAColor-Graphics-Adapter8:5转载 2012-05-11 16:06:18 · 2945 阅读 · 1 评论 -
v4l2驱动编写篇第五B--格式的协定
这是不定期发布的关于写视频驱动程序的LWN系统文章的一篇续篇.介绍篇包含了对整个系统的描述,并且包含对本篇的上一篇的链接,在上一集,我们关注了V4L2 API是如何描述视频格式的:图片的大小,和像素在其内部的表示方式。这篇文章将完成对这个问题的讨论,它将描述如就硬件所支持的实际视频格与应用达到协议。如我们在上一篇中所见,在存储器中表示图像有很多种方法。市场几乎找不到可以处理所有V4L2所理解的转载 2012-05-07 16:09:53 · 562 阅读 · 0 评论 -
视频与图像RGB/YUV格式详解
计算机彩色显示器显示色彩的原理与彩色电视机一样,都是采用R(Red)、G(Green)、B(Blue)相加混色的原理:通过发射出三种不同强度的电子束,使屏幕内侧覆盖的红、绿、蓝磷光材料发光而产生色彩。这种色彩的表示方法称为RGB色彩空间表示(它也是多媒体计算机技术中用得最多的一种色彩空间表示方法)。 根据三基色原理,任意一种色光F都可以用不同分量的R、G、B三色相加混合而成。 F =转载 2012-05-07 11:14:13 · 388 阅读 · 0 评论 -
v4l2驱动编写篇二--注册和打开
原文网址:http://lwn.net/Articles/204545/这篇文章是LWN写V4L2接口的设备驱动系列文章的第二篇。没看过介绍篇的,也许可以从那篇开始看。这一期文章将关注Video for Linux驱动的总体结构和设备注册过程。开始之前,有必要提一点,那就是对于搞视频驱动的人来说,有两份资料是非常有价值的。TheV4L2 API Specification.(V转载 2012-05-07 15:55:27 · 801 阅读 · 0 评论 -
v4l2驱动编写篇三--基本I/O处理
如果有人在video for linux API规范上花了我时间的话,他肯定已经注意到了一个问题,那就是V4L2大量使用了ioctl接口。视频硬件有大量的可操作旋钮,可能比其它任何处设都要多。视频流要与许多参数相联系,而且有很大一部分处理要通过硬件进行。不使用硬件有良好支持模式可能导致表现不好,甚至根本没有表现。所以我们不得不揭露硬件的许多特性,而对最终应用表现得怪异一点。传统上来讲,视频驱动转载 2012-05-07 16:05:49 · 1020 阅读 · 0 评论 -
v4l2驱动编写篇第四--输入输出
输入和输出这是不定期发布的关于写视频驱动程序的LWN系统文章的第四篇.没有看过介绍篇的,也许想从这里开始.本周的文章介绍的是应用程序如何确定在特定适配器上哪些输入和输出可用,并且它们之间做出选择。在很多情况下,视频适配器并不能提供很多的输入输出选项.比如说摄像头控制器,可能只是提供摄像头,而没什么别的功能.然而,在一些其他的情况下,事情将变得很复杂.一个电视卡可能对应板上不用的接头有不同的转载 2012-05-07 16:07:08 · 708 阅读 · 0 评论 -
v4l2文档第五A--颜色与格式
颜色与格式这是不定期发布的关于写视频驱动程序的LWN系统文章的第五篇.没有看过介绍篇的,也许想从这里开始.应用在可以使视频设备工作之前,它必须与驱动达成了解,知道视频数据是何种格式的。这种协商将是一个非常复杂的过程,其原因有二:1、视频硬件所支持的视频格互不相同。2、在内核的格式转换是令人难以接受的。所以应用在找出一种硬件支持的格式,并做出一种大家都可以接受的配置。这篇文章将会讲述格式转载 2012-05-07 16:09:04 · 1566 阅读 · 0 评论 -
v4l2驱动编写篇第六A--基本的帧输入输出
基本的帧输入输出关于视频驱动的这一系列文章己经更新了好几期,但是我们还没有传输过一帧的视频数据。虽然在这一点上,我们己经了解了足够多的关于格式协定方面的细节,我们可以看一下视频帧是如何在应用和设备之间传输的了。V4L2 API定义了三种不同的传输视频帧的方法,现在有两种是可以实现的:read() 和write() 系统调用这种普通的方法. 根据硬件和驱动的不同,这种方法可能会非转载 2012-05-07 16:10:46 · 980 阅读 · 0 评论 -
v4l2驱动编写篇第六B--流输入输出
在本系列文章的上一期中,我们讨论了如何通过read()和write()的方式实现视频帧的传输,这样的实现可以完成基本的工作,却并不是普便上用来实现视频输入输出大家偏爱的方法。为了实现最高的性能和最好的信息传输,视频驱动应该支持V4L2 流输入输出。使用read()和write()方法,每一帧都要通过I/O操作在用户和内核空间之间拷贝数据。然而,当使用流输入输出的方式时,这种情况就不会发生。转载 2012-05-07 16:11:48 · 732 阅读 · 0 评论 -
入门视频采集与处理(学会分析YUV数据)
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://ticktick.blog.51cto.com/823160/555791 做视频采集与处理,自然少不了要学会分析YUV数据。因为从采集的角度来说,一般的视频采集芯片输出的码流一般都是YUV数据流的形式,而从视频处理(例如H.264、MPEG视频编解码)的角度来转载 2012-05-07 09:31:04 · 3350 阅读 · 0 评论 -
yuv420 转换成RGB565函数
做ADNROID CAMERA时.发现很多朋友都在找YUV RGB 转换的函数..在这里给大家共享一个.可以实际工作的代码.YUV420P ---- >> RGB565Java代码 static void ccvt_420p_rgb565(int width, int height, const unsigned char *src, __u16 *dst) {转载 2012-05-07 11:12:05 · 1743 阅读 · 0 评论 -
V4L2测试程序
#include #include #include #include #include #include #include int fd;/*设备号*//*设备文件*/#define CAMERA_DEVICE "/dev/video0"int main(){ int i, ret; // Open Devi原创 2012-05-08 17:58:09 · 2640 阅读 · 0 评论