李国帅
2012年收集的资料,相隔数年,只做参考
在使用directshow的时候,解码自动选择的解码控件
编码格式  | 解码方式  | 解码控件  | 
H264  | CUDA  | CoreAvc(默认)  | 
H264  | DXVA  | CoreAvc(需配置)  | 
H264  | NONE  | CoreAvc(同上)  | 
H264  | DXVA1  | FFmpeg  | 
H264  | NONE  | FFmpeg  | 
MP4V  | DXVA1  | FFmpeg(不支持)  | 
MP4V  | NONE  | FFmpeg(默认)  | 
备注
CoreAvc(无法编程的方法选择,必须打开解码器属性页进行配置。没有开放接口)
CUDA的支持程度
显卡  | 解码方式  | 支持  | 
N卡GF8以上  | CUDA  | 支持  | 
N卡GF8以下  | CUDA  | 不支持  | 
A卡  | CUDA  | 不支持  | 
集成显卡  | CUDA  | 不支持  | 
操作系统对Directx的支持
操作系统,  | Directx  | VisualStudio  | 
XP  | 最高Dx9c  | 2005最高支持到DXSDK_Feb10(2010年2月版本)  | 
WIn7  | 支持Dx11  | 
显卡对硬解码的支持
显卡  | 解码方式  | 支持,  | Mpeg4  | H264  | 
N卡  | DXVA  | 部分支持  | (很少)  | win7系统支持  | 
A卡  | DXVA  | 部分支持  | ||
集成显卡  | DXVA1  | 部分支持  | (不支持)  | Win7支持  | 
集成显卡  | DXVA2  | 部分支持  | (intel集成显卡,XP系统的话是不提供硬解支持的)  | 
(显卡对硬解码的支持根据不同的硬件型号支持程度不同。)
DXVA对渲染技术的支持
编码格式,  | Directshow  | EVR  | VMR  | 
DXVA1  | 支持  | 不支持  | 支持  | 
DXVA2  | 支持  | 支持  | 不支持  | 
建议
硬件解码已经很少去支持Mpeg4了,一般直接支持H264。所以建议如果遇到Mpeg4直接使用软解。
是否采用硬件加速关键还是要看应用,看硬件的能力。
如果不想配置解码器,简单实用directshow进行解码,那直接使用evr,让操作系统自己选择(自动调用dxva)吧,不过使用evr抓图就比较麻烦。










