可逆圧縮スレで「キーフレーム率の設定ができねーぞゴルァ!」と怒られた気がするので設定できるようにしました。

配布ファイル (zip)

Read the rest of this entry

ちょこっとだけベンチマークをとった結果を書いときます。エンコードするソースの選定は間違ってるかも知れない(笑)。こういうソースにしろよ、という意見はコメントあたりでお願いします。

Read the rest of this entry

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

readme ファイル/(英語) インストーラ(msi 形式) ソース

ULRG に RGB32 で渡すソフト(たとえば TMPGEnc)からエンコードして、できた AVI ファイルを Premiere に渡すとアルファチャンネル付き映像だと思って読み込まれるのですが、その時にアルファチャンネルだと解釈される場所は 0 (完全透明)で埋めていたので、一見真っ黒な(正確には透明な)映像になっていました。このバージョンでは 255 (完全不透明)で埋めるようになったのでこの現象がなくなります。また、このバージョンでエンコードした AVI ファイルは Premiere に渡してもアルファチャンネル無しとして読み込まれます。

# コーデックのベンチマーク終わらん…

ソースやエンコード後のサイズが2GBを超えていると、圧縮率まわりの表示がおかしくなるので修正しました。

配布ファイル (zip)

Read the rest of this entry

コーデックの速度でも計測してみるか、と思ったのですが、普通のエンコードソフトを使って計測する場合は余計な処理(ファイルの読み書きとか)にかかる時間まで計測していることになるので、コーデック単体の速度を計測していることになりません。

Read the rest of this entry

「Ut Video Codec Suite」は「ユーティー ビデオ コーデック スイート」と読むんだよ!
「Ut Video Codec Suite」は「ユーティー ビデオ コーデック スイート」と読むんだよ!

大事なことなので2度言ったよ!

# Huffyuv よりは読み方は自明だと思っていたのだが甘かったらしい。
## というか俺釣られた?

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

readme ファイル インストーラ(msi 形式) ソース

いやね、コード自体は 3.8.0 をリリースした後に千早をプロデュースしつつ2時間弱でジェバったんですよ。でもやっぱり動作検証に時間がかかるわけで。ていうか Premiere Elements もアルファチャンネル対応してるんですね。知らなかった。

ちなみに YUV420(YV12 とか)ではなく RGBA を作ったのは、RGBA の方がコードが少ないのと、そっちの方が有用だと考えたからです。YUV420 は YUV422 で代用できないこともないけど、RGBA は他のもので代用できないわけで。(他のものにはアルファチャンネルがないから)

なお、4.0.0 はタグ打った後にパッケージングミスが発覚したのでお蔵入り。

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

readme ファイル インストーラ(msi 形式) ソース

今回はコードの追加量が多いので特にご注意あれ。

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

readme ファイル インストーラ(msi 形式) ソース

肝心のハフマンデコードが速くならないのでそろそろ限界が…

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

readme ファイル インストーラ(msi 形式) ソース

特に言うことは無し!w