機能追加
  • DMO インターフェースでコーデックを使えるようにした。
その他
  • x64 のパッケージには x64 の DLL のみを含めることにし、x86 のパッケージも x64 Windows にインストールできるようにした。

readme 日本語 英語 / インストーラ x86 x64 / ソース

結局、x64 と x86 は分けてパッケージングすることにしました。そちらの方が「技術的に素直」だからです。今までアンケートとってたのは何だったのよ、と言われそうですけど…。あ、パッケージング上のミスで、この点は readme には書いてありませんが、めんどくさいのでこのままリリースします(次のリリースではきちんと書いておきます)

分けてパッケージングされたことで、x64 Windows 上で x64 版の 7.0.0 ~7.1.1 を使っている人は、バージョンアップ手順に注意が必要です。アップグレードインストールする際は、まず x64 の 8.0.0 をインストールしてから、x86 の 8.0.0 をインストールする必要があります。逆だと x64 版の 8.0.0 をインストールした時点で x86 版の DLL が消えてしまいます。もちろん、一旦旧版をアンインストールした場合は、x64 版と x86 版のどちらを先にインストールしても問題ありません。

さて、以前の記事で、DMO コーデックを使うことで「VCM コーデックを DirectShow 環境で使ったときにエンコード設定が期待通り反映されない問題が解消される」かもしれないと書きましたが、開発中にフォーマットのネゴシエーションのされ方を見ていた限り、解消されないようです。どうやら FourCC UExx の導入は必須のようです…

Trackback

4 comments untill now

  1. バグ報告はこちらでよろしいのでしょうか・・・?
    UtVideo 8.0.0 インストーラのバグ?報告です。
    DMOおよびDirectShowへの登録、間違えてないでしょうか?
    UtVideo 8.0.0 x64とx86のインストール順番を変えたときに、x86およびx64コーデックの
    登録状況がどう変わるか、Video Codec List 1.0.0 を使って調べました(OS: WinXP 64bit)。

    インストール順番=x86->x64のとき:
     x86:VCM: x86 DMO: x64 DirectShow: x86, x64
     x64:VCM: x64 DMO: x64 DirectShow: x64
    インストール順番=x64->x86のとき:
     x86:VCM: x86 DMO: x86 DirectShow: x86
     x64:VCM: x64 DMO: x86 DirectShow: x86
    使用OS: WinXP x64

    いずれのインストール順でも、DMOとDirectShowの登録状況がおかしくなっています。

  2. 梅澤 威志 @ 2010-08-08 17:02

    ご報告ありがとうございます。WinXP x64 は(私が持ってないので)サポート外なのですが…というのはとりあえずおいといて、すみません、表の読み方が分かりません…

    ただ、WinXP x64 と Vista/Win7 x64 とで、登録時の挙動が多少違っている、という話はたまに聞きます。

  3. すみません、必須条件にVista以降とありましたね・・・。失礼しました。
    これだけではアレなので、ご参考までに表、書き直します。
    Video Codec List 1.0.0を使って、VCM(x86)やDMO(x64)等にどのUtVideo Codecが
    登録されているか調べました。その結果、以下のようになりました。

    インストール順番=x86->x64のとき:
     x86のVCM: x86Codec x86のDMO: x64Codec x86のDirectShow: x86Codec, x64Codec
     x64のVCM: x64Codec x64のDMO: x64Codec x64のDirectShow: x64Codec
    インストール順番=x64->x86のとき:
     x86のVCM: x86Codec x86のDMO: x86Codec x86のDirectShow: x86Codec
     x64のVCM: x64Codec x64のDMO: x86Codec x64のDirectShow: x86Codec
    VCMはいずれのインストール順でもx86にはx86のコーデック、x64にはx64のコーデックが
    登録されていますが、DMOは後からインストールしたCodecにより上書きされています。
    DirectShowは、x86とx64で挙動が異なっています。

  4. 梅澤 威志 @ 2010-08-11 17:27

    Windowsにおいては、x64のプロセスからはx64のDLLしか読み込めない(x86も同様)し、同様にDMOも登録できないので、インストールの順序によってx86でx64のDMOが登録されているのが見える(しかもx86のは見えない)のは不思議ですね…なんなんでしょう…

Add your comment now