1.基本思路: 解码取得Divx avi影像的每一帧图像数据,加载到纹理或Pixel Buffer上,而后作为纹理单元渲染出来.
2.Divx解码格式是开源的,拥有大量基于linux下的各播放器所携带的程序库,最优秀的是FFmpeg开源项目携带的libavcodec.
3.魔兽世界使用DivxDecoder.dll播放divx片头动画,估计也是使用libavcodec..
4.该死的垃圾sscanf函数,永远不要用这个函数.
1.从http://www.mingw.org/的download页面,选择current大类里的Mingw,MSYS的exe安装版本,下载.
2.先安装Mingw,在安装过程中它还会下载大约50M的程序包到安装程序所在的目录,一并安装,接着安装MSYS,安装后它会询问Mingw的安装位置,不用理他,直接修改\etc\fstab.sample文件里的c:\mingw为实际的安装目录.
3.Mingw是开发程序包,MSYS是模拟linux下的运行编译环境.
3.从http://ffmpeg.sourceforge.net/index.php下载FFmpeg的源代码包,推荐CVS,解压到MSYS的\home\your username\下.
4.启动msys.bat,进入后起始位置在\home\youruser name,使用cd命令进入ffmpeg目录,键入下列指令:
./configure --enable-shared --enable-memalign-hack
make
5.编译后FFmpeg生成整个工程的执行文件,取其中的avcodec.dll,avcodec.lib,avformat.dll,avformat.lib,加上源代码中的.h,就是一个SDK了.
其时很讨厌linux项目的结构,繁琐,
使用opengl播放示例代码
http://www.cnitblog.com/Files/linghuye/TestAVIEx.rar
References: http://ffmpeg.sourceforge.net/index.php
http://www.inb.uni-luebeck.de/~boehme/using_libavcodec.html
http://comments.gmane.org/gmane.comp.video.ffmpeg.devel/24601