Media Foundation, EVR, DXVA 2.0

Windows Vistaでは、.NET Framework 3.0 のようなマネージAPIだけではなく、以前紹介したデスクトップウィンドウマネージャAPIのような新しいアンマネージ のAPIも導入されています。その1つが、Media Foundationです。

Media Foundationはビデオやオーディオのようなメディアを扱うための新しいAPIです。特に著作権で保護された高品位のメディアを扱うことを主眼に開発さました。Protected Media Pathが導入され、保護環境でメディアを再生する仕組みが用意されました。

DirectShowアプリケーションも問題なくVista上で動作しますが、DirectShowからMediaFoundationのレンダラーが使えるように、DirectShow EVR フィルタが用意されています。EVRは内部でDXVA (DirectX Video Acceralation) 2.0を活用し、GPUでのデコードやエフェクトが可能になっています。

DXVAは、ビデオのようなストリーミングデータをGPUでデコードしたり、色変換したりするためのAPIです。これまでのDXVA1.0はDirectShowからしか使えませんでしたが、DXVA2.0は、Media FoundationやDirectShowと直接的には結びついておらず、単独でも利用できます。また、DXVA2.0はデコード以外のビデオ処理にもGPUが使えるようになりました。

Windows SDK のサンプルコードには、DXVA2_VideoProcというサンプルがあり、Media FoundationもDirectShowも使わずに、YUV(YCbCr)からRCBへの変換やアルファブレンドによる合成をデモンストレーションしています。