本团队有11年以上的解决方案端到端开发经验,涉及的行业有云计算、应用软件(包括WEB)、嵌入式、分布式、大型服务程序(Windows/Linux)、操作系统等。
前几小节陆续介绍了Directsound、Directshow音频处理方面的技术,还没有介绍视频方面的技术,从这节开始介绍视频采集方面的技术。今日刚好就介绍Directshow视频采集技术,其实DirectShow视频采集并不复杂,复杂的部分微软已经帮做好了,只需按照顺序将API连接起来即可,如下所叙述; 系统设备枚举 系统设备枚举器为我们按类型枚举已注册在系统中的Fitler提供了统一的方法。
和Windows XP一样,Windows CE任然可以绘制美妙的进度条,其实这个操作过程主要是对屏幕缓存进行操作。在S3C2440 CPU BSP代码中已经给出了这段缓冲的地址即IMAGE_FRAMEBUFFER_UA_BASE_eboot,这段缓冲支持的视频编码格式是RGB16,默认颜色为白色,在这个过程当中,并不像EVC一样提供了很多GDI绘图的函数,如绘制线条、矩形等,所有的操作都是从点开始的,由点绘制成线,由线绘制成矩形。
在DirectX的Bin目录下有一个很好的工具-GraphEdit,通过这个工具能够很好的反映音频录制的过程。可以总结一点,DirectShow音频的录制过程就是,枚举、绑定、连接这三个步骤。
刚看完FileDisk代码,感受颇多,其中采用线程的方式进行IRP序列化更是让人觉得新鲜.在DDK中一般采用StartIo来进行IRP的序列话,其中在入口函数中加入pDriverObject->DriverStartUp = XXXStartIO即可, 当然也没这么简单,其中还要做写处理.
转自:http://www.ccgcn.com/bbs/redirect.php?tid=974&goto=lastpostFileDisk.h FileDisk 是把一个镜像文件Mount成一个卷fileDisk.h中包含以下内容1.OPEN_FILE_INFORMATION结构 复制内容到剪贴板 代码: typedef struct _OPEN_FILE_INFORMATION { LARGE_INTEGER FileSize; //镜像文件的大小,并不一定是到文件尾。
经过金融风暴后,很多企业都在大张旗鼓的招聘,有些企业启动的很早,2010校园招聘,广州周立功公司9月6号就开始启动,华为、绿盟科技等都相继启动。
VcdRom 是网上一个爱好者模拟微软虚拟驱动编写一个虚拟光驱程序,近日在研究虚拟磁盘驱动时,无意中看到了VcdRom的虚拟光驱的代码,不禁就开始研究了起来,希望以后能有用武之地。
这些程序基于TQ2440平台,主要是实现键盘按键的运作,方便起见,只实现了上下左右四个按键。该部分硬件结构图如下; 从硬件图可以看出,按键连接EINT1、EINT2、EINT4和EINT0四个中断引脚。
Directshow SDK提供了一种开放的开发环境,开发人员可以根据自己的需要制定各种组件。Directshow使用一种滤波器链表(Filter Graph)的模型来管理整个数据流的处理流程,每个部分都是COM组件,形成模块化,参与数据处理的模块就是滤波器(Filter)。
前面已经发布了一篇音频特效播放相关的文章,今天开始学习DirectSound录音编码实现,这是DirectSound中另一个重要的地方。学会之后受益无穷啊!不过DirectSound设备录音编码其实不难,只要是调用Windows API按照一定的顺序和方法都不难。
前言 今天我们谈谈Windows 2000下中断机制的扩展,首先申明本文提到的技术并非本人发现的,只不过是我在学习Windows内核过程中的一点心得罢了,目的在于为和我一样刚刚步入Windows底层学习的朋友提供一点实用的资料,同时也顺带记录下自己的学习过程。
Windows 内核Hook之IOAPIC编程 HOOK系列中,包括应用程序HOOK编程、IDT和IOAPIC编程,其中IOPIC顾名思义I/O ADVANCED PROGRAMMABLE INTERRUPT CONTROLLER中断控制器。
最近在网上无意中看到一段代码,主要讲述的是Windows 下键盘过滤驱动的实现方式,这段代码很有意识,是一种比较好的一种方法,主要将获取的键盘驱动对象的所有分发函数替换,然后另行处理,具体的代码如下; //获取键盘驱动对象...
基于TQ2440硬件平台,该平台处理器S3C2440A,在这个平台当中存在四个LED,用于测试,显示其他硬件运行情况等。LED驱动是一个典型的I/O驱动,简单但健全,是学习Windows CE嵌入式平台的典型例子。
在很多情况下,我们为了获取对话框设置的一些参数,通常都是通过类对象中成员来获取,或者直接获取退出时最后点击的BUTTON的ID号来做一些简单的操作。
近日正在学习DirectX,主要用于视频监控和流媒体方面应用,学习《Visual C++音视频处理技术和工程实践》已经有大半,一直想写些感受,兴趣所致,今天重新学习了下DirectSound 3D语音特效,并编写一些代码,在此分享出来,希望对大家能有所帮助。
AVI是音频视频交错(Audio Video Interleaved)的英文缩写,它是Microsoft公司开发的一种符合RIFF文件规范的数字音频与视频文件格式,原先用于Microsoft Video for Windows (简称VFW)环境,现在已被Windows 95/98、OS/2等多数操作系统直接支持。
#ifndef _RAMDISK_H_#define _RAMDISK_H_ #pragma warning(disable:4201) // nameless struct/union warning #include #include ...
终于开始动手写这篇文章了,有个网友催了我好几次,今天终于可以静下心来完成它。 便于对文章的开展,需要先明确两个概念。 第一个就是很多人用.Net写程序,会谈到托管这个概念。
当前,以具有无线通讯功能的个人数字助理 PDA、手持个人电脑 HPC、交互式网络信息家电、车载多媒体系统为代表的新一轮智能型 3C(Computer、Communication、Consumer)合一的类 PC 嵌入式系统与技术进入了一个崭新的智能化、网络化的发展阶段,类 PC 嵌入式系统与产品的嵌入式操作系统及其应用软件也同时得到了空前的发展与繁荣。
1.1.1 TCPMP多媒体播放器 本系统中采用的多媒体播放器是TCPMP,TCPMP播放器播放速度很快且支持多达几十中多媒体格式。TCPMP开源项目,同时支持Windows CE操作系统,而且提供很好的扩展性,例如需要重新编写TCPMP界面只需重新编写interface.plg即可。
1.1 嵌入式处理器 S3C2440A[17] S3C2440A是一款专用的以手持设备为主而设计的芯片,其特点有低功耗,高速的处理计算能力。为了减少系统的耗费,2440使用了如下组件:2440基于ARM920T内核的,0.13Um cmos 标准单元和存储单元复合体,它功耗及小、简单、稳定的设计非常适合对电源要求较高的产品上。
1.1.1 软件平台的选择 1. 操作系统的选择 尽管嵌入式系统有着无比广阔的市场需求和发展前景,但嵌入式系统的发展多年来却经历了一个曲折和痛苦的历程。
1.1 嵌入式系统的概述 1.1.1 嵌入式系统的定义与组成 嵌入式系统是以应用为中心,以计算机技术为基础,软硬件可裁减,适用于应用系统,对功能、可靠性、成本、体积和功耗等方面有特殊要求的专用的计算机系统。
What is an Embedded System? Most people don't realise that the most common form of computer in use today is by far the embedded computer.
粒子物理学里有关于宇宙的“标准模型”,WDM也是这样。图5-5显示了一个典型的IRP在各个处理阶段的所有权流程。并不是每种IRP都经过这些步骤,由于设备类型和IRP种类的不同某些步骤会改变或根本不存在。
公用对象请求代理(调度)程序体系结构(CORBA) CORBA 是什么 公用对象请求代理(调度)程序体系结构(Common Object Request Broker Architecture),缩写为 CORBA,是对象管理组织(Object Management Group)对应当今快速增长的软硬件的协同工作能力的要求而提出的方案。
今日在处理Windows CE5.0下的s3c2440a摄像头相关程序,在网上找了很多资料,但是未免不全,经过这些天的总结,在驱动和应用程序处理的工程当中需要注意一下几个问题,在此列出,便于读者参考。
学mfc学到文档,视图和框架的时候,知道必须在这三个类的派生类的类声明里加上DECLARE_DYNCREATE,然后在类声明外合适的地方加上IMPLEMENT_DYNCREATE,然后文档,视图和框架,还有文档模板就可以协调工作了。
C/C++中的字符串问题在网上的讲解一向非常含糊,存在各个层次的库混用、滥用的情况,尤其是宽字符与窄字符等问题很难找到有效的资料,本篇随笔分享一下我长期收集到的一些比较准确的资料以及据此得到的个人理解. C语言中的字符串 C语言中提供了两种字符类型char和wchar_t,C语言使用字符数组来表示字符串,同时支持两种直接量写法:"abcd"和 L"abcd" 来表示字符串常量文字量,C语言允许用字符串常量来初始化字符串。
Download source files - 6.1 KB Introduction block_allocator is a custom STL allocator for use with STL as implemented in Microsoft VC++.
Introduction The articles main objective is to educate the newbie's how to code a memory leak free program in c++.
Summary: This article provides an introduction to developing and testing a Windows CE 5.
Developing a WDF USB Kernel Mode Driver for the OSR USB FX2 Introduction This article explains and demonstrates the steps i...
Building and deploying a basic WDF Kernel Mode Driver Introduction At the end of December 2005, Microsoft released the new Windows Driver Foundation.
Windows Embedded CE6.0高效的内存管理 作者:Douglas Boling 时间:2007年3月 本文来自:微软MSDN技术论文中心 摘要 本文主要介绍新版本嵌入式操作系统(Windows Embedded CE6.0)是如何管理内存的,内容主要包括如何构架以及在应用程序发生的变化两个部分。
UML软件设计基础(UML图详解) 作为一种建模语言,UML的定义包括UML语义和UML表示法两个部分。 (1) UML语义 描述基于UML的精确元模型定义。
一、什么是远程过程调用 什么是远程过程调用 RPC(Remote Procedure Call)? 你可能对这个概念有点陌生, 而你可能非常熟悉 NFS, 是的, NFS 就是基于 RPC 的. 为了理解远程过程调用,我们先来看一下过程调用。
前 言 视频捕获是指由专用的视频采集卡捕获声频和视频信息,然后将其进行数据化处理,再经过软件的压缩进行处理,这时就可对这些数据进行保存、回放、传输等各种操作。
在Windows CE增加自定义中断处理 基于S3C2410,Windows CE4.2,BSP是smdk2410。WinCE的中断处理是三个映射关系: ISQ --> Interrupt ID(逻辑中断号) --> Event对象。
通常,GPS接收机被设计成为标准串口设备,不管是CF接口还是蓝牙接口,都被映射成为串口设备,因此,在程序员的眼中,只需如同一般的串口设备来对待即可(对于蓝牙GPS,当然我们也可以通过蓝牙API,在程序中完成设备搜索、映射工作,而减少用户手工处理的麻烦)。
使用 C++ 编写内核模式驱动程序的优点与缺点 C++ 及其对象特性似乎与 Microsoft Windows Driver Model (WDM) 和 Windows Driver Foundation (WDF) 驱动程序的语义非常吻合。
在理顺了上述文件的相互之间的关系之后,再来分析Windows CE 6.0的启动过程可能就比较容易啦。 1、Startup函数: 从Windows CE 6.0的帮助文档可以看出,WinCE6.0的启动只与oal.exe和kernel.dll有关,至于kitl.dll,只有将操作系统编译成具有 KITL功能时才用到。
By Amit RanjanJuly 21, 2006 A number of Windows Mobile 5.0 APIs (for example, SHCameraCapture) make it trivial for a mobil...
WinCE系统声音定制 2010的第一篇Blog,介绍一下WinCE系统声音的定制。说白了,就是设置注册表。WinCE系统启动的开机音乐,点击触摸屏以及键盘输入的按键音,还有系统运行过程中的各种声音其实都是在注册表里面预先设置好的。
USB设备的Bulk模式驱动程序设计 引言 通用串行总线(USB)是一种串行接口,具有自动配置能力和良好的兼容性,从而简化了计算机与外设的连接,被计算机外设硬件制造商广泛采纳。
混音的处理 如果要WINDOWS CE的声音驱动模型支持混音,则要考虑如下问题: 1) 声音设备是否支持硬件混音 2) 声音设备需要工作在同一种采样频率下 3) 声音设备要能够同时支持录音和放音操作 而声音的驱动要负责完成声音采集的混音和声音放音的混音。
放音的消息解析 WINCE的声音驱动模型在放音的工作中定义了21个消息(懒了,不再列举了),但在具体实现中并不是每个消息都必须实现。 消息很多,特别是在具体实现中需要和DMA操作模型配合使用,因此理解消息的用途和推敲它们之间的关系就显得格外重要了! 通过仔细推敲它们之间的关系,我们可以将放音的整个过程规划成如下一些状态,并用状态迁移图来理解消息的使用,整个过程的操作就非常简单了。
WINCE WAVE接口模型详解 1、标准的WAVE流式驱动程序接口 WAVE的驱动程序提供标准的流式接口给高层,但真正产生关键作用的是 WAV_IOControl这个函数。
1.1 WINCE的声音模型 标准的WINDOWS CE下的声音处理模型。 1) 声音应用在使用WAVE接口函数的时候被COREDLL模块分了类:如果是简单的PCM数据,则直接进入ADM模块,进行SoftWare Mixer或者连Mixer也省了,直接调用Driver放音;如果是压缩模式的数据则进入ACM模块进行解压处理后(比如:GSM/G7XX等等…)再次进入ADM模块。