- 博客(289)
- 收藏
- 关注
转载 USB描述符介绍
标准的USB设备有5种USB描述符:设备描述符,配置描述符,字符串描述符,接口描述符,端点描述符。下面详解:1、设备描述符:一个设备只有一个设备描述符typedef struct _USB_DEVICE_DESCRIPTOR_{BYTE bLength,BYTE bDescriptorType,WORD bcdUSB,BYTE bDeviceClass,BTYE b
2014-11-13 14:51:37 2431
转载 uvc摄像头代码解析之描述符
2013年05月21日 ⁄ 综合 ⁄ 共 28472字 ⁄ 字号 小 中 大 ⁄ 评论关闭1.uvc驱动模块入口module_init(uvc_init); //1.模块入口2.初始化函数static int __init uvc_init(void) // 2.初始化函数{ int result; result = usb_regis
2014-11-11 17:30:24 11925 1
转载 uvc摄像头代码解析7
13.uvc视频初始化13.1 uvc数据流控制[cpp struct uvc_streaming_control { __u16 bmHint; __u8 bFormatIndex; //视频格式索引 __u8 bFrameIndex; //视频帧索引 __u32 dwFrameInterval
2014-11-11 15:30:05 8047
转载 uvc摄像头代码解析6
10.扫描视频设备链和注册视频设备10.1 uvc视频链[cpp] struct uvc_video_chain { //uvc视频链 struct uvc_device *dev; //uvc设备 struct list_head list; //uvc视频链链表头 struc
2014-11-11 15:28:53 2286
转载 uvc摄像头代码解析5
8.初始化uvc控制8.1 重要结构体[cpp] struct uvc_control { //uvc控制 struct uvc_entity *entity; //uvc实体 struct uvc_control_info info; //uvc控制信息 __u8 index; //索引值
2014-11-11 15:27:58 2228
转载 uvc摄像头代码解析4
7.uvc_parse_format7.1 uvc格式描述符[cpp] struct uvc_format_desc { //uvc格式描述符 char *name; //uvc格式描述符名字 __u8 guid[16];//全局唯一ID __u32 fcc; //压缩格式 }; 7.2 uvc解析1个格式描述符[
2014-11-11 15:26:49 4312
转载 uvc摄像头代码解析3
6.uvc解析uvc视频流6.1 重要结构体6.1.1 uvc数据流[cpp] struct uvc_streaming { struct list_head list; //uvc视频流链表头 struct uvc_device *dev; //uvc设备 struct video_device *vdev
2014-11-11 15:25:57 2943
转载 uvc摄像头代码解析2
1.uvc驱动模块入口[cpp] module_init(uvc_init); //1.模块入口 2.初始化函数[cpp] static int __init uvc_init(void) // 2.初始化函数 { int result; result = usb_register(&uvc_dri
2014-11-11 15:25:02 3039
转载 uvc摄像头代码解析1
2013-09-12 11:35:33 我来说两句 作者:paomadi收藏 我要投稿一.FAQ1.判断自己的摄像头是否支持uvc标准输入lsusb //列出usb设备[cpp] Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 001 Device
2014-11-11 15:23:37 3021
转载 input子系统二
input子系统 输入设备(如按键,键盘,触摸屏,鼠标等)是典型的字符设备,其一般的工作机制是低层在按键,触摸等动作发生时产生一个中断(或驱动通过timer定时查询),然后cpu通过SPI,I2C或者外部存储器总线读取键值,坐标等数据,放一个缓冲区,字符设备驱动管理该缓冲区,而驱动的read()接口让用户可以读取键值,坐标等数据。 在Linux中,输入子系统是
2014-11-06 15:16:14 735
转载 解密回声消除技术之二(应用篇)
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://silversand.blog.51cto.com/820613/166101(接《解密回声消除技术之一(理论篇)》)从应用平台来看,根据笔者多年的经验,可以把回声消除分为两大类:基于DSP等实时平台的回声消除技术和基于Windows等非实时平台的回声消除技术。两者的技
2014-11-05 17:01:07 1056
转载 回音消除技术概述
回音消除技术概述分类: phone2012-03-27 17:01 1680人阅读 评论(1) 收藏 举报电话产品电信通讯网络语言来源 http://av.imaschina.com一、 回音消除技术的基础概念 回音消除已经替代了早期的回音抑制,回音抑制最早始于20世纪50年代,在卫星通讯环境中用来控制由于比较长的信号延时而听到的回音。最早的回音消除
2014-11-05 16:59:57 1192 1
转载 解密回声消除技术之一
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://silversand.blog.51cto.com/820613/166095一、前言因为工作的关系,笔者从2004年开始接触回声消除(Echo Cancellation)技术,而后一直在某大型通讯企业从事与回声消除技术相关的工作,对回声消除这个看似神秘、高端和难以
2014-11-05 16:59:43 917
转载 Spinlock 与mutex 的区别
POSIX threads(简称Pthreads)是在多核平台上进行并行编程的一套常用的API。线程同步(Thread Synchronization)是并行编程中非常重要的通讯手段,其中最典型的应用就是用Pthreads提供的锁机制(lock)来对多个线程之间共 享的临界区(Critical Section)进行保护(另一种常用的同步机制是barrier)。Pthreads提供了多种锁机
2014-11-03 16:27:55 1209
原创 Linux内核机制之等待队列
转载一、定义:/include/linux/wait.hstruct __wait_queue_head {spinlock_t lock;struct list_head task_list;};typedef struct __wait_queue_head wait_queue_head_t;
2014-10-30 12:06:47 1146
原创 MINI2440按键中断
编写按键驱动的方法很多,这里我仅仅列举用中断法加上简单地字符设备注册来编写,并没有采用misc设备来注册。(这里的注册函数都是相对古老,以后不推荐使用!)首先编写一个设备驱动程序头文件先定义了,这很容易,照搬别人的就行了。接着确定你的设备驱动程序会用到的数据结构,这里会用到一个重要的数据结构,struct button_irqs,用来表征按键的状态以及按键的标识。接着确定file_operatio
2014-10-30 11:36:33 947
转载 s3c2410触摸屏驱动(2.6内核)分析 -中断下半部
驱动不是很多,在此把它贴出来然后加上必要的注释:#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include /* For ts
2014-10-28 16:11:29 859
转载 linux等待队列wait_queue_head_t和wait_queue_t
分类: linux2014-01-04 11:30 245人阅读 评论(0) 收藏 举报本文转自 reille博客: http://velep.com/archives/815.html等待队列在linux内核中有着举足轻重的作用,很多linux驱动都或多或少涉及到了等待队列。因此,对于linux内核及驱动开发者来说,掌握等待队列是必须课之一。 Linux内核的等待队列
2014-10-27 15:08:48 971
转载 等待队列
在Linux内核中等待队列有很多用途,可用于中断处理、进程同步及定时。我们在这里只说,进程经常必须等待某些事件的发生。等待队列实现了在事件上的条件等待: 希望等待特定事件的进程把自己放进合适的等待队列,并放弃控制全。因此,等待队列表示一组睡眠的进程,当某一条件为真时,由内核唤醒它们。等待队列由循环链表实现,其元素包括指向进程描述符的指针。每个等待队列都有一个等待队列头(wait que
2014-10-11 12:18:32 1650 1
转载 十六 videobuf处理流程
分类: v4l22013-04-01 22:54 1436人阅读 评论(0) 收藏 举报videobuf是应用程序和v4l2驱动程序的一个中间层,用它来进行视频数据缓冲区的分配和管理。它根据应用程序的需求(缓冲区的数量的大小),分配相应的视频缓冲区,这个缓冲区是在内核空间分配的,并通过mmap方法映射到用户空间,在内核空间形成一个缓冲区队列,在应用程序中有相应的缓冲区数组对应,
2014-10-09 14:43:59 2563
转载 十四 v4l2_common.c浅析
分类: v4l22013-03-31 09:21 1043人阅读 评论(1) 收藏 举报V4l2的子设备一般是摄像头和摄像头控制器,它们和主机的控制操作是通过i2c总线完成的。V4l2驱动框架中跟i2c相关的代码在deriver/media/video/v4l2_common.c中,下边就相关函数作一简单分析:下边宏的作用是如果v4l2的子设备通过i2c总线和主机通信时,才能用到下
2014-10-09 14:41:50 1743
转载 十五 v4l2_dev.c浅析
分类: v4l22013-03-31 09:51 968人阅读 评论(1) 收藏 举报[cpp] view plaincopyV4l2视频操作最核心的处理函数: [html] view plaincopy [cpp] view plaincopy
2014-10-09 14:40:49 1721
转载 十三 v4l2_device.c浅析
分类: v4l22013-03-31 08:58 1319人阅读 评论(0) 收藏 举报关于v4l2及v4l2_subdev设备实例的注册注消等操作在deriver/media/video/v4l2_device.c文件中,下边将各个函数分析一下(分析的时候以2.6.32.40内核为主,并列出与3.3.1的区别):注册一个v4l2设备实例,主要建立dev和v4l2_dev的关系
2014-10-09 14:38:06 1256
转载 十二 v4l2 video设备注册和调用过程
分类: v4l22013-03-31 08:42 997人阅读 评论(0) 收藏 举报 一、 注册一个video_device设备它代表系统/dev/videox设备节点的实际的物理设备。下边一内核版本2.6.32种成熟的omap2432处理器摄像头控制器模块驱动为例分析:下边的代码在driver/media/video/omap24xxcam.c中1、Video
2014-10-09 14:37:02 1758
转载 十一 v4l2驱动文档之——filed
v4l2驱动文档之——filed分类: v4l22013-03-30 22:22 519人阅读 评论(0) 收藏 举报video的帧可区分为隔行和逐行: 逐行顺序的传输一帧所有的行,而隔行则把一帧划分成两个fields,分别保存帧的奇数行和偶数行,被称作奇场和偶场. 阴极射线电视机需要交替的显示两场来组成一个完整的帧,交替的时延需要我们交替的传输奇场和偶场。这个奇怪技术的
2014-10-09 14:35:28 992
转载 九 v4l2驱动文档之——streaming IO
分类: v4l22013-03-30 21:29 681人阅读 评论(0) 收藏 举报v4l2驱动编写篇第六B--流输入输出 在本系列文章的上一期中,我们讨论了如何通过read()和write()的方式实现视频帧的传输,这样的实现可以完成基本的工作,却并不是普便上用来实现视频输入输出大家偏爱的方法。为了实现最高性能和最好的信息传输,视频驱动应该支持V4L2 流输入输出。使用
2014-10-09 14:33:58 934
转载 十 v4l2驱动文档之——controls
分类: v4l22013-03-30 21:35 492人阅读 评论(0) 收藏 举报v4l2驱动编写篇第七--控制方法 刚刚完成了这一系列文章的第六部分,我们现在知道如何设置视频设备,并来回传输帧了。然而,有一个众所周知的事实,那就是用户永远也不会满意,不会满足于能从摄像头上看到视频,他们马上就会问我可不可以调参数啊?像亮度、对比度等等。这些参数可以在视频应用中调整,有时也的确会
2014-10-09 14:33:34 784
转载 八 v4l2文档之——basic frame IO
分类: v4l22013-03-30 21:23 591人阅读 评论(0) 收藏 举报一、v4l2驱动编写篇第六A--基本的帧输入输出 1、基本的帧输入输出关于视频驱动的这一系列文章己经更新了好几期,但是我们还没有传输过一帧的视频数据。虽然在这一点上,我们己经了解了足够多的关于格式协定方面的细节,我们可以看一下视频帧是如何在应用和设备之间传输的了。V4L2 API定义了三种
2014-10-09 14:29:53 1169
转载 六 v4l2文档之——color and format
分类: v4l22013-03-30 19:48 705人阅读 评论(0) 收藏 举报v4l2文档第五A--颜色与格式 颜色与格式这是不定期发布的关于写视频驱动程序的LWN系统文章的第五篇.没有看过介绍篇的,也许想从这里 开始。 应用在可以使视频设备工作之前,它必须与驱动达成了解,知道视频数据是何种格式的。这种协商将是一个非常复杂的过程,其原因有二:1、视频硬件所支持的视
2014-10-09 14:28:33 1254
转载 七 v4l2文档之——format negotiation
分类: v4l22013-03-30 21:15 478人阅读 评论(0) 收藏 举报V4l2驱动编写篇第五B--格式的协定这是不定期发布的关于写视频驱动程序的LWN系统文章的一篇续篇.介绍篇 包含了对整个系统的描述,并且包含对本篇的上一篇的链接,在上一集,我们关注了V4L2 API是如何描述视频格式的:图片的大小,和像素在其内部的表示方式。这篇文章将完成对这个问题的讨论,它将描述
2014-10-09 14:28:11 915
转载 五 v4l2文档之——input and output
分类: v4l22013-03-30 19:47 538人阅读 评论(0) 收藏 举报v4l2驱动编写篇第四--输入输出1、输入和输出这是不定期发布的关于写视频驱动程序的LWN系统文章的第四篇.没有看过介绍篇的,也许想从这里开始。本周的文章介绍的是应用程序如何确定在特定适配器上哪些输入和输出可用,并且在它们之间做出选择。在很多情况下,视频适配器并不能提供很多的输入输出选项。
2014-10-09 14:27:41 1082
转载 四 v4l2文档之——basic ioctl
分类: v4l22013-03-30 19:45 491人阅读 评论(0) 收藏 举报v4l2驱动编写篇三--基本I/O处理 如果有人在video for linux API规范上花了我时间的话,他肯定已经注意到了一个问题,那就是V4L2大量使用了ioctl接口。视频硬件有大量的可操作旋钮,可能比其它任何处理都要多。视频流要与许多参数相联系,而且有很大一部分处理要通过硬件进行。
2014-10-09 14:26:16 1067
转载 三 v4l2文档之——register and open
v4l2文档之——register and open分类: v4l22013-03-30 19:44 480人阅读 评论(0) 收藏 举报v4l2驱动编写篇二--注册和打开 这篇文章是LWN写V4L2接口的设备驱动系列文章的第二篇。没看过介绍篇的,也许可以从那篇开始看。这一期文章将关注Video for Linux驱动的总体结构和设备注册过程。开始之前,有必要提一
2014-10-09 14:21:50 1125
转载 二、v4l2文档之——media framework
分类: v4l22013-03-30 19:43 1347人阅读 评论(0) 收藏 举报Linux kernel media framework============================ This document describes the Linux kernel media framework, its data structures,funct
2014-10-09 14:21:19 4555
转载 一、v4l2文档之——v4l2 framework
分类: v4l22013-03-30 19:42 1312人阅读 评论(0) 收藏 举报V4L2驱动框架概述=====================================这个文本文件讲述V4L2的框架所提供的各种结构以及它们之间的关系.1、简介------------由于硬件的复杂性v412驱动往往是非常复杂的: 大多数设备有多个IC,在/dev目录
2014-10-09 14:19:47 1825
转载 uboot 使用 以及 启动代码分析(转载网络)
(2010-12-16 09:22:21)转载▼标签: 杂谈 u-boot源码解析u-boot介绍Uboot是德国DENX小组的开发用于多种嵌入式CPU的bootloader程序, UBoot不仅仅支持嵌入式Linux系统的引导,当前,它还支持NetBSD, VxWorks, QNX, RTEMS, ARTOS,
2014-08-19 10:49:02 3178
转载 YUV格式详解
分类: H.264 MPEG TV2008-05-14 09:24 44151人阅读 评论(28) 收藏 举报网格microsoftbyte存储图像处理视频会议目录(?)[+]YUV是指亮度参量和色度参量分开表示的像素格式,而这样分开的好处就是不但可以避免相互干扰,还可以降低色度的采样率而不会对图像质量影响太大。YUV是一个比较笼统地说法,针对它的具
2014-08-14 16:46:50 811
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人