Ut Video Codec Suite 9.0.0 readme (日本語)


英語

Ut Video Codec Suite
Copyright © 2008-2011 UMEZAWA Takeshi

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA

日本語

Ut Video Codec Suite
Copyright © 2008-2011 梅澤 威志

このプログラムはフリーソフトウェアです。あなたはこれを、フリーソフ トウェア財団によって発行された GNU 一般公衆利用許諾契約書(バージョ ン2か、希望によってはそれ以降のバージョンのうちどれか)の定める条件 の下で再頒布または改変することができます。

このプログラムは有用であることを願って頒布されますが、*全くの無保 証* です。商業可能性の保証や特定の目的への適合性は、言外に示された ものも含め全く存在しません。詳しくはGNU 一般公衆利用許諾契約書をご 覧ください。

あなたはこのプログラムと共に、GNU 一般公衆利用許諾契約書の複製物を 一部受け取ったはずです。もし受け取っていなければ、フリーソフトウェ ア財団まで請求してください(宛先は the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA)。

概要

Ut Video Codec Suite は、VCM コーデック(一般的には VfW コーデックと呼ばれる)および DMO コーデックとして実装された Windows 用ロスレス映像コーデックです。現在のところ、内部保持形式は RGB、RGBA、YUV422、YUV420 をサポートします。

動作環境

必須環境 (x86)

OS
Windows XP 以降
CPU
SSE2 をサポートする i686 以降の CPU
(Intel だと Pentium 4 以降)

必須環境 (x64)

OS
Windows Vista (x64) 以降
CPU
AMD64 あるいは Intel 64(旧称 EM64T)をサポートする CPU

推奨環境

CPU
Intel Core 2 シリーズ以降

インストールに関する注意

FourCC 一覧

FourCC内部保持形式対応フォーマット(優先度順)
ULRARGBA 4:4:4:4 8bit フルレンジRGBA
ULRGRGB 4:4:4 8bit フルレンジRGB24
RGB32
ULY2YCbCr 4:2:2 8bit リミテッドYUY2 (YUYV YUNV)
UYVY (UYNV)
RGB24
RGB32
ULY0YCbCr 4:2:0 8bit リミテッドYV12
YUY2 (YUYV YUNV)
UYVY (UYNV)
RGB24
RGB32

寄付について

Ut Video Codec Suite はフリーソフトウェアです。開発を支援するための寄付は常に歓迎しております。詳細は作者のblogの「寄付について」ページをご覧ください。

開発環境

OS
Windows 7 Ultimate x64
CPU
Intel Core i7-2600K
RAM
DDR3-1600 16GB
開発ツール
Visual Studio 2005 SP1
Windows SDK for Windows Server 2008 and .NET Framework 3.5 (Windows SDK 6.1)
AMD CodeAnalyst for Windows v3.1

改版履歴

バージョン 9.0.0

機能追加

バージョン 8.5.2

バグ修正
  • utv_vcm.dll のインストール先が間違っており、VCM インターフェースでコーデックが使えなかった。

バージョン 8.5.1

バグ修正
  • ULY2: x64 版で RGB からエンコードする時に、映像が壊れたりエンコーダがクラッシュしたりする可能性がある。
その他
  • utvideo.dll から VCM インターフェースを分離して utv_vcm.dll とした。

バージョン 8.5.0

性能向上
  • 共通: x86 でのデコードを 10% ほど高速化した。
  • 共通: x64 版をアセンブラ化し、おおむね x86 版と同程度の速度にした。

バージョン 8.4.0

性能向上
  • ULRG: デコード速度優先でエンコードされたものの RGB24 や RGB32 へのデコードを高速化した。Core 2 で x86 の場合 14% ほど、x64 の場合 6% ほど。
  • ULRA: デコード速度優先でエンコードされたものの RGBA へのデコードを高速化した。Core 2 で x86 の場合 17% ほど、x64 の場合 6% ほど。

バージョン 8.3.0

性能向上
  • ULY2: デコード速度優先でエンコードされたものの YUY2 や UYVY へのデコードを高速化した。Core 2 で 12% ほど。
  • ULY0: デコード速度優先でエンコードされたものの YV12 へのデコードを高速化した。Core 2 で 5% ほど。
その他
  • ULY2: YVYU と VYUY での入出力のサポートを廃止した。
  • ULY0: YVYU と VYUY での入出力のサポートを廃止した。

