片フィールドロゴ除去

トップ(ボトム)フィールドにのみロゴが表示されるフレームがあることがあります。そのロゴを消すためには、トップ(ボトム)フィールドにのみEraseLogoフィルタを適応する必要があります。それを簡単にやってくれる関数を紹介します

更新履歴

2020/11/16 動作が軽いスクリプトに変更し忘れてたので反映

導入

上記のコードをavsファイルの最後にコピペするか、別ファイルに保存してインポートすると使えるようになります

avsの最後に記述

return lastの後にコピペしてください

このようにreturn last後に記述すると、このavs内で使えるようになります

別ファイルに保存してインポート

コピペしたものを”delogo.avsi”として保存したものとします

1行目でインポートしています。このようにインポートすると使えるようになります

使い方

EraseLogo()の代わりにDelogo()を使います

fhfをtrueにすると、startのフレームの片方のフィールドにのみEraseLogoを適用します。bhfをtrueにすると、endのフレームの片方のフィールドにのみEraseLogoを適用します

この例だと[0, 40039, 82415]の4フレームは片方のフィールドにのみEraseLogoが適用されます

マクロを使う

前の記事の透過性ロゴ除去で紹介したマクロを使ってDelogo関数を挿入することができます

マクロを開いて、DELOGO = 0 を DELOGO = 1に書き換えて保存してください。すると、マクロ実行時にEraseLogo()ではなくDelogo()が挿入されるようになります

AvsPmodに関数を登録

この作業は特に必須でもないのですが、登録をするとAvsPmodのユーザースライダーにDelogo関数を出現させることができるようになります。手順を紹介します

オプション → AviSynth関数の定義 とすすみます

ユーザー定義関数タブに開き、新規追加をクリックします

引数に以下を入力します

登録すると、自動補完ができるようになり、ユーザースライダーにも表れるようになります