Yes, I know GIF isn't targeted on photos. However, with it's 256 color limit, it still seems able to encode "descent" output through ImageMagick (I also tried another converter, with similar results). Also, when running a color counter on the output, it seems that the ffmpeg-produced GIF only uses 103 colors, whereas encoded by other software go up to the 256 limit. Strange? What am I missing out on? Is ffmpeg GIF buggy or what?
This is my command line:
ffmpeg -i original.jpg -pix_fmt rgb24 output.gif
I got exactly the same results when trying to replicate your issue.
Based on the info about only reporting 103 versus 256 colors, my guess is that ImageMagick is using 256 indexed colors whilst FFmpeg is using a fixed 256 level system color palette.
I confirmed this theory in Photoshop. I converting your original jpeg to indexed color in photoshop. (Photoshop: Image/Mode/Indexed color...) By using the local selection, the image is converted like ImageMagick. By using the system or web selection (without diffusion), I get an image like FFmpeg.
Thus, FFmpeg is using a system color palette (or more likely a web palette) in converting GIFs.
"half-way to world domination A.K.A. the belligerent blue bike shed"