スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

透過性ロゴフィルタ(Aviutl)

[Aviutl]delogo0009
[Aviutl]delogomod0010

・VisualStudio+インテルコンパイラでビルド、&MT化

フィルタ名を"透過性ロゴMT"とかにしてしまうと、ロゴ解析フィルタからの送信が
受け取れなくなってしまうので名前はそのままです。
※ filter.hを更新したため対応Aviutlは0.99k以降です。
※ Visual C++ 2012 再頒布可能パッケージが必要かも。


前verと比較して、全くと言っていいほど速度は変わってないです;;
ロゴの処理なんて小さ過ぎて、ベンチ取っても有意な速度差は出ないみたいです
スポンサーサイト

透過性ロゴフィルタ(Avisynth)

[Avisynth]delogo0004

InfoLogoファンクションを追加しました。
ロゴデータのLeft、Top、Width、Heightの数値を得ることが出来ます。

logo_left = InfoLogo(logofile, info = "Left")
logo_top = InfoLogo(logofile, info = "Top")
logo_width = InfoLogo(logofile, info = "Width")
logo_height = InfoLogo(logofile, info = "Height")

#ロゴ範囲の切り出し(※YV12の場合は全て2の倍数に直す必要があります)
crop(logo_left,logo_top,logo_width,logo_height)

動くロゴのサンプルを集める時のメモ その2

・赤いアレの場合、最初の10フレームくらいはサンプルによって深度が明らかに異なる場合があります。
 なので一度ロゴデータを作ってからEraseLogoを当てて、
 色が明らかに浮いてるサンプルはDeleteFrameで除外してからもう一度解析します。

・暗闇からのフェードインで始まるケースが非常に多いのもサンプルが偏りやすい原因になっています。
 そういうサンプルはあまり採取しないようにしましょう。

・Avisynth版のdelogomodはロゴ番号毎に個別に深度を調整できるので、最初の深度の違うパターン用に
 プリセットを用意しておきます。

動くロゴのサンプルを集める時のメモ その1

透過性ロゴフィルタmod(Avisynth)

[Avisynth]delogomod0009
・YUY2の時に片フィールド消しのフィールドが反対になる場合があったのを修正

透過性ロゴフィルタ(Avisynth)

[Avisynth]delogo0002
[Avisynth]delogomod0008

[fieldin] [fieldout]オプションをboolからintに変更しました。

0=通常
1=偶数フィールドのみロゴ処理
2=奇数フィールドのみロゴ処理

よって一般的なTFFの局ではEraseLogo(fieldin=2, fieldout=1)となります。


フェード1の時に片フィールド消しを行う関数例 (delogo0002用)
function Delogo(clip c,string logofile,int "start",int "fadein",int "end",int "fadeout",bool "BFF")
{
endframe = c.framecount()-1
start = default(start,0)
end = default(end,0)
fadein = default(fadein,0)
fadeout = default(fadeout,0)
BFF = default(BFF,false)

fieldin = (fadein==1)?(BFF)?1:2:0
fieldout = (fadeout==1)?(BFF)?2:1:0
fi = (fadein>1)?fadein:0
fo =(fadeout>1)?fadeout:0

return EraseLOGO(c,logofile=logofile,
\start=start,
\fadein=fi, fadeout=fo,
\fieldin=fieldin, fieldout=fieldout,
\end=endframe - end,
\ interlaced=true)
}


透過性ロゴフィルタ(Aviutl)

[Aviutl]delogo0007
[Aviutl]delogomod0008

「ボトムフィールド」オプションの追加。
開始&終了片フィールドの処理フィールドをそれぞれ逆にします。

透過性ロゴフィルタ

[Aviutl]delogo0006
[Aviutl]delogomod0007

下記オプションの追加
・開始フレーム片フィールド =開始フレームを奇数フィールドのみ処理
・終了フレーム片フィールド =終了フレームを偶数フィールドのみ処理


Aviutl版は普段あまり使わないので、不具合あれば御一報ください

透過性ロゴフィルタmod

[Avisynth]delogomod0007
開始フレームと終了フレームの片フィールド処理を行うオプションを追加。
開始フレームで奇数フィールド、終了フレームでは偶数フィールドのみ処理を行います。

(例)開始フレームと終了フレームが共に片フィールドだった場合の指定法
Eraselogomod(fieldin=true,fieldout=true)


[Avisynth]delogo0001
通常版のdelogo.dllにfieldin&fieldoutオプションを追加しただけのプラグインも追加。
delogomodと違い、interlacedのデフォルトはfalseのままです。

ちなみにinterlacedオプションは、YV12に於いてインタレとプログレシブでchromaの処理が異なるのに
対応するためのもので、フィールド単位でフェード処理をしてくれる・・・という類のものではありません。
よってYUY2の時は全く関係が無いです。
Aviutl版の透過性ロゴにinterlacedオプションが無いのはそのためです。

透過性ロゴフィルタmod

ロゴ番号ごとにdepthの値を個別に指定できるオプションを追加

[Avisynth]delogomod0006

透過性ロゴフィルタmod

ロゴのループ機能の追加

[Aviutl]delogomod0006
[Avisynth]delogomod0005

プロフィール

Author:putin
ロゴ関係ソース

最新記事
最新コメント
最新トラックバック
月別アーカイブ
カテゴリ
メールフォーム

名前:
メール:
件名:
本文:

リンク
ブロとも申請フォーム

この人とブロともになる

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。