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への変換やアルファブレンドによる合成をデモンストレーションしています。
マイクロソフト㈱エバンジェリスト。北海道大学理学部物理学科卒。リアルタイム3Dグラフィックスを専門とし、グラフィックスやシェーダに関する技術文章を執筆・講演。 DirectX SDK日本語ドキュメントの開発に携わるとともに、Windows Presentation Foundation プログラミング(オーム社)、Game Programming Gemsシリーズ、リアルタイム レンダリング第2版(ボーンデジタル)、Texturing & Modeling, A Procedural Approach などを翻訳・監修、XAMLプログラミング(ソフトバンク クリエイティブ)を執筆。趣味は薪割り。