スポンサーサイト

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

複数クリップの差分をまとめて確認する関数

 02, 2015 10:30
複数のクリップを、差分を挟みながら並べて表示します。
mode で並べる方向を指定できます。

それだけ…。


1203_.jpg


StackDiff.png



function StackDiff(clip v01, clip v02, clip "v03", clip "v04", clip "v05", clip "v06", int "mode") {
v03=default(v03,BlankClip(v03,length=-1))
v04=default(v04,BlankClip(v04,length=-1))
v05=default(v05,BlankClip(v05,length=-1))
v06=default(v06,BlankClip(v06,length=-1))
mode=default(mode,0)
cnt=2
cnt=v03.FrameCount!=-1?cnt+1:cnt
cnt=v04.FrameCount!=-1?cnt+1:cnt
cnt=v05.FrameCount!=-1?cnt+1:cnt
cnt=v06.FrameCount!=-1?cnt+1:cnt
last=addClip(v01,Overlay(v01,v02,mode="Difference",pc_range=true),mode=mode).addClip(v02,mode=mode)
last=cnt>=03?addClip(last,Overlay(v02,v03,mode="Difference",pc_range=true),mode=mode).addClip(v03,mode=mode):last
last=cnt>=04?addClip(last,Overlay(v03,v04,mode="Difference",pc_range=true),mode=mode).addClip(v04,mode=mode):last
last=cnt>=05?addClip(last,Overlay(v04,v05,mode="Difference",pc_range=true),mode=mode).addClip(v05,mode=mode):last
last=cnt==06?addClip(last,Overlay(v05,v06,mode="Difference",pc_range=true),mode=mode).addClip(v06,mode=mode):last
return last
}

function addClip(clip a, clip b,int "mode") {
mode=default(mode,0)
Assert(mode==0||mode==1,"out of range. (int mode)'")
diff=mode==0? \
a.height!= b.height?a.height-b.height:0: \
a.width!= b.width?a.width-b.width:0
b=mode==0? \
diff!=0?b.AddBorders(0,0,0,diff):b: \
diff!=0?b.AddBorders(0,0,diff,0):b
return (mode==0?StackVertical(a,b).Crop(0,0,0,-diff):StackHorizontal(a,b).crop(0,0,-diff,0))
}





(C)2015 丸戸史明・深崎暮人・KADOKAWA 富士見書房/冴えない製作委員会

スポンサーサイト

Tag:StackDiff AviSynth

COMMENT - 0



WHAT'S NEW?

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