Andrew,
GG writes here: This is weird. I have looked into this and Little Endian / png / swapping in ffmpeg, libpng.
see libpng16-src pnginfo.h, no endian or swap or relevant order params.
see ffmpeg-4.2 libavcodec/pngdec.c:618 decode_idat_chunk, only 16be formats.
Little Endian format is not supported in ffmpg. It is not in any png.h header data. It only seems to be a user specified transform option. In other words, you have to tell it not to use the default of big endian (network byte order). Since this only generates the possibility of a fail, I think that the best idea is to remove it as a possibility. Perhaps you should investigate why it is the default on the machine you are using. I do not see any way it could be normally generated using libpng16 source (the current version used by all os vendors).