スポンサーサイト

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

5 パターンの周期からプログレッシブなクリップを選ぶアレ【軽動作】

 06, 2015 20:16
有名なアレライクな周期チェック用スクリプト。

周期が 2-3pulldown もしくは 3-2pulldown であることが前提で
5 つのパターンを並べて比較します。

最近のアニメでしたらこれで大体網羅できると思うので、使い勝手はいいんじゃないかと。



1977.png


MergeCheck.png


function MergeCheck(clip clip, int "mode") {
mode=default(mode,0)
Assert(0<=mode&&mode<=5, "error.")
clip.SeparateFields()

#############################################################
# 2-3 pulldown
# 4B 4T | [1B][1T] 2B [2T][2B][3T][3B] 4T [4B][4T] | 1B 1T
# 4B 4T | [1B][1T][2B][2T] 2B [3T][3B][4T][4B] 4T | 1B 1T
# -- -- ++ ++ -- -- -- ++ ++ -- -- -- ++ ++
# -2 -1 | 00 +1 +2 +3 +4 +5 +6 +7 +8 +9 | 10 11
v1=SelectEvery(10,00,01,04,03,06,05,08,09).Weave()
v2=SelectEvery(10,00,01,02,03,06,05,08,07).Weave()
A=Merge(v1, v2)

##############################################################
# 2-3 pulldown ( 1f back shift )
# 4T [1B] | [1T] 2B [2T][2B][3T][3B] 4T [4B][4T] 1B | 1T 2B
# 4T [1B] | [1T][2B][2T] 2B [3T][3B][4T][4B] 4T 1B | 1T 2B
# -- ++ ++ -- -- -- ++ ++ -- -- -- ++ ++ --
# -2 -1 | 00 +1 +2 +3 +4 +5 +6 +7 +8 +9 | 10 11
v1=SelectEvery(10,-1,00,03,02,05,04,07,08).Weave()
v2=SelectEvery(10,-1,00,01,02,05,04,07,06).Weave()
B=Merge(v1, v2)

##############################################################
# 3-2 pulldown
# 4B 4T | 1B [1T][1B][2T][2B] 3T [3B][3T][4B][4T] | 1B 1T
# 4B 4T | [1B][1T] 1B [2T][2B][3T][3B] 3T [4B][4T] | 1B 1T
# -- -- ++ ++ ++ -- -- ++ ++ ++ -- -- ++ ++
# -2 -1 | 00 +1 +2 +3 +4 +5 +6 +7 +8 +9 | 10 11
v1=SelectEvery(10,02,01,04,03,06,07,08,09).Weave()
v2=SelectEvery(10,00,01,04,03,06,05,08,09).Weave()
C=Merge(v1, v2)

##############################################################
# 3-2 pulldown ( 1f back shift )
# 4T 1B | [1T][1B][2T][2B] 3T [3B][3T][4B][4T] 1B | 1T 1B
# 4T [1B] | [1T] 1B [2T][2B][3T][3B] 3T [4B][4T] 1B | 1T 1B
# -- ++ ++ ++ -- -- ++ ++ ++ -- -- ++ ++ ++
# -2 -1 | 00 +1 +2 +3 +4 +5 +6 +7 +8 +9 | 10 11
v1=SelectEvery(10,01,00,03,02,05,06,07,08).Weave()
v2=SelectEvery(10,-1,00,03,02,05,04,07,08).Weave()
D=Merge(v1, v2)

##############################################################
# 3-2 pulldown ( 2f back shift )
#[1B][1T] | 1B [2T][2B][3T][3B] 3T [4B][4T] 1B 1T | 1B 1T
# 1B [1T] | [1B][2T][2B] 3T [3B][3T][4B][4T] 1B 1T | 1B 1T
# -2 -1 | 00 +1 +2 +3 +4 +5 +6 +7 +8 +9 | 10 11
v1=SelectEvery(10,-2,-1,02,01,04,03,06,07).Weave()
v2=SelectEvery(10,00,-1,02,01,04,05,06,07).Weave()
E=Merge(v1, v2)

return \
mode!=0 ? mode!=1 ? mode!=2 ? mode!=3 ? mode!=4 ? mode!=5 ? \
nop() : E : D : C : B : A : \
ShowFiveVersions( \
A.CombCheck().SubTitle("[2-3] (mode=1)",size=96), \
B.CombCheck().SubTitle("[2-3]-1 (mode=2)",size=96), \
C.CombCheck().SubTitle("[3-2] (mode=3)",size=96), \
D.CombCheck().SubTitle("[3-2]-1 (mode=4)",size=96), \
E.CombCheck().SubTitle("[3-2]-2 (mode=5)",size=96))
}



コーミング表示には、動作が軽い ささみしさんの CombCheck() 関数を使わせて頂きました m(__m

※Combcheckの記述ミスってたので訂正。入力クリップそのまま返してました。影響があるのはshow=1,2でノイズ量を目視確認するときだけなので、必要なければスルーでいいです。使うときは↓赤字で書いたclip=を書き足してやってください。FlexibleMergeに機能を追加exc - [default=0] 0 無効。以前と同じ。/1 NoiseExcludeを使う。ノイズの差がnmax以上の場合はclip1を返す。/2 NoiseExcludeを使う。ノイズの差がnma以上の場合
2つのソースからノイズの無い部分を選んでブレンドする (FlexibleMerge) その2






(C)2011 三雲岳斗・Gユウスケ・角川書店/ダンタリアンの書架製作委員会

スポンサーサイト

COMMENT - 0



WHAT'S NEW?

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