スポンサーサイト

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

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

 22, 2014 00:38
自作のプルダウンチェッカーです。
結合された Trim を引数として渡し、select_trim_num で切り替えができます。
クリップフレーム番号(先頭 Trim からの通算)を表示します。
pulldown_mode を 0 にすると、プルダウンなし。
pulldown_mode を 6 にすると、Take-R さんの Pulldown_check.avs と同じように並べて表示します。
必要なものは、TrimClean.avsiAntiComb.dll です。
AntiComb.dll は AviSynth v2.5 以降非対応なので、LoadPluginEx を使ってください。

EasyPulldownCheck.jpg



EasyPulldownCheck(pulldown_mode=2, select_trim_num=3, str_trim="Trim(1,4435)++Trim(6235,22507)++Trim(24307,46333)++Trim(48133,48551)")

上記の要領で、3 番目の Trim をプレビューできます。



Import("C:\Program Files (x86)\AviSynth 2.5\avs\TrimClean.avsi")
LoadPlugin("C:\Program Files (x86)\AviSynth 2.5\plugins\AntiComb.dll")
/*
EasyPulldownCheck v0.1
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*1)"""): \
ScriptClip(last, """SubTitle("Current Frame (4/5) : " + string(cnt + current_frame + 1), text_color=$ffffff, size=90, y=90*1)""")
ScriptClip(last, """SubTitle("Current Trim : " + select_trim, text_color=$ffffff, size=90, y=90*2)""")
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.2 (簡単な操作でプルダウンチェック)

ダウンロード
EasyPulldownCheck.avsi



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


スポンサーサイト

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

COMMENT - 0



WHAT'S NEW?

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