片フィールドロゴ除去補助関数

エンコード

トップ(ボトム)フィールドにのみ出ているロゴを除去します。

スポンサーリンク
スポンサーリンク

スクリプト

function FieldShift( clip clip, bool plusShift )
{
    clip = clip.AssumeTFF().SeparateFields()
    clipA = clip.SelectEven()
    clipB = clip.SelectOdd()
    lastFrame = clipA.Framecount() - 1
    clipB = ( plusShift ) ? clipB.trim(1,0) + clipB.trim(lastFrame, lastFrame) : clipB.trim(0,-1) + clipB.trim(0, lastFrame - 1)
    clip = Interleave(clipA, clipB).Weave()
    return clip
}
function DwShift( clip clip, bool plusShift )
{
    clip = clip.DoubleWeave()
    clip = clip.FieldShift( plusShift )
    return clip
}
function UnDwShift( clip clip, bool plusShift )
{
    clip = clip.FieldShift( plusShift )
    clip = clip.SelectEven()
    return clip
}

VFR maniac 氏作です。

使い方

拡張子を.avsiにしてpluginsフォルダに入れてください。
Importしてもいいです。

片フィールドロゴのフレームをDwShiftとUnDwShiftで挟みます。

出現する場合は「フレーム番号*2-1」を、消失する場合は「フレーム番号*2」を与えます。
BFFの場合は逆です。

lgd = "C:\lgd\sample.lgd"

# 普通のロゴ除去
EraseLOGO(logofile=lgd, start=101, end=199, interlaced=true)

# 片フィールドロゴ除去
DwShift(true)
EraseLOGO(logofile=lgd, start=100*2-1, end=100*2-1, interlaced=true)
EraseLOGO(logofile=lgd, start=200*2, end=200*2, interlaced=true)
UnDwShift(false)

この場合、フレーム番号100と200が片フィールドロゴ除去されます。

コメント

タイトルとURLをコピーしました