Skip to content

Non-local means denoise filter, drop-in replacement of the venerable KNLMeansCL for VapourSynth, but without the OpenCL dependency (CPU only)

License

Notifications You must be signed in to change notification settings

AmusementClub/vs-nlm-ispc

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

vs-nlm-ispc

Non-local means denoise filter, drop-in replacement of the venerable KNLMeansCL, but without the OpenCL dependency (CPU only).

x86 and arm are supported.

Usage

Prototype:

core.nlm_ispc.NLMeans(clip clip[, int d = 1, int a = 2, int s = 4, float h = 1.2, string channels = "AUTO", int wmode = 0, float wref = 1.0, clip rclip = None])

Compilation

ISPC is required.

x86

cmake -S . -B build -D CMAKE_BUILD_TYPE=Release \
-D CMAKE_ISPC_INSTRUCTION_SETS="sse2-i32x4;avx1-i32x4;avx2-i32x8" \
-D CMAKE_ISPC_FLAGS="--opt=fast-math"

cmake --build build

cmake --install build

arm

cmake -S . -B build -D CMAKE_BUILD_TYPE=Release \
-D CMAKE_ISPC_INSTRUCTION_SETS="neon-i32x4" \
-D CMAKE_ISPC_FLAGS="--opt=fast-math"

cmake --build build

cmake --install build

About

Non-local means denoise filter, drop-in replacement of the venerable KNLMeansCL for VapourSynth, but without the OpenCL dependency (CPU only)

Topics

Resources

License

Stars

Watchers

Forks