Win7 のコーデック速報(デコーダ)


こんにちは。わび~です。


Win7 製品版に同梱されるコーデックについて早速お問い合わせが増えています。


一番ホットな話題は H.264, AAC, AC3 ですので、このあたりをまとめて表にしました。


ここでは再生に必要となるデコーダを取り上げています。































 

Video


Audio


MPEG2


H.264


AAC


AC3


Media Foundation


No


Yes 


Yes 


No 


DirectShow


Yes(注1)


Yes(注1)


Yes


Yes(注1)(注2)



(注1)Starter, Home Basic, サーバ SKU を除きます。


(注2)大人の事情により、サードパーティ製品からはAC3デコーダを利用いただけません。


これらのデコーダはDXVA に対応していますので、DXVA対応ハードウェアが利用可能な場合には、GPUでデインターレースや離散コサイン変換するといったハードウェア支援が利用されます。


詳しくは、MSDN ライブラリをご覧ください。


Supported Media Formats in Media Foundation


http://msdn.microsoft.com/en-us/library/dd757927(VS.85).aspx


Microsoft MPEG-2 Video Decoder (DirectShow)


http://msdn.microsoft.com/en-us/library/dd390679(VS.85).aspx


Microsoft MPEG-1/DD/AAC Audio Decoder (DirectShow)


http://msdn.microsoft.com/en-us/library/dd390676(VS.85).aspx


面白いところでは、SONY様のWalkman などのポータブルメディアデバイスをWin7 マシンにMTPで接続した場合、エクスプローラ上でデバイスのフォルダを開いてコンテンツをドラッグ&ドロップで放り込みますと、デバイスが対応しているフォーマットに自動変換された上で転送されます(通称シェルトランスコード)。このときMedia Foundation にてハードウェア支援を活用して高速にエンコードされます。とても便利な機能です。従来はWMPで転送するときに限って自動変換されていましたが、エクスプローラでも対応しました。


さて、今回はデコーダを取り上げましたが、次回はエンコーダやファイルコンテナ(マルチプレクサ、デマルチプレクサ)を含めてまとめたいと思います。


Comments (3)

  1. たかはし says:

    こんにちは。ASFコンテナを作成中の開発者です。ASFでH.264のメインプロファイルのものを開発したのですが、Windows7はデフォルトでコーデックが入っていると勝手に期待していたら、WMP12はASFの場合DMOしか見に行かないようなのですが、肝心のDMO形式のコーデックがWindows7に入っていないようなのです。WMPはWMP11からASFだとDMOを呼ぶ?ように変わったように思われるのですが、ASFでもDirectShowフィルタを使うようにさせる方法は何かないでしょうか。

    尚、開発したASFコンテナを例えば3gppにするとWMPでも再生できます。

    よろしくお願いします。

  2. WMP12 の内部実装は非常に複雑で、ご指摘のDirectShowフィルタの件以外にも様々な壁があり、現在のところは H.264 ビデオを ASF に多重化した場合の再生はサポートされておりません。

    ちなみに、ASF の再生には、WMP10 と XP の WMP11 までは DirectShow + FSDK が使われます。Vista の WMP11 では基本 MF ですがスクリプトコマンドなど Vista の MF が対応していないオブジェクトを持つ ASF は従来どおり DirectShow + FSDK です。WMP12 では MF です。ですので個人的には H.264 ビデオデコーダを MFT として開発すれば再生は可能ではないかと思いますが、その場合でもWMP12 としてはサポート外となることをどうかご理解いただければと思います。

    よろしくお願いいたします。

  3. たかはし says:

    お返事ありがとうございます!

    大変詳しい情報をありがとうございます。MSDNにもMFTの詳しい情報が載っているようなので、頑張って勉強してみたいと思います。また日本語で情報を公開してくださっている方もいらっしゃるので、ぜひ参考にさせて頂こうと思っています。MSDNでも日本語情報があるとさらに有り難いです!が、贅沢ばかり言っていてはいけませんね。

    まだまだ前途多難だと思いますが、お陰様で少し道が開けました。ありがとうございました。

Skip to main content