An ultimate guide to MSharpen covers the complete installation and tuning framework for this classic edge-masked spatial sharpening plugin. Originally created by Donald Graft (neuron2) for AviSynth and VirtualDub, and modernised via GitHub ports for AviSynth+ and VapourSynth, MSharpen is uniquely popular for anime and cartoon post-processing. It sharpens vital outlines without amplifying background grain or video compression noise. 📦 Installation Guide
MSharpen must be manually loaded within your video-processing environment. For AviSynth / AviSynth+
Download the required binary (msharpen-x86.zip or msharpen-x64.zip).
Ensure you have the Microsoft Visual C++ Redistributable Package installed.
Extract MSharpen.dll and move it into your AviSynth plugins directory. Call it directly inside your script using:
LoadPlugin(“C:\path\to\MSharpen.dll”) # Optional if placed in auto-load directory MSharpen() Use code with caution. For VapourSynth Download the updated port from GitHub.
Place the .dll or Python wrapper inside your VapourSynth plugins folder. Call it in your Python script:
import vapoursynth as vs core = vs.core clip = core.msh.MSharpen(clip) Use code with caution. ⚙️ Tuning the Parameters
Tuning MSharpen relies on a few powerful parameters. The optimal workflow relies entirely on mapping out your edges first.
MSharpen(clip, int “threshold”, int “strength”, bool “highq”, bool “mask”) Use code with caution. mask = true (The First Tuning Step)
What it does: Turns your preview window pitch black, rendering the detected edges in bright white.
Tuning Guide: Always activate mask=true before messing with strength. It shows you exactly what parts of the frame will be sharpened. Once you map the edges perfectly, set it back to false. threshold (Range: 0 to 255 | Default: 15)
What it does: Determines the edge-detection sensitivity. Lower values catch fine lines and micro-details; higher values target only thick, bold outlines.
Tuning Guide: If your video has high background grain, turn threshold up to avoid sharpening the noise. For clean source material or anime lines, keep it lower. strength (Range: 0 to 255 | Default: 100)
What it does: Dictates the sharpness intensity applied exclusively to the isolated mask lines.
Tuning Guide: Because MSharpen masks the background, you can set the strength significantly higher (e.g., 150+) than traditional Unsharp Mask filters without blowing out your image with artifacts. highq = true (Default: true)
What it does: Toggles between processing speed and detail precision.
Tuning Guide: Keep this set to true unless you are on legacy hardware or processing heavy 4K batches where rendering frames per second is a bottleneck. 💡 Ideal Configuration Templates 1. Standard Clean Anime / Animation
Perfect for brightening up soft lines without introducing halos:
MSharpen(threshold=10, strength=120, highq=true, mask=false) Use code with caution. 2. Noisy Live-Action Footage
Ensures that skin textures and background noise remain smooth while keeping hair, eyes, and structural outlines crisp: MSharpen(threshold=25, strength=90, highq=true, mask=false) Use code with caution.
For more documentation, look through the MSharpen Avisynth Wiki. If you encounter a lack of visible filter changes, always utilize a VapourSynth preview script to isolate your edge profile before processing the final encode.
Are you planning to use MSharpen for animation or live-action footage? Let me know, and I can suggest a specific script placement order alongside your denoisers or resizers! Avisynth wiki MSharpen – Avisynth wiki
Leave a Reply