バージョン 8.2.1

その他
  • ULY2: デコード時に RGB32 で出力する場合、安全のためアルファチャンネルと解釈されうるフィールドは 255 で埋めるようにした。
  • ULY0: デコード時に RGB32 で出力する場合、安全のためアルファチャンネルと解釈されうるフィールドは 255 で埋めるようにした。

バージョン 8.2.0

性能向上
  • 共通: デコードを高速化した。Core 2 で x86 の場合 20〜30% ほど、x64 の場合 20〜40% ほど。

バージョン 8.1.0

機能追加
  • エンコーダの設定をコーデック側でグローバルに保持できるようにした。
  • コーデックを使う側(編集ソフトなど)からの設定変更を無視できるようにした。

バージョン 8.0.0

機能追加
  • DMO インターフェースでエンコーダを使えるようにした。
その他
  • x64 版のインストーラには x64 バージョンの DLL のみが含まれるようにした。
  • x86 版のインストーラを x64 Windows にインストールできるようにした。

バージョン 7.1.1

その他
  • DLL をフルパスで登録するようにした。

バージョン 7.1.0

性能向上
  • Athlon 系プロセッサで発生するパフォーマンスの劇的な低下を改善した。

バージョン 7.0.4

その他
  • コーデックをシステムに登録する方法を(また試験的に)変更した。

バージョン 7.0.3

その他
  • コーデックをシステムに登録する方法を(試験的に)変更した。

バージョン 7.0.2

その他
  • x86 版のインストーラで x64 Windows にインストールできないようにした。
  • 文言を多少調整した。

バージョン 7.0.1

バグ修正
  • x64 版のインストーラで、環境によっては DLL が期待通りに登録されない。
その他
  • コーデックの表示名が長すぎて、名前を表示するところに収まらないことがあるため、表示名を短くした。

バージョン 7.0.0

機能追加
  • x64 バージョンを追加した。x64 バージョンのインストーラには x64 バージョンと x86 バージョンの両方の DLL が含まれる。
その他
  • DLL のインストール先を Program Files 以下から System32/SysWOW64 以下に変更した。

バージョン 6.1.0

機能追加
  • 共通: フレーム分割数を論理プロセッサ数と同じにするオプションを追加した。

バージョン 6.0.2

その他
  • 6.0.1 でパッケージングにミスを発見したのでやりなおした。

バージョン 6.0.1

その他
  • ダイナミックリンクからスタティックリンクに変更した。

バージョン 6.0.0

機能追加
  • 共通: インターレース映像に対する特別な処理を追加した。
バグ修正
  • ULY0: 縦長の映像を扱うとクラッシュする可能性があった。

バージョン 5.3.1

バグ修正
  • ULY0: フレーム分割の方法が間違っていた。

バージョン 5.3.0

機能追加
  • ULY0: エンコード時に YUY2 で入力できるようにした。とりあえず作っただけなので、YUY2 入力時のエンコードは遅い。
  • ULY0: デコード時に YUY2 で出力できるようにした。とりあえず作っただけなので、YUY2 出力時のデコードは遅い。

バージョン 5.2.3

バグ修正
  • 共通: 特定の性質を持つフレームをエンコードする際に、稀にフレームが破損する。

バージョン 5.2.2

その他
  • 5.2.1 でパッケージングにミスを発見したのでやりなおした。

バージョン 5.2.1

その他
  • 5.2.0 でパッケージングにミスを発見したのでやりなおした。

バージョン 5.2.0

機能追加
  • ULY2: エンコード時に RGB32 で入力できるようにした。アセンブラ化済み。
  • ULY0: エンコード時に RGB32 で入力できるようにした。とりあえず作っただけなので、RGB32 入力時のエンコードは遅い。
  • ULY0: デコード時に RGB32 で出力できるようにした。とりあえず作っただけなので、RGB32 出力時のデコードは遅い。

バージョン 5.1.2

その他
  • 5.1.1 でパッケージングにミスを発見したのでやりなおした。

バージョン 5.1.1

バグ修正
  • ULY0: デコード時に、出力イメージのサイズ(バイト数)が正しく設定されないことがある。ULY0 以外ではこの問題はない。

バージョン 5.1.0

