2009/04/25 更新
TvqDec - TwinVQ Parser&Decoder Filter Ver.0.02 Copyright (C) 2007-2009 K.Takata 1.概要 DirectShow 対応のソフトで、TwinVQ ファイルを再生できるようにするた めの DirectShow フィルタです。 TwinVQ (*1) は、NTT が開発した音楽圧縮技術で、MP3 よりも圧縮率が高 いと言われ、MPEG-4 などにも採用された技術です。(結局ほとんど普及し ませんでしたが。) このフィルタを使うと、TwinVQ 形式のファイル(拡張 子 .vqf)が、Windows Media Player や、拙作の smmp などの DirectShow 対応のソフトで再生できるようになります。 (*1) http://www.twinvq.org/ 2.動作環境 ・Windows 98/2000/XP/Vista ・DirectX 9.0 以降 ・Visual C++ 6.0 ランタイムライブラリ (msvcrt.dll, msvcp60.dll) 参考) WinXP 以降では msvcrt.dll と msvcp60.dll が最初からインストー ルされているようですが、Win2k 以前では msvcp60.dll がインストー ルされていないようです。その場合は、次の URL から VC++ 6.0 ラン タイムライブラリを入手してください。 http://support.microsoft.com/kb/259403/ja 3.インストール インストール先ディレクトリに、アーカイブファイルの中身をコピーし、 管理者権限で install.bat を実行してください。(Vista の場合は、管理 者権限でコマンドプロンプトを起動してから、install.bat を実行してくだ さい。) Windows Media Player に vqf ファイルをドラッグアンドドロップして音 楽が再生できればインストールは完了です。 なお、インストールの際には、最低限以下のファイルを同じディレクトリ に置いておく必要があります。 TvqDec.ax tvqdec.dll TvqDec_inst.reg install.bat 4.アンインストール 管理者権限で uninstall.bat を実行してください。(Vista の場合は、 管理者権限でコマンドプロンプトを起動してから、uninstall.bat を実行し てください。) uninstall.bat の実行が完了したら、必要に応じてファイルを削除してく ださい。 なお、アンインストールの際には、最低限以下のファイルを同じディレク トリに置いておく必要があります。 TvqDec.ax tvqdec.dll TvqDec_uninst.reg uninstall.bat 5.コンパイル方法 Visual Studio .NET 2003 以降と DirectX SDK (Oct 2004 等)、あるいは Windows SDK 、および、TwinVQ のライブラリとサンプルプログラム (*2) が必要です。また、DirectShow のサンプルに含まれる BaseClasses も必要 です。VS.NET 2003 の代わりに、Windows Driver Kit を使用することも可 能です。 なお、添付のプロジェクトは、DirectX SDK が C:\DXSDK にインストール されており、C:\DXSDK\Samples\C++\DirectShow\BaseClasses に、ビルド済 みの BaseClasses があることを想定しています。インストールディレクト リが異なる場合は、インクルードディレクトリと、ライブラリディレクトリ の位置を設定しなおす必要があります。 (*2) http://www.twinvq.org/technology.html まず、TwinVQ のライブラリとサンプルプログラムから必要なファイルを、 TvqDec のソースを解凍したディレクトリにコピーします。以下のファイル をコピーしてください。なおコピーの際は、ディレクトリ構造を保たず、展 開した状態にしてください。 TestDec\ bfile.cxx bfile.h bstream.cxx bstream.h Chunk.cxx Chunk.h HeaderManager.cxx HeaderManager.h tvqdec.h twinvq.h exec\Release\ tvqdec.lib 次に、サンプルプログラムにパッチを当てます。 > patch -p2 -T < tvqdec.diff 最後に TvqDec.sln を Visual Studio で開き、ビルドしてください。 WDK でビルドするときは、build コマンドを実行してください。WDK でビ ルドしたときはそのままでは Win98 では動作しませんので、必要に応じて 以下のコマンドを実行してください。 > editbin /subsystem:console,4.0 /release TvqDec.ax 6.参考文献等 ・AAC parser filter for DirectShow http://www.rarewares.org/aac-decoders.php ・mpg123 and MAD DirectShow Filter http://f23.aaa.livedoor.jp/~kanetuki/download.html ・C MAGAZINE 2000年12月号 pp.12-29 「TwinVQ」 ・C MAGAZINE 2001年11月号 pp.134-141 「DirectShowプログラミングの基礎」 ・The DirectShow Unraveled http://www.firefly-vj.net/dshow/ 7.開発履歴 2007/11/19 ・開発開始。 2007/12/08 Ver.0.00 ・最初の公開版。 2008/02/02 Ver.0.01 ・ファイル末尾で再生位置が正しく取得できない場合があったのを修正。 2009/04/25 Ver.0.02 ・Windows Driver Kit 6001.18002 を使ってコンパイル。それにより、 VC++ 7.1 ランタイムライブラリの代わりに VC++ 6.0 ランタイムラ イブラリを使うように変更。 ・DLL ベースアドレスを設定。 8.ライセンス ・本ソフトウェアはフリーソフトです。 ・本ソフトウェアは無料で使用できますが、これを使用することで何らかの 問題が発生しても作者はいっさいの責任を負いません。各自の責任で使用 してください。 ・tvqdec.dll は NTT の著作物です。tvqdec.dll のライセンスは、 nocom_libS.html, nocom_libE.htm を参照ください。 ・ソースファイルのうち、以下のファイルは、Microsoft のサンプルプログ ラムを改変したもので、"AAC parser filter for DirectShow" に付属し ているものです。 Parser.cpp, Parser.h, puller.cpp, puller.h ・BSD ライセンスの表記があるソースファイルについては、BSD ライセンス に従った利用が可能です。 9.連絡先 作者 : K.Takata(高田 謙) URL : http://webs.to/ken/ http://homepage3.nifty.com/k-takata/