from vspreview.api import is_preview
from vstools import core, set_output, initialize_clip, finalize_clip, replace_ranges
from vssource import FFMS2
from vsdehalo import fine_dehalo
from vsdeband import f3k_deband
from vsdenoise import frequency_merge
core.max_cache_size = 1*1024
cr = FFMS2.source(path1, cache=False)
cr = initialize_clip(cr)
amzn = FFMS2.source(path2, cache=False)
amzn = initialize_clip(amzn[24:-24])
srcs = [cr, amzn]
if is_preview():
lehmer = frequency_merge(*srcs, lowpass = lambda i: core.vszip.BoxBlur(i, hradius=3, vradius=3, hpasses=2, vpasses=2))
else:
#from lvsfunc import FindDiff, PlaneStatsDiff, PlaneAvgFloatDiff
#diff = FindDiff(strategies=PlaneStatsDiff(2, planes=0)).find_diff(cr, amzn, force=True)
#print(diff.diff_ranges)
lehmer = frequency_merge(*srcs, lowpass = lambda i: core.vszip.BoxBlur(i, hradius=3, vradius=3, hpasses=2, vpasses=2))
#lehmer = replace_ranges(lehmer, cr, diff.diff_ranges)
dehalo = fine_dehalo(lehmer)
deb = core.average.Mean([
f3k_deband(dehalo, thr=(33 << 2)),
f3k_deband(dehalo, radius=24, thr=(33 << 2)),
])
final = finalize_clip(deb)
if is_preview():
set_output(cr)
set_output(amzn)
set_output(lehmer)
#set_output(FFMS2.source(r"test.ivf", cache=False))
set_output(final)