Avisynth MT

「Avisynth MT」の編集履歴(バックアップ)一覧に戻る

Avisynth MT - (2010/12/13 (月) 14:48:30) のソース

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

***ダウンロード
ダウンロードサイト:[[tsp's avisynth filters>http://avisynth.org/tsp/]]の[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)