Dogway / Avisynth-Scripts

AviSynth+ 3.7.3+ Filters
GNU General Public License v3.0
92 stars 13 forks source link

QTGMC+ preset "Very Slow" or "Placebo" does not work with BM3D as denoiser #74

Closed ChristianWaechter closed 1 year ago

ChristianWaechter commented 1 year ago

Describe the bug I was updating to the latest files of your repository because I wanted to try out the BM3D denoiser. But with my usual call for QTGMCp, I got an error. BM3D as denoiser still did not work unless I changed the preset from Placebo to Slower.

Avisynth open failure: Script error: ConvertToYUV444 does not have a named argument "param1" (AviSynth_Plugins/SMDegrain.avsi, line 1141) (AviSynth_Plugins/QTGMC+.avsi, line 976)

To Reproduce Works fine clip1 = QTGMCp(clip1, Preset="Slower", Denoiser="BM3D") Will cause the error clip1 = QTGMCp(clip1, Preset="Placebo", Denoiser="BM3D")

Expected behavior QTGMC+ is running with Preset=Placebo and BM3D like with dfttest

Dogway commented 1 year ago

Works for me, are you in latest AVS+? I use "official" pinterf's test7 build.

ChristianWaechter commented 1 year ago

I missed that new AviSynth+ version, so I might try to update to it and will report again https://forum.doom9.org/showthread.php?t=181351

ChristianWaechter commented 1 year ago

I updated all the files and got a little bit further. Now I'm getting the error:

Avisynth open failure: BM3D: 'cudaGetDeviceCount(&device_count)' failed: CUDA driver version is insufficient for CUDA runtime version (AviSynth_Plugins/SMDegrain.avsi, line 1152) (AviSynth_Plugins/QTGMC+.avsi, line 556)

This is obviouse because my Radeon RX6600XT does support CUDA. That's why I wanted to use my CPU for it and only included the file BM3DCPU_AVS.dll. But then I get the error, that BM3D_CUDA could not be found. How can I use the BM3D on the CPU?

My call is simple (adding preset=placebo does not change anything): QTGMCp(NoiseProcess=2, Denoiser="BM3D")

Dogway commented 1 year ago

Works for me on a GTX 1070, but also worked using gpuid=-1 (CPU mode). I have both files on the plugin folder though. If you have issues with BM3D try reporting here, maybe there's some incompatibility with your hardware.

ChristianWaechter commented 1 year ago

Hi, where can I tell QTGMC+ to use the CPU? is gpuid a valid parameter of the QTGMC+-function?

Dogway commented 1 year ago

Hi, where can I tell QTGMC+ to use the CPU? is gpuid a valid parameter of the QTGMC+-function?

Yes, gpuid=-1, but it will also use CPU nnedi3, you can directly check if BM3D is the problem with ex_BM3D(gpuid=-1)

ChristianWaechter commented 1 year ago

Thank you, that worked :) Running fine enough on my AMD Ryzen 9 5900X with only 50% utilization, no need for GPU acceleration QTGMCp(Preset="Placebo", NoiseProcess=2, Denoiser="BM3D", gpuid=-1)