AviSynth入門/書式と引数

はじめに

ほとんどの内蔵フィルタや外部プラグインのマニュアルには、フィルタの書式というものが記されています*1。書式は、フィルタの名前、引数の名前や種類などを定めたもので、そのフィルタを使用する前に、まず確認しなければならないものです。

今回は、前回紹介したKenKunNRフィルタを例に、フィルタの書式と引数について見て行くことにしましょう。

書式の記法

以下の書式は、KenKunNRに書かれているものです*2

KenKunNR(clip, int "strength", int "radius", int "threshold")

一番左の「KenKunNR」がフィルタ名です。そして、カッコの中が、そのフィルタ(この場合は、KenKunNR)で利用可能な引数のリスト(引数リスト)です。

フィルタ名(引数1, 引数2, ...)

もしKenKunNRフィルタを利用したいなら、まずそのフィルタ名を記述し、カッコ(半角の丸括弧)の中に引数を指定します。複数の引数を指定するときは、各引数をカンマで区切ります。

引数リスト

引数リストの内容を、詳しく見てみましょう。

strength, radius, thresholdは、前回も紹介したとおり、KenKunNRフィルタで利用可能な引数の名前(引数名)です。

引数名の前(左)にある「int」は、各引数のタイプ(データ型)を表しています。strength, radius, thresholdは、すべてint型(整数型)の引数であることがわかります。データ型については、AviSynth入門/データ型で、あらためて説明します。

このようにマニュアルにおいて、引数名とデータ型は、基本的に、一対の形で表されます。つまり、フィルタの書式は、以下の形で表現されることになります:

フィルタ名(データ型 引数名, データ型 引数名, ...)

clipについて

AviSynthで利用可能なフィルタの多くは、ビデオ・クリップやオーディオ・クリップに対して処理を行うため、clip型の引数を必要とします。これは、KenKunNRにもあてはまります。

ただし、第1引数がclipである*3場合、「データ型 引数名」という形ではなく、上記の書式のように、単にclipとして記されていることがあります。

また、同じく第1引数がclipであるときに、「clip clip」と書かれていることもあります。この場合、1つ目(左)のclipはデータ型、2つ目(右)のclipは引数名を表します。

省略できる引数と省略できない引数

もう一度、KenKunNRの書式を見てください。

KenKunNR(clip, int "strength", int "radius", int "threshold")

clip以外の3つの引数は、すべて二重引用符(")で囲まれています。

このように二重引用符で囲まれた引数は、名前付き引数での指定が可能で、かつ省略することができます。省略された引数に関しては、あらかじめ設定されているデフォルト値が適用されます*4

KenKunNR(strength=256) # strengthは名前付き引数で指定できる

これに対し、二重引用符で囲まれていない引数は、名前付き引数が使用できず、また省略することもできません*5

なお、フィルタのマニュアルによっては、省略可能な引数を大括弧([])で囲んでいることもあります。

引数の省略の仕方については、AviSynth入門/引数の省略とデフォルト値で、より詳しく解説します。

まとめ

  • フィルタ(関数)の書式
    x.png
    • データ型→AviSynth入門/データ型で解説。
  • 引数名が二重引用符("")で囲まれている引数
    • 省略可。
      • 省略すると、デフォルト値が適用される(デフォルト値が設定されている場合)。
    • 名前付き引数が利用できる。
  • 引数名が二重引用符("")で囲まれていない引数
    • 省略不可。
    • 名前付き引数が利用できない。
  • マニュアルによっては、省略可能な引数を大括弧([])で囲んでいることも。
  • 引数の省略の仕方→AviSynth入門/引数の省略とデフォルト値で解説。

*1 AviSynth入門/マニュアルの読み方を参照
*2 KenKunNRが内蔵されているwarpsharpプラグインには説明書が付属しません。ここで紹介しているKenKunNRフィルタの書式は、ソースを元に書き起こされた非公式なものです。
*3 あるいは、引数名が設定されていない
*4 もしデフォルト値が設定されていなければ、エラーが発生する可能性があります。
*5 ただし、上記のclipについて で書いたように、clip型の引数は省略できる場合があります。

最終更新日時: 2014-03-11 (火) 03:47:05 (3691d)