Raspberry Pi support: texture rescaling, fullscreen, MJPEG fixes

2026-03-18

What happened

Hardening for the Pi 4 target:

Texture rescaling: The Pi 4 GPU caps texture dimensions at 4096×4096. Images wider or taller than that upload silently as blank. Added a check at clip load time — if either dimension exceeds the GPU limit, stb_image_resize2 downscales the image to fit before upload, with a log message showing the original and rescaled dimensions. For best performance pre-scale your images to 1920×1080, but the fallback catches anything larger without a crash.

Fullscreen flag (-F): launches the window fullscreen. Escape quits. Useful for Pi deployment where you want the window to cover the whole screen without a window manager interaction.

MJPEG video fixes: A few edge cases in the AVI frame parser — handles clips where the idx1 chunk is absent (falls back to scanning movi), and fixes frame advance accumulation to stay locked to the clip's embedded FPS rather than the render rate. Added media/make-test.sh for converting test clips with ffmpeg.


commits: cd9e815, 4d7267b, 16d2cd8, 57bba0a

← All devlog entries