chunky-dev / chunky-denoiser

A denoising plugin for Chunky.
GNU General Public License v3.0
29 stars 8 forks source link

Validate denoiser executable #35

Open jackjt8 opened 2 years ago

jackjt8 commented 2 years ago

Currently the Plugin does not check if the executable is the right one.

oidnDenoise.exe - Is correct and works. oidnBenchmark.exe - Is invalid and only throws an Error: invalid argument in the debug console. Also locks up the Renderer. oidnTest.exe - Is invalid and nothing happens. DiskInfo64.exe - Is invalid and nothing happens.


Owing to how Chunky responded to oidnBenchmark.exe and Error: invalid argument I would recommend that we actually validate if the provided executable is the right one. Running oidnDenoise.exe or oidnDenoise.exe -h would show a list of valid command-line options.

D:\Programs\oidn-1.4.2.x64.vc14.windows\bin>oidnDenoise.exe
Intel(R) Open Image Denoise
usage: oidnDenoise [-d/--device default|cpu]
                   [-f/--filter RT|RTLightmap]
                   [--hdr color.pfm] [--ldr color.pfm] [--srgb] [--dir directional.pfm]
                   [--alb albedo.pfm] [--nrm normal.pfm] [--clean_aux]
                   [--is/--input_scale value]
                   [-o/--output output.pfm] [-r/--ref reference_output.pfm]
                   [-t/--type float|half]
                   [-w/--weights weights.tza]
                   [--threads n] [--affinity 0|1] [--maxmem MB] [--inplace]
                   [--bench ntimes] [-v/--verbose 0-3]
                   [-h/--help]

While the exact contents of the return may change we could still check and validate some of these results.

leMaik commented 1 year ago

Executing a random executable is a bad idea. We could check the hash, though.