DirectShow
foxavideo
这个作者很懒,什么都没留下…
展开
-
DirectShow中显示的图像是颠倒的
这些天在写source filter,读入一系列的视频序列帧从磁盘,然后把它们在CSourceStream::FillBuffer()中把读入的位图数据部分填入sample buffer中。通过GraphEdit加载此sourcefilter并运行的时候发现图像时倒过来的。后来查看media type发现其中关于位图高度的值为负值,原来是这个原因。知道原原创 2012-04-27 11:46:56 · 2366 阅读 · 0 评论 -
建立directshow的filter工程的过程
建立directshow的filter工程有2中方法:1. 直接从DXSDK提供的samples中拷贝一个最接近你想要的filter的filter工程比如你想要sourcefilter那么你可以直接拷贝ball这个工程作为你的工程,然后在此工程的基础上开发。2. 从一个空的工程开始a. 假设你使用visiualstudio,那么建立一个win32 dynamic d原创 2012-04-27 17:36:50 · 931 阅读 · 0 评论 -
什么是硬件加速
简而言之,硬件加速就是利用硬件模块来替代软件算法以充分利用硬件所固有的快速特性。计算机显示使用硬件加速会快些,但会在投影仪或截图时发现显示区是黑的,这时就要关闭硬件加速(硬件加速反方向操作)简介 硬件解码生效的时候,系统是怎么运转的呢?现在我们有三个处理器,CPU、GPU和APU(不是加速处理器是声音处理器)。他们通过PCI/AGP/PCIE总线交换数据。 1.CPU转载 2012-12-21 17:45:33 · 924 阅读 · 0 评论 -
directshow的push和pull mode
directshow中filter分为source filter,transform filter,render filter。push和pull mode是相对于source filter来说的。source filter在directshow扮演的角色是制造或者生产数据,这些数据在graph中被传送修改到最后被渲染。那么这里有个问题,这些数据时怎么传给下面的filt原创 2012-05-03 14:21:46 · 1034 阅读 · 0 评论 -
查看directshow的filter的连接
在graphedit中我们可以看到filter,还有filter的pin,以及他们是怎么连接的。我们在程序中添加filter,连接它们,我们没法可视化查看它们,但是我们可以通过graphedit中远程连接到我们程序中连接的filter,怎么做到呢?directshow提供了一个IRunningObjectTable::Register方法,可以让我们把想要的查看原创 2012-04-27 16:14:05 · 885 阅读 · 0 评论 -
调试directshow的filter
调试filter有2种方法filter中使用outputdebugstring输出使用Dbgview查看,另外一种是巧妙是MesageBox,然后attach进程来调试。下面详细说一下。1. OutputDebugString + DbView在filter的关键地方,使用OutputDebugString输出信息,然后利用其它程序,如GraphEdit,加载运行f原创 2012-04-26 18:05:57 · 861 阅读 · 0 评论