《今日は俺の誕生日だ。健闘を祈る。》

Read the rest of this entry

ニコ動うp用に、久しぶりに H.264 ではなく VP6 でエンコードしてるのだけど…

ものっそい遅い

マルチスレッド動作しないからなぁ…

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

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

「より速いコーデック」はあきらめることにしましたが、実装過程で細かい変更を行ったので、それをリリースすることにします。

エンコードテーブルやデコードテーブルを生成する処理を劇的に高速化しました(具体的な数値に関しては忘れました)。それがどれくらい効いてくるのかという話になるわけですが、テーブルの生成は全体の 1% 程度でしかないので、せいぜい 0.5% 程度の高速化になります。たぶん計測誤差に埋もれます。

最近、メインマシンが起動後数分すると高い確率でハングアップするようになりました。ハングアップした後 30 秒ぐらいすると勝手にリセットがかかります。次に上がってきたときにはハングアップしないようなので、毎回 NTFS のジャーナルをロールバックしていて気持ち悪いことを除けばたいした害はないのですが。

なんでハングアップするのか全く心当たりがないので、ひとまずハードウェア的なものかと思ってCPUやメモリクロックダウンしてみたけど変わりません。そういえばオーバークロック状態を解除したあたりからハングアップするようになったなぁ、ということで、まさかとは思いつつオーバークロック状態にしてみましたが、やっぱり同じようにハングアップします。

一体どうしちゃったのかしら…

前の記事で、バイト数を数えるのが面倒な人はファイルに保存して云々、と書きましたが、それもやっぱり面倒なことには変わりがないので、入力フォームに文字列を入れるとバイト数を数えてくれる HTML ファイルを作りました。改造やお持ち帰りはご自由にどうぞ。

作ったのは昨晩なのですが、説明文で春香さんが奇声を上げる P説明文の AA に定評のある P には好評のようです(笑)

性能向上
  • ImasMultiColorKeying2 をマルチスレッド化した。

Read the rest of this entry

どれくらいの人が気づいているか分かりませんが、現在のバージョンでは横幅が 4 の倍数でなければいけないといった制約はなく、それどころか奇数でも動くようになっています。奇数でも動くようにするために、プログラム側(特にアセンブラバージョン)では、かなり汚い部分があります。アライメントの問題もありますし、できればこういうのはナシにしたいところです(今更

Read the rest of this entry

Huffyuv と本質的には同じ処理を、とりあえずエンコードの部分だけ実装したんですが、計測したところ期待したような速さにはなってなくて、Huffyuv と同じ速さにしかなってませんでした。ループの回り方が以前の Ut Video Codec Suite のものと若干異なるのですが、期待した速度になっていないのはそれが原因なのかも…(確証なし)。すごい苦労して実装して速度が同じとか徒労感で泣ける。

これ以上のアセンブラレベルでの最適化は無理っぽいので、このままだと「Huffyuv より圧縮率が悪くてエンコード速度が同じ」というものが出来上がってしまいます(デコード速度は作っていないのでまだ不明)。これじゃ作る意味ないよなぁ…。あきらめて、書いたコードを捨てて YUV420 対応に進むべきなんでしょうか。

この程度の情報、どこかに載っていても良さそうなものなのだけど、ググり方が悪いのか見つからなかったので、SMILEVIDEO の挙動を実験的に調べてみた。

Read the rest of this entry

やよい…恐ろしい子!(白目

Read the rest of this entry