While delving deep into the IJG based code, I noticed a few inconsistencies between the different n-bit implementations. The most critical inconsistency is in the files jpeglib##.h, jpeg_decompress_struct, where the 16-bit declaration ends with the field
Code: Select all
unsigned int workaround_options;
I guess it should not be any issues involved with adding the workaround_options field to jpeg_decompress_struct in jpeglib8.h and jpeglib12.h, so I recommend that the files are synced for a more reliable build experience.LNK 2022: Inconsistent layout information in duplicated types
While I am at it, I can also point out that the implementations of the get_dac function in the jdmarker.c file uses a variable denoted index in the 12-bit implementation and idx in the 8- and 16-bit implementations. This of course has no practical consequences for the compiled code, but I suppose you would like to keep the *.c files as synchronized as possible in the different bit implementations.