Changelog
5.2 — Export Progress & UX Improvements
New Features
- Real-time export progress — progress bar now reads
out_time=from ffmpeg's-progressfile, showing actual encoding progress (works at any loglevel, evenerrororquiet) - Configurable ffmpeg loglevel — dropdown selector in Export panel lets you choose between
info,error,warning,verbose,debugto control log verbosity - Auto-load
conv.isw— ifconv.iswexists in the startup directory, it is automatically loaded on launch (useful for--pipemode workflows) - Cleanup temporary files checkbox — toggle to auto-delete temp files (
.bat,.isw,.log,_progress.txt) after export completes, enabled by default
Improvements
-progressfile — ffmpeg now writes machine-readable progress totemp/img2spec_export_progress.txtindependently of loglevel- Progress fallback — parses both
HH:MM:SS.xxxxxxand numeric (seconds) formats from-progressoutput
5.1 — Export Pipeline Fixes
Bug Fixes
- Export first-frame freeze — removed
-fflags nobufferfrom decoder ffmpeg, which caused frames to be output in decode order (instead of presentation order), leading to 150 duplicate/skipped frames (~2.5s) due to H.264 B-frame reordering - Export framerate consistency —
-frameratenow used for rawvideo input in encoder ffmpeg (replaces-r), matching rawvideo demuxer semantics - Export decoder output — removed redundant
-rand-vsyncoptions from decoder ffmpeg, letting it output at native source framerate without vsync interference
Improvements
- All first-frame diagnostic code (
prev_buf,memcmp,dup_warn) removed frompipe_loop()after issue resolution
5.0 — Video Mode & CLI Optimization
Major Features
-
Video Mode — load, scrub, and export video files (MP4, MOV, AVI, etc. supported by ffmpeg)
- Timeline slider with frame-by-frame navigation
- Play/pause with forward/backward skip buttons
- Real-time preview of all modifiers applied to video frames
- Export to HEVC (NVENC/AMF) or H.264 (x264) with configurable quality and scale
- Audio remux from source video after export
- Default export filename:
<input>_spmz.mp4
-
--pipeMode — process frames via stdin/stdout pipelineimg2spec workspace.isw --pipe --width W --height H- Reads raw RGB24 frames from stdin, outputs processed RGBA frames to stdout
- Supports ScalePosModifier (full-resolution source preserved)
- Frame-accurate pipeline for integration with external tools
-
--batch-stdinMode — batch process multiple images with different workspaces- Reads JSON lines from stdin:
{"src":"input.png","workspace":"file.isw","dst":"output.png"} - Each line is a self-contained export job
- Avoids Windows 32K-char command-line limit via streaming input
- Reads JSON lines from stdin:
-
Headless CLI Mode —
--headlessflag suppresses all GUI output- Combined with
--batch-stdinfor fully automated batch processing - Can run on machines without a display
- Combined with
Improvements
- CLI arguments processed sequentially and independently
process_and_save()helper reduces code duplication
4.0 — Previous Release
Original release by Jari Komppa. Image-to-spectrum conversion GUI tool with:
- ZX Spectrum, ZX 3x64, C64 HiRes, C64 Multicolor device modes
- Stackable modifiers (quantize, dither, scale, position, etc.)
- PNG/SCR/H/INC export
- Real-time interactive preview
- Workspace save/load