End-of-Eternity / vs-ccd

Vapoursynth Port of the Camcorder Color Denoise VirtualDub filter
GNU General Public License v3.0
14 stars 2 forks source link

Slower than original VirtualDub plugin #3

Open tvasenin opened 3 years ago

tvasenin commented 3 years ago

v0.2.1 is slower than original VDub Plugin loaded in VS through AVS compat layer:

No processing  (clip0): ~216 FPS
VDub-CCD in VS (clip1):  ~91 FPS
vs-CCD         (clip2):  ~45 FPS
from vapoursynth import core
import vapoursynth as vs
import ccd

core.avs.LoadPlugin(r'VDubFilter.dll')
core.avs.LoadVirtualdubPlugin(r'ccd_64bit.vdf', 'CamCD', 0)

clip = core.ffms2.Source(r'test_YUV422_720x576_interlaced_FFV1.avi')
clip = clip * 100

clip0 = clip    

src_format = clip.format
input_rgb32 = core.resize.Bicubic(clip, format=vs.COMPATBGR32, matrix_in_s="470bg")
out_CCD = core.avs.CamCD_2(input_rgb32, 30, 1)
out_CCD = core.std.SetFieldBased(out_CCD, clip.get_frame(0).props['_FieldBased'])
clip1 = core.resize.Bicubic(out_CCD, format=src_format, matrix_s="470bg")

clip2 = ccd.ccd(clip, threshold=30)

#clip = clip0
#clip = clip1
clip = clip2

clip.set_output()
End-of-Eternity commented 3 years ago

Thanks for your report: I have noticed this myself already. I do already have a fix for this that just needs rolling out and should at least double the speed, and I also plan on allowing integer formats which will speed things up substantially. In compilation it's also likely that I could get some optimisations with no percievable difference with -ffast-math, though this will need some testing.

I am currently away on holiday though, so how much I will be able to do before I get back is uncertain. Expect this to be much better soon though.

tvasenin commented 3 years ago

@End-of-Eternity any progress with the fix?

tvasenin commented 2 years ago

@End-of-Eternity any ETA for the new release with the fix?