Ut Video Codec Suite の x64 版をアセンブラ化するために、Intel のドキュメント等で勉強してたわけですが、一般的な注意点とか自分が遭遇した落とし穴とかについて書いておきます。対象読者狭すぎw

Read the rest of this entry

  • -a オプションを使うとロスレスチェックが行われる状態になっていたのを修正。

配布ファイル (zip)

Read the rest of this entry

そろそろ x64 版のアセンブラ化に着手しようと考えていますが、着手する前に、処理負荷の傾向がどうなっているかを比較しておこうと思います。

Read the rest of this entry

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

Read the rest of this entry

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

Read the rest of this entry

  • -c オプションの有無にかかわらず、常にロスレスチェックが行われる状態になっていたのを修正。

配布ファイル (zip)

Read the rest of this entry

次のバージョンで YVYU と VYUY での入出力を廃止しようとしています。これが廃止されて困る人はまずいないと思うのですが、万が一困るという珍しい人は理由を添えて異議を申し立ててください。

廃止する理由ですが、きっちり検証できないものが実装されたままになっているのはまずいだろうという判断です。じゃあなんで実装したのよと聞かれると困るのですが。

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

Read the rest of this entry

今でも現役で使われている Windows 用可逆圧縮コーデックである Huffyuv ですが、一般に安定版とみなされている バージョン 2.1.1 のソースコードのタイムスタンプを見ると 2000年08月23日になっていて、つまり10周年を過ぎてるんですね。

2000年8月といえば Windows 2000 が出て一般的にも NT カーネルが普及し始めた一方で、Windows Me や Pentium 4 はまだリリースされていない頃です。ドッグイヤーと呼ばれるIT業界なので10年は一昔どころではないのですが、そんな昔から「バージョンアップされずに」使われ続けているというのはすごいことですね。

  • プロセスアフィニティマスクを指定できるようにした。
  • フレームごとの情報を出力しないオプションを追加した。
  • getopt() を NetBSD から移植して使うようにした。

配布ファイル (zip)

Read the rest of this entry