Skip to content

Built in GLSL Filters

animeojisan edited this page Sep 4, 2026 · 3 revisions

Built-in GLSL Filters

English | 日本語

This page covers the GLSL filters bundled with cHiDeScaler-Neo.

GLSL filters are generally lighter than ONNX models and can be freely chained for upscaling, restoration, denoising, sharpening, CRT simulation, resizing, and other processing. Actual performance depends heavily on input resolution, GPU, and filter order.

Scale notation: 1x keeps the current resolution, x2 doubles width and height, and Variable can be adjusted in Neo.


Anime restoration and upscaling

Filter Scale Description
Anime4K Restore CNN S / M / L / VL / UL 1x Restores anime line work without upscaling while reducing compression artifacts, blur and ringing. It can be viewed as a light denoise/restoration plus line reconstruction pass. Quality and GPU cost increase S → M → L → VL → UL. Anime4K's official documentation notes that moving up one CNN size is roughly expected to double processing time.
Anime4K Restore CNN Soft S / M / L / VL / UL 1x More conservative Restore family, especially useful for downsampling artifacts, aliasing and ringing. Uses the same S→UL quality/performance ladder.
Anime4K Upscale CNN x2 S / M / L / VL / UL x2 CNN anime upscaler. Anime4K describes it as a 2x upscaler for images that do not require major restoration. S is fastest; UL is highest quality and heaviest.
Anime4K Upscale Denoise CNN x2 S / M / L / VL / UL x2 Performs 2x upscaling and denoising in the same family. Useful for compressed anime sources.
Anime4K Clamp Highlights 1x Helper pass that reduces overshoot and ringing produced by later processing. Anime4K recommends placing it near the start of an Anime4K chain.
Anime4K Thin HQ 1x Makes detected anime lines thinner. Useful when processing has made line art too thick, but aggressive settings can also thin desired detail.
Anime4K AutoDownscalePre x2 / x4 Helper Helper stages for multi-pass Anime4K chains. They avoid unnecessarily processing later stages at resolutions larger than the target display.
FSRCNNX x2 8-0-4-1 x2 Lightweight CNN-style 2x upscaler. The smaller bundled FSRCNNX variant.
FSRCNNX x2 16-0-4-1 x2 Larger FSRCNNX variant, trading more GPU work for higher quality.
FSRCNNX x2 8-0-4-1 LineArt x2 FSRCNNX variant tuned for line art / 2D animation.
AniSD ArtCNN C4F32 i4 x2 ArtCNN-based model trained for SD anime. ArtCNN's C4F32 architecture is intended for real-time use; Neo bundles this shader for SD-anime restoration and 2x scaling.
W2xEX AnimeVideo Mini x2 x2 Lightweight 2D-anime-oriented neural GLSL upscaler. Neo also uses it in SD-anime presets.
RAVU Lite r2 / r3 / r4 x2 Lightweight RAVU (Rapid and Accurate Video Upscaling). Upstream documentation describes RAVU Lite as faster and sharper than regular RAVU. r2/r3/r4 indicate the radius used by the model.
RAVU RGB r2 / r3 / r4 x2 RAVU variants operating after RGB planes are merged. r2/r3/r4 use different radii, with larger radii generally requiring more work.

Anime4K S to UL

S → M → L → VL → UL
fast                    heavy
lower cost              higher quality

UL is not automatically the best practical choice. At high input resolutions, later stages become much more expensive, so S–L can be the better real-time choice.


Denoising and restoration

Filter Scale Description
FSRCNNX x1 16-0-4-1 distort 1x CNN restoration pass trained with distortion, intended to reduce compression-related degradation without changing resolution.
FSRCNNX x1 16-0-4-1 anime_distort 1x Anime-oriented variant intended to suppress compression noise while retaining line work.
NLMeans 1x High-quality Non-Local Means denoising. Effective against random noise, but strong settings can remove fine texture.

Debanding

Filter Scale Description
NeoDeband 1x Neo-oriented lightweight debanding with edge protection. Useful for visible steps in skies and gradients.
NeoDeband Strong 1x Stronger NeoDeband variant for more obvious banding.
hdeband 1x General source debanding filter.
neo_f3kdb_luma RT 1x f3kdb-style debanding focused on luma, reducing the chance of altering color.
neo_f3kdb_rgb RT 1x RGB f3kdb-style debanding for color banding as well as luminance banding.

