Jaded-Encoding-Thaumaturgy / vs-denoise

VapourSynth denoising, regression, and motion compensation functions
MIT License
18 stars 6 forks source link

interlaced inputs with MVTools #35

Closed NSQY closed 1 year ago

NSQY commented 1 year ago

If you attempt to process an input flagged as interlaced, it will return a KeyError.


from vstools import vs, core
from vsdenoise import MVTools

src = core.std.BlankClip(
    format=vs.YUV420P16).std.SetFieldBased(1)
# or just mlm_degrain
MVTools(src).degrain().set_output() 
  File "mvtools.vpy", line 7, in <module>
    MVTools(src).degrain().set_output()
  File "/home/morgan/.local/lib/python3.10/site-packages/vsdenoise/mvtools.py", line 1130, in degrain
    vect_b, vect_f = self.get_vectors_bf()
  File "/home/morgan/.local/lib/python3.10/site-packages/vsdenoise/mvtools.py", line 1004, in get_vectors_bf
    vectors_backward.append(vectors.get_mv(MVDirection.BACK, i))
  File "/home/morgan/.local/lib/python3.10/site-packages/vsdenoise/mvtools.py", line 92, in get_mv
    return self.temporal_vectors[direction][delta]
KeyError: 4
Setsugennoao commented 1 year ago

This should fix it. Can you confirm?

NSQY commented 1 year ago

Appears to be fixed now, thanks.