Skip to main content

Module denoise

Module denoise 

Source
Expand description

GPU-accelerated video denoising operations.

This module provides compute-shader-based denoise filters for video frames. Three algorithms are available:

  • Gaussian – simple spatial blur (low latency, lower quality)
  • NonLocalMeans – patch-based NLM denoising (higher quality, more compute)
  • BilateralFilter – edge-preserving spatial filter (good quality/speed trade-off)

All operations fall back to CPU SIMD code when no suitable GPU is available (the GpuDevice::new failure path returns an error that the caller may handle by switching to a software path).

§GPU path (bilateral filter)

When device.is_fallback == false the bilateral filter is executed on the GPU via a WGSL compute shader (shaders/bilateral.wgsl). The NLM algorithm is too expensive for a single-dispatch compute shader (O(search_area² × patch_area) per pixel) and is therefore kept as a CPU fallback; GPU NLM is planned for a future release using multi-pass tiled reduction.

Structs§

DenoiseKernel
Denoise kernel configuration for use with the kernels module.
DenoiseOperation
GPU-accelerated denoise operations.

Enums§

DenoiseAlgorithm
Denoise algorithm variants.