yueleixinghan
驱动牛犊
驱动牛犊
  • 注册日期2004-08-21
  • 最后登录2005-05-08
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1900回复:9

使用DirectShow或者自己开发SDK?

楼主#
更多 发布于:2004-09-13 17:58
请教大家,如果有一张视频卡的,我是按照WDM内核流的模式开发驱动程序,这样就可以使用DirectShow开发应用程序呢?还是按照一般的方法开发驱动程序,然后开发自己的SDK呢?哪一种方法更好呢?
AllenZh
驱动老牛
驱动老牛
  • 注册日期2001-08-19
  • 最后登录2015-11-27
  • 粉丝19
  • 关注10
  • 积分1316分
  • 威望2387点
  • 贡献值7点
  • 好评度321点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2004-09-13 20:42
通常是按照WDM内核流的模式开发驱动程序
1,承接Windows下驱动/应用开发 2,本人原创虚拟鼠标/键盘,触摸屏,虚拟显卡,Mirror驱动,XP无盘的SCSI虚拟磁盘驱动等 3,windows下有尝技术服务(包括BUG调试,员工培训等) 欢迎深圳和海外企业联系.msn:mfczmh@sina.com
hong
驱动小牛
驱动小牛
  • 注册日期2001-09-19
  • 最后登录2005-12-16
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2004-09-15 22:02
"按照一般的方法开发驱动程序,然后开发自己的SDK"
this is faster and all under your control.
mike_fly23
驱动牛犊
驱动牛犊
  • 注册日期2004-11-09
  • 最后登录2008-07-29
  • 粉丝0
  • 关注0
  • 积分11分
  • 威望16点
  • 贡献值0点
  • 好评度15点
  • 原创分0分
  • 专家分0分
地板#
发布于:2004-11-09 14:41
用microsoft directshow 的model,不必自己再作新的.
努力吧.....
nibblebit
驱动牛犊
驱动牛犊
  • 注册日期2004-07-26
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分25分
  • 威望3点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2005-01-28 20:05
专业的都不用DS。
消费的用DS。
steven__xu
驱动牛犊
驱动牛犊
  • 注册日期2004-08-24
  • 最后登录2013-09-03
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望20点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2005-01-29 12:17
如果你相信你的卡只用于自己的特定用途,就可以不采用Directshow。Directshow虽然对编写通用应用程序比较方便,但是代价是很大的。有的AVI文件用Media player播放的时候把CPU占满还不够,而用MPLAYER之类全集成的播放器只用掉不到50%的CPU,虽然它们的解码核心是同样的libavcodec。
kuhaipiaoliu
驱动牛犊
驱动牛犊
  • 注册日期2003-11-22
  • 最后登录2006-05-18
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2005-02-01 04:24
re:有的AVI文件用Media player播放的时候把CPU占满还不够

这与Directshow无关的吧,应该检查你的系统及解压缩编码器。
我用Directshow编写的程序显示12路的384*288二十多帧/秒的视频,当时机子也只是赛扬三1.2G,同时再回放一路录像,CPU也好像没占满。

Directshow编程控制比较麻烦,很多时候要动态控制的东西都得自己
写Filter。还有个问题,到现在我还是没法克服上到十六个芯片的出现的问题,主要表现在每个芯片用25/秒的速率来采集图像的时候显示的图像有些会出现撕列的现象!这个应该与PCI的传送速率有关吧
steven__xu
驱动牛犊
驱动牛犊
  • 注册日期2004-08-24
  • 最后登录2013-09-03
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望20点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2005-02-01 09:14
re:有的AVI文件用Media player播放的时候把CPU占满还不够

这与Directshow无关的吧,应该检查你的系统及解压缩编码器。
我用Directshow编写的程序显示12路的384*288二十多帧/秒的视频,当时机子也只是赛扬三1.2G,同时再回放一路录像,CPU也好像没占满。

你说的是不同的编码方式,我说的是同一种编码方式,同一个解码器核心,仅仅因为多了一层Directshow的包装,就有很大差别。

Directshow编程控制比较麻烦,很多时候要动态控制的东西都得自己
写Filter。还有个问题,到现在我还是没法克服上到十六个芯片的出现的问题,主要表现在每个芯片用25/秒的速率来采集图像的时候显示的图像有些会出现撕列的现象!这个应该与PCI的传送速率有关吧
 

你是否把每一路都直接送显卡了?试试把它们先在内存里拼接成一幅图像,再一起送去显示。
kuhaipiaoliu
驱动牛犊
驱动牛犊
  • 注册日期2003-11-22
  • 最后登录2006-05-18
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2005-02-01 16:27
压缩和解压都是用同一个编解码器。做过试验用不用directshow,cpu占用率相差不大。
显示方面我是用DirectDraw,直接把每一个视频数据在主表面不同位置显示出来的,也是拼成一屏。
steven__xu
驱动牛犊
驱动牛犊
  • 注册日期2004-08-24
  • 最后登录2013-09-03
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望20点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2005-02-02 10:38
可能你的应用程序filter级数少,看不出Directshow的影响,但是如果开发一块卡,就不能假定这块卡只用在处理过程简单的地方。
显示的问题,你要么只在回扫期间更新屏幕,要么用双缓冲或者三缓冲,否则肯定会导致图像撕裂,这还用解释吗?
游客

返回顶部