29 Nov 2013

VSとAVSの64bit版

L-SMASH-Works r702からLSMASHSource.dllとvslsmashsource.dllの64bit版も同梱しています.
VapourSynthとAviSynthの64bit版について少し.

VapourSynthはr22から64bit版のPythonがインストールされていると64bit版のバイナリもインストールするようになった.64bitなPythonをインストールするのが面倒でしばらく放置していたのだけれど今日漸くインストールすることにした.
インストールする際に指定したディレクトリに
core32, core64, plugin32, plugin64
というように32bit,64bit個別にインストールされ,64bit版のプラグインはplugin64に入れておけばオートロードされる.
ただし,r22 test2以前のtest buildでは64bitのオートロードが上手く動かないのでtest3以降が必要.
手元でvslsmashsource.dllのオートロードが動いてプレビューできることまでは確認したけど実際にエンコードはしていない.

AviSynthに関しては2.5.8ベースであるAviSynth64が既に存在しているが,正直コレは実用に足るものではなくこれを使うなら32bitの2.6alphaをパイプで使用したほうがずっと実用的だった.
ただ,最近AviSynth+の開発が進んで内蔵関数のSoftWire依存が完全に取り除かれ,インラインアセンブラがintrinsicに書きなおされ,64bit版も問題なく使用できるようになった.
AviSynth+は64bit版でなくともかなりの内蔵関数がオリジナルのAviSynthよりも高速化されている.
よく使われるであろうリサイザも当方のsandy環境では高速化されている.ただし,リサイザはCPU依存が大きいようで場合によっては遅くなることもある模様(特にAMDなCPU).
64bit版に移行する際の最大の障壁はプラグインの対応だろうが,重要な(よく使われるという意味)プラグインの幾つかに関しては既にAviSynth+の開発者によって64bit化が進められている(そればかりかintrinsicで書き直されているのでかなり高速化しているものもある.vinverseなど).
ditherなどは既に作者によって64bit化されている(2013/11/29時点でバイナリが公にされているという意味ではない).
更にもう一つの障壁がエディタであろうがAvsPmodの64bit対応も既に始まっており某所でtest buildが公開されている.公式のリリースもそれほど遠い未来ではないだろう.
AviSynth+は更にGScriptが取り込まれているのでfor/while/if文が使用できる.
また,フレームレベルのMTの実装も予定されている.
と,まあオリジナルはなかなか正式版の2.6がリリースされないAviSynthであるがそのforkであるAviSynth+は確実に進歩していっている模様.

ただ,現状私はほぼエンコードしていないという・・・

3 comments:

  1. こんにちは。L-SMASH Works r708 AVIUTL上で複数のmp4をMuxしたファイルがMPC-BEで再生出来ません。r702では再現しません。確認をお願いします。

    ReplyDelete
    Replies
    1. リンクしているL-SMASH側の問題で
      https://github.com/l-smash/l-smash/commit/e29fd955a94cabcc45b33668e200b11f5c5db340
      で修正されました.
      差し替えたので再DLし,確認して下さい.

      Delete
    2. 返信ありがとうございます。
      L-SMASH r827、L-SMASH-Works r708を再度DLして実行したら上手くMuxできました。
      お手数をおかけしました。

      Delete