Anime4KCPP provides an optimized bloc97's Anime4K algorithm version 0.9, and it also provides its own CNN algorithm ACNet, it provides a variety of way to use, including preprocessing and real-time playback, it aims to be a high performance tools to process both image and video.
This project is for learning and the exploration task of algorithm course in SWJTU.
Anime4K is a simple high-quality anime upscale algorithm. The version 0.9 does not use any machine learning approaches, and can be very fast in real-time processing or pretreatment.
ACNet is a CNN based anime upscale algorithm. It aims to provide both high-quality and high-performance.
HDN mode can better denoise, HDN level is from 1 to 3, higher for better denoising but may cause blur and lack of detail.
for detail, see wiki page.
- Cross-platform, building have already tested in Windows ,Linux, and macOS (Thanks for NightMachinary).
- GPU acceleration support with all GPUs that implemented OpenCL 1.2 or newer.
- CUDA acceleration.
- High performance and low memory usage.
- Support multiple usage methods.
- DirectShow Filter (Windows only, for MPC-HC/BE, potplayer and other DirectShow based players)
- AviSynthPlus plugin
- VapourSynth plugin
- Android APP
- C API binding
- Python API binding
- GLSL shader(For MPV based players)
For more infomation on how to use them, see wiki.
Single image (RGB):
|Processor||Type||Algorithm||1080p -> 4K||512p -> 1024p||Benchmark score|
|AMD Ryzen 2600||CPU||ACNet||0.630 s||0.025 s||17.0068|
|Nvidia GTX1660 Super||GPU||ACNet||0.067 s||0.005 s||250|
|AMD Ryzen 2500U||CPU||ACNet||1.304 s||0.049 s||7.59301|
|AMD Vega 8||GPU||ACNet||0.141 s||0.010 s||105.263|
|Snapdragon 820||CPU||ACNet||5.532 s||0.180 s||1.963480|
|Adreno 530||GPU||ACNet||3.133 s||0.130 s||3.292723|
|Snapdragon 855||CPU||ACNet||3.998 s||0.204 s *||3.732736|
|Adreno 640||GPU||ACNet||1.611 s||0.060 s||6.389776|
|Intel Atom N2800||CPU||ACNet||11.827 s||0.350 s||0.960984|
|Raspberry Pi Zero W||CPU||ACNet||114.94 s||3.312 s||0.101158|
*Snapdragon 855 may use Cortex-A55 core under low loads, which may lead to its performance not as good as Snapdragon 820
For information on how to compile Anime4KCPP, see wiki.
pyanime4k is an Anime4KCPP API binding in Python, easy and fast.
ACNetGLSL is an ACNet (Anime4KCPP Net) re-implemented in GLSL for real-time anime upscaling.
Projects that use Anime4KCPP
semmyenator : Traditional Chinese, Japanese and French translation for GUI
All images are drawn by my friend King of learner and authorized to use, only for demonstration, do not use without permission.