Здравствуйте!
Дано: на "руках" имеются два AVS скрипта, один создан с помощью SVP (собственно уплавление), другой через встроенный инструмент MeGUI -AviSynth script creator (цель - денойс, деинтерлейс и т.п.)
# Set DAR in encoder to 3 : 2. The following line is for automatic signalling
global MeGUI_darx = 3
global MeGUI_dary = 2
LoadPlugin("C:\MeGUI\tools\ffms\ffms2.dll")
FFVideoSource("C:\VIDEO_TS\VTS_02_1.VOB").AssumeFPS(30000,1001)
Load_Stdcall_Plugin("C:\MeGUI\tools\yadif\yadif.dll")
Yadif(order=-1)
#crop
#resize
mergechroma(blur(1.3)) # Little Noise
svp_scheduler=true
SetMemoryMax(1024)
svp_cache_reduce=true
svp_flow_lib="C:\Program Files (x86)\SVP\Plugins\MVTools2\libflowgpu.dll"
multinum=2
multiden=1
algo=23
block=false
ml=10
search=5
sadml=10
sadgamma=1
blend=true
dist=4
pel=2
sharp=0
Recalc=1
blkh=8
blkv=8
blkh2=4
blkv2=4
overlap=2
overlapv=2
wid_den=1
hei_den=1
LoadPlugin ("C:\Program Files (x86)\SVP\Plugins\MVTools2\mvtools2.dll")
SetMTMode(3,11)
DirectShowSource("C:\VIDEO_TS\VTS_02_1.VOB", fps=29.97, convertfps=true, pixel_type="YV12")
width!=720 || height!=480 ? last : Eval("""
SetMTMode(2)
src=last
wid_den==1 ? last : \
hei_den==1 ? LanczosResize(int(width/wid_den/2)*2,height) : LanczosResize(int(width/wid_den/2)*2,int(height/hei_den/2)*2)
super=MSuper(pel=pel, hpad=blkh, vpad=blkv, sharp=sharp)
finest=pel==1 ? super : MFinest(super)
backward_vec=MAnalyse(super, isb=true, blksize=blkh, blksizev=blkv, overlap=overlap, overlapv=overlapv, search=search, searchparam=dist, pelsearch=dist, plevel=0)
forward_vec=MAnalyse(super, isb=false, blksize=blkh, blksizev=blkv, overlap=overlap, overlapv=overlapv, search=search, searchparam=dist, pelsearch=dist, plevel=0)
backward_vec = Recalc==0 ? backward_vec : MRecalculate(super, backward_vec, blksize=blkh2, blksizev=blkv2, overlap=int(overlap/4)*2, overlapv=int(overlapv/4)*2, search=search, searchparam=dist)
forward_vec = Recalc==0 ? forward_vec : MRecalculate(super, forward_vec, blksize=blkh2, blksizev=blkv2, overlap=int(overlap/4)*2, overlapv=int(overlapv/4)*2, search=search, searchparam=dist)
smooth_video=MSmoothFps(super, backward_vec, forward_vec, finest=finest, num=FramerateNumerator(last)*multinum,den=FramerateDenominator(last)*multiden, algo=algo, ml=ml, sadml=sadml, sadgamma=sadgamma, block=block, blend=blend)
## == MSmoothFps_2.avs ==
mi = MSmoothFps(super, backward_vec, forward_vec, finest=finest, num=FramerateNumerator(src)*2,den=FramerateDenominator(src), algo=algo, ml=ml, sadml=sadml, sadgamma=sadgamma, block=block, blend=blend).SelectOdd
mi = (wid_den==1)&&(hei_den==1) ? mi : mi.BicubicResize(src.width, src.height, b=0, c=0.75)
smooth_video = interleave(src,mi)
smooth_video
""")
distributor()
собственно первый вопрос, как их правильно "скрестить"?
И второй вопрос - как поступить в случае если в первом скрипте(из MeGUI) надо будет сделать кроп(цель - убрать черные полосы), ведь в скрипте SVP как я вижу\понимаю жестко заданы размеры видео...