Repository navigation
Bug-fix release. Every item below was measured, not guessed.
Fixed
- AI mode colour shift on untagged sources. Videos without a colour-matrix tag (common in fansub/older encodes) were converted with bt601 during frame extraction, permanently shifting colours (green channel +14 on HD). The matrix tag is now read; when missing it is guessed from resolution (SD → bt470bg, HD → bt709), the same rule the RIFE path already used.
- 10-bit sources in AI mode produced 16-bit PNGs (2.7× temp disk) that Real-ESRGAN reads as 8-bit anyway. Extraction now writes 8-bit RGB directly (dithered).
- "Could not read input resolution" with 1080p/1440p/2160p targets, and missed audio/subtitle codecs in MP4 decisions: ffmpeg's stream line was being wrapped at console width before parsing.
- Cancelled or failed jobs left a half-written output next to the source (and pushed the next run to
_2). It is now removed. - Queue stopped silently if the 2nd or later file could not start (e.g. unreadable file + "p" target), leaving the UI busy. Each file is now isolated; the error is logged and the queue continues.
- Sleep action hibernated on machines with hibernation enabled (
rundll32 SetSuspendStatequirk). - Extra ffmpeg parameters containing
|<>broke the RIFE command line.
Improved
- AI temp-disk estimate now scales with the source resolution and is checked against free space before extraction starts.
- Exact fractional frame rate (e.g. 24000/1001) via
ffprobeinstead of the rounded "23.98" — removes a duplicated frame every ~3 minutes in AI mode.setup.ps1now installsffprobe.exenext toffmpeg.exe(existing installs: runsetup.ps1once more; ~190 MB one-time download). - Progress file is read as a tail instead of re-reading the whole growing file every 500 ms.
- MP4 + HEVC output is tagged
hvc1(QuickTime/Apple compatibility). - Missing custom output folder is logged instead of silently falling back;
setup.ps1cleans its TEMP folder.
Upgrade
One-line installer or git pull, then run setup.ps1 once to get ffprobe.exe. Settings are untouched.