zimg
zimg copied to clipboard
Feature request: gaussian resize
Very useful for GaussianBlur with large sigmas:
def gauss_fmtc(src: vs.VideoNode, sigma: float = 2) -> vs.VideoNode:
wsrc, hsrc = src.width, src.height
wdown, hdown = round(wsrc/sigma), round(hsrc/sigma)
src = src.resize.Bilinear(wdown, hdown)
return src.fmtc.resample(wsrc, hsrc, kernel='gauss', a1=9)
src = core.std.BlankClip(None, 1920, 1080, vs.GRAYS, 10000, keep=True)
gauss_fmtc(src, sigma=50).set_output()
# Output 10000 frames in 7.53 seconds (1328.10 fps)