Convert all non-RGB and non-RGBA input to RGBA.

This commit is contained in:
anon 2021-12-13 16:34:39 +00:00
parent 6a95206e35
commit 525f32cefe

View File

@ -58,7 +58,17 @@ int main(int argc, char **argv) {
void *pixels = NULL; void *pixels = NULL;
int w, h, channels; int w, h, channels;
if (STR_ENDS_WITH(argv[1], ".png")) { if (STR_ENDS_WITH(argv[1], ".png")) {
pixels = (void *)stbi_load(argv[1], &w, &h, &channels, 0); if(!stbi_info(argv[1], &w, &h, &channels)) {
printf("Couldn't read header %s\n", argv[1]);
exit(1);
}
if(channels < 3) {// Force all odd encodings to be RGBA
channels = 4;
pixels = (void *)stbi_load(argv[1], &w, &h, NULL, 4);
}
else {
pixels = (void *)stbi_load(argv[1], &w, &h, &channels, 0);
}
} }
else if (STR_ENDS_WITH(argv[1], ".qoi")) { else if (STR_ENDS_WITH(argv[1], ".qoi")) {
qoi_desc desc; qoi_desc desc;