I’m fed up with the inefficiency of SD upscaling on my Mac Studio and tired of waiting for any improvement from Topaz in that regard. Now, after creating some shell scripts, I’ve achieved around 60% speed increase from ~16.5 fps to ~26.5 fps. I have the lowest spec Mac Studio M1 Max.
In real-time, I can now deinterlace (using ffmpeg), 2X upscale (using Artemis) PAL DVD MKVs (720x576 25fps) and view the output MKV using VLC (after ~30s of pre-processing).
The essential ingredient for this increased efficiency is “stacking”. I experimented with various configurations of rectangular “mosaics” and found the most efficient was a single row of 8 (i.e. 5760x576). By stacking the SD video segments, the resulting higher resolution is upscaled much more efficiently by the Apple Silicon GPU cores. Of course, the scripts do other things such as the segmenting, cropping and concatenation. Also, I needed to compensate for the inferior quality of the first upscaled frame of each segment (because TVAI doesn’t have any previous frames to compare). I do this by prepending a frame from the end of the previous segment and removing the added (now upscaled) frame afterwards.
There are only about 160 lines of shell script (Zsh) across 8 files (excluding comments and spacers). I’m happy to make the scripts available if anyone is interested.
Finally, I think that Topaz should be at least a little embarrassed that I’ve achieved such a speed increase. I’m just a hobbyist in terms of ffmpeg and scripting, certainly no expert. Imagine what the devs at Topaz could achieve at source code level…
Thanks.
Andy