avs2pipemod-20111230.zip
https://github.com/chikuzen/avs2pipemod
*ビデオ出力処理をavs2pipeの最新のものから移植。
久しぶりにdoobry氏がDoom9に現れgithubのレポを公開しました。
さっそく最新のコードを見てみると…うーむ、こんな手があったのか。
手元のベンチマーク結果をみてもこれのほうが速かったので、早速パクりました。
つくづく彼のコードは自分にとって素晴らしい教材です。
追記
たくあん氏から、以前のバージョンより遅くなっているとの報告を受けたので、検証して見ました。
#sample.avs LoadPlugin("DGDecode.dll") MPEG2Source("1400x1080x2990frames.d2v", idct=3) これを前回(20110911)と今回(20111230)で比較 pattern1: $ time avs2pipemod -y4mp sample.avs > sample.y4m pattern2: $ time avs2pipemod -y4mp sample.avs | x264 - --demuxer y4m --preset ultrafast -o sample.264 pattern3: $ time avs2pipemod -y4mp sample.avs | x264 - --demuxer y4m --preset medium -o sample.264 それぞれを3回ずつ回すと(数値はエンコード終了までの時間) pattern 1 | pattern2 | pattern3 20110911 20111230 | 20110911 20111230 | 20110911 20111230 1st(sec) 122.094 112.451 | 39.919 42.416 | 181.153 183.238 2nd(sec) 122.200 113.405 | 40.099 42.426 | 183.994 182.490 3rd(sec) 118.490 114.094 | 39.976 42.716 | 184.112 182.664 avg(sec) 120.928 113.317 | 39.998 42.519 | 183.086 182.797他のエンコーダにpipeせず、直接y4mやrawで保存する場合は20111230のほうが速いです。
そして、他のエンコーダにpipeした場合は、以前の方が速くなります。
エンコーダ側の設定がある程度重くなると律速する…どうしようかなぁ…。
現実的な使用例を考えるとpattern2よりも1か3の使い方のほうが多いと思いますので、このまま行くことにします。