機能追加
  • ULY0: エンコード時に RGB24 で入力できるようにした。とりあえず作っただけなので、RGB24 入力時のエンコードは遅い。
  • ULY0: デコード時に RGB24 で出力できるようにした。とりあえず作っただけなので、RGB24 出力時のデコードは遅い。

バージョン 5.0.0

機能追加
  • YUV420 のためのコーデック (FourCC: ULY0) を追加した。
その他
  • 設定を行わない場合は「デコード速度優先」で動作するようにした。
  • ULY2: 横幅が偶数のもののみ扱えるようにした。

バージョン 4.1.0

性能向上
  • 共通: エンコードをほんのわずかだけ高速化した。
  • 共通: デコードをほんのわずかだけ高速化した。

バージョン 4.0.2

その他
  • ULRG: デコード時に RGB32 で出力する場合、安全のためアルファチャンネルと解釈されうるフィールドは 255 で埋めるようにした。
  • 共通: エンコード時に出力の biBitCount には入力の実効ビット数を設定するようにした。

バージョン 4.0.1

その他
  • 4.0.0 でパッケージングにミスを発見したのでやりなおした。

バージョン 4.0.0

機能追加
  • RGBA のためのコーデック (FourCC: ULRA) を追加した。

バージョン 3.8.0

機能追加
  • 共通: Predict left フレーム内予測方式を追加した。手元の計測では、今までの実装(Predict median)と比較して、エンコード速度ほぼ同じ、圧縮率 10% 低下(ファイルサイズが 10% 増える)、デコード速度 50% 向上(デコード時間が 30% 強短くなる)。

バージョン 3.7.0

性能向上
  • 共通: デコードを高速化した。Core 2 の場合で 9% 程度。
  • ULY2: RGB24 からのエンコードを高速化した。Core 2 の場合で 9% 程度。

バージョン 3.6.0

性能向上
  • ULY2: RGB24 からのエンコードをアセンブラ化により高速化した。Core 2 の場合で 42% 程度。これでシングルスレッドでも Huffyuv (Predict median) より有意に速くなった。

バージョン 3.5.0

機能追加
  • ULY2: デコード時に RGB24 で出力できるようにした。最初からアセンブラバージョンがある。
バグ修正
  • ULY2: RGB24 エンコード時に、横幅が 4 の倍数ではない場合、映像の右端にゴミが発生する。

バージョン 3.4.0

機能追加
  • ULY2: エンコード時に RGB24 で入力できるようにした。例によってとりあえず作っただけなので、RGB24 入力時のエンコードは遅い。
バグ修正
  • ULY2: RGB32 デコード時に出力フォーマットの biHeight の正負を見ていないため、環境によっては上下が反転してデコードされる。

バージョン 3.3.1

バグ修正
  • 共通: エンコーダを使う側のソフトによっては、エンコードを開始すると不正な処理で落ちる。
その他
  • 設定ダイアログのタイトル文字列を適切なものに変更した。
  • バージョン情報ダイアログにバージョンを表示するようにした。

バージョン 3.3.0

性能向上
  • 共通: デコードを高速化した。Core 2 の場合で 20% 程度。これでシングルスレッドでも Huffyuv (Predict median) より有意に速くなった。
  • 共通: エンコードを高速化した。Core 2 の場合で 8% 程度。
  • ULY2: RGB32 へのデコードをアセンブラ化により高速化した。Core 2 の場合で 47% 程度(前述の共通の高速化の効果を含む)。
バグ修正
  • 共通: 処理できないフォーマットを渡してエンコード/デコードを開始しようとしてもエラーにならない。

バージョン 3.2.0

機能追加
  • ULY2: デコード時に RGB32 で出力できるようにした。とりあえず作っただけなので、RGB32 出力時のデコードは遅い。
バグ修正
  • ULRG: フレーム分割の方法が間違っていた。この修正により、フレーム分割数が 1 ではない場合、3.1.0 以前の ULRG との互換性は失われる。

バージョン 3.1.0

機能追加
  • ULY2: YUYV, YUNV, UYVY, UYNV, YVYU, VYUY のサポートを追加した。
  • ULRG: RGB32 のサポートを追加した。
バグ修正
  • ULRG: WMP で再生しようとすると不正な処理で落ちるのを修正した。

バージョン 3.0.0

バージョン 2.2.0

バージョン 2.1.0

バージョン 2.0.0

バージョン 1.1.3

一般公開された最初のバージョン。


製作者のサイト