スポンサーサイト

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

ソフトウェア - EasyPulldownCheck v0.2 (簡単な操作でプルダウンチェック)

 22, 2014 09:08
173.png


pulldown_mode が 1 ~ 5 の状態 ( フレーム数が 4/5 ) の状態でも
逆テレシネ前のフレーム番号を表示するようにしました。
ですが、実際には 1.25 倍しているだけなので、どのフレームを間引いているかは不確定で、信用できる数字は 5 の倍数のみとなります。


Import("C:\Program Files (x86)\AviSynth 2.5\avs\TrimClean.avsi")
LoadPlugin("C:\Program Files (x86)\AviSynth 2.5\plugins\AntiComb.dll")
/*
EasyPulldownCheck v0.2
by potatosub

pulldown_mode(0-6): 0=no pulldown
1=pulldown(0,2)
2=pulldown(1,3)
3=pulldown(2,4)
4=pulldown(0,3)
5=pulldown(1,4)
6=all pulldown preview
select_trim_num(1-): TrimNumber you want to preview
str_trim: TrimString all
*/
function EasyPulldownCheck(clip clip, int "pulldown_mode", int "select_trim_num", string "str_trim") {
Assert(select_trim_num>=1&&TrimCount(str_trim)>=select_trim_num,"Value of select_trim_num is invalid.")
Assert(pulldown_mode>=0&&pulldown_mode<=6,"Value of pulldown_mode is invalid.")
clip
global select_trim=TrimSelect(str_trim,select_trim_num)
select_trim_so_far=(select_trim_num>=2)?TrimsSelect(str_trim=str_trim, last_trim_cnt=select_trim_num - 1):""
global cnt= \
(pulldown_mode==0&&select_trim_so_far!="")?Eval(select_trim_so_far).FrameCount(): \
(pulldown_mode==1&&select_trim_so_far!="")?Eval(select_trim_so_far).DoubleWeave().Pulldown(0,2).FrameCount()-1: \
(pulldown_mode==2&&select_trim_so_far!="")?Eval(select_trim_so_far).DoubleWeave().Pulldown(1,3).FrameCount()-1: \
(pulldown_mode==3&&select_trim_so_far!="")?Eval(select_trim_so_far).DoubleWeave().Pulldown(2,4).FrameCount()-1: \
(pulldown_mode==4&&select_trim_so_far!="")?Eval(select_trim_so_far).DoubleWeave().Pulldown(0,3).FrameCount()-1: \
(pulldown_mode==5&&select_trim_so_far!="")?Eval(select_trim_so_far).DoubleWeave().Pulldown(1,4).FrameCount()-1: \
(pulldown_mode==6&&select_trim_so_far!="")?Eval(select_trim_so_far).DoubleWeave().Pulldown(0,2).FrameCount():-1
Eval(select_trim)
ConvertToYUY2()
AntiComb(checkmode=true)
ConvertToYV12()
last= \
(pulldown_mode==0)?ScriptClip("""SubTitle("Select Pulldown : Nothing", text_color=$ffffff, size=90, y=90*0)"""): \
(pulldown_mode==1)?DoubleWeave().Pulldown(0,2).ScriptClip("""SubTitle("Select Pulldown : Pulldown(0,2)", text_color=$ffffff, size=90, y=90*0)"""): \
(pulldown_mode==2)?DoubleWeave().Pulldown(1,3).ScriptClip("""SubTitle("Select Pulldown : Pulldown(1,3)", text_color=$ffffff, size=90, y=90*0)"""): \
(pulldown_mode==3)?DoubleWeave().Pulldown(2,4).ScriptClip("""SubTitle("Select Pulldown : Pulldown(2,4)", text_color=$ffffff, size=90, y=90*0)"""): \
(pulldown_mode==4)?DoubleWeave().Pulldown(0,3).ScriptClip("""SubTitle("Select Pulldown : Pulldown(0,3)", text_color=$ffffff, size=90, y=90*0)"""): \
(pulldown_mode==5)?DoubleWeave().Pulldown(1,4).ScriptClip("""SubTitle("Select Pulldown : Pulldown(1,4)", text_color=$ffffff, size=90, y=90*0)"""): \
(pulldown_mode==6)? \
ShowFiveVersions( \
DoubleWeave().Pulldown(0, 2).Subtitle("Pulldown(0, 2)", size=90), \
DoubleWeave().Pulldown(1, 3).Subtitle("Pulldown(1, 3)", size=90), \
DoubleWeave().Pulldown(2, 4).Subtitle("Pulldown(2, 4)", size=90), \
DoubleWeave().Pulldown(0 ,3).Subtitle("Pulldown(0, 3)", size=90), \
DoubleWeave().Pulldown(1, 4).Subtitle("Pulldown(1, 4)", size=90)):last
ConvertToYUY2()
AntiComb(checkmode=true)
ConvertToYV12()
(pulldown_mode==0)? \
ScriptClip(last, """SubTitle("Current Frame (5/5) : " + string(cnt + current_frame + 1), text_color=$ffffff, size=90, y=90*2)"""): \
ScriptClip(last, """SubTitle("Current Frame (4/5) : " + string(cnt + current_frame + 1), text_color=$ffffff, size=90, y=90*1)"""). \
ScriptClip("""SubTitle("Current Frame (5/5) : " + string(Floor((cnt + current_frame + 1)*1.25))+" (About)", text_color=$ffffff, size=90, y=90*2)""")

ScriptClip(last, """SubTitle("Current Trim : " + select_trim, text_color=$ffffff, size=90, y=90*3)""")
return last
}

function TrimsSelect(string "str_trim", int "last_trim_cnt", int "cnt", string "temp") {
cnt=default(cnt,0)
temp=default(temp,"")
cnt=cnt+1
val1=TrimSelect(str_trim, cnt)
val2=(cnt==1?"":"++")
temp=temp+val2+val1
return (cnt>=last_trim_cnt ? temp:TrimsSelect(str_trim, last_trim_cnt, cnt, temp))
}



twitter
↑参考になったという方は、是非記事のツイートをお願いします





関連リンク
メモ置き場 - 文字列のTrimを編集する関数集
Take-Rのメモ帳 - Avisynth + x264 を用いたTSファイルのエンコード - 下準備7 : 逆テレシネの周期チェック

関連記事
ソフトウェア - EasyPulldownCheck v0.1 (簡単な操作でプルダウンチェック)

ダウンロード
EasyPulldownCheck_v0.2.avsi



引用元:TVアニメ「東京レイヴンズ
©あざの耕平・すみ兵/株式会社KADOKAWA 富士見書房/東京レイヴンズ製作委員会


スポンサーサイト

Tag:EasyPulldownCheck AviSynth 関数 Pulldown TrimClean AntiComb 東京レイヴンズ 大連寺鈴鹿 倉橋京子

COMMENT - 0



WHAT'S NEW?

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