I had a wild idea: what if I pushed image data through a video codec, but not all at once? At first, I was thinking "no way would that work, you'd just be piping random data through a video encoder, something something macroblocks", especially since it looks like this. (Do I need a seizure warning for this?)

Then I actually tried it, trying to confirm that thought, and I was pleasantly surprised at how wrong I was. The codec I tried did really good, considering it's basically random noise. The basic idea is that I take raw image data, force FFmpeg to read it as a 32x32 video (again, something something macroblocks/superblocks/coding tree units), push that through a couple of video codecs, then read back the output and get it back as raw data. It's about the most convoluted way to do it.
(A note on bitrates: a lot of these codecs don't like working with the ultra-low bitrates they've been given. There's a tendency for them to just ignore it and go higher; blame me for going with such a low resolution. They're more suggestions than hard-and-fast rules. As such, I'll be skipping bitrates that I think look identical. I would've gone for CRF/quality scales, but every codec has its own idea for a scale, and the point of 'good quality' varies
wildly. Good luck finding a CRF conversion table for this many codecs.)
(source)1 kbps

4 kbps

16 kbps

64 kbps

1 kbps

4 kbps

16 kbps

64 kbps

1 kbps

4 kbps

16 kbps

64 kbps

1 kbps

4 kbps

16 kbps

64 kbps

10 kbps (codec ignores values lower than 10k)

16 kbps

64 kbps

4 kbps

16 kbps

32 kbps

64 kbps

PS: NVENC is slightly odd. Its H.264 encoder only supports output resolutions of 64x64 and above, while its H.265 encoder needs 128x128 or greater. Utterly irrelevant for most people, but slightly annoying for wackos like me.