Next-gen media optimization engine — zero quality loss, maximum compression.
English · 简体中文 · 繁體中文 · 日本語 · 한국어 · Español · Français · Português · Русский · العربية
Modern Format Boost is a high-performance, Rust-based media optimization engine. It converts legacy image and video formats (JPEG, PNG, H.264, VP9…) into cutting-edge codecs (JPEG XL for images, HEVC/AV1 for videos) — achieving dramatic file size reductions while preserving or even bit-exactly matching the original quality.
Think of it as a "smart compressor" that never degrades your media:
- 📸 Images: JPEG → JXL lossless reconstruction (bit-exact, ~20% smaller); PNG/WebP/TIFF/HEIC → JXL
- 🎬 Videos: H.264/VP9/AV1 → HEVC with GPU-accelerated quality search
- 🍎 Apple ecosystem first: Full Apple compatibility mode, Live Photo detection, AAE sidecar handling
- 🔒 Metadata guardian: Preserves EXIF, XMP, ICC profiles, creation timestamps, macOS xattrs, Finder tags
- ⚡ Perceived Speed Optimization: "Deep-First" sorting strategy—prioritizes deeper directory levels first, then sorts by file size and format, to ensure efficient batching and maximum throughput.
- 🎞️ HDR10+ Dynamic Metadata: Full retention of SMPTE 2094-40 metadata via extraction sidecars and x265 SEI injection.
- 🌅 HDR Gainmap Synthesis: Automatically synthesizes high-fidelity 32-bit linear HDR buffers from Apple/Samsung/ISO HEIC Gainmaps, ensuring maximum dynamic range is preserved when converting to JXL.
- 🔍 Vendor Metadata Awareness: Intelligent scanning for Samsung/Google specific XMP namespaces in HEIC files to ensure maximum context preservation.
- Data Safety First: To avoid any potential data loss, it is highly recommended to output processed files to a separate directory (e.g., using
-o /path/to/output) rather than using in-place conversion (--in-place), especially for irreplaceable media. - Beta Software: While this program has been extensively tested, debugged, and optimized to prevent quality or data loss (as seen in the changelog), it is not guaranteed to be 100% bug-free. Please report any issues you encounter on GitHub.
- Computation Insight: While optimized for efficiency (especially on Apple Silicon M-series), processing massive batches in
--ultimatemode can still be time-consuming. It will occupy system resources for an extended period; please plan your task accordingly. - Tool Maturity: The unified tools (
img,vid) defaults to HEVC, which is more mature and stable than the AV1 strategy. For high-reliability production tasks, HEVC (the default) is recommended.
Modern Format Boost is built on a "Local-First" architecture, ensuring your creative assets remain entirely within your control.
- Air-Gapped Operation: 100% offline processing. No telemetry, usage tracking, or cloud pings. The core binaries contain zero network-related code.
- Rust-Hardened Runtime: Built with Rust to natively eliminate memory corruption bugs (buffer overflows, etc.).
- Secure Integration: All external tools (FFmpeg, cjxl) are invoked via safe, escaped primitives—never through raw shell execution—preventing arbitrary command injection.
- Path Isolation: Advanced normalization prevents directory traversal and protects unrelated system files.
- System Path Blocklist: Built-in shields for sensitive system directories to prevent accidental OS file modifications.
- Dynamic Resource Balancing: Automatically adjusts processing threads based on memory/CPU load to prevent system crashes during extreme tasks.
- Comprehensive Metadata Custodian: Strict bit-for-bit preservation of EXIF, XMP, ICC, and file system timestamps (btime/mtime).
- Secure Processing & Session Isolation:
- Zero Workspace Pollution: Centralized tracking (
~/.mfb_progress/) keeps your media folders 100% clean. No hidden metadata files remain among your photos/videos. - Conflict-Free Temp Files: Every intermediate analysis file (YUV streams, analysis segments) is uniquely identified with a randomized UUID. This prevents multi-instance collisions and ensures "Surgical Precision" during cleanup.
- Scrub-on-Start Cleanup: Whether a task completes successfully or is resumed after an interruption, the system automatically purges all transient data. This "Self-Cleaning" architecture ensures your disk remains free of abandoned processing leftovers.
- Zero Workspace Pollution: Centralized tracking (
- Intelligent Checkpoint Reset: Automatically detects when a user manually deletes the output directory to "start over", triggering a full state reset even in resume mode.
🛠️ Deep Technical: How It Works — The Pipeline
Every file goes through a multi-stage decision pipeline:
- Stage 1 — Smart Detection: Analyzes JPEG DQT tables (UltraHDR gainmap detection), WebP VP8L chunks, and AVIF
av1Cboxes at binary level. Now features Zero-Debt Architecture with 100% Clippy compliance and robustOpenEXR/JPEG 2000header parsing. - Stage 2 — Route & Encode: JXL VarDCT for JPEG (bit-exact); Modular mode for lossless sources (PNG, lossless WebP/AVIF/HEIC/EXR/JP2).
- Stage 3 — Detour Pathway: Formats like TIFF/WebP/BMP/HEIC are pre-processed into temporary 16-bit PNGs or 32-bit OpenEXR to ensure
cjxlcompatibility without quality loss (8/16/32-bit matched pipeline). - Stage 4 — HEIC HDR Synthesis: Intercepts HEIC files with Gainmaps (Apple/Google) and synthesizes 32-bit linear-light HDR buffers via an intermediate OpenEXR escort pipeline, delivering true HDR JXL output.
- Stage 5 — Loop Intent v3: A 7-layer hierarchical decision tree. Evaluates Loop Closure, Motion Gini (variation), Periodicity, and KNN-weighted fusion to identify looping intent (memes, stickers, loops).
- Phase 1: GPU Coarse Search: Binary search on hardware encoders (VideoToolbox/NVENC) to find the "quality knee".
- Phase 2: CPU Fine-Tune: Maps GPU CRF to
x265scale. Uses Sprint & Backtrack (double step on success, reset to 0.1 on overshoot). - Phase 3: Ultimate 3D Quality Gate: Requires simultaneous pass of VMAF-Y ≥ 92.0, CAMBI ≤ 6.0 (banding), and PSNR-UV ≥ 34.0 dB.
- Fusion Scoring: Combines MS-SSIM + SSIM_All (0.6/0.4 weight) for robust structural analysis.
- Chroma Guard: Automatically detects small resolutions that would crash libvmaf MS-SSIM and falls back to Y-only scoring to ensure processing reliability.
- Note: In
--ultimatemode, the search only terminates after 50 consecutive samples show zero quality gain, ensuring absolute saturation.
- HDR: Preserves bt2020 primaries, PQ/HLG TRC, and Mastering Display metadata.
- Dolby Vision: Extracts RPU via
dovi_tooland injects into x265 (Profile 7 → 8.1 conversion). - macOS xattrs: Preserves Finder Tags, Date Added, and creation timestamps via
copyfileandsetattrlist.
Runtime
| Binary | Purpose | Target Codec |
|---|---|---|
img |
Image optimization | → JXL (static) / HEVC / AV1 (animated) |
vid |
Video optimization | → HEVC / AV1 |
Plus a double-click macOS app (Modern Format Boost.app) for drag-and-drop batch processing.
| Input Format | Original Size | Output Format | Output Size | Savings | Method |
|---|---|---|---|---|---|
| Landscape JPEG | 4.2 MB | JXL | 3.3 MB | ~21% | Lossless component reconstruction |
| Screenshot PNG | 2.5 MB | JXL | 1.1 MB | ~56% | Modular d=0.0 |
| Action Cam H.264 | 1.2 GB | HEVC | 480 MB | ~60% | GPU/CPU CRF Search |
| Animated WebP | 15 MB | AV1 / HEVC | 1.8 MB | ~88% | Transcoded to video format |
| Input Format | Lossless? | Animated? | Action | Output | Method |
|---|---|---|---|---|---|
| JPEG | — | No | Lossless reconstruct | .jxl |
cjxl VarDCT (bit-exact) |
| PNG | ✅ | No | Lossless convert | .jxl |
cjxl Modular d=0.0 |
| PNG (indexed) | ❌ | No | Quality-matched | .jxl |
d=0.001 |
| WebP | ✅ | No | Detour → lossless | .jxl |
dwebp → JXL d=0.0 |
| WebP | ❌ | No | Skip | (keep) | Avoid generational loss |
| WebP | — | ✅ | Loop Intent | .mov/.gif |
HEVC/AV1 or keep GIF |
| AVIF | ✅ | No | Lossless convert | .jxl |
d=0.0 |
| AVIF | ❌ | No | Skip | (keep) | Avoid generational loss |
| HEIC/HEIF | ✅ | No | Detour → lossless | .jxl |
sips/magick → PNG → d=0.0 |
| HEIC/HEIF | ❌ | No | HDR Synthesis | .jxl |
If Gainmap exists -> 32-bit EXR -> JXL |
| HEIC/HEIF | ❌ | No | Skip | (keep) | Standard HEIC: avoid generational loss |
| TIFF | ✅ | No | Detour → lossless | .jxl |
magick -depth 16 → PNG → d=0.0 |
| TIFF | ❌ | No | Quality-matched | .jxl |
magick → JXL d=0.001 |
| BMP | ✅ | No | Detour → lossless | .jxl |
magick → PNG → d=0.0 |
| GIF | — | ✅ | Loop Intent | .mov/.gif |
HEVC/AV1 or keep GIF |
| GIF | — | No | Frame extract | .jxl |
ffmpeg → JXL |
| JXL | — | No | Skip | (keep) | Already optimal |
| Input Codec | Compression | Action | Output | Encoder |
|---|---|---|---|---|
| H.264 (AVC) | Lossy | CRF explore | .mp4 HEVC |
GPU → x265/SVT-AV1 |
| H.264 | Lossless | Lossless encode | .mkv HEVC |
x265/SVT-AV1 lossless |
| VP9 | Lossy | CRF explore | .mp4 HEVC |
GPU → x265/SVT-AV1 |
| AV1 | Lossy | CRF explore | .mp4 HEVC |
GPU → x265/SVT-AV1 |
| HEVC (H.265) | Any | Skip | (keep) | Already target codec |
| ProRes | Lossy/Lossless | CRF explore/lossless | .mp4/.mkv |
x265 |
| HDR Type | Detection | Preservation Strategy |
|---|---|---|
| HDR10 | mastering_display + max_cll in side_data | Static metadata fully preserved via FFmpeg args |
| HEIC Gainmap | HEIC auxiliary image (Apple/Samsung/ISO) | Synthesized to 32-bit linear HDR -> JXL (True HDR) |
| UltraHDR JPEG | JPEG APP1/APP2 + XMP (hdrgm:) | Metadata preserved; gainmap loss warning emitted |
| HLG | color_trc = arib-std-b67 | Color primaries + TRC preserved |
| Dolby Vision | DOVI side_data in streams/frames | RPU extraction via dovi_tool → x265 injection; Profile 7 → 8.1 conversion |
| HDR10+ | ST2094-40 dynamic metadata | Supported via hdr10plus_tool sidecar extraction and x265 injection (Profile A/B metadata retention) |
| SDR | No HDR markers | Standard processing (yuv420p) |
For users who do not wish to install the Rust toolchain, you can download pre-compiled binaries from the Releases page.
# macOS/Linux One-liner (example for macOS ARM64)
curl -LO https://github.com/nowaytouse/modern-format-boost/releases/latest/download/modern-format-boost-aarch64-apple-darwin.tar.gz
tar -xzf modern-format-boost-aarch64-apple-darwin.tar.gz| Tool | Required? | Purpose | Install Command |
|---|---|---|---|
| Rust (1.75+) | ✅ | Build & Install | curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh |
| FFmpeg (5.0+) | ✅ | Video processing & Metrics | brew install ffmpeg / apt install ffmpeg |
| libjxl | ✅ | JXL encoding core | brew install jpeg-xl |
| ExifTool | ✅ | Metadata preservation | brew install exiftool |
| ImageMagick | ✅ | Image detour pathway | brew install imagemagick |
| libwebp | ✅ | WebP native decoding | brew install webp |
| dovi_tool | ✅ | Dolby Vision RPU extraction | cargo install dovi_tool |
| libheif | ✅ | HEIC/HEIF decode | brew install libheif |
| hdr10plus_tool | ✅ | HDR10+ metadata extraction | cargo install hdr10plus_tool |
brew install ffmpeg jpeg-xl exiftool imagemagick webp libheif
cargo install dovi_toolTip
For power users who want all advanced features (AI filters, FDK-AAC, etc.), see our Advanced FFmpeg Setup Guide for instructions on installing a full-featured version without breaking system dependencies.
sudo apt update && sudo apt install ffmpeg libimage-exiftool-perl imagemagick webp libheif-dev
# JPEG XL (libjxl) may need PPA or source build on older distrosRecommended: Use winget for one-liner installation:
winget install ffmpeg.ffmpeg ImageMagick.ImageMagick OliverBetz.ExifTool libheif.libheif Google.WebP
# Note: dovi_tool must be installed via cargo or manual binary downloadgit clone https://github.com/nowaytouse/modern-format-boost.git
cd modern-format-boost
cargo build --release# Image path conversion
img run /path/to/media
# Video path conversion
vid run /path/to/media
# To use AV1 strategy:
vid run --codec av1 /path/to/media--ultimate: Archival-grade 0.01 precision search (High quality, high time cost).--apple-compat: Enable Apple ecosystem compatibility (Live Photos/AAE). (Default: On)--in-place: Replace original files. WARNING: IRREVERSIBLE.-o /dir: Safe output directory. (Recommended)--verbose: Show detailed processing logs.--no-recursive: Do not descend into subdirectories.--force-video: Force treat animated images as video regardless of Loop Intent.
cache-stats: View SQLite analysis cache statistics.strategy <path>: Preview the pipeline strategy for a specific file.restore-timestamps: Bulk fix creation dates based on filename patterns (metadata recovery).
Modern Format Boost natively supports running multiple windows/instances.
- Concurrent Processing: Allows running multiple windows to handle different paths independently.
- Note: Please scale according to your hardware I/O performance; excessive concurrency may cause file system race conditions.
crates/img/: Image → JXL/HEVC/AV1 toolcrates/vid/: Video → HEVC/AV1 toolcrates/shared_utils/: Core brain (GPU/CPU hybrid engine, HDR mapping, metadata)Modern Format Boost.app/: macOS drag-and-drop UI
1. Is JXL broadly supported?
Native support exists in macOS 14+ / iOS 17+, Chrome 91+, and Firefox 128+. However, there are known ecosystem issues:
- Animations: Modern animated formats (JXL/AV1/HEIF) often fail to preview as animations in the native macOS/iOS Photos app or Finder (static only), especially when synchronized via iCloud. They play correctly in modern browsers or specialized tools.
- Thumbnails: JXL files using grayscale ICC profiles may appear as black thumbnails in Finder/iCloud, even though they render perfectly when opened.
JXL remains the superior format for bit-exact archival and high-fidelity HDR storage.
2. How is HDR10+ handled?
Fully supported. We use hdr10plus_tool to extract SMPTE 2094-40 dynamic metadata and inject it back into the HEVC stream via libx265's --dhdr10-info parameter. Ensure the tool is installed to enable this feature.
3. Why skip WebP/AVIF/HEIC?
These formats are already modern and highly compressed. Re-encoding them would cause "generational loss" (quality degradation) with minimal size benefits.
Exceptions: The tool will process these if it detects high-fidelity HDR Gainmaps for synthesis into JXL, or if an animated file requires optimization via the Loop Intent engine.
Licensed under the MIT License.
This project orchestrates several open-source giants. We thank their authors for their contributions:
| Component | License | Purpose |
|---|---|---|
| FFmpeg | LGPL/GPL | Video processing & Metrics |
| libjxl (cjxl/djxl) | BSD-3 | JPEG XL encoding |
| ExifTool | Perl/GPL | Metadata preservation |
| ImageMagick | Apache 2.0 | Image detour pathway |
| SVT-AV1 | BSD+Patent | AV1 Encoding |
| x265 | GPL-2.0 | HEVC Encoding |
All Rust dependencies are managed via Cargo.toml and fall under their respective open-source licenses (MIT/Apache/BSD).
