- 博客(14)
- 收藏
- 关注
转载 几篇关于如何写filter的转帖 之 ----开发source filter的source sourcestream两个基类介绍
<br /> <br /> <br />第一个是source,第二个是sourcestream<br />3.3几种常用Filter的基类 <br />3.3.1CSource <br />class CSource : public CBaseFilter { <br />public: <br />CSource(TCHAR *pName, LPUNKNOWN lpunk, CLSID clsid, HRESULT *phr); <br />CSource(TCHAR *pName, LPUNKNOWN
2011-03-18 14:34:00
653
转载 几篇关于如何写filter的转帖 之 ----如何开发传输过滤器(Transform filter)
<br />开发自己的filter之前,看看DMO(DirectX Media Object)是否满足你的要求,因为DMO可以做许多和filter相同的工作,但是开发DMO比开发filter要简单多了。开发transform filter主要有下面的几个步骤,努力的遵循吧<br />第一步选择一个基类<br />下面的基类适合开发transform filter。<br />CTransformFilter就是为了transform filter而设计的基类,这个类中有分开的输入和输出buffers,这种类
2011-03-18 14:34:00
600
转载 ................
<br />program VmrAlloc; <br />uses<br /> Windows,<br /> Messages,<br /> untVideo in 'untVideo.pas';<br />const<br /> AppName = 'VmrAlloctor';<br />var<br /> g_video: YVideo = NIL;<br /> g_hwnd: HWND = 0;<br />{$R *.RES}<br />procedure PaintWi
2011-03-18 14:31:00
535
转载 D3D下使用VMR9播放视频(2)
<br />program VmrAlloc; <br />uses<br /> Windows,<br /> Messages,<br /> untVideo in 'untVideo.pas';<br />const<br /> AppName = 'VmrAlloctor';<br />var<br /> g_video: YVideo = NIL;<br /> g_hwnd: HWND = 0;<br />{$R *.RES}<br />procedure PaintWi
2011-02-22 16:49:00
889
转载 D3D下使用VMR9播放视频文件
<br /> <br />作者:骡子宝<br />2005.12.30<br /> 随着DX开发包的不断升级,其提供给媒体程序开发人员的接口功能也空前强大起来。本文就D3D下使用VMR9播放视频向初学者谈谈心得。高手请止步(不想让你看了吐血^_^)。<br /> 早在DX8时代,SDK中就提供了VMR的功能,但是不幸的是,有不少功能只限于WINXP下使用。现在好了,DX9中VMR升级了,提供了VMR9。VMR全称为Video Mixing Renderer,顾名思义就是可以使用它来进
2011-02-22 16:36:00
747
原创 DirectX图形的设备类型-D3D入门
<br />D3D设备是D3D的粉刷组件;它封装并存储粉刷的状态,另外,D3D设备执行转换和光操作,并光栅化一个图像到一个面上。<br />本节主要包括内容:<br />1. 设备类型<br />2. 创建设备<br />3. 选择设备<br />4. 不为人知的设备<br />5. 决定硬件支持<br />6. 处理顶点数据<br />7. 设备支持的初基类型<br />按照架构来说,D3D<br />设备包含一个转换模块、一个光模块、一个光栅化模块;如下图所示:<br /><br /> <
2011-02-22 16:33:00
691
原创 DirectX图形的设备类型-D3D入门
<br />D3D设备是D3D的粉刷组件;它封装并存储粉刷的状态,另外,D3D设备执行转换和光操作,并光栅化一个图像到一个面上。<br />本节主要包括内容:<br />1. 设备类型<br />2. 创建设备<br />3. 选择设备<br />4. 不为人知的设备<br />5. 决定硬件支持<br />6. 处理顶点数据<br />7. 设备支持的初基类型<br />按照架构来说,D3D<br />设备包含一个转换模块、一个光模块、一个光栅化模块;如下图所示:<br /><br /> <
2011-02-22 16:32:00
804
转载 某编程论坛看到的降低网络游戏CPU占用率的方法。但是看不明白如何使用。求教。
问题补充 2010-11-26 22:16其实很简单.主要针对D3D游戏.主要思路:Hook IDirect3DDevice9::Present,在其中加入sleep函数.让系统获得更多的CPU时间片.试验游戏:剑网三(以D3D9为例)具体实现步骤:1.HOOK Direct3DCreate9来获得类型为LPDIRECT3D9的Direct3D对象的接口指针,它有一个成员函数为 IDirect3D9::CreateDevice,所以,只要根据Direct3D对象接口指针找到Direct3D对象的虚函数表,
2011-02-22 16:27:00
2778
转载 Hook Directx:在游戏中显示自己的文字和图形的方法
<br />这个方法出自我大概两年前的一个项目,现在经整理后贴出来和大家分享一下,利用该方法可以在一般的directx游戏里面绘制文本甚至图形对象.<br />其实思路上非常简单,大致是这样的:要在directx中绘制文字和各种图形对象,只要获得一个类型为LPDIRECT3DDEVICE9的设备对象指针.怎样获得这个指针呢?我的方法是首先hook掉Direct3DCreate9以获得类型为LPDIRECT3D9的Direct3D对象的接口指针,这个Direct3D对象有一个成员函数为 IDirect3D9:
2011-02-22 16:26:00
18590
2
转载 DirectShow中用好智能连接
<br />前段时间,在做一个播放器时,内存泄漏很严重。为了达到要求,Filter Graph要按照事先已确定的一种链路来建立,所以刚开始时我在程序中将Filter逐个进行连接,即创建一个,再连接一个,这样虽然能构建出事先确定的链路,但很麻烦,代码冗长,而且在每打开一个媒体文件时,因为上一次得到的接口难以释放彻底,会造成严重的内存泄漏。后来,我将程序改为智能连接,就好多了。大体过程为:先在Graph中加入少部分Filter,再智能连接,最后对部分地方进行修改,增减Filter,这样一来,程序简单好理解,并且
2011-02-22 13:22:00
635
转载 DirectShowプログラミング [VC++]
<br /><br />ここでは、DirectShowを使ってプログラムを書く方法を説明します。 DirectShowは、Windows上で映像(動画)や音声を扱うためのフレームワークです。 DirectShowを使うと、様々なフォーマットの映像や音声を簡単にキャプチャ/再生/保存できます。<br />このページは初心者向けDirectShow入門講座を目指しています。 DirectShowはCOM(Component Object Model)をベースに作られていますが、ここではCOMを知らない人でもDi
2011-02-22 12:28:00
1311
转载 在VC中调用DirectShow全屏播放视频
<br />有些正在尝试自己编制游戏的朋友可能会碰到这样一个问题:游戏要播放片头动画,可是如何全屏播放动画呢?用媒体播放机控件?这是最简单的方法,可是好多功能都用不上,不免觉得有些浪费。而用vfw之类的多媒体库又太麻烦。怎么办呢?<br /><br /> 其实微软不但提供了DirectX这样的便于游戏开发的SDK,还提供了基于其上的DirectX Media SDK。这套SDK可以帮助你简化多媒体开发,而又充分利用DirectX的高性能。使用起来很简单,功能也很强大,它可以自己识别流的格式,连mpeg2都
2011-02-22 11:09:00
516
转载 VMR9的定制AP
<br />http://blog.youkuaiyun.com/foruok/archive/2008/07/27/2719724.aspx<br /> <br />我要在3D场景中播放电影,或者把电影作为纹理来使用。<br /> 有两个办法,一个是写一个video render,用它来接管filter graph的最终输出,将视频数据拷贝到我们的私有纹理上,然后在合适的时候来使用它(主要是在D3D相关的主循环中)。<br /> 另一个是利用VMR9。VMR9允许我们自己提供Allocator-Prese
2011-02-22 11:06:00
1148
1
转载 D3D下使用VMR9播放视频文件
<br />随着DX开发包的不断升级,其提供给媒体程序开发人员的接口功能也空前强大起来。本文就D3D下使用VMR9播放视频向初学者谈谈心得。高手请止步(不想让你看了吐血^_^)。 早在DX8时代,SDK中就提供了VMR的功能,但是不幸的是,有不少功能只限于WINXP下使用。现在好了,DX9中VMR升级了,提供了VMR9。VMR全称为Video Mixing Renderer,顾名思义就是可以使用它来进行视频渲染。那么它到底有多强大呢?我可以告诉你,他十分强大,从SDK的SAMPLE中大家就能
2011-02-22 09:22:00
598
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人