2011年12月31日土曜日

avs2pipemod その9

更新しました。

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の使い方のほうが多いと思いますので、このまま行くことにします。

0 件のコメント:

コメントを投稿