TvqDec - TwinVQ Parser&Decoder Filter

2009/04/25 更新

ダウンロード

TvqDec について



            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/

戻る

Copyright (C) 2007-2009 K.Takata