Ut Video Codec Suite 10.2.2 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、DMO、QuickTime(Mac のみ)をサポートします。内部保持形式は RGB、RGBA、YUV422、YUV420 をサポートします。
動作環境
必須環境 (Windows x86)
- OS
- Windows XP 以降
- CPU
- SSE2 をサポートする i686 以降の CPU
(Intel だと Pentium 4 以降)
必須環境 (Windows x64)
- OS
- Windows Vista (x64) 以降
- CPU
- AMD64 あるいは Intel 64(旧称 EM64T)をサポートする CPU
必須環境 (Mac OS X)
- OS
- Mac OS X 10.6 Snow Leopard 以降
- CPU
- SSE2 をサポートする i686 以降の CPU
(Intel Mac でこれに該当しないものは存在しません)
推奨環境
- CPU
- Intel Core 2 シリーズ以降
FourCC 一覧
FourCC | 内部保持形式 | 対応フォーマット(優先度順) |
VCM / DMO | QT |
ULRA | RGBA 4:4:4:4 8bit フルレンジ | RGBA | ARGB |
ULRG | RGB 4:4:4 8bit フルレンジ | RGB24 RGB32 | RGB ARGB |
ULY2 | YCbCr 4:2:2 8bit リミテッド | YUY2 (YUYV YUNV) UYVY (UYNV) RGB24 RGB32 | RGB ARGB |
ULY0 | YCbCr 4:2:0 8bit リミテッド | YV12 YUY2 (YUYV YUNV) UYVY (UYNV) RGB24 RGB32 | RGB ARGB |
- VCM と DMO では、対応入力フォーマットと対応出力フォーマットは同じです。
- QuickTime では、デコードしかできません。
- RGB 系のフォーマットにおける「8bit フルレンジ」とは、R,G,B=0-255 のものを指します。YUV 系のフォーマットにおける「8bit リミテッド」とは、Y=16-235, U,V=16-240 のものを指します。
- 太字はネイティブな(=色空間の変換が発生しない)フォーマットです。可能な限りこのフォーマットで入出力することが推奨されます。
- カッコ内は、その前に書いてあるものと FourCC が異なるだけで中身が同じフォーマットです。例えば、YUY2 と YUYV と YUNV は中身が同じフォーマットです。
寄付について
Ut Video Codec Suite はフリーソフトウェアです。開発を支援するための寄付は常に歓迎しております。詳細は作者のblogの「寄付について」ページをご覧ください。
開発環境
Windows
- 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)
- NASM 2.9.10
- AMD CodeAnalyst for Windows v3.1
- Inno Setup 5.4.2 (ANSI)
Mac OS X
- OS
- Mac OS X 10.7 Lion
- CPU
- Intel Core i5-2415M
- RAM
- DDR3-1333 8GB
- 開発ツール
- Xcode 3.2.6
- NASM 2.9.10
改版履歴
バージョン 10.2.2
- バグ修正
- Windows Vista x64 と Windows XP x64 で、x86 VCM コーデックの登録に失敗していた。
バージョン 10.2.1
- その他
- Windows で、インストーラを Inno Setup ベースにし、x86 と x64 で単一のインストーラになるようにした。
バージョン 10.2.0
- 性能向上
- Mac で、Windows 版と同程度にアセンブラ化した。
バージョン 10.1.0
- 性能向上
バージョン 10.0.3
- バグ修正
- Windows で、入出力の幅と高さが一致していることをチェックしていない。
バージョン 10.0.2
- バグ修正
- Windows で、デコード時に稀にクラッシュすることがある。
バージョン 10.0.1
- バグ修正
- Windows で、グローバル設定で「コーデック側で設定をグローバルに保持する」にしていると、コーデックを読み込んだときにクラッシュする。
- その他
- Mac で、ベース SDK を 10.6 から 10.5 にした。
バージョン 10.0.0
- 機能追加
- QuickTime for Mac 用コンポーネントを追加した。RGB24/ARGB32 へのデコードのみ。とても遅い。
- その他
バージョン 9.0.3
- バグ修正
- ULY2: DMO エンコーダで、RGB24/32 以外のフォーマットで入力すると、自分で提示した出力フォーマットを受け入れていなかった。
- ULY0: DMO エンコーダで、RGB24/32 以外のフォーマットで入力すると、自分で提示した出力フォーマットを受け入れていなかった。
- その他
- DMO エンコーダおよびデコーダで、入出力フォーマットをチェックする際に、一部のパラメータをチェックしないようにした。
バージョン 9.0.1
- バグ修正
- DMO デコーダで、出力フォーマットを列挙する際に矛盾したフォーマットを返していた。
バージョン 9.0.0
- 機能追加
- DMO インターフェースでデコーダを使えるようにした。
バージョン 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
- その他
バージョン 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
- バグ修正
バージョン 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
- RGB のためのコーデック (FourCC: ULRG) を追加した。
バージョン 2.2.0
バージョン 2.1.0
バージョン 2.0.0
バージョン 1.1.3
一般公開された最初のバージョン。
製作者のサイト