dolphin-emu / fifoci

Continuous integration service running Dolphin FIFO logs to find graphics rendering regressions
BSD 2-Clause "Simplified" License
48 stars 21 forks source link

Dump to PNG files instead of AVI files #34

Closed JosJuice closed 3 years ago

JosJuice commented 3 years ago

When Dolphin presents a frame, it is associated with a point in emulated time at which it is considered to have been presented. This timing information is used by Dolphin's AVI dumping code and saved to the AVI file. This leads to a potential problem for FifoCI: If the duration of a frame is longer than one field (as determined by the VI registers, and subject to rounding), it will be treated as two or more frames when FifoCI uses ffmpeg to turn the AVI file into PNG frames.

Since we are only interested in the frames themselves and not the associated timing information, I believe it would be better for us to use Dolphin's ability to dump frames to PNG files, as that code path ignores the timing information. PNG is what we want in the end anyway, so this lets us skip extra conversion steps involving ffmpeg.

In case you would like to confirm that this doesn't break anything, I currently have a commit appended to https://github.com/dolphin-emu/dolphin/pull/9275 which makes FifoCI use the PNG code path, and FifoCI is not reporting any diffs for that PR.