Avisynth MT


※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。

AvisynthMTとは

Avisynthのフィルタをマルチスレッド(Multi-Threaded)で処理するプラグイン
4コア以上で劇的な速度向上が期待できる
ちなみにGPUプラグインには使えない

ダウンロード

ダウンロードサイト:tsp's avisynth filtersの[MT (MultiThreading in avisynth) version 0.7. Contains MT and a modified multithreaded version of avisynth 2.5.7]

インストール

ダウンロードした[MT_07.zip]を解凍

[MT.dll]をAvisynthのインストールフォルダの[plugins]フォルダにコピーする

[avisynth.dll]を既存の[avisynth.dll]と置き換える、要バックアップ
既存のavisynthは[C:\Windows\System32]やWin7 64bitに32bit版Avisynthをインストールしているなら[C:\Windows\SysWOW64]などにある
見つからないときはフォルダ検索すると見つかる

モードの特徴

mt

画面を分割して各コアでエンコードする方法
インターレース解除や逆テレシネを行っても問題ない
画面を分割しているためリサイズクロップに工夫が必要
工夫の仕方は調査中

SetMTMode

コアごとに別のフレームを処理させる方法
インターレース解除は逆テレシネがうまくいかないことがある
リサイズクロップは普通に処理できる

記述方法

mt

mt("○",x,y)
○のところにマルチスレッディングさせたいフィルタを記述する
xにはCPUのコア数、yにはモードを書く
モード 1 は、最も高速ですが、ごくわずかなフィルタに関してのみ動作します。
モード 2 は、たいていのフィルタで動作しますが、より多くのメモリを使用します。
モード 3 は、モード 2 で動作しないフィルタのいくつかで動作しますが、より低速になります。
モード 4 は、モード 2 と 3 を組み合わせたものでさらに多くのフィルタで動作しますが、より低速でメモリもより多く使用します。
モード 5 は、最も低速(SetMTMode を使用しない場合よりも遅い)ですが、直線的なフレームサービング(すなわち、フレームが 0,1,2,...,ラストのように順番に来る)を要求しないすべてのフィルタで動作するはずです。
モード 6 は、モード 5 を修正したもので、若干速くなっているかもしれません。



mt("WarpSharp(depth=128,blur=2,bump=80,cubic=-0.6)",4,2)

SetMTMode

SetMTMode(y,x)


○のところにマルチスレッディングさせたいフィルタを記述する
xにはCPUのコア数、yにはモードを書く
モードを変更させたいときはSetMTMode(y,x)を挿入する
各モードについては上記のMTを参照


SetMTMode(3,4)
TIVTC24P2()
SetMTMode(2,4)
WarpSharp(depth=128,blur=2,bump=80,cubic=-0.6)