yorkyang2333/iina-anime4k

IINA plugin for Anime4K

22

stars

30

commits

JavaScript

primary language

Jul 4, 2026

updated

github.com/yorkyang2333/iina-anime4k
anime4k
anime-upscaling
iina
iina-plugin

README

🌸 Anime4K for IINA

High-Quality Real-Time Anime Upscaling Plugin for macOS IINA

Release Downloads IINA macOS Stars Powered by Anime4K Languages License: GPL v3

English简体中文繁體中文日本語Русский


Anime4K for IINA is a modern macOS plugin that packages the acclaimed Anime4K real-time GLSL shaders and embeds them seamlessly into IINA. It installs the bundled shaders into the plugin data directory on first launch, dynamically managing mpv's glsl-shaders list on the fly—no manual mpv.conf configuration or script editing required!

✨ Features

  • 🚀 Native IINA Workflow: Control everything via the dedicated Anime4K sidebar tab, macOS top menu bar, and native IINA OSD feedback without leaving playback.
  • 🌐 Global 54-Language Support: Fully aligned with official IINA's internationalization roster, featuring native UI translations and dynamic system locale detection.
  • ⚖️ Two Quality Tiers:
    • Fast: Lightweight & efficient, optimized for standard Apple Silicon chips and Intel Macs.
    • HQ: Advanced multi-pass shader variants for high-end GPUs (M-series Pro/Max/Ultra chips).
  • 🎛️ Six Preset Chains: Switch between Mode A, B, C, A+A, B+B, and C+A instantly during video playback.
  • 🔄 Smart Auto-Apply: Automatically restores your preferred scaling mode and quality tier whenever a new video loads.
  • ⌨️ Menu Keybindings: Quick keyboard shortcuts (16 for presets, 0 to disable, 7 for Fast tier, and 8 for HQ tier).

📖 Preset Guide

PresetBest Starting Point & Recommended Usage
Mode AMost 1080p anime and generally degraded or blurry sources
Mode B720p anime or sources where Mode A appears too sharp or unnatural
Mode C480p / SD anime, noisy sources, or videos requiring denoise-first processing
Mode A+ADouble-pass Mode A chain; higher quality, slower, and more aggressive sharpening
Mode B+BDouble-pass Mode B chain; higher quality, slower, and more aggressive sharpening
Mode C+AMode C combined with extra reconstruction; ideal for difficult low-resolution video

[!TIP] Start with Fast + Mode A for most anime videos. If your Mac has extra GPU headroom, switch to HQ or one of the double-pass modes (A+A, B+B, C+A). If the image appears over-sharpened, noisy, or introduces ringing artifacts, step back to Mode B or Mode C.

🚀 Installation

  1. Go to the Releases page and download the latest anime4k.iinaplgz package.
  2. Double-click the downloaded file to install it directly into IINA, or open IINA and navigate to Preferences -> Plugins to install manually.
  3. Open any anime video, show IINA's sidebar, switch to the Anime4K tab, and pick your quality tier and mode!

🛠️ Build From Source

Requirements

  • macOS with IINA installed
  • Node.js & npm
  • Python 3
  • Git (with submodule support for upstream Anime4K shaders)

Build Commands

git clone https://github.com/yorkyang2333/iina-anime4k.git
cd iina-anime4k
git submodule update --init --recursive
npm install
npm run pack

Once the build finishes, the packaged plugin anime4k.iinaplgz will be generated in the project root directory.

🤝 Contributing & Development

We welcome pull requests and contributions from the community! Please read our Contributing Guide (CONTRIBUTING.md) for detailed guidelines on local development setup, versioning conventions (ghVersion), and IINA's automated release architecture.

Core Architecture

  • src/index.js — The core plugin runtime (shader installation, state persistence, menu synchronization, OSD messaging, and auto-apply logic).
  • src/shaders.js — Configuration and mapping for Fast and HQ shader chains.
  • src/i18n.js — Full 54-language native localization dictionary and system locale detection engine.
  • ui/sidebar/ — Web UI components and styling for the IINA sidebar.
  • build-shaders.py — Pre-compilation script that processes Anime4K/glsl/**/*.glsl and generates src/shaders-data.js.
  • generate-pref.py — Generates the static multilingual preferences interface (pref.html).

LINUXDO

Contributors

yorkyang2333

30 commits

yorkyang2333/iina-anime4k

