Whitespace, cosmetics

This commit is contained in:
Dominic Szablewski 2021-12-14 20:54:37 +01:00
parent 296f0ef840
commit 0112e3d555
3 changed files with 15 additions and 13 deletions

12
qoi.h
View File

@ -111,7 +111,7 @@ the color value. In the encoder, if the pixel value at the index matches the
current pixel, this index position is written to the stream as QOI_OP_INDEX. current pixel, this index position is written to the stream as QOI_OP_INDEX.
The hash function for the index is: The hash function for the index is:
index_position = (r * 3 + g * 5 + b * 7 + a * 11) % 64 index_position = (r * 3 + g * 5 + b * 7 + a * 11) % 64
Each chunk starts with a 2- or 8-bit tag, followed by a number of data bits. The Each chunk starts with a 2- or 8-bit tag, followed by a number of data bits. The
bit length of chunks is divisible by 8 - i.e. all chunks are byte aligned. All bit length of chunks is divisible by 8 - i.e. all chunks are byte aligned. All
@ -242,8 +242,8 @@ filled with the description read from the file header (for qoi_read and
qoi_decode). qoi_decode).
The colorspace in this qoi_desc is an enum where The colorspace in this qoi_desc is an enum where
0 = sRGB, i.e. gamma scaled RGB channels and a linear alpha channel 0 = sRGB, i.e. gamma scaled RGB channels and a linear alpha channel
1 = all channels are linear 1 = all channels are linear
You may use the constants QOI_SRGB or QOI_LINEAR. The colorspace is purely You may use the constants QOI_SRGB or QOI_LINEAR. The colorspace is purely
informative. It will be saved to the file header, but does not affect informative. It will be saved to the file header, but does not affect
en-/decoding in any way. */ en-/decoding in any way. */
@ -325,7 +325,7 @@ Implementation */
#define QOI_FREE(p) free(p) #define QOI_FREE(p) free(p)
#endif #endif
#ifndef QOI_ZEROARR #ifndef QOI_ZEROARR
#define QOI_ZEROARR(_arr) memset((_arr),0,sizeof(_arr)) #define QOI_ZEROARR(a) memset((a),0,sizeof(a))
#endif #endif
#define QOI_OP_INDEX 0x00 /* 00xxxxxx */ #define QOI_OP_INDEX 0x00 /* 00xxxxxx */
@ -361,7 +361,7 @@ unsigned int qoi_read_32(const unsigned char *bytes, int *p) {
unsigned int b = bytes[(*p)++]; unsigned int b = bytes[(*p)++];
unsigned int c = bytes[(*p)++]; unsigned int c = bytes[(*p)++];
unsigned int d = bytes[(*p)++]; unsigned int d = bytes[(*p)++];
return (a << 24) | (b << 16) | (c << 8) | d; return a << 24 | b << 16 | c << 8 | d;
} }
void *qoi_encode(const void *data, const qoi_desc *desc, int *out_len) { void *qoi_encode(const void *data, const qoi_desc *desc, int *out_len) {
@ -430,7 +430,7 @@ void *qoi_encode(const void *data, const qoi_desc *desc, int *out_len) {
run = 0; run = 0;
} }
} }
else { else {
int index_pos; int index_pos;
if (run > 0) { if (run > 0) {

View File

@ -152,7 +152,7 @@ void *libpng_encode(void *pixels, int w, int h, int channels, int *out_len) {
info, info,
w, h, w, h,
8, 8,
(channels==3)?PNG_COLOR_TYPE_RGB:PNG_COLOR_TYPE_RGBA, channels == 3 ? PNG_COLOR_TYPE_RGB : PNG_COLOR_TYPE_RGBA,
PNG_INTERLACE_NONE, PNG_INTERLACE_NONE,
PNG_COMPRESSION_TYPE_DEFAULT, PNG_COMPRESSION_TYPE_DEFAULT,
PNG_FILTER_TYPE_DEFAULT PNG_FILTER_TYPE_DEFAULT
@ -417,7 +417,9 @@ benchmark_result_t benchmark_image(const char *path) {
ERROR("Error decoding header %s", path); ERROR("Error decoding header %s", path);
} }
channels = (channels == 3) ? 3 : 4; if (channels != 3) {
channels = 4;
}
void *pixels = (void *)stbi_load(path, &w, &h, NULL, channels); void *pixels = (void *)stbi_load(path, &w, &h, NULL, channels);
void *encoded_png = fload(path, &encoded_png_size); void *encoded_png = fload(path, &encoded_png_size);

View File

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