
Camera
benny5609
普通得不能再普通的80年代后
展开
-
利用DirectShow实现对视频文件H264编码与解码基类
// Encode.h: interface for the CEncode class. ////////////////////////////////////////////////////////////////////// #if !defined(AFX_ENCODE_H__F6B1A672_0A17_4011_87DA_F97CA0B0E52E__INCLUDED_) #define原创 2008-03-03 10:30:00 · 3246 阅读 · 1 评论 -
USB入门系列之四 —— USB的线缆以及插头、插座
USB是一个标准的协议,因此对线缆、插头、插座等有严格的规范要求。 在最初的标准里,USB接头有4条线:电源,D-,D+,地线。我们暂且把这样的叫做标准的USB接头吧。后来OTG出现了,又增加了miniUSB接头。而miniUSB接头则有5条线,多了一条ID线,用来标识身份用的。标准USB口只有A型和B型。其中每一型又分为插头和插座,例如A型插头,A型插座等。我们平常电脑上用的那种插座叫做A原创 2008-03-18 16:05:00 · 2757 阅读 · 0 评论 -
USB入门
现在电脑系统连接外围设备的接口并无统一的标准,如键盘用PS/2接口,连接打印机要用25针的并行接口,鼠标则要用串行或PS/2接口。USB则将这些不同的接口统一起来,使用一个4针插头作为标准插头。通过这个标准插头,采用菊花链形式可以把所有的外设连接起来,并且不会损失带宽。 USB规范中将USB分为五个部份:控制器、控制器驱动程序、 USB芯片驱动程序、USB 设备以及针对不同USB设备的客户原创 2008-03-18 16:11:00 · 1773 阅读 · 0 评论 -
怎样快速判断掩码第一个为1的Bit位置
在底层软件开发过程中经常使用位掩码标识一个状态符号。举一个例子来说,比如一个U32类型的变量Use_Mask用来表示32个内存块的占用状态,变量的每一位代表一个内存块的使用状态,1b表示空闲,0b表示被占用。当应用程序需要使用一个空闲块时,只需要查询Use_Mask哪一位为1,就可以直接将给Bit位对应的内存块拿来使用了,当然在使用前将该位置1了。同理,使用完给内存块后,也需要将对应位置0就可以了原创 2008-03-18 16:28:00 · 3617 阅读 · 0 评论 -
USB入门系列之一 —— USB概述
USB是什么呢?一说USB是You SB的意思,即“你傻B”的意思。另一种说法是USB其实是美国的弟弟,因为美国叫USA,USB当然是他的弟弟了。 那么USB到底是什么呢?其实USB是通用串行总线(Universal Serial Bus)的简写,它已经有了10多年的历史了。USB协议出现过的版本有USB1.0,USB1.1,USB2.0。由于USB是主从模式,设备与设备之间、主机与主机原创 2008-03-18 16:02:00 · 1283 阅读 · 0 评论 -
USB入门系列之六 —— USB设备的枚举过程
USB主机在检测到USB设备插入后,就要对设备进行枚举了。为什么要枚举呢?枚举就是从设备读取一些信息,知道设备是什么样的设备,如何进行通信,这样主机就可以根据这些信息来加载合适的驱动程序。调试USB设备,很重要的一点就是USB的枚举过程,只要枚举成功了,那么就已经成功大半了。 在说枚举之前,先大概说说USB的一种传输模式——控制传输。这种传输在USB中是非常重要的,它要保证数据的正确性,在设原创 2008-03-18 16:07:00 · 2117 阅读 · 0 评论 -
USB入门系列之二 —— USB的连接模型
2007-12-10 14:29 USB是一种主从结构。主机叫做Host,从机叫做Device(也叫做设备),集线器也被当作一种特殊的设备处理。USB的数据交换只能发生在主机和设备之间,主机和主机,设备和设备之间不能互连。为了在物理上区分主机和设备,使用了不同的插头和插座,这个在USB的连接器一节中会讲到。所原创 2008-03-18 16:04:00 · 2463 阅读 · 0 评论 -
在驱动和应用程序间共享内存
译自:The NT Insider November-December 2007 Volume 14 Issue 4译者:lioqio[编辑提示:《The NT Insider》将陆续对以前文章进行维护修正,以便确认这些文章针对Windows的大多数当前版本是正确的,并且反映了最好的工程实践。这篇文章是OSR在线上最频繁被引用的文章之一,作为该系列的第一篇]在不同的场合,很多驱原创 2008-03-18 15:52:00 · 6941 阅读 · 1 评论 -
USB开发步骤之软件篇
我这里重点的介绍如何写驱动程序,对于一些应用程序我就不做介绍了,因为我对于那些高层的东西写得很少。倘若再讲,有班门弄斧之嫌,呵呵!作为WIN98和WIN2K推荐的一项新技术来说,USB的驱动程序和以往的直接跟硬件打交道的WIN95的VXD的方式的驱动程序不同,它应该是WDM类型的。USB的WDM接口框图如下(这个图可以说是USB软件总体框图) 对于HID的设备,就可以采用上图左上边的结原创 2008-03-18 15:56:00 · 1378 阅读 · 0 评论 -
USB入门系列之三 —— USB的电气特性
标准的USB使用4根线:5V电源线(Vbus),差分数据线负(D-),差分数据线正(D+),地(Gnd)。在USB OTG中,又增加了一种mini接口,使用的是5根线,比标准的USB多了一根身份识别(ID)线。USB使用的是差分传输模式,有两根数据线,分别是D+和D-。在USB的低速和全速模式中,采用的是电压传输模式。而在高速模式下,则是电流传输模式。关于具体的高低电平门限值,请参看USB协议。为原创 2008-03-18 16:04:00 · 2966 阅读 · 1 评论 -
USB入门系列之五 —— USB设备的插入检测机制
USB主机是如何检测到设备的插入的呢?首先,在USB集线器的每个下游端口的D+和D-上,分别接了一个15K欧姆的下拉电阻到地。这样,在集线器的端口悬空时,就被这两个下拉电阻拉到了低电平。而在USB设备端,在D+或者D-上接了1.5K欧姆上拉电阻。对于全速和高速设备,上拉电阻是接在D+上;而低速设备则是上拉电阻接在D-上。这样,当设备插入到集线器时,由1.5K的上拉电阻和15K的下拉原创 2008-03-18 16:06:00 · 2367 阅读 · 0 评论 -
YUV / RGB 格式及快速转换算法
1 前言 自然界的颜色千变万化,为了给颜色一个量化的衡量标准,就需要建立色彩空间模型来描述各种各样的颜色,由于人对色彩的感知是一个复杂的生理和心理联合作用的过程,所以在不同的应用领域中为了更好更准确的满足各自的需求,就出现了各种各样的色彩空间模型来量化的描述颜色。我们比较常接触到的就包括 RGB / CMYK / YIQ / YUV / HSI等等。 对于数字电原创 2008-03-11 11:03:00 · 1333 阅读 · 0 评论 -
思比科系列CMOS图像传感器应用方案分析
近年来,拍照手机、电脑摄像头(PC-CAM)、监控等领域飞速发展,需求量日渐增长,CMOS图像传感器(CIS)作为这些应用的核心元件,其市场需求也越来越大。CIS芯片集光电、模拟电路和数字电路于一体,其设计、生产、测试、封装以及最终应用与传统IC相比,都有其特别的地方,因此行业门槛也相对较高。 北京思比科作为中国本土企业,是唯一基于自主专利技术开发成功高端CMOS图像传感器芯片并实现规模化生产原创 2008-03-11 11:11:00 · 2113 阅读 · 0 评论 -
视频采集编程
在windows中,提供了一整套视频采集函数,要做一个视频采集软件,先要创建一个采集窗口hCapWnd = capCreateCaptureWindow((LPSTR)"Capture Window",WS_CHILD | WS_VISIBLE, 15, 129, VideoW, VideoH, m_hWnd, (int) 0) ;采集窗口的大小一般与摄像头有关,然后指定原创 2008-03-03 10:15:00 · 1061 阅读 · 0 评论 -
Directshow中的视频捕捉
本篇文档主要描述关于用Directshow进行视频开发的一些技术主要包括下面内容 1关于视频捕捉(About Video Capture in Dshow) 2选择一个视频捕捉设备(Select capture device) 3预览视频(Previewing Video) 4如何捕捉视频流并保存到文件(Capture video to File)原创 2008-03-03 10:23:00 · 2918 阅读 · 1 评论 -
DirectShow中网络播放器的源Source Filter
作者:afterain本人最近刚刚把它做完。鉴于现在很多 人在向这方面发展,所以决定把自己 在此期间的一些经验写出来。让后来的同志们少走些弯路。我的这个事例是通过directshow的例子memfile改写的。如果用于网络的时时播放,会有一些延时问题。具体会在后面说明。我已经把它作成了DLL(实际也是工作的需要 :) ),大家可以在www.feelby.net下载。包括演示例子的源代码。至于DLL原创 2008-03-03 10:42:00 · 1901 阅读 · 4 评论 -
filter编程入门
虽然网上已有很多关于DirectShow写source filter的资料,不过很多刚开始学的朋友总说讲的不是很清楚(可能其中作者省略了许多他认为简单的过程),读者总希望看到象第一步怎么做,第二步怎么做....这样的demo。其实写你的第一个filter是有一定难度的,只要过了这关以后就容易多了。 由于最近需要自己写一个push推模式的source filter,加上刚激活了Blog,不好意思Bl原创 2008-03-03 10:29:00 · 1207 阅读 · 1 评论 -
利用DirectShow实现对视频文件H264编码与解码基类 2
/**************编码Graph的创建*************/ HRESULT hr = E_FAIL; hr = _CreateFilterGraph(&m_nDecode.pGraph, &m_nDecode.pBuilder); if(FAILED(hr)) { AfxMessageBox("Uninitialize COM Library!");原创 2008-03-03 10:31:00 · 2057 阅读 · 0 评论 -
如何阅读源代码
第一章: 导论++++++++++++1.要养成一个习惯, 经常花时间阅读别人编写的高品质代码.2.要有选择地阅读代码, 同时, 还要有自己的目标. 您是想学习新的模式|编码风格|还是满足某些需求的方法.3.要注意并重视代码中特殊的非功能性需求, 这些需求也许会导致特殊的实现风格.4.在现有的代码上工作时, 请与作者和维护人员进行必要的协调, 以避免重复劳动或产生厌恶情绪.原创 2008-03-03 10:43:00 · 958 阅读 · 0 评论 -
利用DirectShow实现对视频文件H264编码与解码基类 3
bool CEncode::_HasDecodeFilter(CString strFileName) { IGraphBuilder * pGraph = NULL; IBaseFilter * pSrc = NULL; HRESULT hr = E_FAIL; bool bHas = false; hr = CoCreateInstance(CLSID_FilterGraph, NULL, C原创 2008-03-03 10:32:00 · 1689 阅读 · 0 评论 -
YUV422 --> RGB 代码
数码相机(YUV422)发送到数码像框(RGB565),调试成功和大家分享。谢谢!数码相机的代码:/*R = Y + 1.4075 *(V-128) G = Y – 0.3455 *(U –128) – 0.7169 *(V –128) B = Y + 1.779 *(U – 128)*/unsigned char GetYUVR(int nY,int nU,int nV){ int nR;原创 2008-03-11 11:45:00 · 1697 阅读 · 0 评论 -
DirectShow中常见的RGB/YUV格式
文章来源: http://hqtech.nease.net原文作者: 陆其明小知识:RGB与YUV----摘自《DirectShow实务精选》 作者:陆其明计 算机彩色显示器显示色彩的原理与彩色电视机一样,都是采用R(Red)、G(Green)、B(Blue)相加混色的原理:通过发射出三种不同强度的电子 束,使屏幕内侧覆盖的红、绿、蓝磷光材料发光而产生色彩。这种色彩的表示方法称为RGB色彩空间表示原创 2008-03-11 10:44:00 · 1371 阅读 · 0 评论 -
YUV格式
YUV格式2006-11-08 22:08 YUV(亦称YCrCb)是被欧洲电视系统所采用的一种颜色编码方法(属于PAL)。YUV主要用于优化彩色视频信号的传输,使其向后兼容老式黑白电视。与RGB视频信号传输相比,它最大的优点在于只需占用极少的带宽(RGB要求三个独立的视频原创 2008-03-11 10:54:00 · 814 阅读 · 0 评论 -
USB入门系列之七 —— USB的描述符及各种描述符之间的依赖关系
USB是个通用的总线,端口都是统一的。但是USB设备却各种各样,例如USB鼠标,USB键盘,U盘等等,那么USB主机是如何识别出不同的设备的呢?这就要依赖于描述符了。 USB的描述符主要有设备描述符,配置描述符,接口描述符,端点描述符,字符串描述符,HID描述符,报告描述符等等。关于报告描述符,请看我以前写的:《USB HID报告及报告描述符简介 》http://group.ednchina原创 2008-03-18 16:08:00 · 1732 阅读 · 0 评论