Hey Miles, sorry for not really following through with this intent. It ended up not being a high enough priority for PCQ but I finally got around to using msf_gif today and my gosh is it AWESOME! I am getting gif exporting working in my "Pig Engine" codebase and the implementation of msf_gif went off almost without a hitch! The format for the API was super intuitive and the result from the encoding process looks basically perfect: https://i.imgur.com/UX8NQHd.gif
The one annoyance I ran into was a couple of warnings that I keep enabled that msf_gif.h doesn't satisfy. I have modified the file myself to appease the compiler but they aren't hard changes to integrate if you are willing to do that sort of thing. These are MSVC C++ compiler warnings that come into play at /W4:
Line 339: k hides previous declaration of k. I renamed it to _k but would nice if this or the previous declaration had a different name that made sense
Lines 422, 433, 434, 435, 472, 515: Implicit cast to uint8_t. Just needs explicit casts to uint8_t to make it happy.
Line 498: Implicit cast to int16_t. Again just needs a cast.
Here's a screenshot of the implementation if you are curious: https://i.imgur.com/2SYpKk4.png For now I am just asserting on errors and using the API at the end of my capture process rather than relying on it to support the capture process but these are both things I can and probably will change later as they become more important.
Anyways, all-in-all, really nice work! I'm excited to finally have a proper gif encoding implementation in my projects rather than the hacky one I had before.