mirror of
https://github.com/RetroPortingToolKit/psxrecomp
synced 2026-10-27 18:52:11 -04:00
4a8108782d
An optional pack replaces a title's MDEC movies with high-definition frames
while the game keeps its own audio, timing and skip control:
- fmv_hd/<movie>/index.bin: header, then a luminance signature per source
frame; fmv_hd/<movie>/frames/NNNNNN.jpg: `sub` HD frames per source frame.
- Every presented 24-bit frame is matched by signature (mean absolute
difference), first around the last recognised frame, then over the whole
pack when tracking is lost; a near global match is also tried a few lines
up or down (each movie has its own vertical placement on screen) and the
offset kept. Worker threads decode the upcoming frames ahead into a small
RGBA ring.
- Format FMVHD002 records the native display the movie is shown in and its
position, so the HD frame lands exactly where the original was.
- The last HD frame is held briefly when the next one is not ready or not
recognised (no flicker back to the 4:3 original mid-movie), and is
uploaded to the GPU only when it changes.
- Debug: TCP {"cmd":"fmv_hd"} reports the pack, the matches and lost frames.
No pack: no effect. Pack frames are the user's own upscale of their own disc;
nothing is distributed with the runtime.
Used for R4's intro and ending movies (SeedVR2 upscales, 25 fps sources).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Rkyma8rbyPiccs9n2bkyG6