Windows 10 がリリースされたので手元の VM 上で動作確認をしていたのですが、ULRA な AVI のエクスプローラー上でのサムネイルが上下反転するという症状が確認されました。

Windows Vista 以降では、エクスプローラー上でのサムネイルの生成はまず MFT (Media Foundation Transform) 版のコーデックを使ってデコードしようとする(ダメだったら DirectShow にフォールバックする)のですが、そこに問題があるようです。ざっと調べたところ、コーデックを使う側が渡してくるバッファがトップダウンかボトムアップかが Windows によって異なるらしいということは分かりましたが、何故かそれを判別できないようです。単に私の MFT に対する理解が浅いだけなんですけど。

MFT 版はバージョン 12.0.0 の時に「うっかり実装してしまった」ものなのですが、MFT 版って私の知る範囲では Windows Media Player とエクスプローラー上でのサムネイルの生成でしか使われておらず、調査に苦労して解決しても別段得しないので、MFT 版は廃止することにします。

将来、MFT 版がどうしても必要になったら、その時にまた追加するでしょう。

10.7 Lion 以降は “Mac” が取れて “OS X” らしいんですがまあそれはともかく。

今の Ut Video Codec Suite の Mac 版は Mac OS X 10.5 SDK を使ってビルドされていて、readme の表記では 10.6 以降をサポートすることになっていますが、近いうちに 10.8 以降をサポートするように変更します。

Apple は OS X は「最新の2つ前」までには重大なセキュリティフィックスをリリースするように「見える」(他の OS ベンダーと違って一切明言されていない!)ので、10.10 Yosemite が出ている現在では 10.8 Mountain Lion までということになります。10.8 でも出てないセキュリティフィックスがあるようなので、Apple としては既に最新のしかサポートしないようになってるのかもしれませんが。

ちなみに、Windows 版は Visual Studio 2013 (Visual C++ 2013) と最近の Windows SDK を使ってビルドして Vista 以降をサポートすることになっていますが、新しい Windows の機能は使っていないので、動くか動かないかという点だけで言うと XP でも動くはずです。一方 Mac の場合は、新しい SDK を使ってビルドすると、新しい OS の機能を一切使っていなくても、その SDK のターゲットバージョン以降でないと動かなくなります。

機能追加
  • 診断用ログを出力する機能を追加した。
バグ修正
  • ULRA, ULRG: 「圧縮率優先」かつインターレースでエンコードした映像を RGBA/RGB32 で出力すると壊れていた。

Read the rest of this entry

先ほど Play ストアにアップロードしました。数時間後には公開されるはずです。

バグ修正
  • 数値の表示形式の選択が機能していなかった。

Read the rest of this entry

その1 その2 の続き。

今のバージョンの vctest は VCM コーデック(だけ)を対象にしています。

Read the rest of this entry

バグ修正
  • Mac 版で、アセンブラルーチンが使用されるように構成されていなかった。

Read the rest of this entry

その1の続き。

1フレームごとに時間を計測しようとするからマイクロ秒精度のタイマーが必要になってダメなんじゃないか、というのはある程度はその通りで、映像ファイル全体を処理する CPU 時間を計測する(もちろんフレームごとの CPU 使用率は計測できない)ことにすれば計測精度に関しては「だいぶマシ」になりますが、これにも問題がたくさんあります。

Read the rest of this entry

まずは一般論から。

このコメントで vctest に CPU 使用率を計測する機能を追加してほしいと言われています。

処理の経過時間は既に計測できているので CPU 時間(使用量)を計測できれば割り算するだけですが、世の中そんなに簡単ではありません。

Read the rest of this entry

その他
  • ウイルス対策ソフトの誤検知への対策のため、多少構成を変えた。

Read the rest of this entry

その他
  • ウイルス対策ソフトの誤検知への対策のため、リビルドして再パッケージした。

Read the rest of this entry