Merge pull request #86 from chocolate42/conv-channels

Force rarer PNG encodings to be read by qoiconv as RGBA
This commit is contained in:
Dominic Szablewski 2021-12-14 19:19:41 +01:00 committed by GitHub
commit 296f0ef840
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -58,8 +58,18 @@ int main(int argc, char **argv) {
void *pixels = NULL;
int w, h, channels;
if (STR_ENDS_WITH(argv[1], ".png")) {
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")) {
qoi_desc desc;
pixels = qoi_read(argv[1], &desc, 0);