AviSynthのぺーじ/プリセット1:SelectByString

これは、かつて「にーやんのAviSynthのぺーじ」として公開されていたものを転載したものです。内容は古く、間違いも含まれている可能性があります。より正確で新しい情報を知りたい場合は、AviSynth 付属のヘルプや AviSynth 公式サイトを参考にすることをおすすめします。AviSynth WikiAviSynth入門なども活用してください。

プリセットとは

 プリセットとは、あらかじめ設定されているパラメータのサンプルのことです。

 たとえば、Vlad59氏作のConvolution3Dフィルタ(プラグイン)には、movieHQ、movieLQなど6つのプリセットが用意されています。

 Convolution3Dフィルタでプリセットを指定するには、次のように記述します(movieHQの場合)。

Convolution3D(preset="movieHQ")

 これは、次のように個別にパラメータを指定した時と、まったく同じになります。

Convolution3D(0, 3, 4, 3, 4, 2.8, 0)

 Convolution3Dフィルタには、matrix, ythresh, cthresh, t_ythresh, t_cthresh, influence, debugの計7つの引数があるのですが、プリセットでは、各プリセットごとに、あらかじめ値が割り振られているため、これを一々調整する必要がありません。

 このように、プリセットを利用すれば、細かいパラメータ設定を行わなくても、簡単にフィルタを実行することができます。

 ところで、すべてのフィルタに、このようなプリセットが用意されているわけではありません。

 しかし関数を利用すれば、自分なりのプリセットを設定することができます。

SelectByStringプラグイン

 では、実際にプリセットを持つ関数を作ってみましょう。

 今回は、プリセットの設定に便利な、stickboy氏作のSelectByStringプラグインを使って関数を作成します。

 SelectByStringプラグインは、以下のURLから入手できます。

 SelectByStringの書式は、次の通りです。

# 書式
SelectByString(string s,\
string key1, value1\
[, string key2, value2 [, ...]]\
[, "else"])

  引数 は、次の通りです。

ssearch string
key1, value1search stringがkeyNとマッチしたなら、SelectByStringはvalueNを返す。Keysとvaluesはペアでなければならない。
"else"search stringが見つからない場合に返すデフォルト値。

 KeyN(Nは数字)にプリセット名を、ValueNにKeyNに対応したパラメータ設定を指定します。

 そして、sとKeyNが一致した場合に、ValueNを返すという仕組みになっています。

 ・・・と説明しても、(説明している本人も)何だかよくわからないので、付属の説明書を参考に、実際に関数を作っていくことにします。また、以下のページにも、SelectByStringの使用例が多数掲載されているので、参考にしましょう。

 といったところで、また次回。

最終更新日 2004年8月29日

最終更新日時: 2014-03-12 (水) 23:37:03 (3690d)