Skip to content

8.7.0 Mezame no Uta

Latest

Choose a tag to compare

@Anime4000 Anime4000 released this 11 Aug 19:08
0c6dd5f

Screenshot 2025-05-06 012148

Wallpaper: pixiv #121298659

IFME 8.7.0 — "Mezame no Uta"

Mezame no Uta (目覚めの歌, "Song of Awakening") — this release is mostly about the interface waking up. Several parts of the UI were starting threads that did nothing but sleep, and the encode pipeline was padded with fixed waits that guessed at how long things took. Both are gone.

What's new

The interface is quicker

  • Selecting a file in the queue is now instant. Each click used to start a thread that slept 50 ms before filling in the panel, which also meant clicking quickly could show you the previous file's settings. - Encoder log output is batched instead of blocking the UI on every single line. A fast encoder no longer makes the window stutter.
  • Importing files genuinely runs in the background now. Previously the progress dialog painted while the app was actually frozen.
  • Window resizing costs about 22% less CPU.
  • Removed a 1.5 second wait after every encoded file and a 0.5 second wait before muxing. IFME now waits for the encoder to actually release the file, which is both correct and much faster on large batches.

Stop actually works

  • Pressing Stop then Start again did nothing for the rest of the session. Fixed.
  • Stop no longer tears the pipeline down mid-write. Encoding now unwinds cleanly between stages and the encoder process is terminated properly.

Bug fixes

  • Progress percentage and ETA showed nonsense when an encoder reported a frame count IFME could not parse.
  • Crash when cycling through output containers with a file loaded.
  • Pressing Stop while an encoder was starting could crash.
  • The AVX/AVX2 CPU check never actually stopped anything — an unsupported CPU carried straight on into startup.
  • Batch import silently skipped the remaining files if you closed the progress dialog.

Interface text

The English (en-US) wording has been reworked throughout for clarity. Notably, the deinterlace method names now tell you what they actually do — mode 1 doubles the frame rate, which the old label never mentioned, and it is the default. Duplicate Alt-key shortcuts on the Video and Audio tabs were also removed.

Updated encoders (Windows build)

FFmpeg git-2026-07-12-a09be9b · SVT-AV1 4.2.0-73-gfb0ed7e59 ·
rigaya QSVEnc 8.26 · rigaya NVEnc 9.31 · vvenc 1.15.0-dev

Windows installer

Setup - Internet Friendly Media Encoder

Installs to %ProgramFiles%\Internet Friendly Media Encoder by default, with full permissions granted to everyone so you can add or pdate plugins in the IFME folder without needing administrator rights each time.

Linux support is back

Screenshot from 2025-05-25 00-12-55

Linux (Ubuntu and derivatives) is supported again. The bundled plugins are statically compiled, so they should be portable across distributions.

Requires mono-complete:

sudo apt install mono-complete

To run:

./ifme_linux          # or: mono IFME.exe
./ifme_linux -t       # launch inside a terminal to see console output

Built with AI assistance

A large part of this release was a refactor done with Claude (Claude Code). It found real bugs I had missed — including the Stop-then-Start deadlock and a crash when cycling output containers, both of which had been in the code for some time.

Worth being straight about how it went: it also introduced a couple of regressions along the way, and got the diagnosis wrong twice on one crash before landing on the real cause. What made it work was that every fix was verified against a running build — full encodes, Stop/Start cycles, container cycling — rather than accepted because the explanation sounded right. Two claims it made were dropped entirely after measurement contradicted them.

If you are curious about the reasoning behind each change, the commit messages go into detail, including what was tried and rejected.

Translations

Translations are very welcome. Language files are plain JSON in
IFME/i18n — copy
en-US.json, translate the values, keep the keys and {0} placeholders as they
are.


Full changelog: changelog.txt