IINA plugin for Anime4K

22

stars

30

commits

JavaScript

primary language

Jul 4, 2026

updated

github.com/yorkyang2333/iina-anime4k
anime4k
anime-upscaling
iina
iina-plugin

README

🌸 Anime4K for IINA

High-Quality Real-Time Anime Upscaling Plugin for macOS IINA

Release Downloads IINA macOS Stars Powered by Anime4K Languages License: GPL v3

English简体中文繁體中文日本語Русский


Anime4K for IINA is a modern macOS plugin that packages the acclaimed Anime4K real-time GLSL shaders and embeds them seamlessly into IINA. It installs the bundled shaders into the plugin data directory on first launch, dynamically managing mpv's glsl-shaders list on the fly—no manual mpv.conf configuration or script editing required!

✨ Features

  • 🚀 Native IINA Workflow: Control everything via the dedicated Anime4K sidebar tab, macOS top menu bar, and native IINA OSD feedback without leaving playback.
  • 🌐 Global 54-Language Support: Fully aligned with official IINA's internationalization roster, featuring native UI translations and dynamic system locale detection.
  • ⚖️ Two Quality Tiers:
    • Fast: Lightweight & efficient, optimized for standard Apple Silicon chips and Intel Macs.
    • HQ: Advanced multi-pass shader variants for high-end GPUs (M-series Pro/Max/Ultra chips).
  • 🎛️ Six Preset Chains: Switch between Mode A, B, C, A+A, B+B, and C+A instantly during video playback.
  • 🔄 Smart Auto-Apply: Automatically restores your preferred scaling mode and quality tier whenever a new video loads.
  • ⌨️ Menu Keybindings: Quick keyboard shortcuts (16 for presets, 0 to disable, 7 for Fast tier, and 8 for HQ tier).

📖 Preset Guide

PresetBest Starting Point & Recommended Usage
Mode AMost 1080p anime and generally degraded or blurry sources
Mode B720p anime or sources where Mode A appears too sharp or unnatural
Mode C480p / SD anime, noisy sources, or videos requiring denoise-first processing
Mode A+ADouble-pass Mode A chain; higher quality, slower, and more aggressive sharpening
Mode B+BDouble-pass Mode B chain; higher quality, slower, and more aggressive sharpening
Mode C+AMode C combined with extra reconstruction; ideal for difficult low-resolution video

[!TIP] Start with Fast + Mode A for most anime videos. If your Mac has extra GPU headroom, switch to HQ or one of the double-pass modes (A+A, B+B, C+A). If the image appears over-sharpened, noisy, or introduces ringing artifacts, step back to Mode B or Mode C.

🚀 Installation

  1. Go to the Releases page and download the latest anime4k.iinaplgz package.
  2. Double-click the downloaded file to install it directly into IINA, or open IINA and navigate to Preferences -> Plugins to install manually.
  3. Open any anime video, show IINA's sidebar, switch to the Anime4K tab, and pick your quality tier and mode!

🛠️ Build From Source

Requirements

  • macOS with IINA installed
  • Node.js & npm
  • Python 3
  • Git (with submodule support for upstream Anime4K shaders)

Build Commands

git clone https://github.com/yorkyang2333/iina-anime4k.git
cd iina-anime4k
git submodule update --init --recursive
npm install
npm run pack

Once the build finishes, the packaged plugin anime4k.iinaplgz will be generated in the project root directory.

🤝 Contributing & Development

We welcome pull requests and contributions from the community! Please read our Contributing Guide (CONTRIBUTING.md) for detailed guidelines on local development setup, versioning conventions (ghVersion), and IINA's automated release architecture.

Core Architecture

  • src/index.js — The core plugin runtime (shader installation, state persistence, menu synchronization, OSD messaging, and auto-apply logic).
  • src/shaders.js — Configuration and mapping for Fast and HQ shader chains.
  • src/i18n.js — Full 54-language native localization dictionary and system locale detection engine.
  • ui/sidebar/ — Web UI components and styling for the IINA sidebar.
  • build-shaders.py — Pre-compilation script that processes Anime4K/glsl/**/*.glsl and generates src/shaders-data.js.
  • generate-pref.py — Generates the static multilingual preferences interface (pref.html).

LINUXDO

Contributors

yorkyang2333

30 commits

Languages

JavaScript

65.2%

HTML

24.3%

Python

8.2%

SCSS

2.3%