欢迎来到天天文库
浏览记录
ID:40711381
大小:68.47 KB
页数:3页
时间:2019-08-06
《NT下视频采集及解压驱动程序的设计与实现》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、计算机应用!"下视频采集及解压驱动程序的设计与实现武汉华中理工大学电信系信息教研室=A$""LA.彭勇黄瑞光摘要B分析了多媒体设备驱动程序的体系结构及视频采集与解压卡的驱动程序设计方案。描述了核心态驱动程序的处理流程,提供了用户态驱动程序的设计思路和具体算法。关键词B驱动程序(8I=输入输出请求包.驱动程序对象设备对象%&’92:;+<的结构决定了应用程序不能直接操作硬件设备,它只能通过一个中间层来读写和控制设用户模式的驱动程序备,这个中间层就是驱动程序。驱动程序位于计算机软件的最低层=/01为硬件抽象层.,直接与硬件设备%&’$!函数的特性联系在一起。编写驱动程序不仅要
2、了解设备的特性,而且还要了解操作系统的结构,难度较大。本()*子系统文比较详细地分析了视频采集与解压卡的驱动程序(+,---.用户态设计思路。!视频采集与解压卡驱动程序的结构()*管理器核心态多媒体设备相对普通设备来说,有两个特点:数驱动程序支持据流量大;对最终期限要求高=即实时性要求比较核心态设备例程((2、3-、45、驱动程序高.。对于视频采集与解压卡这类多媒体设备来说,驱/67、8,7等等)动程序的编写有其特定的方式。多媒体驱动程序的结/01()*构如图#所示。一般说来,根据其代码运行的特权级访问例程可分为两层:核心态的驱动程序和用户态的驱动程序。核心态的驱动程序运
3、行于内核模式,可以执行特()*端口、寄存器权级指令,对任何()*设备有全部的访问权,还能够以及设备专用内存访问任何虚地址和控制虚拟内存硬件。图#多媒体驱动程序的结构图用户模式的驱动程序实质上是一个动态链接库得到的数据是分场存放的AB!B!的CDEDF格式的数(>11)。它运行在用户态,应用程序向这个接口发出据,驱动程序将每帧数据按行进行格式转换,组合成消息请求一定的操作。它们调用%(+$!函数与内核完整的一帧数据=GD(H.交付给应用程序。模式的驱动程序通讯(%(+$!函数又调用+<执行体"内核模式的驱动程序的设计提供的函数,这些执行体函数提供从用户态到核心态由于多媒体的
4、数据量很大,按照常规的方法(采的上下文转换)。用户模式的驱动程序根据接收的消用(8I包进行数据传输)设计将面临着一个无法解决息采取适当的操作,完成操作后将结果返回给应用程的问题———中断太快驱动程序将来不及处理。因此必序。但是这种结构只适用于解压一幅幅的位图,并不须采用一种新的方法:在驱动程序中建立两块缓冲区适合采集和解压本设备产生的视频流。(分别用于读写),应用层驱动程序与核心层驱动程此卡既要采集又要解压,若用标准模式进行设序共用缓冲区。当设备中断发生时,根据发生的中断计,就要同时编写视频采集和视频解压的驱动程序,进行处理。如果是读中断,先把数据从设备中读到缓其中还要对
5、解压程序进行改造,编写复杂,尤其调试冲区中,发出一个>ID(推迟过程调用),通知应用层会很困难。在这种情况下,使用本设计方案,既可满驱动程序该缓冲区数据可用,可以取走数据了。如果足要求,又可减小设计难度。是写中断,先把缓冲区中的数据写到设备的H(H*中,内核模式的驱动程序与一般驱动程序无多大的然后发出一个>ID,通知用户模式驱动程序该缓冲区区别,只负责读取数据和进行设备控制。用户模式的数据已失效,需要写入新数据。驱动程序要处理大部分的事务。在解压时,驱动程序驱动程序工作流程如图!所示。内核模式向外显要向设备写入待解压的数据,从设备中取得解压后的露>E&J5E3’,EK(驱
6、动程序必须要有的一个例程)接口,数据,向应用程序提供一帧图像的8?@数据。从设备其它的例程没有固定的名字,为了让()*管理器找到《电子技术应用》!""#年第$期!L计算机应用这些例程,%&’()&*+,&-例程负责建立这些函数指针。共用缓冲区的地址。4C5管理器从非分页系统内存分配一个4
7、设置设序。解码相对复杂,不仅要向设备写入待解压的数据,备操作。当操作完成时,在4格式,当驱动程序被加载到系统中时,4C5管理器将创向应用程序提供Q04@3$POR!SST大小的图像。因此可建一个驱动程序对象(在系统中代表一个独立的驱动将其划分为两部分:存取数据部分和数据转换部
此文档下载收益归作者所有