This is not another "AI upscaler" but a compression artifact remover and denoiser using public models such as FBCNN and SCUNet
- Remove compression artifacts
- Denoise
- Before/after view
- Fully offline
You can download models here
Check out examples to get an idea of what DeJPEG can be used for
- Processed locally, a fast device is recommended
- Only standard image formats supported
There exists 2 "build types" of dejpeg, lite and full (noted by the presense of -opencv in full builds' version name). lite does not mean it has any limitations, it only lacks OpenCV binaries thus image descaling is not available. This is the version distributed in app stores like IzzyOnDroid.
This change was done on my part to make building more transparent, previously to be under the 30mb app limit and still have both onnx and OpenCV, I used to manually build, compress and upload compiled binaries directly, which created ambiguity on how they were made. In order to not further complicate the build process, the app was split. full builds are available in compressed zip/7z form under releases alongside the lite builds, and the need for compression is not longer a strict requirement.
chaiNNer is a cross-platform image/model utility, which should work well with these models
For FBCNN, which chaiNNer does support but in a limited fashion, install this custom node and use the original PyTorch models, not the mobile onnx.
- Android SDK
- For full builds: Android NDK (tested on version 27.3.x)
- Optional: UPX for library compression (must be in path if enabled)
-
Clone repo
-
(optional) run
./generatelibs.shto build native libraries (not needed for lite builds)options:
--abi <abi>: Target ABI (arm64-v8a, armeabi-v7a, x86_64, x86, or all). Default: arm64-v8a--debug: Build debug variant (disables compression).--no-upx: Disable UPX compression.--full: Build with OpenCV for BRISQUE descaling (requires NDK).--no-cleanup: Reuse existing libraries without rebuilding.--help: Show usage.
Note: UPX will only work if found in path.
-
./gradlew clean assembleLiteDebug(orassembleFullDebugfor BRISQUE)Or open in Android Studio and build from there.
I am by no means a professional developer and only do this in my spare time, the code is not perfect and quite janky.
This is a GUI for a select amount of 1x ONNX processing models, used under their respective licenses (Apache 2.0)
You are welcome to embed parts of this app in your own project as long as it remains free as in beer and abides to the GPLv3 license.
Credits to @adrianerrea for a starting point, FBCNN and SCUNet creators plus all other model owners.
DeJPEG is not affiliated or related with Topaz DEJPEG or any other similarly named software/project. Although I've wondered if the term 'JPEG' is copyrighted/trademarked due to it literally being the acronym for Joint Photographic Experts Group, for this reason I might need to change the app's name if legal issues start to occur.




