barn日々の出来事を書き殴る2011年6月14日火曜日ARDeformation.dllさて、前回のコードにさらに手を加えてみたのがこのプラグインです。"color")指定したDARにあわせて、左右または上下にベタを付与します。(デフォルト:$00000000(黒))なんらかの理由でレターボックス/ピラーボックスにしてエンコしないといけない場合に使うといいかも知れません(もちろん使わないにこしたことはありませんが)。alignのデフォルトは16なので、そのまま使えば若干左寄り(若しくは上寄り)になります。それが嫌な場合はalignを1にすれば、(ほぼ)ど真ん中になります。"dest_h")指定したアスペクト比にあわせて、本体内蔵のリサイザを使ってリサイズします。アスペクト比のタイプ("dar","sar","par")を指定します。アスペクト比の分子(水平方向)の値。アスペクト比の分母(垂直方向)の値。拡大するか縮小するかを選びます。(デフォルト:true(拡大))src_*:avisynthの各リサイザの引数と同じです。呼び出すリサイザを指定します。各リサイザ固有の引数その1。lanczosの"taps"やBicubicの"b"を指定します。各リサイザ固有の引数その2。Bicubicの"c"がこれにあたります。出力のwidthをこの値に矯正します。出力のheightをこの値に矯正します。dest_wが0以外の場合は無視されます。(デフォルト:0(無効))なおdest_w,dest_hを設定した場合は、expandは無視されます。DVDソースにARResize("dar",16,9,true,8,0,-8,0,"lanczos4")とすれば、無効領域を削ってLanczos4Resizeで16:9に拡大(854x480、PALなら1024x576)します。二つとも必要な計算を行って、avisynth.dll内の関数を呼び出しているだけなので、スクリプトでも可能でしょう。ARResizeのほうは...これと同等のものをスクリプトで書きたいとは思いませんね。そもそもavsのfloatでの計算だと精度が落ちるような気もするし。興味がある人は、自分でもなにかやってみてください。