Sharpening and line correction

Filter Scale Description
FineSharp RT 1x Fine-detail sharpening for added crispness without relying only on a hard edge halo.
Adaptive Sharpen 1x Adaptively sharpens primarily blurred edges while minimizing the increase of noise, ringing, and banding compared with conventional sharpening methods.
aWarpSharp2 RT 1x Warp-based line tightening. Useful for thick or soft anime outlines.
aWarpSharp3 RT 1x Another aWarpSharp implementation; used by several Neo anime presets to tighten line work.
kvarpline RT 1x Warp/line-shape correction filter. Best used conservatively because high strength can visibly alter shapes.
GEGL Unsharp Mask RT 1x Conventional unsharp masking with radius/amount/threshold controls.
Sharpen Complex V2 RT 1x More complex sharpening pass for finer control than a basic unsharp mask.

Anti-aliasing

Filter Scale Description
AXAA 1x Fast FXAA-derived post-process anti-aliasing.
FAAA RT 1x Fast Adaptive Anti-Aliasing style post-process AA.
DLAA RT 1x Luma-edge-detection post-process AA. This shader is unrelated to NVIDIA's product named DLAA.
Intel CMAA2 Lite 1x Lightweight Conservative Morphological Anti-Aliasing 2 implementation.

Resize

Neo's resize shaders expose a 0.25x–4.00x scale control.

Filter Description
Nearest Neo Nearest-neighbor resize. Best for pixel art and integer-like scaling when interpolation is undesirable.
Bilinear Neo Very light, smooth interpolation; fast but relatively soft when enlarging.
Catmull-Rom Neo Sharper bicubic-family resize.
Mitchell-Netravali Neo Bicubic-family resize balancing sharpness and ringing control.
Spline16 Neo Lightweight spline resampling with a balanced look.
Spline36 Neo Higher-quality spline resize; useful as a general-purpose scaler.
Lanczos2 Neo Sharp Lanczos-family resize; preserves detail well but can show mild ringing on some content.

Deinterlacing

Filter Scale Description
deint_swa 1x Lightweight single-frame GLSL deinterlacer for reducing combing. It is not the same as a temporal multi-frame deinterlacer.

CRT

Filter Description
CRT Beam Simulator-Neo Built-in temporal CRT beam simulation for high-refresh-rate displays. See CRT Beam Simulator-Neo.
CRT Geom Neo CRT-Geom-style appearance simulation with curvature, gamma, scanlines, mask, and related controls.
CRT Geom Neo2 Neo-tuned CRT Geom variant with additional dark-color separation, color-density and contrast controls.
GTU v0.50 Neo Focuses more on analog blur/color mixing and scanlines than heavy mask/curvature simulation; includes composite-style controls.
CRT Aperture Aperture-grille-style CRT shader with scanline, glow, gamma, and mask controls.
CRT GDV Mini Ultra Trinitron Lightweight Trinitron-style CRT shader with beam width, mask strength, and brightness controls.
CRT Hyllian Hyllian-family CRT shader with detailed beam-profile and color controls.
CRT Lottes Timothy Lottes CRT shader family, combining scanlines, mask and warp for an arcade/CRT appearance.

Pixel art

Filter Scale Description
PixelPerfect Auto Chooses an integer-like scale that preserves source pixels and fills unused display area with black borders.
HQx x2 x2 Edge-aware HQx pixel-art scaler.
HQx x3 x3 3x HQx scaler.
HQx Lite RT x2–x10 Adjustable lighter HQx-style scaler.
OmniScale RT Variable Edge/corner-aware pixel-art upscaler targeting the requested output size.
Pixellate RT Variable Pixel-art upsampling that can also intentionally create a pixelated/mosaic look.

Film grain

Filter Description
Filmgrain Adds Gaussian-style film grain. Useful for restoring texture after strong denoising or for stylistic grain.
Filmgrain Smooth Smoother grain-pattern variant.

Upstream references

For per-file licenses and provenance, also see Neo's THIRD_PARTY_NOTICES.md.

Clone this wiki locally