第十八篇:融汇贯通--谈USB Video Class驱动

USB Video Class驱动是WINDOWS系统包含的一个针对于USB VIDEO 类的驱动程序.

好多project师都做过USB VIDEO设备端的开发, 基本的工作内容为: 使用FIRMWARE,或者LIINUX GADGET驱动程序, 构建USB VIDEO设备的描写叙述符, 通过这些描写叙述符的TOPOLOGY关系, 让系统了解,设备所支持的某些控制, 支持的视频格式, 系统驱动通过对这些描写叙述符的解释, 构建自己的KS, FILTER, NODE, PIN网络, 属性, 方法, 终于, 又由这些FILTER, NODE, PIN的属性,方法提供的接口,供DShow展现给上层应用.网址:yii666.com<

设备端须要LENS的视频数据(VSYNC,HSYNC, DATA)打成USB VIDEO类型的包, 加上12字节的头, 通过BULK或者ISO EP往上层传输, 对应的PROBE/COMMIT, 视频属性的控制,终于都是将上层的CLASS REQUEST转化为底层硬件的设置.

设备端的开发, 能够说,仅仅是一部分, 对整个系统的了解,也仅仅是较小的一块.

WINDOWS帮助USB VIDEO CLASS的系统实现了很多其它的部分.

USBVIDEO.SYS作为PIN-CENTRIC 的AVSTREAM minidriver, 依据设备的描写叙述符, 创建了filter factory(同一时候对对设备的INPUT,OUTPUT terminal).

利用设备描写叙述符内容, USB VIDEO CLASS驱动, 在系统内部构建了FILTER, NODE, 与CONNECTIONS建立的一张GRAPH.

同一时候,通过描写叙述符中对应的控制CONTROL, USB VIDEO CLASS也在FILTER, PIN, NODE的描写叙述符及其属性中增加对应的AUTOMATION TABLES.

依据描写叙述符中的视频数据格式, 驱动相同向KS提交数据范围的列表以及数据交集的处理名柄.

该驱动相同为音视频同步做了考虑, 主旨是通过KS的MASTER CLOCK给视频数据打上时间戳, 作为同步需求的參考时间.

为了和驱动交互, 应用程序通过DShow COM 接口来达到应用的目的.文章来源地址:https://www.yii666.com/article/764109.html

做过AVStream/BDA驱动的project师都了解,AVStream/BDA的架构的复杂程度, 与设备端的程序的直观性, 易理解性,易调试性,都不是一个数量级的.网址:yii666.com

要真正从底层到顶层, 一个USB VIDEO CLASS设备的理解, 包含USB DEVICE CONTROLLER, CMOS, FIRMWARE/LINUX GADGET, 还包含, AVSTREAM/BDA架构与细节, DShow, 等一系列的内容.

第十八篇:融汇贯通--谈USB Video Class驱动文章来源地址https://www.yii666.com/article/764109.html文章地址https://www.yii666.com/article/764109.html

版权声明:本文内容来源于网络,版权归原作者所有,此博客不拥有其著作权,亦不承担相应法律责任。文本页已经标记具体来源原文地址,请点击原文查看来源网址,站内文章以及资源内容站长不承诺其正确性,如侵犯了您的权益,请联系站长如有侵权请联系站长,将立刻删除

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信图片_20190322181744_03.jpg

微信扫一扫打赏

请作者喝杯咖啡吧~

支付宝扫一扫领取红包,优惠每天领

二维码1

zhifubaohongbao.png

二维码2

zhifubaohongbao2.png