自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(289)
  • 收藏
  • 关注

原创 uvc摄像头代码解析

USB描述符介绍

2014-11-13 15:01:43 1765 1

转载 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 2430

转载 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摄像头代码解析

uvc摄像头代码解析

2014-11-11 15:37:03 3289

转载 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 2941

转载 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 3038

转载 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 734

转载 解密回声消除技术之二(应用篇)

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。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 1191 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 1648 1

原创 V4L2驱动架构

一、v4l2文档之——v4l2 framework

2014-10-09 15:11:19 1366

转载 十六 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 1720

转载 十三 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 991

转载 九 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 1252

转载 七 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 4554

转载 一、v4l2文档之——v4l2 framework

分类: v4l22013-03-30 19:42 1312人阅读 评论(0) 收藏 举报V4L2驱动框架概述=====================================这个文本文件讲述V4L2的框架所提供的各种结构以及它们之间的关系.1、简介------------由于硬件的复杂性v412驱动往往是非常复杂的: 大多数设备有多个IC,在/dev目录

2014-10-09 14:19:47 1824

转载 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 3177

转载 YUV格式详解

分类: H.264 MPEG TV2008-05-14 09:24 44151人阅读 评论(28) 收藏 举报网格microsoftbyte存储图像处理视频会议目录(?)[+]YUV是指亮度参量和色度参量分开表示的像素格式,而这样分开的好处就是不但可以避免相互干扰,还可以降低色度的采样率而不会对图像质量影响太大。YUV是一个比较笼统地说法,针对它的具

2014-08-14 16:46:50 811

ARM平台常用性能测试方法.pdf

ARM平台常用性能测试方法.pdf

2022-11-29

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除