niiyan's blog

niiyanの個人ブログ。

myFunctions: iFilterB関数

説明

Bobフィルタを利用したインターレース素材用の関数です。Bobフィルタでいったんプログレッシブ化したクリップにフィルタリングを行い、インターレースなクリップを再構築します。


図にすると、こんな感じです。

  • (1)Bobフィルタでプログレッシブ化。
  • (2)フィルタをかける。
  • (3)フィールド分離(SeparateFields)。
  • (4)4フィールドから2フィールドを選択(SelectEvery)。
  • (5)(4)で選択したフィールドを組み合わせて、インターレースなクリップを生成(Weave)。

Dustフィルタも使用することができます。

ダウンロード

インターレース素材系関数集」から、myFunctions.avsをダウンロードしてください。

書式

iFilterB(clip clip, string "filter", string "bob_filter")
引数
  • clip: ビデオクリップ。
  • filter: 使用したいフィルタ。
  • bob_filter: Bobフィルタ。上図(1)の過程で使用します。省略したときは、myFunctions.avsの3行目のbbb_filterが適用されます(下記「使用上の注意」を参照)。

使用例

# 例1:
Import("myFunctions.avs")
iFilterB("FaeryDust(2)", "kernelbob(order=1)")
# 例2: bob_filterを省略したとき
Import("myFunctions.avs")
iFilterB("LanczosResize(512, 384)") # bbb_filterが適用される

使用上の注意

  • あらかじめフィールドオーダーを正しく指定しておくこと(AssumeTFF/AssumeBFFなどを使って)。
  • myFunctions.avsの3行目のbbb_filterを、お好みのBobフィルタに変更しておくこと。
##### 初期設定 (最初に設定してください)#####
#//--- Bob(60fps化)フィルタの指定(iResize、BobDust使用時に必要) ---//
global bbb_filter = "AutoBob()" #kernelbob/dgbobは"kernelbob(order)"と指定可
#//--- DustV5.dllのコピー/リネームしたdllのパス(iDust使用時に必要) ---//
global dustv5_2_dir = "D:\AviSynth\DustV5_2.dll"

bob_filterを省略すると、ここで指定したフィルタが使用されます。