From afa83ebd726fe4915efcd8aa33d85e44b939f75d Mon Sep 17 00:00:00 2001 From: Ben Date: Mon, 4 Feb 2019 16:13:57 +0000 Subject: [PATCH] Floyd-Strinberg diffusion --- .../.vscode/launch.json | 27 + C++/Floyd-Steinberg diffusion/image.jpg | Bin 0 -> 217804 bytes C++/Floyd-Steinberg diffusion/image1.jpg | Bin 0 -> 272557 bytes C++/Floyd-Steinberg diffusion/main.cpp | 114 + C++/Floyd-Steinberg diffusion/output.o | Bin 0 -> 345344 bytes C++/Floyd-Steinberg diffusion/output.png | Bin 0 -> 472403 bytes C++/Floyd-Steinberg diffusion/stb_image.h | 7462 +++++++++++++++++ .../stb_image_write.h | 1568 ++++ C++/todo.txt | 152 + C++/todo.txt.save | 152 + 10 files changed, 9475 insertions(+) create mode 100644 C++/Floyd-Steinberg diffusion/.vscode/launch.json create mode 100644 C++/Floyd-Steinberg diffusion/image.jpg create mode 100644 C++/Floyd-Steinberg diffusion/image1.jpg create mode 100644 C++/Floyd-Steinberg diffusion/main.cpp create mode 100755 C++/Floyd-Steinberg diffusion/output.o create mode 100644 C++/Floyd-Steinberg diffusion/output.png create mode 100644 C++/Floyd-Steinberg diffusion/stb_image.h create mode 100644 C++/Floyd-Steinberg diffusion/stb_image_write.h create mode 100644 C++/todo.txt create mode 100644 C++/todo.txt.save diff --git a/C++/Floyd-Steinberg diffusion/.vscode/launch.json b/C++/Floyd-Steinberg diffusion/.vscode/launch.json new file mode 100644 index 0000000..b66a533 --- /dev/null +++ b/C++/Floyd-Steinberg diffusion/.vscode/launch.json @@ -0,0 +1,27 @@ +{ + // Use IntelliSense to learn about possible attributes. + // Hover to view descriptions of existing attributes. + // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 + "version": "0.2.0", + "configurations": [ + { + "name": "(gdb) Launch", + "type": "cppdbg", + "request": "launch", + "program": "${workspaceFolder}/output.o", + "args": ["image.jpg"], + "stopAtEntry": false, + "cwd": "${workspaceFolder}", + "environment": [], + "externalConsole": true, + "MIMode": "gdb", + "setupCommands": [ + { + "description": "Enable pretty-printing for gdb", + "text": "-enable-pretty-printing", + "ignoreFailures": true + } + ] + } + ] +} \ No newline at end of file diff --git a/C++/Floyd-Steinberg diffusion/image.jpg b/C++/Floyd-Steinberg diffusion/image.jpg new file mode 100644 index 0000000000000000000000000000000000000000..dba0f3fffd7c721a7926117eb08a094294490e7d GIT binary patch literal 217804 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
6JRTNrt($#f60ohiPuE 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 K!PN@?=Kcqd^uIm; literal 0 HcmV?d00001 diff --git a/C++/Floyd-Steinberg diffusion/image1.jpg b/C++/Floyd-Steinberg diffusion/image1.jpg new file mode 100644 index 0000000000000000000000000000000000000000..3eaf4955a42cfe71427012a57949bf00fce11f57 GIT binary patch literal 272557 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,@S4sL{w;r8w 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 + +#define STB_IMAGE_WRITE_IMPLEMENTATION +#include "stb_image_write.h" +#define STB_IMAGE_IMPLEMENTATION +#include "stb_image.h" + +struct Pixel { + unsigned char r, g, b, a; +}; + +int index(int x, int y, int w) { + return x+y*w; +} + +int main(int argc, char** argv) { + if (argc < 2) { + std::cout << "Incorrect usage, use like ./output.o " << std::endl; + return 0; + } + + int w, h, c; + Pixel* image = (Pixel*)stbi_load(*(argv + 1), &w, &h, &c, 4); + if (image == NULL){ + std::cout << "Invalid image: " << stbi_failure_reason() << std::endl; + return 0; + } + + // Pixel* image = (Pixel*)malloc(sizeof(Pixel) * w * h * 4); + // Pixel* image = (Pixel*)stbi_load(*(argv + 1), &w, &h, &c, 4); + // Pixel* image = new Pixel[w * h * 4]; + + // for (int y = 0; y < h - 1; y++) { + // for (int x = 1; x < w - 1; x++) { + // image[x + y * w] = {255, 255, 255, 255}; + // } + // } + int colComplexity = 3; + + for (int y = 1; y < h - 1; y++) { + for (int x = 1; x < w - 1; x++) { + image[x + y * w].r = round(colComplexity * image[x + y * w].r / 255) * (255 / colComplexity); + image[x + y * w].g = round(colComplexity * image[x + y * w].g / 255) * (255 / colComplexity); + image[x + y * w].b = round(colComplexity * image[x + y * w].b / 255) * (255 / colComplexity); + + float errorR = image[x + y * w].r - image[x + y * w].r; + float errorG = image[x + y * w].g - image[x + y * w].g; + float errorB = image[x + y * w].b - image[x + y * w].b; + + int i = index(x+1, y, w); + image[i].r = (float)image[i].r + errorR * (7.0f / 16.0f); + image[i].g = (float)image[i].g + errorG * (7.0f / 16.0f); + image[i].b = (float)image[i].b + errorB * (7.0f / 16.0f); + + i = index(x-1, y+1, w); + image[i].r = (float)image[i].r + errorR * (3.0f / 16.0f); + image[i].g = (float)image[i].g + errorG * (3.0f / 16.0f); + image[i].b = (float)image[i].b + errorB * (3.0f / 16.0f); + + i = index(x, y+1, w); + image[i].r = (float)image[i].r + errorR * (5.0f / 16.0f); + image[i].g = (float)image[i].g + errorG * (5.0f / 16.0f); + image[i].b = (float)image[i].b + errorB * (5.0f / 16.0f); + + i = index(x+1, y+1, w); + image[i].r = (float)image[i].r + errorR * (1.0f / 16.0f); + image[i].g = (float)image[i].g + errorG * (1.0f / 16.0f); + image[i].b = (float)image[i].b + errorB * (1.0f / 16.0f); + + // int i = index(x+1, y, w); + // float r = image[i].r; + // float g = image[i].g; + // float b = image[i].b; + // r = r + errorR * 7/16.0; + // g = g + errorG * 7/16.0; + // b = b + errorB * 7/16.0; + // image[i] = {r, g, b, 255}; + + // i = index(x-1, y+1, w); + // r = image[i].r; + // g = image[i].g; + // b = image[i].b; + // r = r + errorR * 3/16.0; + // g = g + errorG * 3/16.0; + // b = b + errorB * 3/16.0; + // image[i] = {r, g, b, 255}; + + // i = index(x, y+1, w); + // r = image[i].r; + // g = image[i].g; + // b = image[i].b; + // r = r + errorR * 5/16.0; + // g = g + errorG * 5/16.0; + // b = b + errorB * 5/16.0; + // image[i] = {r, g, b, 255}; + + // i = index(x+1, y+1, w); + // r = image[i].r; + // g = image[i].g; + // b = image[i].b; + // r = r + errorR * 1/16.0; + // g = g + errorG * 1/16.0; + // b = b + errorB * 1/16.0; + // image[i] = {r, g, b, 255}; + + // pixel[x + 1][y ] := pixel[x + 1][y ] + quant_error * 7 / 16 + // pixel[x - 1][y + 1] := pixel[x - 1][y + 1] + quant_error * 3 / 16 + // pixel[x ][y + 1] := pixel[x ][y + 1] + quant_error * 5 / 16 + // pixel[x + 1][y + 1] := pixel[x + 1][y + 1] + quant_error * 1 / 16 + } + } + + stbi_write_png("output.png", w, h, 4, (unsigned char*)image, 0); +} diff --git a/C++/Floyd-Steinberg diffusion/output.o b/C++/Floyd-Steinberg diffusion/output.o new file mode 100755 index 0000000000000000000000000000000000000000..1ec6638a50a7d2635d6af344733b578da81fd2b8 GIT binary patch literal 345344 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

?> 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 z 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 l{@dph*G~5Eb>#d@I6AzX6m%?Cbyl literal 0 HcmV?d00001 diff --git a/C++/Floyd-Steinberg diffusion/output.png b/C++/Floyd-Steinberg diffusion/output.png new file mode 100644 index 0000000000000000000000000000000000000000..4fd7ed0222cda3ca80507d24e88ab17f230ae17c GIT binary patch literal 472403 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 u?nSH)wRHKpA7f<446Te!8NgGB43E6 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 U3~qFLiVSH24Xyb_Zja`{so3L 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

1-|T^Ha{}-Iq=vNdTJ)6h{O< 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%0DGw+NEqtx)yuEdV z;59vJ1A8VUB|nnAIA+Psp;onH_fxveOGPK_bC3Hy0C<3X+|JPKg%I~YdX716ly3sv zdH2Qp47uZZrm*ghg;luU1JcAv>1 z-@dEW2TDixi0Ih_wbznS(`Pkxxo^C1NemYM8a}><;Pga$mk|)dIy!S~zWUvvr#jyW z0969E-1{bVc>q;cO+dhH>}u2}6fMu2V5uYvq_^T5q4sT@D5G=$J=VHmP@?tZtLQU2 zblimR29TYErYku-hO@rw2}&QrpIG@7fOUtAZQrpn=&4(+BVc-2kEwu>ge#XTIqJmy zS%SYH6B}Lkgd5Wy2PrEkZp9R`@YipCQmQ-vrMe(ukv6FmbS&xWR|H0T2r#K2+6hc3LZ6=RH%4d5~*LD7M?9{r5>o zdWL`Mt@sxPGX1K{YnfI*W{&9m`e%+<-_^SDB3b@NuklyS(CjxMGjA1v{AXRq9{f9g z<{;rreNI#fDyN9~LA>T;sm?5NW8v zFkIhxz~nDle4GyWphYPFO_@rot(S6MY($|Q7OFN z4uL%oe@QmJJ1~s;3fVe^tHkg3?AoP1vRN!$=(^M(7&h;Z+keii0k`w_GU5|Cd=Mf) zogT|HVB?C*o}H9Usg0EY*pPO%ivM@4^`#p{EG!O|5`6f{1QQw%izHM6dYO^p*%B|_ zoJaaVO^VOm40%;*kG?b2ZE#w_)qiPKDKZ^&dDiPyaX(0`rv(#6kpAg}6EC;lhI^3l z(d>?1*7&I31C+Qg&VlRVHJ^81iMh~u$zy2PtOYJ`7ScCEhqB^48Z;R>SRbWr3QoePW<;)v$*GT-JZ6eOMdEd?X7#B1GA#?KYAt!P=>dHoQ+MyVhm zN<84*lIn<>L%0$Jr+$dVyQTp8tN4GnBungd8*ZoBxuadgw7umu|~p1*{BJoUHak zHof$U^-AYJh}8R?vaGDm-c8V|>KG=h>ccb{%g(E|zoY}`8WEai2I&P?>X|`_(b$PQ z3%RoV6GB8KDePcp#d7(C+B+SowGghTvbExR3~)KipyH@o7A=tIK;J*Z3ugs9q5h3M z`)=54r`CK%vPn)fD5}Jn>q5D@tAaH6k44WO093}dXUU35m*k&dP8)~cMt1cGsp+A$ zKEw7x*J+=RjY0z3KL;6%y5N$`e`rE40wuE95R z{72}%{gn#y+&HgavNJQoevuwG?(W4u7OnW=LYI>}d6-TyYW8Rh*vJ$sI#^2zKlqga zNIvJkdGkkw1aQi8@LLiJuAx&7xSuqI_;=ZK&GK` zrlb!=SqeVc{e95F{JwR*8>qW34GgUb_12LtxID}p6+WResOPqIx&)tE{63UdIOKPD zFIrI`Np!q%p6;aoyw{Yhs?KTsT)y43�-A053}W$(*TBv^d~LW{Ox`3QLcY9>Agd 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 +#endif // STBI_NO_STDIO + +#define STBI_VERSION 1 + +enum +{ + STBI_default = 0, // only used for desired_channels + + STBI_grey = 1, + STBI_grey_alpha = 2, + STBI_rgb = 3, + STBI_rgb_alpha = 4 +}; + +typedef unsigned char stbi_uc; +typedef unsigned short stbi_us; + +#ifdef __cplusplus +extern "C" { +#endif + +#ifdef STB_IMAGE_STATIC +#define STBIDEF static +#else +#define STBIDEF extern +#endif + +////////////////////////////////////////////////////////////////////////////// +// +// PRIMARY API - works on images of any type +// + +// +// load image by filename, open file, or memory buffer +// + +typedef struct +{ + int (*read) (void *user,char *data,int size); // fill 'data' with 'size' bytes. return number of bytes actually read + void (*skip) (void *user,int n); // skip the next 'n' bytes, or 'unget' the last -n bytes if negative + int (*eof) (void *user); // returns nonzero if we are at end of file/data +} stbi_io_callbacks; + +//////////////////////////////////// +// +// 8-bits-per-channel interface +// + +STBIDEF stbi_uc *stbi_load_from_memory (stbi_uc const *buffer, int len , int *x, int *y, int *channels_in_file, int desired_channels); +STBIDEF stbi_uc *stbi_load_from_callbacks(stbi_io_callbacks const *clbk , void *user, int *x, int *y, int *channels_in_file, int desired_channels); +#ifndef STBI_NO_GIF +STBIDEF stbi_uc *stbi_load_gif_from_memory(stbi_uc const *buffer, int len, int **delays, int *x, int *y, int *z, int *comp, int req_comp); +#endif + + +#ifndef STBI_NO_STDIO +STBIDEF stbi_uc *stbi_load (char const *filename, int *x, int *y, int *channels_in_file, int desired_channels); +STBIDEF stbi_uc *stbi_load_from_file (FILE *f, int *x, int *y, int *channels_in_file, int desired_channels); +// for stbi_load_from_file, file pointer is left pointing immediately after image +#endif + +//////////////////////////////////// +// +// 16-bits-per-channel interface +// + +STBIDEF stbi_us *stbi_load_16_from_memory (stbi_uc const *buffer, int len, int *x, int *y, int *channels_in_file, int desired_channels); +STBIDEF stbi_us *stbi_load_16_from_callbacks(stbi_io_callbacks const *clbk, void *user, int *x, int *y, int *channels_in_file, int desired_channels); + +#ifndef STBI_NO_STDIO +STBIDEF stbi_us *stbi_load_16 (char const *filename, int *x, int *y, int *channels_in_file, int desired_channels); +STBIDEF stbi_us *stbi_load_from_file_16(FILE *f, int *x, int *y, int *channels_in_file, int desired_channels); +#endif + +//////////////////////////////////// +// +// float-per-channel interface +// +#ifndef STBI_NO_LINEAR + STBIDEF float *stbi_loadf_from_memory (stbi_uc const *buffer, int len, int *x, int *y, int *channels_in_file, int desired_channels); + STBIDEF float *stbi_loadf_from_callbacks (stbi_io_callbacks const *clbk, void *user, int *x, int *y, int *channels_in_file, int desired_channels); + + #ifndef STBI_NO_STDIO + STBIDEF float *stbi_loadf (char const *filename, int *x, int *y, int *channels_in_file, int desired_channels); + STBIDEF float *stbi_loadf_from_file (FILE *f, int *x, int *y, int *channels_in_file, int desired_channels); + #endif +#endif + +#ifndef STBI_NO_HDR + STBIDEF void stbi_hdr_to_ldr_gamma(float gamma); + STBIDEF void stbi_hdr_to_ldr_scale(float scale); +#endif // STBI_NO_HDR + +#ifndef STBI_NO_LINEAR + STBIDEF void stbi_ldr_to_hdr_gamma(float gamma); + STBIDEF void stbi_ldr_to_hdr_scale(float scale); +#endif // STBI_NO_LINEAR + +// stbi_is_hdr is always defined, but always returns false if STBI_NO_HDR +STBIDEF int stbi_is_hdr_from_callbacks(stbi_io_callbacks const *clbk, void *user); +STBIDEF int stbi_is_hdr_from_memory(stbi_uc const *buffer, int len); +#ifndef STBI_NO_STDIO +STBIDEF int stbi_is_hdr (char const *filename); +STBIDEF int stbi_is_hdr_from_file(FILE *f); +#endif // STBI_NO_STDIO + + +// get a VERY brief reason for failure +// NOT THREADSAFE +STBIDEF const char *stbi_failure_reason (void); + +// free the loaded image -- this is just free() +STBIDEF void stbi_image_free (void *retval_from_stbi_load); + +// get image dimensions & components without fully decoding +STBIDEF int stbi_info_from_memory(stbi_uc const *buffer, int len, int *x, int *y, int *comp); +STBIDEF int stbi_info_from_callbacks(stbi_io_callbacks const *clbk, void *user, int *x, int *y, int *comp); +STBIDEF int stbi_is_16_bit_from_memory(stbi_uc const *buffer, int len); +STBIDEF int stbi_is_16_bit_from_callbacks(stbi_io_callbacks const *clbk, void *user); + +#ifndef STBI_NO_STDIO +STBIDEF int stbi_info (char const *filename, int *x, int *y, int *comp); +STBIDEF int stbi_info_from_file (FILE *f, int *x, int *y, int *comp); +STBIDEF int stbi_is_16_bit (char const *filename); +STBIDEF int stbi_is_16_bit_from_file(FILE *f); +#endif + + + +// for image formats that explicitly notate that they have premultiplied alpha, +// we just return the colors as stored in the file. set this flag to force +// unpremultiplication. results are undefined if the unpremultiply overflow. +STBIDEF void stbi_set_unpremultiply_on_load(int flag_true_if_should_unpremultiply); + +// indicate whether we should process iphone images back to canonical format, +// or just pass them through "as-is" +STBIDEF void stbi_convert_iphone_png_to_rgb(int flag_true_if_should_convert); + +// flip the image vertically, so the first pixel in the output array is the bottom left +STBIDEF void stbi_set_flip_vertically_on_load(int flag_true_if_should_flip); + +// ZLIB client - used by PNG, available for other purposes + +STBIDEF char *stbi_zlib_decode_malloc_guesssize(const char *buffer, int len, int initial_size, int *outlen); +STBIDEF char *stbi_zlib_decode_malloc_guesssize_headerflag(const char *buffer, int len, int initial_size, int *outlen, int parse_header); +STBIDEF char *stbi_zlib_decode_malloc(const char *buffer, int len, int *outlen); +STBIDEF int stbi_zlib_decode_buffer(char *obuffer, int olen, const char *ibuffer, int ilen); + +STBIDEF char *stbi_zlib_decode_noheader_malloc(const char *buffer, int len, int *outlen); +STBIDEF int stbi_zlib_decode_noheader_buffer(char *obuffer, int olen, const char *ibuffer, int ilen); + + +#ifdef __cplusplus +} +#endif + +// +// +//// end header file ///////////////////////////////////////////////////// +#endif // STBI_INCLUDE_STB_IMAGE_H + +#ifdef STB_IMAGE_IMPLEMENTATION + +#if defined(STBI_ONLY_JPEG) || defined(STBI_ONLY_PNG) || defined(STBI_ONLY_BMP) \ + || defined(STBI_ONLY_TGA) || defined(STBI_ONLY_GIF) || defined(STBI_ONLY_PSD) \ + || defined(STBI_ONLY_HDR) || defined(STBI_ONLY_PIC) || defined(STBI_ONLY_PNM) \ + || defined(STBI_ONLY_ZLIB) + #ifndef STBI_ONLY_JPEG + #define STBI_NO_JPEG + #endif + #ifndef STBI_ONLY_PNG + #define STBI_NO_PNG + #endif + #ifndef STBI_ONLY_BMP + #define STBI_NO_BMP + #endif + #ifndef STBI_ONLY_PSD + #define STBI_NO_PSD + #endif + #ifndef STBI_ONLY_TGA + #define STBI_NO_TGA + #endif + #ifndef STBI_ONLY_GIF + #define STBI_NO_GIF + #endif + #ifndef STBI_ONLY_HDR + #define STBI_NO_HDR + #endif + #ifndef STBI_ONLY_PIC + #define STBI_NO_PIC + #endif + #ifndef STBI_ONLY_PNM + #define STBI_NO_PNM + #endif +#endif + +#if defined(STBI_NO_PNG) && !defined(STBI_SUPPORT_ZLIB) && !defined(STBI_NO_ZLIB) +#define STBI_NO_ZLIB +#endif + + +#include +#include // ptrdiff_t on osx +#include +#include +#include + +#if !defined(STBI_NO_LINEAR) || !defined(STBI_NO_HDR) +#include // ldexp, pow +#endif + +#ifndef STBI_NO_STDIO +#include +#endif + +#ifndef STBI_ASSERT +#include +#define STBI_ASSERT(x) assert(x) +#endif + + +#ifndef _MSC_VER + #ifdef __cplusplus + #define stbi_inline inline + #else + #define stbi_inline + #endif +#else + #define stbi_inline __forceinline +#endif + + +#ifdef _MSC_VER +typedef unsigned short stbi__uint16; +typedef signed short stbi__int16; +typedef unsigned int stbi__uint32; +typedef signed int stbi__int32; +#else +#include +typedef uint16_t stbi__uint16; +typedef int16_t stbi__int16; +typedef uint32_t stbi__uint32; +typedef int32_t stbi__int32; +#endif + +// should produce compiler error if size is wrong +typedef unsigned char validate_uint32[sizeof(stbi__uint32)==4 ? 1 : -1]; + +#ifdef _MSC_VER +#define STBI_NOTUSED(v) (void)(v) +#else +#define STBI_NOTUSED(v) (void)sizeof(v) +#endif + +#ifdef _MSC_VER +#define STBI_HAS_LROTL +#endif + +#ifdef STBI_HAS_LROTL + #define stbi_lrot(x,y) _lrotl(x,y) +#else + #define stbi_lrot(x,y) (((x) << (y)) | ((x) >> (32 - (y)))) +#endif + +#if defined(STBI_MALLOC) && defined(STBI_FREE) && (defined(STBI_REALLOC) || defined(STBI_REALLOC_SIZED)) +// ok +#elif !defined(STBI_MALLOC) && !defined(STBI_FREE) && !defined(STBI_REALLOC) && !defined(STBI_REALLOC_SIZED) +// ok +#else +#error "Must define all or none of STBI_MALLOC, STBI_FREE, and STBI_REALLOC (or STBI_REALLOC_SIZED)." +#endif + +#ifndef STBI_MALLOC +#define STBI_MALLOC(sz) malloc(sz) +#define STBI_REALLOC(p,newsz) realloc(p,newsz) +#define STBI_FREE(p) free(p) +#endif + +#ifndef STBI_REALLOC_SIZED +#define STBI_REALLOC_SIZED(p,oldsz,newsz) STBI_REALLOC(p,newsz) +#endif + +// x86/x64 detection +#if defined(__x86_64__) || defined(_M_X64) +#define STBI__X64_TARGET +#elif defined(__i386) || defined(_M_IX86) +#define STBI__X86_TARGET +#endif + +#if defined(__GNUC__) && defined(STBI__X86_TARGET) && !defined(__SSE2__) && !defined(STBI_NO_SIMD) +// gcc doesn't support sse2 intrinsics unless you compile with -msse2, +// which in turn means it gets to use SSE2 everywhere. This is unfortunate, +// but previous attempts to provide the SSE2 functions with runtime +// detection caused numerous issues. The way architecture extensions are +// exposed in GCC/Clang is, sadly, not really suited for one-file libs. +// New behavior: if compiled with -msse2, we use SSE2 without any +// detection; if not, we don't use it at all. +#define STBI_NO_SIMD +#endif + +#if defined(__MINGW32__) && defined(STBI__X86_TARGET) && !defined(STBI_MINGW_ENABLE_SSE2) && !defined(STBI_NO_SIMD) +// Note that __MINGW32__ doesn't actually mean 32-bit, so we have to avoid STBI__X64_TARGET +// +// 32-bit MinGW wants ESP to be 16-byte aligned, but this is not in the +// Windows ABI and VC++ as well as Windows DLLs don't maintain that invariant. +// As a result, enabling SSE2 on 32-bit MinGW is dangerous when not +// simultaneously enabling "-mstackrealign". +// +// See https://github.com/nothings/stb/issues/81 for more information. +// +// So default to no SSE2 on 32-bit MinGW. If you've read this far and added +// -mstackrealign to your build settings, feel free to #define STBI_MINGW_ENABLE_SSE2. +#define STBI_NO_SIMD +#endif + +#if !defined(STBI_NO_SIMD) && (defined(STBI__X86_TARGET) || defined(STBI__X64_TARGET)) +#define STBI_SSE2 +#include + +#ifdef _MSC_VER + +#if _MSC_VER >= 1400 // not VC6 +#include // __cpuid +static int stbi__cpuid3(void) +{ + int info[4]; + __cpuid(info,1); + return info[3]; +} +#else +static int stbi__cpuid3(void) +{ + int res; + __asm { + mov eax,1 + cpuid + mov res,edx + } + return res; +} +#endif + +#define STBI_SIMD_ALIGN(type, name) __declspec(align(16)) type name + +static int stbi__sse2_available(void) +{ + int info3 = stbi__cpuid3(); + return ((info3 >> 26) & 1) != 0; +} +#else // assume GCC-style if not VC++ +#define STBI_SIMD_ALIGN(type, name) type name __attribute__((aligned(16))) + +static int stbi__sse2_available(void) +{ + // If we're even attempting to compile this on GCC/Clang, that means + // -msse2 is on, which means the compiler is allowed to use SSE2 + // instructions at will, and so are we. + return 1; +} +#endif +#endif + +// ARM NEON +#if defined(STBI_NO_SIMD) && defined(STBI_NEON) +#undef STBI_NEON +#endif + +#ifdef STBI_NEON +#include +// assume GCC or Clang on ARM targets +#define STBI_SIMD_ALIGN(type, name) type name __attribute__((aligned(16))) +#endif + +#ifndef STBI_SIMD_ALIGN +#define STBI_SIMD_ALIGN(type, name) type name +#endif + +/////////////////////////////////////////////// +// +// stbi__context struct and start_xxx functions + +// stbi__context structure is our basic context used by all images, so it +// contains all the IO context, plus some basic image information +typedef struct +{ + stbi__uint32 img_x, img_y; + int img_n, img_out_n; + + stbi_io_callbacks io; + void *io_user_data; + + int read_from_callbacks; + int buflen; + stbi_uc buffer_start[128]; + + stbi_uc *img_buffer, *img_buffer_end; + stbi_uc *img_buffer_original, *img_buffer_original_end; +} stbi__context; + + +static void stbi__refill_buffer(stbi__context *s); + +// initialize a memory-decode context +static void stbi__start_mem(stbi__context *s, stbi_uc const *buffer, int len) +{ + s->io.read = NULL; + s->read_from_callbacks = 0; + s->img_buffer = s->img_buffer_original = (stbi_uc *) buffer; + s->img_buffer_end = s->img_buffer_original_end = (stbi_uc *) buffer+len; +} + +// initialize a callback-based context +static void stbi__start_callbacks(stbi__context *s, stbi_io_callbacks *c, void *user) +{ + s->io = *c; + s->io_user_data = user; + s->buflen = sizeof(s->buffer_start); + s->read_from_callbacks = 1; + s->img_buffer_original = s->buffer_start; + stbi__refill_buffer(s); + s->img_buffer_original_end = s->img_buffer_end; +} + +#ifndef STBI_NO_STDIO + +static int stbi__stdio_read(void *user, char *data, int size) +{ + return (int) fread(data,1,size,(FILE*) user); +} + +static void stbi__stdio_skip(void *user, int n) +{ + fseek((FILE*) user, n, SEEK_CUR); +} + +static int stbi__stdio_eof(void *user) +{ + return feof((FILE*) user); +} + +static stbi_io_callbacks stbi__stdio_callbacks = +{ + stbi__stdio_read, + stbi__stdio_skip, + stbi__stdio_eof, +}; + +static void stbi__start_file(stbi__context *s, FILE *f) +{ + stbi__start_callbacks(s, &stbi__stdio_callbacks, (void *) f); +} + +//static void stop_file(stbi__context *s) { } + +#endif // !STBI_NO_STDIO + +static void stbi__rewind(stbi__context *s) +{ + // conceptually rewind SHOULD rewind to the beginning of the stream, + // but we just rewind to the beginning of the initial buffer, because + // we only use it after doing 'test', which only ever looks at at most 92 bytes + s->img_buffer = s->img_buffer_original; + s->img_buffer_end = s->img_buffer_original_end; +} + +enum +{ + STBI_ORDER_RGB, + STBI_ORDER_BGR +}; + +typedef struct +{ + int bits_per_channel; + int num_channels; + int channel_order; +} stbi__result_info; + +#ifndef STBI_NO_JPEG +static int stbi__jpeg_test(stbi__context *s); +static void *stbi__jpeg_load(stbi__context *s, int *x, int *y, int *comp, int req_comp, stbi__result_info *ri); +static int stbi__jpeg_info(stbi__context *s, int *x, int *y, int *comp); +#endif + +#ifndef STBI_NO_PNG +static int stbi__png_test(stbi__context *s); +static void *stbi__png_load(stbi__context *s, int *x, int *y, int *comp, int req_comp, stbi__result_info *ri); +static int stbi__png_info(stbi__context *s, int *x, int *y, int *comp); +static int stbi__png_is16(stbi__context *s); +#endif + +#ifndef STBI_NO_BMP +static int stbi__bmp_test(stbi__context *s); +static void *stbi__bmp_load(stbi__context *s, int *x, int *y, int *comp, int req_comp, stbi__result_info *ri); +static int stbi__bmp_info(stbi__context *s, int *x, int *y, int *comp); +#endif + +#ifndef STBI_NO_TGA +static int stbi__tga_test(stbi__context *s); +static void *stbi__tga_load(stbi__context *s, int *x, int *y, int *comp, int req_comp, stbi__result_info *ri); +static int stbi__tga_info(stbi__context *s, int *x, int *y, int *comp); +#endif + +#ifndef STBI_NO_PSD +static int stbi__psd_test(stbi__context *s); +static void *stbi__psd_load(stbi__context *s, int *x, int *y, int *comp, int req_comp, stbi__result_info *ri, int bpc); +static int stbi__psd_info(stbi__context *s, int *x, int *y, int *comp); +static int stbi__psd_is16(stbi__context *s); +#endif + +#ifndef STBI_NO_HDR +static int stbi__hdr_test(stbi__context *s); +static float *stbi__hdr_load(stbi__context *s, int *x, int *y, int *comp, int req_comp, stbi__result_info *ri); +static int stbi__hdr_info(stbi__context *s, int *x, int *y, int *comp); +#endif + +#ifndef STBI_NO_PIC +static int stbi__pic_test(stbi__context *s); +static void *stbi__pic_load(stbi__context *s, int *x, int *y, int *comp, int req_comp, stbi__result_info *ri); +static int stbi__pic_info(stbi__context *s, int *x, int *y, int *comp); +#endif + +#ifndef STBI_NO_GIF +static int stbi__gif_test(stbi__context *s); +static void *stbi__gif_load(stbi__context *s, int *x, int *y, int *comp, int req_comp, stbi__result_info *ri); +static void *stbi__load_gif_main(stbi__context *s, int **delays, int *x, int *y, int *z, int *comp, int req_comp); +static int stbi__gif_info(stbi__context *s, int *x, int *y, int *comp); +#endif + +#ifndef STBI_NO_PNM +static int stbi__pnm_test(stbi__context *s); +static void *stbi__pnm_load(stbi__context *s, int *x, int *y, int *comp, int req_comp, stbi__result_info *ri); +static int stbi__pnm_info(stbi__context *s, int *x, int *y, int *comp); +#endif + +// this is not threadsafe +static const char *stbi__g_failure_reason; + +STBIDEF const char *stbi_failure_reason(void) +{ + return stbi__g_failure_reason; +} + +static int stbi__err(const char *str) +{ + stbi__g_failure_reason = str; + return 0; +} + +static void *stbi__malloc(size_t size) +{ + return STBI_MALLOC(size); +} + +// stb_image uses ints pervasively, including for offset calculations. +// therefore the largest decoded image size we can support with the +// current code, even on 64-bit targets, is INT_MAX. this is not a +// significant limitation for the intended use case. +// +// we do, however, need to make sure our size calculations don't +// overflow. hence a few helper functions for size calculations that +// multiply integers together, making sure that they're non-negative +// and no overflow occurs. + +// return 1 if the sum is valid, 0 on overflow. +// negative terms are considered invalid. +static int stbi__addsizes_valid(int a, int b) +{ + if (b < 0) return 0; + // now 0 <= b <= INT_MAX, hence also + // 0 <= INT_MAX - b <= INTMAX. + // And "a + b <= INT_MAX" (which might overflow) is the + // same as a <= INT_MAX - b (no overflow) + return a <= INT_MAX - b; +} + +// returns 1 if the product is valid, 0 on overflow. +// negative factors are considered invalid. +static int stbi__mul2sizes_valid(int a, int b) +{ + if (a < 0 || b < 0) return 0; + if (b == 0) return 1; // mul-by-0 is always safe + // portable way to check for no overflows in a*b + return a <= INT_MAX/b; +} + +// returns 1 if "a*b + add" has no negative terms/factors and doesn't overflow +static int stbi__mad2sizes_valid(int a, int b, int add) +{ + return stbi__mul2sizes_valid(a, b) && stbi__addsizes_valid(a*b, add); +} + +// returns 1 if "a*b*c + add" has no negative terms/factors and doesn't overflow +static int stbi__mad3sizes_valid(int a, int b, int c, int add) +{ + return stbi__mul2sizes_valid(a, b) && stbi__mul2sizes_valid(a*b, c) && + stbi__addsizes_valid(a*b*c, add); +} + +// returns 1 if "a*b*c*d + add" has no negative terms/factors and doesn't overflow +#if !defined(STBI_NO_LINEAR) || !defined(STBI_NO_HDR) +static int stbi__mad4sizes_valid(int a, int b, int c, int d, int add) +{ + return stbi__mul2sizes_valid(a, b) && stbi__mul2sizes_valid(a*b, c) && + stbi__mul2sizes_valid(a*b*c, d) && stbi__addsizes_valid(a*b*c*d, add); +} +#endif + +// mallocs with size overflow checking +static void *stbi__malloc_mad2(int a, int b, int add) +{ + if (!stbi__mad2sizes_valid(a, b, add)) return NULL; + return stbi__malloc(a*b + add); +} + +static void *stbi__malloc_mad3(int a, int b, int c, int add) +{ + if (!stbi__mad3sizes_valid(a, b, c, add)) return NULL; + return stbi__malloc(a*b*c + add); +} + +#if !defined(STBI_NO_LINEAR) || !defined(STBI_NO_HDR) +static void *stbi__malloc_mad4(int a, int b, int c, int d, int add) +{ + if (!stbi__mad4sizes_valid(a, b, c, d, add)) return NULL; + return stbi__malloc(a*b*c*d + add); +} +#endif + +// stbi__err - error +// stbi__errpf - error returning pointer to float +// stbi__errpuc - error returning pointer to unsigned char + +#ifdef STBI_NO_FAILURE_STRINGS + #define stbi__err(x,y) 0 +#elif defined(STBI_FAILURE_USERMSG) + #define stbi__err(x,y) stbi__err(y) +#else + #define stbi__err(x,y) stbi__err(x) +#endif + +#define stbi__errpf(x,y) ((float *)(size_t) (stbi__err(x,y)?NULL:NULL)) +#define stbi__errpuc(x,y) ((unsigned char *)(size_t) (stbi__err(x,y)?NULL:NULL)) + +STBIDEF void stbi_image_free(void *retval_from_stbi_load) +{ + STBI_FREE(retval_from_stbi_load); +} + +#ifndef STBI_NO_LINEAR +static float *stbi__ldr_to_hdr(stbi_uc *data, int x, int y, int comp); +#endif + +#ifndef STBI_NO_HDR +static stbi_uc *stbi__hdr_to_ldr(float *data, int x, int y, int comp); +#endif + +static int stbi__vertically_flip_on_load = 0; + +STBIDEF void stbi_set_flip_vertically_on_load(int flag_true_if_should_flip) +{ + stbi__vertically_flip_on_load = flag_true_if_should_flip; +} + +static void *stbi__load_main(stbi__context *s, int *x, int *y, int *comp, int req_comp, stbi__result_info *ri, int bpc) +{ + memset(ri, 0, sizeof(*ri)); // make sure it's initialized if we add new fields + ri->bits_per_channel = 8; // default is 8 so most paths don't have to be changed + ri->channel_order = STBI_ORDER_RGB; // all current input & output are this, but this is here so we can add BGR order + ri->num_channels = 0; + + #ifndef STBI_NO_JPEG + if (stbi__jpeg_test(s)) return stbi__jpeg_load(s,x,y,comp,req_comp, ri); + #endif + #ifndef STBI_NO_PNG + if (stbi__png_test(s)) return stbi__png_load(s,x,y,comp,req_comp, ri); + #endif + #ifndef STBI_NO_BMP + if (stbi__bmp_test(s)) return stbi__bmp_load(s,x,y,comp,req_comp, ri); + #endif + #ifndef STBI_NO_GIF + if (stbi__gif_test(s)) return stbi__gif_load(s,x,y,comp,req_comp, ri); + #endif + #ifndef STBI_NO_PSD + if (stbi__psd_test(s)) return stbi__psd_load(s,x,y,comp,req_comp, ri, bpc); + #endif + #ifndef STBI_NO_PIC + if (stbi__pic_test(s)) return stbi__pic_load(s,x,y,comp,req_comp, ri); + #endif + #ifndef STBI_NO_PNM + if (stbi__pnm_test(s)) return stbi__pnm_load(s,x,y,comp,req_comp, ri); + #endif + + #ifndef STBI_NO_HDR + if (stbi__hdr_test(s)) { + float *hdr = stbi__hdr_load(s, x,y,comp,req_comp, ri); + return stbi__hdr_to_ldr(hdr, *x, *y, req_comp ? req_comp : *comp); + } + #endif + + #ifndef STBI_NO_TGA + // test tga last because it's a crappy test! + if (stbi__tga_test(s)) + return stbi__tga_load(s,x,y,comp,req_comp, ri); + #endif + + return stbi__errpuc("unknown image type", "Image not of any known type, or corrupt"); +} + +static stbi_uc *stbi__convert_16_to_8(stbi__uint16 *orig, int w, int h, int channels) +{ + int i; + int img_len = w * h * channels; + stbi_uc *reduced; + + reduced = (stbi_uc *) stbi__malloc(img_len); + if (reduced == NULL) return stbi__errpuc("outofmem", "Out of memory"); + + for (i = 0; i < img_len; ++i) + reduced[i] = (stbi_uc)((orig[i] >> 8) & 0xFF); // top half of each byte is sufficient approx of 16->8 bit scaling + + STBI_FREE(orig); + return reduced; +} + +static stbi__uint16 *stbi__convert_8_to_16(stbi_uc *orig, int w, int h, int channels) +{ + int i; + int img_len = w * h * channels; + stbi__uint16 *enlarged; + + enlarged = (stbi__uint16 *) stbi__malloc(img_len*2); + if (enlarged == NULL) return (stbi__uint16 *) stbi__errpuc("outofmem", "Out of memory"); + + for (i = 0; i < img_len; ++i) + enlarged[i] = (stbi__uint16)((orig[i] << 8) + orig[i]); // replicate to high and low byte, maps 0->0, 255->0xffff + + STBI_FREE(orig); + return enlarged; +} + +static void stbi__vertical_flip(void *image, int w, int h, int bytes_per_pixel) +{ + int row; + size_t bytes_per_row = (size_t)w * bytes_per_pixel; + stbi_uc temp[2048]; + stbi_uc *bytes = (stbi_uc *)image; + + for (row = 0; row < (h>>1); row++) { + stbi_uc *row0 = bytes + row*bytes_per_row; + stbi_uc *row1 = bytes + (h - row - 1)*bytes_per_row; + // swap row0 with row1 + size_t bytes_left = bytes_per_row; + while (bytes_left) { + size_t bytes_copy = (bytes_left < sizeof(temp)) ? bytes_left : sizeof(temp); + memcpy(temp, row0, bytes_copy); + memcpy(row0, row1, bytes_copy); + memcpy(row1, temp, bytes_copy); + row0 += bytes_copy; + row1 += bytes_copy; + bytes_left -= bytes_copy; + } + } +} + +static void stbi__vertical_flip_slices(void *image, int w, int h, int z, int bytes_per_pixel) +{ + int slice; + int slice_size = w * h * bytes_per_pixel; + + stbi_uc *bytes = (stbi_uc *)image; + for (slice = 0; slice < z; ++slice) { + stbi__vertical_flip(bytes, w, h, bytes_per_pixel); + bytes += slice_size; + } +} + +static unsigned char *stbi__load_and_postprocess_8bit(stbi__context *s, int *x, int *y, int *comp, int req_comp) +{ + stbi__result_info ri; + void *result = stbi__load_main(s, x, y, comp, req_comp, &ri, 8); + + if (result == NULL) + return NULL; + + if (ri.bits_per_channel != 8) { + STBI_ASSERT(ri.bits_per_channel == 16); + result = stbi__convert_16_to_8((stbi__uint16 *) result, *x, *y, req_comp == 0 ? *comp : req_comp); + ri.bits_per_channel = 8; + } + + // @TODO: move stbi__convert_format to here + + if (stbi__vertically_flip_on_load) { + int channels = req_comp ? req_comp : *comp; + stbi__vertical_flip(result, *x, *y, channels * sizeof(stbi_uc)); + } + + return (unsigned char *) result; +} + +static stbi__uint16 *stbi__load_and_postprocess_16bit(stbi__context *s, int *x, int *y, int *comp, int req_comp) +{ + stbi__result_info ri; + void *result = stbi__load_main(s, x, y, comp, req_comp, &ri, 16); + + if (result == NULL) + return NULL; + + if (ri.bits_per_channel != 16) { + STBI_ASSERT(ri.bits_per_channel == 8); + result = stbi__convert_8_to_16((stbi_uc *) result, *x, *y, req_comp == 0 ? *comp : req_comp); + ri.bits_per_channel = 16; + } + + // @TODO: move stbi__convert_format16 to here + // @TODO: special case RGB-to-Y (and RGBA-to-YA) for 8-bit-to-16-bit case to keep more precision + + if (stbi__vertically_flip_on_load) { + int channels = req_comp ? req_comp : *comp; + stbi__vertical_flip(result, *x, *y, channels * sizeof(stbi__uint16)); + } + + return (stbi__uint16 *) result; +} + +#if !defined(STBI_NO_HDR) || !defined(STBI_NO_LINEAR) +static void stbi__float_postprocess(float *result, int *x, int *y, int *comp, int req_comp) +{ + if (stbi__vertically_flip_on_load && result != NULL) { + int channels = req_comp ? req_comp : *comp; + stbi__vertical_flip(result, *x, *y, channels * sizeof(float)); + } +} +#endif + +#ifndef STBI_NO_STDIO + +static FILE *stbi__fopen(char const *filename, char const *mode) +{ + FILE *f; +#if defined(_MSC_VER) && _MSC_VER >= 1400 + if (0 != fopen_s(&f, filename, mode)) + f=0; +#else + f = fopen(filename, mode); +#endif + return f; +} + + +STBIDEF stbi_uc *stbi_load(char const *filename, int *x, int *y, int *comp, int req_comp) +{ + FILE *f = stbi__fopen(filename, "rb"); + unsigned char *result; + if (!f) return stbi__errpuc("can't fopen", "Unable to open file"); + result = stbi_load_from_file(f,x,y,comp,req_comp); + fclose(f); + return result; +} + +STBIDEF stbi_uc *stbi_load_from_file(FILE *f, int *x, int *y, int *comp, int req_comp) +{ + unsigned char *result; + stbi__context s; + stbi__start_file(&s,f); + result = stbi__load_and_postprocess_8bit(&s,x,y,comp,req_comp); + if (result) { + // need to 'unget' all the characters in the IO buffer + fseek(f, - (int) (s.img_buffer_end - s.img_buffer), SEEK_CUR); + } + return result; +} + +STBIDEF stbi__uint16 *stbi_load_from_file_16(FILE *f, int *x, int *y, int *comp, int req_comp) +{ + stbi__uint16 *result; + stbi__context s; + stbi__start_file(&s,f); + result = stbi__load_and_postprocess_16bit(&s,x,y,comp,req_comp); + if (result) { + // need to 'unget' all the characters in the IO buffer + fseek(f, - (int) (s.img_buffer_end - s.img_buffer), SEEK_CUR); + } + return result; +} + +STBIDEF stbi_us *stbi_load_16(char const *filename, int *x, int *y, int *comp, int req_comp) +{ + FILE *f = stbi__fopen(filename, "rb"); + stbi__uint16 *result; + if (!f) return (stbi_us *) stbi__errpuc("can't fopen", "Unable to open file"); + result = stbi_load_from_file_16(f,x,y,comp,req_comp); + fclose(f); + return result; +} + + +#endif //!STBI_NO_STDIO + +STBIDEF stbi_us *stbi_load_16_from_memory(stbi_uc const *buffer, int len, int *x, int *y, int *channels_in_file, int desired_channels) +{ + stbi__context s; + stbi__start_mem(&s,buffer,len); + return stbi__load_and_postprocess_16bit(&s,x,y,channels_in_file,desired_channels); +} + +STBIDEF stbi_us *stbi_load_16_from_callbacks(stbi_io_callbacks const *clbk, void *user, int *x, int *y, int *channels_in_file, int desired_channels) +{ + stbi__context s; + stbi__start_callbacks(&s, (stbi_io_callbacks *)clbk, user); + return stbi__load_and_postprocess_16bit(&s,x,y,channels_in_file,desired_channels); +} + +STBIDEF stbi_uc *stbi_load_from_memory(stbi_uc const *buffer, int len, int *x, int *y, int *comp, int req_comp) +{ + stbi__context s; + stbi__start_mem(&s,buffer,len); + return stbi__load_and_postprocess_8bit(&s,x,y,comp,req_comp); +} + +STBIDEF stbi_uc *stbi_load_from_callbacks(stbi_io_callbacks const *clbk, void *user, int *x, int *y, int *comp, int req_comp) +{ + stbi__context s; + stbi__start_callbacks(&s, (stbi_io_callbacks *) clbk, user); + return stbi__load_and_postprocess_8bit(&s,x,y,comp,req_comp); +} + +#ifndef STBI_NO_GIF +STBIDEF stbi_uc *stbi_load_gif_from_memory(stbi_uc const *buffer, int len, int **delays, int *x, int *y, int *z, int *comp, int req_comp) +{ + unsigned char *result; + stbi__context s; + stbi__start_mem(&s,buffer,len); + + result = (unsigned char*) stbi__load_gif_main(&s, delays, x, y, z, comp, req_comp); + if (stbi__vertically_flip_on_load) { + stbi__vertical_flip_slices( result, *x, *y, *z, *comp ); + } + + return result; +} +#endif + +#ifndef STBI_NO_LINEAR +static float *stbi__loadf_main(stbi__context *s, int *x, int *y, int *comp, int req_comp) +{ + unsigned char *data; + #ifndef STBI_NO_HDR + if (stbi__hdr_test(s)) { + stbi__result_info ri; + float *hdr_data = stbi__hdr_load(s,x,y,comp,req_comp, &ri); + if (hdr_data) + stbi__float_postprocess(hdr_data,x,y,comp,req_comp); + return hdr_data; + } + #endif + data = stbi__load_and_postprocess_8bit(s, x, y, comp, req_comp); + if (data) + return stbi__ldr_to_hdr(data, *x, *y, req_comp ? req_comp : *comp); + return stbi__errpf("unknown image type", "Image not of any known type, or corrupt"); +} + +STBIDEF float *stbi_loadf_from_memory(stbi_uc const *buffer, int len, int *x, int *y, int *comp, int req_comp) +{ + stbi__context s; + stbi__start_mem(&s,buffer,len); + return stbi__loadf_main(&s,x,y,comp,req_comp); +} + +STBIDEF float *stbi_loadf_from_callbacks(stbi_io_callbacks const *clbk, void *user, int *x, int *y, int *comp, int req_comp) +{ + stbi__context s; + stbi__start_callbacks(&s, (stbi_io_callbacks *) clbk, user); + return stbi__loadf_main(&s,x,y,comp,req_comp); +} + +#ifndef STBI_NO_STDIO +STBIDEF float *stbi_loadf(char const *filename, int *x, int *y, int *comp, int req_comp) +{ + float *result; + FILE *f = stbi__fopen(filename, "rb"); + if (!f) return stbi__errpf("can't fopen", "Unable to open file"); + result = stbi_loadf_from_file(f,x,y,comp,req_comp); + fclose(f); + return result; +} + +STBIDEF float *stbi_loadf_from_file(FILE *f, int *x, int *y, int *comp, int req_comp) +{ + stbi__context s; + stbi__start_file(&s,f); + return stbi__loadf_main(&s,x,y,comp,req_comp); +} +#endif // !STBI_NO_STDIO + +#endif // !STBI_NO_LINEAR + +// these is-hdr-or-not is defined independent of whether STBI_NO_LINEAR is +// defined, for API simplicity; if STBI_NO_LINEAR is defined, it always +// reports false! + +STBIDEF int stbi_is_hdr_from_memory(stbi_uc const *buffer, int len) +{ + #ifndef STBI_NO_HDR + stbi__context s; + stbi__start_mem(&s,buffer,len); + return stbi__hdr_test(&s); + #else + STBI_NOTUSED(buffer); + STBI_NOTUSED(len); + return 0; + #endif +} + +#ifndef STBI_NO_STDIO +STBIDEF int stbi_is_hdr (char const *filename) +{ + FILE *f = stbi__fopen(filename, "rb"); + int result=0; + if (f) { + result = stbi_is_hdr_from_file(f); + fclose(f); + } + return result; +} + +STBIDEF int stbi_is_hdr_from_file(FILE *f) +{ + #ifndef STBI_NO_HDR + long pos = ftell(f); + int res; + stbi__context s; + stbi__start_file(&s,f); + res = stbi__hdr_test(&s); + fseek(f, pos, SEEK_SET); + return res; + #else + STBI_NOTUSED(f); + return 0; + #endif +} +#endif // !STBI_NO_STDIO + +STBIDEF int stbi_is_hdr_from_callbacks(stbi_io_callbacks const *clbk, void *user) +{ + #ifndef STBI_NO_HDR + stbi__context s; + stbi__start_callbacks(&s, (stbi_io_callbacks *) clbk, user); + return stbi__hdr_test(&s); + #else + STBI_NOTUSED(clbk); + STBI_NOTUSED(user); + return 0; + #endif +} + +#ifndef STBI_NO_LINEAR +static float stbi__l2h_gamma=2.2f, stbi__l2h_scale=1.0f; + +STBIDEF void stbi_ldr_to_hdr_gamma(float gamma) { stbi__l2h_gamma = gamma; } +STBIDEF void stbi_ldr_to_hdr_scale(float scale) { stbi__l2h_scale = scale; } +#endif + +static float stbi__h2l_gamma_i=1.0f/2.2f, stbi__h2l_scale_i=1.0f; + +STBIDEF void stbi_hdr_to_ldr_gamma(float gamma) { stbi__h2l_gamma_i = 1/gamma; } +STBIDEF void stbi_hdr_to_ldr_scale(float scale) { stbi__h2l_scale_i = 1/scale; } + + +////////////////////////////////////////////////////////////////////////////// +// +// Common code used by all image loaders +// + +enum +{ + STBI__SCAN_load=0, + STBI__SCAN_type, + STBI__SCAN_header +}; + +static void stbi__refill_buffer(stbi__context *s) +{ + int n = (s->io.read)(s->io_user_data,(char*)s->buffer_start,s->buflen); + if (n == 0) { + // at end of file, treat same as if from memory, but need to handle case + // where s->img_buffer isn't pointing to safe memory, e.g. 0-byte file + s->read_from_callbacks = 0; + s->img_buffer = s->buffer_start; + s->img_buffer_end = s->buffer_start+1; + *s->img_buffer = 0; + } else { + s->img_buffer = s->buffer_start; + s->img_buffer_end = s->buffer_start + n; + } +} + +stbi_inline static stbi_uc stbi__get8(stbi__context *s) +{ + if (s->img_buffer < s->img_buffer_end) + return *s->img_buffer++; + if (s->read_from_callbacks) { + stbi__refill_buffer(s); + return *s->img_buffer++; + } + return 0; +} + +stbi_inline static int stbi__at_eof(stbi__context *s) +{ + if (s->io.read) { + if (!(s->io.eof)(s->io_user_data)) return 0; + // if feof() is true, check if buffer = end + // special case: we've only got the special 0 character at the end + if (s->read_from_callbacks == 0) return 1; + } + + return s->img_buffer >= s->img_buffer_end; +} + +static void stbi__skip(stbi__context *s, int n) +{ + if (n < 0) { + s->img_buffer = s->img_buffer_end; + return; + } + if (s->io.read) { + int blen = (int) (s->img_buffer_end - s->img_buffer); + if (blen < n) { + s->img_buffer = s->img_buffer_end; + (s->io.skip)(s->io_user_data, n - blen); + return; + } + } + s->img_buffer += n; +} + +static int stbi__getn(stbi__context *s, stbi_uc *buffer, int n) +{ + if (s->io.read) { + int blen = (int) (s->img_buffer_end - s->img_buffer); + if (blen < n) { + int res, count; + + memcpy(buffer, s->img_buffer, blen); + + count = (s->io.read)(s->io_user_data, (char*) buffer + blen, n - blen); + res = (count == (n-blen)); + s->img_buffer = s->img_buffer_end; + return res; + } + } + + if (s->img_buffer+n <= s->img_buffer_end) { + memcpy(buffer, s->img_buffer, n); + s->img_buffer += n; + return 1; + } else + return 0; +} + +static int stbi__get16be(stbi__context *s) +{ + int z = stbi__get8(s); + return (z << 8) + stbi__get8(s); +} + +static stbi__uint32 stbi__get32be(stbi__context *s) +{ + stbi__uint32 z = stbi__get16be(s); + return (z << 16) + stbi__get16be(s); +} + +#if defined(STBI_NO_BMP) && defined(STBI_NO_TGA) && defined(STBI_NO_GIF) +// nothing +#else +static int stbi__get16le(stbi__context *s) +{ + int z = stbi__get8(s); + return z + (stbi__get8(s) << 8); +} +#endif + +#ifndef STBI_NO_BMP +static stbi__uint32 stbi__get32le(stbi__context *s) +{ + stbi__uint32 z = stbi__get16le(s); + return z + (stbi__get16le(s) << 16); +} +#endif + +#define STBI__BYTECAST(x) ((stbi_uc) ((x) & 255)) // truncate int to byte without warnings + + +////////////////////////////////////////////////////////////////////////////// +// +// generic converter from built-in img_n to req_comp +// individual types do this automatically as much as possible (e.g. jpeg +// does all cases internally since it needs to colorspace convert anyway, +// and it never has alpha, so very few cases ). png can automatically +// interleave an alpha=255 channel, but falls back to this for other cases +// +// assume data buffer is malloced, so malloc a new one and free that one +// only failure mode is malloc failing + +static stbi_uc stbi__compute_y(int r, int g, int b) +{ + return (stbi_uc) (((r*77) + (g*150) + (29*b)) >> 8); +} + +static unsigned char *stbi__convert_format(unsigned char *data, int img_n, int req_comp, unsigned int x, unsigned int y) +{ + int i,j; + unsigned char *good; + + if (req_comp == img_n) return data; + STBI_ASSERT(req_comp >= 1 && req_comp <= 4); + + good = (unsigned char *) stbi__malloc_mad3(req_comp, x, y, 0); + if (good == NULL) { + STBI_FREE(data); + return stbi__errpuc("outofmem", "Out of memory"); + } + + for (j=0; j < (int) y; ++j) { + unsigned char *src = data + j * x * img_n ; + unsigned char *dest = good + j * x * req_comp; + + #define STBI__COMBO(a,b) ((a)*8+(b)) + #define STBI__CASE(a,b) case STBI__COMBO(a,b): for(i=x-1; i >= 0; --i, src += a, dest += b) + // convert source image with img_n components to one with req_comp components; + // avoid switch per pixel, so use switch per scanline and massive macros + switch (STBI__COMBO(img_n, req_comp)) { + STBI__CASE(1,2) { dest[0]=src[0], dest[1]=255; } break; + STBI__CASE(1,3) { dest[0]=dest[1]=dest[2]=src[0]; } break; + STBI__CASE(1,4) { dest[0]=dest[1]=dest[2]=src[0], dest[3]=255; } break; + STBI__CASE(2,1) { dest[0]=src[0]; } break; + STBI__CASE(2,3) { dest[0]=dest[1]=dest[2]=src[0]; } break; + STBI__CASE(2,4) { dest[0]=dest[1]=dest[2]=src[0], dest[3]=src[1]; } break; + STBI__CASE(3,4) { dest[0]=src[0],dest[1]=src[1],dest[2]=src[2],dest[3]=255; } break; + STBI__CASE(3,1) { dest[0]=stbi__compute_y(src[0],src[1],src[2]); } break; + STBI__CASE(3,2) { dest[0]=stbi__compute_y(src[0],src[1],src[2]), dest[1] = 255; } break; + STBI__CASE(4,1) { dest[0]=stbi__compute_y(src[0],src[1],src[2]); } break; + STBI__CASE(4,2) { dest[0]=stbi__compute_y(src[0],src[1],src[2]), dest[1] = src[3]; } break; + STBI__CASE(4,3) { dest[0]=src[0],dest[1]=src[1],dest[2]=src[2]; } break; + default: STBI_ASSERT(0); + } + #undef STBI__CASE + } + + STBI_FREE(data); + return good; +} + +static stbi__uint16 stbi__compute_y_16(int r, int g, int b) +{ + return (stbi__uint16) (((r*77) + (g*150) + (29*b)) >> 8); +} + +static stbi__uint16 *stbi__convert_format16(stbi__uint16 *data, int img_n, int req_comp, unsigned int x, unsigned int y) +{ + int i,j; + stbi__uint16 *good; + + if (req_comp == img_n) return data; + STBI_ASSERT(req_comp >= 1 && req_comp <= 4); + + good = (stbi__uint16 *) stbi__malloc(req_comp * x * y * 2); + if (good == NULL) { + STBI_FREE(data); + return (stbi__uint16 *) stbi__errpuc("outofmem", "Out of memory"); + } + + for (j=0; j < (int) y; ++j) { + stbi__uint16 *src = data + j * x * img_n ; + stbi__uint16 *dest = good + j * x * req_comp; + + #define STBI__COMBO(a,b) ((a)*8+(b)) + #define STBI__CASE(a,b) case STBI__COMBO(a,b): for(i=x-1; i >= 0; --i, src += a, dest += b) + // convert source image with img_n components to one with req_comp components; + // avoid switch per pixel, so use switch per scanline and massive macros + switch (STBI__COMBO(img_n, req_comp)) { + STBI__CASE(1,2) { dest[0]=src[0], dest[1]=0xffff; } break; + STBI__CASE(1,3) { dest[0]=dest[1]=dest[2]=src[0]; } break; + STBI__CASE(1,4) { dest[0]=dest[1]=dest[2]=src[0], dest[3]=0xffff; } break; + STBI__CASE(2,1) { dest[0]=src[0]; } break; + STBI__CASE(2,3) { dest[0]=dest[1]=dest[2]=src[0]; } break; + STBI__CASE(2,4) { dest[0]=dest[1]=dest[2]=src[0], dest[3]=src[1]; } break; + STBI__CASE(3,4) { dest[0]=src[0],dest[1]=src[1],dest[2]=src[2],dest[3]=0xffff; } break; + STBI__CASE(3,1) { dest[0]=stbi__compute_y_16(src[0],src[1],src[2]); } break; + STBI__CASE(3,2) { dest[0]=stbi__compute_y_16(src[0],src[1],src[2]), dest[1] = 0xffff; } break; + STBI__CASE(4,1) { dest[0]=stbi__compute_y_16(src[0],src[1],src[2]); } break; + STBI__CASE(4,2) { dest[0]=stbi__compute_y_16(src[0],src[1],src[2]), dest[1] = src[3]; } break; + STBI__CASE(4,3) { dest[0]=src[0],dest[1]=src[1],dest[2]=src[2]; } break; + default: STBI_ASSERT(0); + } + #undef STBI__CASE + } + + STBI_FREE(data); + return good; +} + +#ifndef STBI_NO_LINEAR +static float *stbi__ldr_to_hdr(stbi_uc *data, int x, int y, int comp) +{ + int i,k,n; + float *output; + if (!data) return NULL; + output = (float *) stbi__malloc_mad4(x, y, comp, sizeof(float), 0); + if (output == NULL) { STBI_FREE(data); return stbi__errpf("outofmem", "Out of memory"); } + // compute number of non-alpha components + if (comp & 1) n = comp; else n = comp-1; + for (i=0; i < x*y; ++i) { + for (k=0; k < n; ++k) { + output[i*comp + k] = (float) (pow(data[i*comp+k]/255.0f, stbi__l2h_gamma) * stbi__l2h_scale); + } + if (k < comp) output[i*comp + k] = data[i*comp+k]/255.0f; + } + STBI_FREE(data); + return output; +} +#endif + +#ifndef STBI_NO_HDR +#define stbi__float2int(x) ((int) (x)) +static stbi_uc *stbi__hdr_to_ldr(float *data, int x, int y, int comp) +{ + int i,k,n; + stbi_uc *output; + if (!data) return NULL; + output = (stbi_uc *) stbi__malloc_mad3(x, y, comp, 0); + if (output == NULL) { STBI_FREE(data); return stbi__errpuc("outofmem", "Out of memory"); } + // compute number of non-alpha components + if (comp & 1) n = comp; else n = comp-1; + for (i=0; i < x*y; ++i) { + for (k=0; k < n; ++k) { + float z = (float) pow(data[i*comp+k]*stbi__h2l_scale_i, stbi__h2l_gamma_i) * 255 + 0.5f; + if (z < 0) z = 0; + if (z > 255) z = 255; + output[i*comp + k] = (stbi_uc) stbi__float2int(z); + } + if (k < comp) { + float z = data[i*comp+k] * 255 + 0.5f; + if (z < 0) z = 0; + if (z > 255) z = 255; + output[i*comp + k] = (stbi_uc) stbi__float2int(z); + } + } + STBI_FREE(data); + return output; +} +#endif + +////////////////////////////////////////////////////////////////////////////// +// +// "baseline" JPEG/JFIF decoder +// +// simple implementation +// - doesn't support delayed output of y-dimension +// - simple interface (only one output format: 8-bit interleaved RGB) +// - doesn't try to recover corrupt jpegs +// - doesn't allow partial loading, loading multiple at once +// - still fast on x86 (copying globals into locals doesn't help x86) +// - allocates lots of intermediate memory (full size of all components) +// - non-interleaved case requires this anyway +// - allows good upsampling (see next) +// high-quality +// - upsampled channels are bilinearly interpolated, even across blocks +// - quality integer IDCT derived from IJG's 'slow' +// performance +// - fast huffman; reasonable integer IDCT +// - some SIMD kernels for common paths on targets with SSE2/NEON +// - uses a lot of intermediate memory, could cache poorly + +#ifndef STBI_NO_JPEG + +// huffman decoding acceleration +#define FAST_BITS 9 // larger handles more cases; smaller stomps less cache + +typedef struct +{ + stbi_uc fast[1 << FAST_BITS]; + // weirdly, repacking this into AoS is a 10% speed loss, instead of a win + stbi__uint16 code[256]; + stbi_uc values[256]; + stbi_uc size[257]; + unsigned int maxcode[18]; + int delta[17]; // old 'firstsymbol' - old 'firstcode' +} stbi__huffman; + +typedef struct +{ + stbi__context *s; + stbi__huffman huff_dc[4]; + stbi__huffman huff_ac[4]; + stbi__uint16 dequant[4][64]; + stbi__int16 fast_ac[4][1 << FAST_BITS]; + +// sizes for components, interleaved MCUs + int img_h_max, img_v_max; + int img_mcu_x, img_mcu_y; + int img_mcu_w, img_mcu_h; + +// definition of jpeg image component + struct + { + int id; + int h,v; + int tq; + int hd,ha; + int dc_pred; + + int x,y,w2,h2; + stbi_uc *data; + void *raw_data, *raw_coeff; + stbi_uc *linebuf; + short *coeff; // progressive only + int coeff_w, coeff_h; // number of 8x8 coefficient blocks + } img_comp[4]; + + stbi__uint32 code_buffer; // jpeg entropy-coded buffer + int code_bits; // number of valid bits + unsigned char marker; // marker seen while filling entropy buffer + int nomore; // flag if we saw a marker so must stop + + int progressive; + int spec_start; + int spec_end; + int succ_high; + int succ_low; + int eob_run; + int jfif; + int app14_color_transform; // Adobe APP14 tag + int rgb; + + int scan_n, order[4]; + int restart_interval, todo; + +// kernels + void (*idct_block_kernel)(stbi_uc *out, int out_stride, short data[64]); + void (*YCbCr_to_RGB_kernel)(stbi_uc *out, const stbi_uc *y, const stbi_uc *pcb, const stbi_uc *pcr, int count, int step); + stbi_uc *(*resample_row_hv_2_kernel)(stbi_uc *out, stbi_uc *in_near, stbi_uc *in_far, int w, int hs); +} stbi__jpeg; + +static int stbi__build_huffman(stbi__huffman *h, int *count) +{ + int i,j,k=0; + unsigned int code; + // build size list for each symbol (from JPEG spec) + for (i=0; i < 16; ++i) + for (j=0; j < count[i]; ++j) + h->size[k++] = (stbi_uc) (i+1); + h->size[k] = 0; + + // compute actual symbols (from jpeg spec) + code = 0; + k = 0; + for(j=1; j <= 16; ++j) { + // compute delta to add to code to compute symbol id + h->delta[j] = k - code; + if (h->size[k] == j) { + while (h->size[k] == j) + h->code[k++] = (stbi__uint16) (code++); + if (code-1 >= (1u << j)) return stbi__err("bad code lengths","Corrupt JPEG"); + } + // compute largest code + 1 for this size, preshifted as needed later + h->maxcode[j] = code << (16-j); + code <<= 1; + } + h->maxcode[j] = 0xffffffff; + + // build non-spec acceleration table; 255 is flag for not-accelerated + memset(h->fast, 255, 1 << FAST_BITS); + for (i=0; i < k; ++i) { + int s = h->size[i]; + if (s <= FAST_BITS) { + int c = h->code[i] << (FAST_BITS-s); + int m = 1 << (FAST_BITS-s); + for (j=0; j < m; ++j) { + h->fast[c+j] = (stbi_uc) i; + } + } + } + return 1; +} + +// build a table that decodes both magnitude and value of small ACs in +// one go. +static void stbi__build_fast_ac(stbi__int16 *fast_ac, stbi__huffman *h) +{ + int i; + for (i=0; i < (1 << FAST_BITS); ++i) { + stbi_uc fast = h->fast[i]; + fast_ac[i] = 0; + if (fast < 255) { + int rs = h->values[fast]; + int run = (rs >> 4) & 15; + int magbits = rs & 15; + int len = h->size[fast]; + + if (magbits && len + magbits <= FAST_BITS) { + // magnitude code followed by receive_extend code + int k = ((i << len) & ((1 << FAST_BITS) - 1)) >> (FAST_BITS - magbits); + int m = 1 << (magbits - 1); + if (k < m) k += (~0U << magbits) + 1; + // if the result is small enough, we can fit it in fast_ac table + if (k >= -128 && k <= 127) + fast_ac[i] = (stbi__int16) ((k * 256) + (run * 16) + (len + magbits)); + } + } + } +} + +static void stbi__grow_buffer_unsafe(stbi__jpeg *j) +{ + do { + unsigned int b = j->nomore ? 0 : stbi__get8(j->s); + if (b == 0xff) { + int c = stbi__get8(j->s); + while (c == 0xff) c = stbi__get8(j->s); // consume fill bytes + if (c != 0) { + j->marker = (unsigned char) c; + j->nomore = 1; + return; + } + } + j->code_buffer |= b << (24 - j->code_bits); + j->code_bits += 8; + } while (j->code_bits <= 24); +} + +// (1 << n) - 1 +static const stbi__uint32 stbi__bmask[17]={0,1,3,7,15,31,63,127,255,511,1023,2047,4095,8191,16383,32767,65535}; + +// decode a jpeg huffman value from the bitstream +stbi_inline static int stbi__jpeg_huff_decode(stbi__jpeg *j, stbi__huffman *h) +{ + unsigned int temp; + int c,k; + + if (j->code_bits < 16) stbi__grow_buffer_unsafe(j); + + // look at the top FAST_BITS and determine what symbol ID it is, + // if the code is <= FAST_BITS + c = (j->code_buffer >> (32 - FAST_BITS)) & ((1 << FAST_BITS)-1); + k = h->fast[c]; + if (k < 255) { + int s = h->size[k]; + if (s > j->code_bits) + return -1; + j->code_buffer <<= s; + j->code_bits -= s; + return h->values[k]; + } + + // naive test is to shift the code_buffer down so k bits are + // valid, then test against maxcode. To speed this up, we've + // preshifted maxcode left so that it has (16-k) 0s at the + // end; in other words, regardless of the number of bits, it + // wants to be compared against something shifted to have 16; + // that way we don't need to shift inside the loop. + temp = j->code_buffer >> 16; + for (k=FAST_BITS+1 ; ; ++k) + if (temp < h->maxcode[k]) + break; + if (k == 17) { + // error! code not found + j->code_bits -= 16; + return -1; + } + + if (k > j->code_bits) + return -1; + + // convert the huffman code to the symbol id + c = ((j->code_buffer >> (32 - k)) & stbi__bmask[k]) + h->delta[k]; + STBI_ASSERT((((j->code_buffer) >> (32 - h->size[c])) & stbi__bmask[h->size[c]]) == h->code[c]); + + // convert the id to a symbol + j->code_bits -= k; + j->code_buffer <<= k; + return h->values[c]; +} + +// bias[n] = (-1<code_bits < n) stbi__grow_buffer_unsafe(j); + + sgn = (stbi__int32)j->code_buffer >> 31; // sign bit is always in MSB + k = stbi_lrot(j->code_buffer, n); + STBI_ASSERT(n >= 0 && n < (int) (sizeof(stbi__bmask)/sizeof(*stbi__bmask))); + j->code_buffer = k & ~stbi__bmask[n]; + k &= stbi__bmask[n]; + j->code_bits -= n; + return k + (stbi__jbias[n] & ~sgn); +} + +// get some unsigned bits +stbi_inline static int stbi__jpeg_get_bits(stbi__jpeg *j, int n) +{ + unsigned int k; + if (j->code_bits < n) stbi__grow_buffer_unsafe(j); + k = stbi_lrot(j->code_buffer, n); + j->code_buffer = k & ~stbi__bmask[n]; + k &= stbi__bmask[n]; + j->code_bits -= n; + return k; +} + +stbi_inline static int stbi__jpeg_get_bit(stbi__jpeg *j) +{ + unsigned int k; + if (j->code_bits < 1) stbi__grow_buffer_unsafe(j); + k = j->code_buffer; + j->code_buffer <<= 1; + --j->code_bits; + return k & 0x80000000; +} + +// given a value that's at position X in the zigzag stream, +// where does it appear in the 8x8 matrix coded as row-major? +static const stbi_uc stbi__jpeg_dezigzag[64+15] = +{ + 0, 1, 8, 16, 9, 2, 3, 10, + 17, 24, 32, 25, 18, 11, 4, 5, + 12, 19, 26, 33, 40, 48, 41, 34, + 27, 20, 13, 6, 7, 14, 21, 28, + 35, 42, 49, 56, 57, 50, 43, 36, + 29, 22, 15, 23, 30, 37, 44, 51, + 58, 59, 52, 45, 38, 31, 39, 46, + 53, 60, 61, 54, 47, 55, 62, 63, + // let corrupt input sample past end + 63, 63, 63, 63, 63, 63, 63, 63, + 63, 63, 63, 63, 63, 63, 63 +}; + +// decode one 64-entry block-- +static int stbi__jpeg_decode_block(stbi__jpeg *j, short data[64], stbi__huffman *hdc, stbi__huffman *hac, stbi__int16 *fac, int b, stbi__uint16 *dequant) +{ + int diff,dc,k; + int t; + + if (j->code_bits < 16) stbi__grow_buffer_unsafe(j); + t = stbi__jpeg_huff_decode(j, hdc); + if (t < 0) return stbi__err("bad huffman code","Corrupt JPEG"); + + // 0 all the ac values now so we can do it 32-bits at a time + memset(data,0,64*sizeof(data[0])); + + diff = t ? stbi__extend_receive(j, t) : 0; + dc = j->img_comp[b].dc_pred + diff; + j->img_comp[b].dc_pred = dc; + data[0] = (short) (dc * dequant[0]); + + // decode AC components, see JPEG spec + k = 1; + do { + unsigned int zig; + int c,r,s; + if (j->code_bits < 16) stbi__grow_buffer_unsafe(j); + c = (j->code_buffer >> (32 - FAST_BITS)) & ((1 << FAST_BITS)-1); + r = fac[c]; + if (r) { // fast-AC path + k += (r >> 4) & 15; // run + s = r & 15; // combined length + j->code_buffer <<= s; + j->code_bits -= s; + // decode into unzigzag'd location + zig = stbi__jpeg_dezigzag[k++]; + data[zig] = (short) ((r >> 8) * dequant[zig]); + } else { + int rs = stbi__jpeg_huff_decode(j, hac); + if (rs < 0) return stbi__err("bad huffman code","Corrupt JPEG"); + s = rs & 15; + r = rs >> 4; + if (s == 0) { + if (rs != 0xf0) break; // end block + k += 16; + } else { + k += r; + // decode into unzigzag'd location + zig = stbi__jpeg_dezigzag[k++]; + data[zig] = (short) (stbi__extend_receive(j,s) * dequant[zig]); + } + } + } while (k < 64); + return 1; +} + +static int stbi__jpeg_decode_block_prog_dc(stbi__jpeg *j, short data[64], stbi__huffman *hdc, int b) +{ + int diff,dc; + int t; + if (j->spec_end != 0) return stbi__err("can't merge dc and ac", "Corrupt JPEG"); + + if (j->code_bits < 16) stbi__grow_buffer_unsafe(j); + + if (j->succ_high == 0) { + // first scan for DC coefficient, must be first + memset(data,0,64*sizeof(data[0])); // 0 all the ac values now + t = stbi__jpeg_huff_decode(j, hdc); + diff = t ? stbi__extend_receive(j, t) : 0; + + dc = j->img_comp[b].dc_pred + diff; + j->img_comp[b].dc_pred = dc; + data[0] = (short) (dc << j->succ_low); + } else { + // refinement scan for DC coefficient + if (stbi__jpeg_get_bit(j)) + data[0] += (short) (1 << j->succ_low); + } + return 1; +} + +// @OPTIMIZE: store non-zigzagged during the decode passes, +// and only de-zigzag when dequantizing +static int stbi__jpeg_decode_block_prog_ac(stbi__jpeg *j, short data[64], stbi__huffman *hac, stbi__int16 *fac) +{ + int k; + if (j->spec_start == 0) return stbi__err("can't merge dc and ac", "Corrupt JPEG"); + + if (j->succ_high == 0) { + int shift = j->succ_low; + + if (j->eob_run) { + --j->eob_run; + return 1; + } + + k = j->spec_start; + do { + unsigned int zig; + int c,r,s; + if (j->code_bits < 16) stbi__grow_buffer_unsafe(j); + c = (j->code_buffer >> (32 - FAST_BITS)) & ((1 << FAST_BITS)-1); + r = fac[c]; + if (r) { // fast-AC path + k += (r >> 4) & 15; // run + s = r & 15; // combined length + j->code_buffer <<= s; + j->code_bits -= s; + zig = stbi__jpeg_dezigzag[k++]; + data[zig] = (short) ((r >> 8) << shift); + } else { + int rs = stbi__jpeg_huff_decode(j, hac); + if (rs < 0) return stbi__err("bad huffman code","Corrupt JPEG"); + s = rs & 15; + r = rs >> 4; + if (s == 0) { + if (r < 15) { + j->eob_run = (1 << r); + if (r) + j->eob_run += stbi__jpeg_get_bits(j, r); + --j->eob_run; + break; + } + k += 16; + } else { + k += r; + zig = stbi__jpeg_dezigzag[k++]; + data[zig] = (short) (stbi__extend_receive(j,s) << shift); + } + } + } while (k <= j->spec_end); + } else { + // refinement scan for these AC coefficients + + short bit = (short) (1 << j->succ_low); + + if (j->eob_run) { + --j->eob_run; + for (k = j->spec_start; k <= j->spec_end; ++k) { + short *p = &data[stbi__jpeg_dezigzag[k]]; + if (*p != 0) + if (stbi__jpeg_get_bit(j)) + if ((*p & bit)==0) { + if (*p > 0) + *p += bit; + else + *p -= bit; + } + } + } else { + k = j->spec_start; + do { + int r,s; + int rs = stbi__jpeg_huff_decode(j, hac); // @OPTIMIZE see if we can use the fast path here, advance-by-r is so slow, eh + if (rs < 0) return stbi__err("bad huffman code","Corrupt JPEG"); + s = rs & 15; + r = rs >> 4; + if (s == 0) { + if (r < 15) { + j->eob_run = (1 << r) - 1; + if (r) + j->eob_run += stbi__jpeg_get_bits(j, r); + r = 64; // force end of block + } else { + // r=15 s=0 should write 16 0s, so we just do + // a run of 15 0s and then write s (which is 0), + // so we don't have to do anything special here + } + } else { + if (s != 1) return stbi__err("bad huffman code", "Corrupt JPEG"); + // sign bit + if (stbi__jpeg_get_bit(j)) + s = bit; + else + s = -bit; + } + + // advance by r + while (k <= j->spec_end) { + short *p = &data[stbi__jpeg_dezigzag[k++]]; + if (*p != 0) { + if (stbi__jpeg_get_bit(j)) + if ((*p & bit)==0) { + if (*p > 0) + *p += bit; + else + *p -= bit; + } + } else { + if (r == 0) { + *p = (short) s; + break; + } + --r; + } + } + } while (k <= j->spec_end); + } + } + return 1; +} + +// take a -128..127 value and stbi__clamp it and convert to 0..255 +stbi_inline static stbi_uc stbi__clamp(int x) +{ + // trick to use a single test to catch both cases + if ((unsigned int) x > 255) { + if (x < 0) return 0; + if (x > 255) return 255; + } + return (stbi_uc) x; +} + +#define stbi__f2f(x) ((int) (((x) * 4096 + 0.5))) +#define stbi__fsh(x) ((x) * 4096) + +// derived from jidctint -- DCT_ISLOW +#define STBI__IDCT_1D(s0,s1,s2,s3,s4,s5,s6,s7) \ + int t0,t1,t2,t3,p1,p2,p3,p4,p5,x0,x1,x2,x3; \ + p2 = s2; \ + p3 = s6; \ + p1 = (p2+p3) * stbi__f2f(0.5411961f); \ + t2 = p1 + p3*stbi__f2f(-1.847759065f); \ + t3 = p1 + p2*stbi__f2f( 0.765366865f); \ + p2 = s0; \ + p3 = s4; \ + t0 = stbi__fsh(p2+p3); \ + t1 = stbi__fsh(p2-p3); \ + x0 = t0+t3; \ + x3 = t0-t3; \ + x1 = t1+t2; \ + x2 = t1-t2; \ + t0 = s7; \ + t1 = s5; \ + t2 = s3; \ + t3 = s1; \ + p3 = t0+t2; \ + p4 = t1+t3; \ + p1 = t0+t3; \ + p2 = t1+t2; \ + p5 = (p3+p4)*stbi__f2f( 1.175875602f); \ + t0 = t0*stbi__f2f( 0.298631336f); \ + t1 = t1*stbi__f2f( 2.053119869f); \ + t2 = t2*stbi__f2f( 3.072711026f); \ + t3 = t3*stbi__f2f( 1.501321110f); \ + p1 = p5 + p1*stbi__f2f(-0.899976223f); \ + p2 = p5 + p2*stbi__f2f(-2.562915447f); \ + p3 = p3*stbi__f2f(-1.961570560f); \ + p4 = p4*stbi__f2f(-0.390180644f); \ + t3 += p1+p4; \ + t2 += p2+p3; \ + t1 += p2+p4; \ + t0 += p1+p3; + +static void stbi__idct_block(stbi_uc *out, int out_stride, short data[64]) +{ + int i,val[64],*v=val; + stbi_uc *o; + short *d = data; + + // columns + for (i=0; i < 8; ++i,++d, ++v) { + // if all zeroes, shortcut -- this avoids dequantizing 0s and IDCTing + if (d[ 8]==0 && d[16]==0 && d[24]==0 && d[32]==0 + && d[40]==0 && d[48]==0 && d[56]==0) { + // no shortcut 0 seconds + // (1|2|3|4|5|6|7)==0 0 seconds + // all separate -0.047 seconds + // 1 && 2|3 && 4|5 && 6|7: -0.047 seconds + int dcterm = d[0]*4; + v[0] = v[8] = v[16] = v[24] = v[32] = v[40] = v[48] = v[56] = dcterm; + } else { + STBI__IDCT_1D(d[ 0],d[ 8],d[16],d[24],d[32],d[40],d[48],d[56]) + // constants scaled things up by 1<<12; let's bring them back + // down, but keep 2 extra bits of precision + x0 += 512; x1 += 512; x2 += 512; x3 += 512; + v[ 0] = (x0+t3) >> 10; + v[56] = (x0-t3) >> 10; + v[ 8] = (x1+t2) >> 10; + v[48] = (x1-t2) >> 10; + v[16] = (x2+t1) >> 10; + v[40] = (x2-t1) >> 10; + v[24] = (x3+t0) >> 10; + v[32] = (x3-t0) >> 10; + } + } + + for (i=0, v=val, o=out; i < 8; ++i,v+=8,o+=out_stride) { + // no fast case since the first 1D IDCT spread components out + STBI__IDCT_1D(v[0],v[1],v[2],v[3],v[4],v[5],v[6],v[7]) + // constants scaled things up by 1<<12, plus we had 1<<2 from first + // loop, plus horizontal and vertical each scale by sqrt(8) so together + // we've got an extra 1<<3, so 1<<17 total we need to remove. + // so we want to round that, which means adding 0.5 * 1<<17, + // aka 65536. Also, we'll end up with -128 to 127 that we want + // to encode as 0..255 by adding 128, so we'll add that before the shift + x0 += 65536 + (128<<17); + x1 += 65536 + (128<<17); + x2 += 65536 + (128<<17); + x3 += 65536 + (128<<17); + // tried computing the shifts into temps, or'ing the temps to see + // if any were out of range, but that was slower + o[0] = stbi__clamp((x0+t3) >> 17); + o[7] = stbi__clamp((x0-t3) >> 17); + o[1] = stbi__clamp((x1+t2) >> 17); + o[6] = stbi__clamp((x1-t2) >> 17); + o[2] = stbi__clamp((x2+t1) >> 17); + o[5] = stbi__clamp((x2-t1) >> 17); + o[3] = stbi__clamp((x3+t0) >> 17); + o[4] = stbi__clamp((x3-t0) >> 17); + } +} + +#ifdef STBI_SSE2 +// sse2 integer IDCT. not the fastest possible implementation but it +// produces bit-identical results to the generic C version so it's +// fully "transparent". +static void stbi__idct_simd(stbi_uc *out, int out_stride, short data[64]) +{ + // This is constructed to match our regular (generic) integer IDCT exactly. + __m128i row0, row1, row2, row3, row4, row5, row6, row7; + __m128i tmp; + + // dot product constant: even elems=x, odd elems=y + #define dct_const(x,y) _mm_setr_epi16((x),(y),(x),(y),(x),(y),(x),(y)) + + // out(0) = c0[even]*x + c0[odd]*y (c0, x, y 16-bit, out 32-bit) + // out(1) = c1[even]*x + c1[odd]*y + #define dct_rot(out0,out1, x,y,c0,c1) \ + __m128i c0##lo = _mm_unpacklo_epi16((x),(y)); \ + __m128i c0##hi = _mm_unpackhi_epi16((x),(y)); \ + __m128i out0##_l = _mm_madd_epi16(c0##lo, c0); \ + __m128i out0##_h = _mm_madd_epi16(c0##hi, c0); \ + __m128i out1##_l = _mm_madd_epi16(c0##lo, c1); \ + __m128i out1##_h = _mm_madd_epi16(c0##hi, c1) + + // out = in << 12 (in 16-bit, out 32-bit) + #define dct_widen(out, in) \ + __m128i out##_l = _mm_srai_epi32(_mm_unpacklo_epi16(_mm_setzero_si128(), (in)), 4); \ + __m128i out##_h = _mm_srai_epi32(_mm_unpackhi_epi16(_mm_setzero_si128(), (in)), 4) + + // wide add + #define dct_wadd(out, a, b) \ + __m128i out##_l = _mm_add_epi32(a##_l, b##_l); \ + __m128i out##_h = _mm_add_epi32(a##_h, b##_h) + + // wide sub + #define dct_wsub(out, a, b) \ + __m128i out##_l = _mm_sub_epi32(a##_l, b##_l); \ + __m128i out##_h = _mm_sub_epi32(a##_h, b##_h) + + // butterfly a/b, add bias, then shift by "s" and pack + #define dct_bfly32o(out0, out1, a,b,bias,s) \ + { \ + __m128i abiased_l = _mm_add_epi32(a##_l, bias); \ + __m128i abiased_h = _mm_add_epi32(a##_h, bias); \ + dct_wadd(sum, abiased, b); \ + dct_wsub(dif, abiased, b); \ + out0 = _mm_packs_epi32(_mm_srai_epi32(sum_l, s), _mm_srai_epi32(sum_h, s)); \ + out1 = _mm_packs_epi32(_mm_srai_epi32(dif_l, s), _mm_srai_epi32(dif_h, s)); \ + } + + // 8-bit interleave step (for transposes) + #define dct_interleave8(a, b) \ + tmp = a; \ + a = _mm_unpacklo_epi8(a, b); \ + b = _mm_unpackhi_epi8(tmp, b) + + // 16-bit interleave step (for transposes) + #define dct_interleave16(a, b) \ + tmp = a; \ + a = _mm_unpacklo_epi16(a, b); \ + b = _mm_unpackhi_epi16(tmp, b) + + #define dct_pass(bias,shift) \ + { \ + /* even part */ \ + dct_rot(t2e,t3e, row2,row6, rot0_0,rot0_1); \ + __m128i sum04 = _mm_add_epi16(row0, row4); \ + __m128i dif04 = _mm_sub_epi16(row0, row4); \ + dct_widen(t0e, sum04); \ + dct_widen(t1e, dif04); \ + dct_wadd(x0, t0e, t3e); \ + dct_wsub(x3, t0e, t3e); \ + dct_wadd(x1, t1e, t2e); \ + dct_wsub(x2, t1e, t2e); \ + /* odd part */ \ + dct_rot(y0o,y2o, row7,row3, rot2_0,rot2_1); \ + dct_rot(y1o,y3o, row5,row1, rot3_0,rot3_1); \ + __m128i sum17 = _mm_add_epi16(row1, row7); \ + __m128i sum35 = _mm_add_epi16(row3, row5); \ + dct_rot(y4o,y5o, sum17,sum35, rot1_0,rot1_1); \ + dct_wadd(x4, y0o, y4o); \ + dct_wadd(x5, y1o, y5o); \ + dct_wadd(x6, y2o, y5o); \ + dct_wadd(x7, y3o, y4o); \ + dct_bfly32o(row0,row7, x0,x7,bias,shift); \ + dct_bfly32o(row1,row6, x1,x6,bias,shift); \ + dct_bfly32o(row2,row5, x2,x5,bias,shift); \ + dct_bfly32o(row3,row4, x3,x4,bias,shift); \ + } + + __m128i rot0_0 = dct_const(stbi__f2f(0.5411961f), stbi__f2f(0.5411961f) + stbi__f2f(-1.847759065f)); + __m128i rot0_1 = dct_const(stbi__f2f(0.5411961f) + stbi__f2f( 0.765366865f), stbi__f2f(0.5411961f)); + __m128i rot1_0 = dct_const(stbi__f2f(1.175875602f) + stbi__f2f(-0.899976223f), stbi__f2f(1.175875602f)); + __m128i rot1_1 = dct_const(stbi__f2f(1.175875602f), stbi__f2f(1.175875602f) + stbi__f2f(-2.562915447f)); + __m128i rot2_0 = dct_const(stbi__f2f(-1.961570560f) + stbi__f2f( 0.298631336f), stbi__f2f(-1.961570560f)); + __m128i rot2_1 = dct_const(stbi__f2f(-1.961570560f), stbi__f2f(-1.961570560f) + stbi__f2f( 3.072711026f)); + __m128i rot3_0 = dct_const(stbi__f2f(-0.390180644f) + stbi__f2f( 2.053119869f), stbi__f2f(-0.390180644f)); + __m128i rot3_1 = dct_const(stbi__f2f(-0.390180644f), stbi__f2f(-0.390180644f) + stbi__f2f( 1.501321110f)); + + // rounding biases in column/row passes, see stbi__idct_block for explanation. + __m128i bias_0 = _mm_set1_epi32(512); + __m128i bias_1 = _mm_set1_epi32(65536 + (128<<17)); + + // load + row0 = _mm_load_si128((const __m128i *) (data + 0*8)); + row1 = _mm_load_si128((const __m128i *) (data + 1*8)); + row2 = _mm_load_si128((const __m128i *) (data + 2*8)); + row3 = _mm_load_si128((const __m128i *) (data + 3*8)); + row4 = _mm_load_si128((const __m128i *) (data + 4*8)); + row5 = _mm_load_si128((const __m128i *) (data + 5*8)); + row6 = _mm_load_si128((const __m128i *) (data + 6*8)); + row7 = _mm_load_si128((const __m128i *) (data + 7*8)); + + // column pass + dct_pass(bias_0, 10); + + { + // 16bit 8x8 transpose pass 1 + dct_interleave16(row0, row4); + dct_interleave16(row1, row5); + dct_interleave16(row2, row6); + dct_interleave16(row3, row7); + + // transpose pass 2 + dct_interleave16(row0, row2); + dct_interleave16(row1, row3); + dct_interleave16(row4, row6); + dct_interleave16(row5, row7); + + // transpose pass 3 + dct_interleave16(row0, row1); + dct_interleave16(row2, row3); + dct_interleave16(row4, row5); + dct_interleave16(row6, row7); + } + + // row pass + dct_pass(bias_1, 17); + + { + // pack + __m128i p0 = _mm_packus_epi16(row0, row1); // a0a1a2a3...a7b0b1b2b3...b7 + __m128i p1 = _mm_packus_epi16(row2, row3); + __m128i p2 = _mm_packus_epi16(row4, row5); + __m128i p3 = _mm_packus_epi16(row6, row7); + + // 8bit 8x8 transpose pass 1 + dct_interleave8(p0, p2); // a0e0a1e1... + dct_interleave8(p1, p3); // c0g0c1g1... + + // transpose pass 2 + dct_interleave8(p0, p1); // a0c0e0g0... + dct_interleave8(p2, p3); // b0d0f0h0... + + // transpose pass 3 + dct_interleave8(p0, p2); // a0b0c0d0... + dct_interleave8(p1, p3); // a4b4c4d4... + + // store + _mm_storel_epi64((__m128i *) out, p0); out += out_stride; + _mm_storel_epi64((__m128i *) out, _mm_shuffle_epi32(p0, 0x4e)); out += out_stride; + _mm_storel_epi64((__m128i *) out, p2); out += out_stride; + _mm_storel_epi64((__m128i *) out, _mm_shuffle_epi32(p2, 0x4e)); out += out_stride; + _mm_storel_epi64((__m128i *) out, p1); out += out_stride; + _mm_storel_epi64((__m128i *) out, _mm_shuffle_epi32(p1, 0x4e)); out += out_stride; + _mm_storel_epi64((__m128i *) out, p3); out += out_stride; + _mm_storel_epi64((__m128i *) out, _mm_shuffle_epi32(p3, 0x4e)); + } + +#undef dct_const +#undef dct_rot +#undef dct_widen +#undef dct_wadd +#undef dct_wsub +#undef dct_bfly32o +#undef dct_interleave8 +#undef dct_interleave16 +#undef dct_pass +} + +#endif // STBI_SSE2 + +#ifdef STBI_NEON + +// NEON integer IDCT. should produce bit-identical +// results to the generic C version. +static void stbi__idct_simd(stbi_uc *out, int out_stride, short data[64]) +{ + int16x8_t row0, row1, row2, row3, row4, row5, row6, row7; + + int16x4_t rot0_0 = vdup_n_s16(stbi__f2f(0.5411961f)); + int16x4_t rot0_1 = vdup_n_s16(stbi__f2f(-1.847759065f)); + int16x4_t rot0_2 = vdup_n_s16(stbi__f2f( 0.765366865f)); + int16x4_t rot1_0 = vdup_n_s16(stbi__f2f( 1.175875602f)); + int16x4_t rot1_1 = vdup_n_s16(stbi__f2f(-0.899976223f)); + int16x4_t rot1_2 = vdup_n_s16(stbi__f2f(-2.562915447f)); + int16x4_t rot2_0 = vdup_n_s16(stbi__f2f(-1.961570560f)); + int16x4_t rot2_1 = vdup_n_s16(stbi__f2f(-0.390180644f)); + int16x4_t rot3_0 = vdup_n_s16(stbi__f2f( 0.298631336f)); + int16x4_t rot3_1 = vdup_n_s16(stbi__f2f( 2.053119869f)); + int16x4_t rot3_2 = vdup_n_s16(stbi__f2f( 3.072711026f)); + int16x4_t rot3_3 = vdup_n_s16(stbi__f2f( 1.501321110f)); + +#define dct_long_mul(out, inq, coeff) \ + int32x4_t out##_l = vmull_s16(vget_low_s16(inq), coeff); \ + int32x4_t out##_h = vmull_s16(vget_high_s16(inq), coeff) + +#define dct_long_mac(out, acc, inq, coeff) \ + int32x4_t out##_l = vmlal_s16(acc##_l, vget_low_s16(inq), coeff); \ + int32x4_t out##_h = vmlal_s16(acc##_h, vget_high_s16(inq), coeff) + +#define dct_widen(out, inq) \ + int32x4_t out##_l = vshll_n_s16(vget_low_s16(inq), 12); \ + int32x4_t out##_h = vshll_n_s16(vget_high_s16(inq), 12) + +// wide add +#define dct_wadd(out, a, b) \ + int32x4_t out##_l = vaddq_s32(a##_l, b##_l); \ + int32x4_t out##_h = vaddq_s32(a##_h, b##_h) + +// wide sub +#define dct_wsub(out, a, b) \ + int32x4_t out##_l = vsubq_s32(a##_l, b##_l); \ + int32x4_t out##_h = vsubq_s32(a##_h, b##_h) + +// butterfly a/b, then shift using "shiftop" by "s" and pack +#define dct_bfly32o(out0,out1, a,b,shiftop,s) \ + { \ + dct_wadd(sum, a, b); \ + dct_wsub(dif, a, b); \ + out0 = vcombine_s16(shiftop(sum_l, s), shiftop(sum_h, s)); \ + out1 = vcombine_s16(shiftop(dif_l, s), shiftop(dif_h, s)); \ + } + +#define dct_pass(shiftop, shift) \ + { \ + /* even part */ \ + int16x8_t sum26 = vaddq_s16(row2, row6); \ + dct_long_mul(p1e, sum26, rot0_0); \ + dct_long_mac(t2e, p1e, row6, rot0_1); \ + dct_long_mac(t3e, p1e, row2, rot0_2); \ + int16x8_t sum04 = vaddq_s16(row0, row4); \ + int16x8_t dif04 = vsubq_s16(row0, row4); \ + dct_widen(t0e, sum04); \ + dct_widen(t1e, dif04); \ + dct_wadd(x0, t0e, t3e); \ + dct_wsub(x3, t0e, t3e); \ + dct_wadd(x1, t1e, t2e); \ + dct_wsub(x2, t1e, t2e); \ + /* odd part */ \ + int16x8_t sum15 = vaddq_s16(row1, row5); \ + int16x8_t sum17 = vaddq_s16(row1, row7); \ + int16x8_t sum35 = vaddq_s16(row3, row5); \ + int16x8_t sum37 = vaddq_s16(row3, row7); \ + int16x8_t sumodd = vaddq_s16(sum17, sum35); \ + dct_long_mul(p5o, sumodd, rot1_0); \ + dct_long_mac(p1o, p5o, sum17, rot1_1); \ + dct_long_mac(p2o, p5o, sum35, rot1_2); \ + dct_long_mul(p3o, sum37, rot2_0); \ + dct_long_mul(p4o, sum15, rot2_1); \ + dct_wadd(sump13o, p1o, p3o); \ + dct_wadd(sump24o, p2o, p4o); \ + dct_wadd(sump23o, p2o, p3o); \ + dct_wadd(sump14o, p1o, p4o); \ + dct_long_mac(x4, sump13o, row7, rot3_0); \ + dct_long_mac(x5, sump24o, row5, rot3_1); \ + dct_long_mac(x6, sump23o, row3, rot3_2); \ + dct_long_mac(x7, sump14o, row1, rot3_3); \ + dct_bfly32o(row0,row7, x0,x7,shiftop,shift); \ + dct_bfly32o(row1,row6, x1,x6,shiftop,shift); \ + dct_bfly32o(row2,row5, x2,x5,shiftop,shift); \ + dct_bfly32o(row3,row4, x3,x4,shiftop,shift); \ + } + + // load + row0 = vld1q_s16(data + 0*8); + row1 = vld1q_s16(data + 1*8); + row2 = vld1q_s16(data + 2*8); + row3 = vld1q_s16(data + 3*8); + row4 = vld1q_s16(data + 4*8); + row5 = vld1q_s16(data + 5*8); + row6 = vld1q_s16(data + 6*8); + row7 = vld1q_s16(data + 7*8); + + // add DC bias + row0 = vaddq_s16(row0, vsetq_lane_s16(1024, vdupq_n_s16(0), 0)); + + // column pass + dct_pass(vrshrn_n_s32, 10); + + // 16bit 8x8 transpose + { +// these three map to a single VTRN.16, VTRN.32, and VSWP, respectively. +// whether compilers actually get this is another story, sadly. +#define dct_trn16(x, y) { int16x8x2_t t = vtrnq_s16(x, y); x = t.val[0]; y = t.val[1]; } +#define dct_trn32(x, y) { int32x4x2_t t = vtrnq_s32(vreinterpretq_s32_s16(x), vreinterpretq_s32_s16(y)); x = vreinterpretq_s16_s32(t.val[0]); y = vreinterpretq_s16_s32(t.val[1]); } +#define dct_trn64(x, y) { int16x8_t x0 = x; int16x8_t y0 = y; x = vcombine_s16(vget_low_s16(x0), vget_low_s16(y0)); y = vcombine_s16(vget_high_s16(x0), vget_high_s16(y0)); } + + // pass 1 + dct_trn16(row0, row1); // a0b0a2b2a4b4a6b6 + dct_trn16(row2, row3); + dct_trn16(row4, row5); + dct_trn16(row6, row7); + + // pass 2 + dct_trn32(row0, row2); // a0b0c0d0a4b4c4d4 + dct_trn32(row1, row3); + dct_trn32(row4, row6); + dct_trn32(row5, row7); + + // pass 3 + dct_trn64(row0, row4); // a0b0c0d0e0f0g0h0 + dct_trn64(row1, row5); + dct_trn64(row2, row6); + dct_trn64(row3, row7); + +#undef dct_trn16 +#undef dct_trn32 +#undef dct_trn64 + } + + // row pass + // vrshrn_n_s32 only supports shifts up to 16, we need + // 17. so do a non-rounding shift of 16 first then follow + // up with a rounding shift by 1. + dct_pass(vshrn_n_s32, 16); + + { + // pack and round + uint8x8_t p0 = vqrshrun_n_s16(row0, 1); + uint8x8_t p1 = vqrshrun_n_s16(row1, 1); + uint8x8_t p2 = vqrshrun_n_s16(row2, 1); + uint8x8_t p3 = vqrshrun_n_s16(row3, 1); + uint8x8_t p4 = vqrshrun_n_s16(row4, 1); + uint8x8_t p5 = vqrshrun_n_s16(row5, 1); + uint8x8_t p6 = vqrshrun_n_s16(row6, 1); + uint8x8_t p7 = vqrshrun_n_s16(row7, 1); + + // again, these can translate into one instruction, but often don't. +#define dct_trn8_8(x, y) { uint8x8x2_t t = vtrn_u8(x, y); x = t.val[0]; y = t.val[1]; } +#define dct_trn8_16(x, y) { uint16x4x2_t t = vtrn_u16(vreinterpret_u16_u8(x), vreinterpret_u16_u8(y)); x = vreinterpret_u8_u16(t.val[0]); y = vreinterpret_u8_u16(t.val[1]); } +#define dct_trn8_32(x, y) { uint32x2x2_t t = vtrn_u32(vreinterpret_u32_u8(x), vreinterpret_u32_u8(y)); x = vreinterpret_u8_u32(t.val[0]); y = vreinterpret_u8_u32(t.val[1]); } + + // sadly can't use interleaved stores here since we only write + // 8 bytes to each scan line! + + // 8x8 8-bit transpose pass 1 + dct_trn8_8(p0, p1); + dct_trn8_8(p2, p3); + dct_trn8_8(p4, p5); + dct_trn8_8(p6, p7); + + // pass 2 + dct_trn8_16(p0, p2); + dct_trn8_16(p1, p3); + dct_trn8_16(p4, p6); + dct_trn8_16(p5, p7); + + // pass 3 + dct_trn8_32(p0, p4); + dct_trn8_32(p1, p5); + dct_trn8_32(p2, p6); + dct_trn8_32(p3, p7); + + // store + vst1_u8(out, p0); out += out_stride; + vst1_u8(out, p1); out += out_stride; + vst1_u8(out, p2); out += out_stride; + vst1_u8(out, p3); out += out_stride; + vst1_u8(out, p4); out += out_stride; + vst1_u8(out, p5); out += out_stride; + vst1_u8(out, p6); out += out_stride; + vst1_u8(out, p7); + +#undef dct_trn8_8 +#undef dct_trn8_16 +#undef dct_trn8_32 + } + +#undef dct_long_mul +#undef dct_long_mac +#undef dct_widen +#undef dct_wadd +#undef dct_wsub +#undef dct_bfly32o +#undef dct_pass +} + +#endif // STBI_NEON + +#define STBI__MARKER_none 0xff +// if there's a pending marker from the entropy stream, return that +// otherwise, fetch from the stream and get a marker. if there's no +// marker, return 0xff, which is never a valid marker value +static stbi_uc stbi__get_marker(stbi__jpeg *j) +{ + stbi_uc x; + if (j->marker != STBI__MARKER_none) { x = j->marker; j->marker = STBI__MARKER_none; return x; } + x = stbi__get8(j->s); + if (x != 0xff) return STBI__MARKER_none; + while (x == 0xff) + x = stbi__get8(j->s); // consume repeated 0xff fill bytes + return x; +} + +// in each scan, we'll have scan_n components, and the order +// of the components is specified by order[] +#define STBI__RESTART(x) ((x) >= 0xd0 && (x) <= 0xd7) + +// after a restart interval, stbi__jpeg_reset the entropy decoder and +// the dc prediction +static void stbi__jpeg_reset(stbi__jpeg *j) +{ + j->code_bits = 0; + j->code_buffer = 0; + j->nomore = 0; + j->img_comp[0].dc_pred = j->img_comp[1].dc_pred = j->img_comp[2].dc_pred = j->img_comp[3].dc_pred = 0; + j->marker = STBI__MARKER_none; + j->todo = j->restart_interval ? j->restart_interval : 0x7fffffff; + j->eob_run = 0; + // no more than 1<<31 MCUs if no restart_interal? that's plenty safe, + // since we don't even allow 1<<30 pixels +} + +static int stbi__parse_entropy_coded_data(stbi__jpeg *z) +{ + stbi__jpeg_reset(z); + if (!z->progressive) { + if (z->scan_n == 1) { + int i,j; + STBI_SIMD_ALIGN(short, data[64]); + int n = z->order[0]; + // non-interleaved data, we just need to process one block at a time, + // in trivial scanline order + // number of blocks to do just depends on how many actual "pixels" this + // component has, independent of interleaved MCU blocking and such + int w = (z->img_comp[n].x+7) >> 3; + int h = (z->img_comp[n].y+7) >> 3; + for (j=0; j < h; ++j) { + for (i=0; i < w; ++i) { + int ha = z->img_comp[n].ha; + if (!stbi__jpeg_decode_block(z, data, z->huff_dc+z->img_comp[n].hd, z->huff_ac+ha, z->fast_ac[ha], n, z->dequant[z->img_comp[n].tq])) return 0; + z->idct_block_kernel(z->img_comp[n].data+z->img_comp[n].w2*j*8+i*8, z->img_comp[n].w2, data); + // every data block is an MCU, so countdown the restart interval + if (--z->todo <= 0) { + if (z->code_bits < 24) stbi__grow_buffer_unsafe(z); + // if it's NOT a restart, then just bail, so we get corrupt data + // rather than no data + if (!STBI__RESTART(z->marker)) return 1; + stbi__jpeg_reset(z); + } + } + } + return 1; + } else { // interleaved + int i,j,k,x,y; + STBI_SIMD_ALIGN(short, data[64]); + for (j=0; j < z->img_mcu_y; ++j) { + for (i=0; i < z->img_mcu_x; ++i) { + // scan an interleaved mcu... process scan_n components in order + for (k=0; k < z->scan_n; ++k) { + int n = z->order[k]; + // scan out an mcu's worth of this component; that's just determined + // by the basic H and V specified for the component + for (y=0; y < z->img_comp[n].v; ++y) { + for (x=0; x < z->img_comp[n].h; ++x) { + int x2 = (i*z->img_comp[n].h + x)*8; + int y2 = (j*z->img_comp[n].v + y)*8; + int ha = z->img_comp[n].ha; + if (!stbi__jpeg_decode_block(z, data, z->huff_dc+z->img_comp[n].hd, z->huff_ac+ha, z->fast_ac[ha], n, z->dequant[z->img_comp[n].tq])) return 0; + z->idct_block_kernel(z->img_comp[n].data+z->img_comp[n].w2*y2+x2, z->img_comp[n].w2, data); + } + } + } + // after all interleaved components, that's an interleaved MCU, + // so now count down the restart interval + if (--z->todo <= 0) { + if (z->code_bits < 24) stbi__grow_buffer_unsafe(z); + if (!STBI__RESTART(z->marker)) return 1; + stbi__jpeg_reset(z); + } + } + } + return 1; + } + } else { + if (z->scan_n == 1) { + int i,j; + int n = z->order[0]; + // non-interleaved data, we just need to process one block at a time, + // in trivial scanline order + // number of blocks to do just depends on how many actual "pixels" this + // component has, independent of interleaved MCU blocking and such + int w = (z->img_comp[n].x+7) >> 3; + int h = (z->img_comp[n].y+7) >> 3; + for (j=0; j < h; ++j) { + for (i=0; i < w; ++i) { + short *data = z->img_comp[n].coeff + 64 * (i + j * z->img_comp[n].coeff_w); + if (z->spec_start == 0) { + if (!stbi__jpeg_decode_block_prog_dc(z, data, &z->huff_dc[z->img_comp[n].hd], n)) + return 0; + } else { + int ha = z->img_comp[n].ha; + if (!stbi__jpeg_decode_block_prog_ac(z, data, &z->huff_ac[ha], z->fast_ac[ha])) + return 0; + } + // every data block is an MCU, so countdown the restart interval + if (--z->todo <= 0) { + if (z->code_bits < 24) stbi__grow_buffer_unsafe(z); + if (!STBI__RESTART(z->marker)) return 1; + stbi__jpeg_reset(z); + } + } + } + return 1; + } else { // interleaved + int i,j,k,x,y; + for (j=0; j < z->img_mcu_y; ++j) { + for (i=0; i < z->img_mcu_x; ++i) { + // scan an interleaved mcu... process scan_n components in order + for (k=0; k < z->scan_n; ++k) { + int n = z->order[k]; + // scan out an mcu's worth of this component; that's just determined + // by the basic H and V specified for the component + for (y=0; y < z->img_comp[n].v; ++y) { + for (x=0; x < z->img_comp[n].h; ++x) { + int x2 = (i*z->img_comp[n].h + x); + int y2 = (j*z->img_comp[n].v + y); + short *data = z->img_comp[n].coeff + 64 * (x2 + y2 * z->img_comp[n].coeff_w); + if (!stbi__jpeg_decode_block_prog_dc(z, data, &z->huff_dc[z->img_comp[n].hd], n)) + return 0; + } + } + } + // after all interleaved components, that's an interleaved MCU, + // so now count down the restart interval + if (--z->todo <= 0) { + if (z->code_bits < 24) stbi__grow_buffer_unsafe(z); + if (!STBI__RESTART(z->marker)) return 1; + stbi__jpeg_reset(z); + } + } + } + return 1; + } + } +} + +static void stbi__jpeg_dequantize(short *data, stbi__uint16 *dequant) +{ + int i; + for (i=0; i < 64; ++i) + data[i] *= dequant[i]; +} + +static void stbi__jpeg_finish(stbi__jpeg *z) +{ + if (z->progressive) { + // dequantize and idct the data + int i,j,n; + for (n=0; n < z->s->img_n; ++n) { + int w = (z->img_comp[n].x+7) >> 3; + int h = (z->img_comp[n].y+7) >> 3; + for (j=0; j < h; ++j) { + for (i=0; i < w; ++i) { + short *data = z->img_comp[n].coeff + 64 * (i + j * z->img_comp[n].coeff_w); + stbi__jpeg_dequantize(data, z->dequant[z->img_comp[n].tq]); + z->idct_block_kernel(z->img_comp[n].data+z->img_comp[n].w2*j*8+i*8, z->img_comp[n].w2, data); + } + } + } + } +} + +static int stbi__process_marker(stbi__jpeg *z, int m) +{ + int L; + switch (m) { + case STBI__MARKER_none: // no marker found + return stbi__err("expected marker","Corrupt JPEG"); + + case 0xDD: // DRI - specify restart interval + if (stbi__get16be(z->s) != 4) return stbi__err("bad DRI len","Corrupt JPEG"); + z->restart_interval = stbi__get16be(z->s); + return 1; + + case 0xDB: // DQT - define quantization table + L = stbi__get16be(z->s)-2; + while (L > 0) { + int q = stbi__get8(z->s); + int p = q >> 4, sixteen = (p != 0); + int t = q & 15,i; + if (p != 0 && p != 1) return stbi__err("bad DQT type","Corrupt JPEG"); + if (t > 3) return stbi__err("bad DQT table","Corrupt JPEG"); + + for (i=0; i < 64; ++i) + z->dequant[t][stbi__jpeg_dezigzag[i]] = (stbi__uint16)(sixteen ? stbi__get16be(z->s) : stbi__get8(z->s)); + L -= (sixteen ? 129 : 65); + } + return L==0; + + case 0xC4: // DHT - define huffman table + L = stbi__get16be(z->s)-2; + while (L > 0) { + stbi_uc *v; + int sizes[16],i,n=0; + int q = stbi__get8(z->s); + int tc = q >> 4; + int th = q & 15; + if (tc > 1 || th > 3) return stbi__err("bad DHT header","Corrupt JPEG"); + for (i=0; i < 16; ++i) { + sizes[i] = stbi__get8(z->s); + n += sizes[i]; + } + L -= 17; + if (tc == 0) { + if (!stbi__build_huffman(z->huff_dc+th, sizes)) return 0; + v = z->huff_dc[th].values; + } else { + if (!stbi__build_huffman(z->huff_ac+th, sizes)) return 0; + v = z->huff_ac[th].values; + } + for (i=0; i < n; ++i) + v[i] = stbi__get8(z->s); + if (tc != 0) + stbi__build_fast_ac(z->fast_ac[th], z->huff_ac + th); + L -= n; + } + return L==0; + } + + // check for comment block or APP blocks + if ((m >= 0xE0 && m <= 0xEF) || m == 0xFE) { + L = stbi__get16be(z->s); + if (L < 2) { + if (m == 0xFE) + return stbi__err("bad COM len","Corrupt JPEG"); + else + return stbi__err("bad APP len","Corrupt JPEG"); + } + L -= 2; + + if (m == 0xE0 && L >= 5) { // JFIF APP0 segment + static const unsigned char tag[5] = {'J','F','I','F','\0'}; + int ok = 1; + int i; + for (i=0; i < 5; ++i) + if (stbi__get8(z->s) != tag[i]) + ok = 0; + L -= 5; + if (ok) + z->jfif = 1; + } else if (m == 0xEE && L >= 12) { // Adobe APP14 segment + static const unsigned char tag[6] = {'A','d','o','b','e','\0'}; + int ok = 1; + int i; + for (i=0; i < 6; ++i) + if (stbi__get8(z->s) != tag[i]) + ok = 0; + L -= 6; + if (ok) { + stbi__get8(z->s); // version + stbi__get16be(z->s); // flags0 + stbi__get16be(z->s); // flags1 + z->app14_color_transform = stbi__get8(z->s); // color transform + L -= 6; + } + } + + stbi__skip(z->s, L); + return 1; + } + + return stbi__err("unknown marker","Corrupt JPEG"); +} + +// after we see SOS +static int stbi__process_scan_header(stbi__jpeg *z) +{ + int i; + int Ls = stbi__get16be(z->s); + z->scan_n = stbi__get8(z->s); + if (z->scan_n < 1 || z->scan_n > 4 || z->scan_n > (int) z->s->img_n) return stbi__err("bad SOS component count","Corrupt JPEG"); + if (Ls != 6+2*z->scan_n) return stbi__err("bad SOS len","Corrupt JPEG"); + for (i=0; i < z->scan_n; ++i) { + int id = stbi__get8(z->s), which; + int q = stbi__get8(z->s); + for (which = 0; which < z->s->img_n; ++which) + if (z->img_comp[which].id == id) + break; + if (which == z->s->img_n) return 0; // no match + z->img_comp[which].hd = q >> 4; if (z->img_comp[which].hd > 3) return stbi__err("bad DC huff","Corrupt JPEG"); + z->img_comp[which].ha = q & 15; if (z->img_comp[which].ha > 3) return stbi__err("bad AC huff","Corrupt JPEG"); + z->order[i] = which; + } + + { + int aa; + z->spec_start = stbi__get8(z->s); + z->spec_end = stbi__get8(z->s); // should be 63, but might be 0 + aa = stbi__get8(z->s); + z->succ_high = (aa >> 4); + z->succ_low = (aa & 15); + if (z->progressive) { + if (z->spec_start > 63 || z->spec_end > 63 || z->spec_start > z->spec_end || z->succ_high > 13 || z->succ_low > 13) + return stbi__err("bad SOS", "Corrupt JPEG"); + } else { + if (z->spec_start != 0) return stbi__err("bad SOS","Corrupt JPEG"); + if (z->succ_high != 0 || z->succ_low != 0) return stbi__err("bad SOS","Corrupt JPEG"); + z->spec_end = 63; + } + } + + return 1; +} + +static int stbi__free_jpeg_components(stbi__jpeg *z, int ncomp, int why) +{ + int i; + for (i=0; i < ncomp; ++i) { + if (z->img_comp[i].raw_data) { + STBI_FREE(z->img_comp[i].raw_data); + z->img_comp[i].raw_data = NULL; + z->img_comp[i].data = NULL; + } + if (z->img_comp[i].raw_coeff) { + STBI_FREE(z->img_comp[i].raw_coeff); + z->img_comp[i].raw_coeff = 0; + z->img_comp[i].coeff = 0; + } + if (z->img_comp[i].linebuf) { + STBI_FREE(z->img_comp[i].linebuf); + z->img_comp[i].linebuf = NULL; + } + } + return why; +} + +static int stbi__process_frame_header(stbi__jpeg *z, int scan) +{ + stbi__context *s = z->s; + int Lf,p,i,q, h_max=1,v_max=1,c; + Lf = stbi__get16be(s); if (Lf < 11) return stbi__err("bad SOF len","Corrupt JPEG"); // JPEG + p = stbi__get8(s); if (p != 8) return stbi__err("only 8-bit","JPEG format not supported: 8-bit only"); // JPEG baseline + s->img_y = stbi__get16be(s); if (s->img_y == 0) return stbi__err("no header height", "JPEG format not supported: delayed height"); // Legal, but we don't handle it--but neither does IJG + s->img_x = stbi__get16be(s); if (s->img_x == 0) return stbi__err("0 width","Corrupt JPEG"); // JPEG requires + c = stbi__get8(s); + if (c != 3 && c != 1 && c != 4) return stbi__err("bad component count","Corrupt JPEG"); + s->img_n = c; + for (i=0; i < c; ++i) { + z->img_comp[i].data = NULL; + z->img_comp[i].linebuf = NULL; + } + + if (Lf != 8+3*s->img_n) return stbi__err("bad SOF len","Corrupt JPEG"); + + z->rgb = 0; + for (i=0; i < s->img_n; ++i) { + static const unsigned char rgb[3] = { 'R', 'G', 'B' }; + z->img_comp[i].id = stbi__get8(s); + if (s->img_n == 3 && z->img_comp[i].id == rgb[i]) + ++z->rgb; + q = stbi__get8(s); + z->img_comp[i].h = (q >> 4); if (!z->img_comp[i].h || z->img_comp[i].h > 4) return stbi__err("bad H","Corrupt JPEG"); + z->img_comp[i].v = q & 15; if (!z->img_comp[i].v || z->img_comp[i].v > 4) return stbi__err("bad V","Corrupt JPEG"); + z->img_comp[i].tq = stbi__get8(s); if (z->img_comp[i].tq > 3) return stbi__err("bad TQ","Corrupt JPEG"); + } + + if (scan != STBI__SCAN_load) return 1; + + if (!stbi__mad3sizes_valid(s->img_x, s->img_y, s->img_n, 0)) return stbi__err("too large", "Image too large to decode"); + + for (i=0; i < s->img_n; ++i) { + if (z->img_comp[i].h > h_max) h_max = z->img_comp[i].h; + if (z->img_comp[i].v > v_max) v_max = z->img_comp[i].v; + } + + // compute interleaved mcu info + z->img_h_max = h_max; + z->img_v_max = v_max; + z->img_mcu_w = h_max * 8; + z->img_mcu_h = v_max * 8; + // these sizes can't be more than 17 bits + z->img_mcu_x = (s->img_x + z->img_mcu_w-1) / z->img_mcu_w; + z->img_mcu_y = (s->img_y + z->img_mcu_h-1) / z->img_mcu_h; + + for (i=0; i < s->img_n; ++i) { + // number of effective pixels (e.g. for non-interleaved MCU) + z->img_comp[i].x = (s->img_x * z->img_comp[i].h + h_max-1) / h_max; + z->img_comp[i].y = (s->img_y * z->img_comp[i].v + v_max-1) / v_max; + // to simplify generation, we'll allocate enough memory to decode + // the bogus oversized data from using interleaved MCUs and their + // big blocks (e.g. a 16x16 iMCU on an image of width 33); we won't + // discard the extra data until colorspace conversion + // + // img_mcu_x, img_mcu_y: <=17 bits; comp[i].h and .v are <=4 (checked earlier) + // so these muls can't overflow with 32-bit ints (which we require) + z->img_comp[i].w2 = z->img_mcu_x * z->img_comp[i].h * 8; + z->img_comp[i].h2 = z->img_mcu_y * z->img_comp[i].v * 8; + z->img_comp[i].coeff = 0; + z->img_comp[i].raw_coeff = 0; + z->img_comp[i].linebuf = NULL; + z->img_comp[i].raw_data = stbi__malloc_mad2(z->img_comp[i].w2, z->img_comp[i].h2, 15); + if (z->img_comp[i].raw_data == NULL) + return stbi__free_jpeg_components(z, i+1, stbi__err("outofmem", "Out of memory")); + // align blocks for idct using mmx/sse + z->img_comp[i].data = (stbi_uc*) (((size_t) z->img_comp[i].raw_data + 15) & ~15); + if (z->progressive) { + // w2, h2 are multiples of 8 (see above) + z->img_comp[i].coeff_w = z->img_comp[i].w2 / 8; + z->img_comp[i].coeff_h = z->img_comp[i].h2 / 8; + z->img_comp[i].raw_coeff = stbi__malloc_mad3(z->img_comp[i].w2, z->img_comp[i].h2, sizeof(short), 15); + if (z->img_comp[i].raw_coeff == NULL) + return stbi__free_jpeg_components(z, i+1, stbi__err("outofmem", "Out of memory")); + z->img_comp[i].coeff = (short*) (((size_t) z->img_comp[i].raw_coeff + 15) & ~15); + } + } + + return 1; +} + +// use comparisons since in some cases we handle more than one case (e.g. SOF) +#define stbi__DNL(x) ((x) == 0xdc) +#define stbi__SOI(x) ((x) == 0xd8) +#define stbi__EOI(x) ((x) == 0xd9) +#define stbi__SOF(x) ((x) == 0xc0 || (x) == 0xc1 || (x) == 0xc2) +#define stbi__SOS(x) ((x) == 0xda) + +#define stbi__SOF_progressive(x) ((x) == 0xc2) + +static int stbi__decode_jpeg_header(stbi__jpeg *z, int scan) +{ + int m; + z->jfif = 0; + z->app14_color_transform = -1; // valid values are 0,1,2 + z->marker = STBI__MARKER_none; // initialize cached marker to empty + m = stbi__get_marker(z); + if (!stbi__SOI(m)) return stbi__err("no SOI","Corrupt JPEG"); + if (scan == STBI__SCAN_type) return 1; + m = stbi__get_marker(z); + while (!stbi__SOF(m)) { + if (!stbi__process_marker(z,m)) return 0; + m = stbi__get_marker(z); + while (m == STBI__MARKER_none) { + // some files have extra padding after their blocks, so ok, we'll scan + if (stbi__at_eof(z->s)) return stbi__err("no SOF", "Corrupt JPEG"); + m = stbi__get_marker(z); + } + } + z->progressive = stbi__SOF_progressive(m); + if (!stbi__process_frame_header(z, scan)) return 0; + return 1; +} + +// decode image to YCbCr format +static int stbi__decode_jpeg_image(stbi__jpeg *j) +{ + int m; + for (m = 0; m < 4; m++) { + j->img_comp[m].raw_data = NULL; + j->img_comp[m].raw_coeff = NULL; + } + j->restart_interval = 0; + if (!stbi__decode_jpeg_header(j, STBI__SCAN_load)) return 0; + m = stbi__get_marker(j); + while (!stbi__EOI(m)) { + if (stbi__SOS(m)) { + if (!stbi__process_scan_header(j)) return 0; + if (!stbi__parse_entropy_coded_data(j)) return 0; + if (j->marker == STBI__MARKER_none ) { + // handle 0s at the end of image data from IP Kamera 9060 + while (!stbi__at_eof(j->s)) { + int x = stbi__get8(j->s); + if (x == 255) { + j->marker = stbi__get8(j->s); + break; + } + } + // if we reach eof without hitting a marker, stbi__get_marker() below will fail and we'll eventually return 0 + } + } else if (stbi__DNL(m)) { + int Ld = stbi__get16be(j->s); + stbi__uint32 NL = stbi__get16be(j->s); + if (Ld != 4) return stbi__err("bad DNL len", "Corrupt JPEG"); + if (NL != j->s->img_y) return stbi__err("bad DNL height", "Corrupt JPEG"); + } else { + if (!stbi__process_marker(j, m)) return 0; + } + m = stbi__get_marker(j); + } + if (j->progressive) + stbi__jpeg_finish(j); + return 1; +} + +// static jfif-centered resampling (across block boundaries) + +typedef stbi_uc *(*resample_row_func)(stbi_uc *out, stbi_uc *in0, stbi_uc *in1, + int w, int hs); + +#define stbi__div4(x) ((stbi_uc) ((x) >> 2)) + +static stbi_uc *resample_row_1(stbi_uc *out, stbi_uc *in_near, stbi_uc *in_far, int w, int hs) +{ + STBI_NOTUSED(out); + STBI_NOTUSED(in_far); + STBI_NOTUSED(w); + STBI_NOTUSED(hs); + return in_near; +} + +static stbi_uc* stbi__resample_row_v_2(stbi_uc *out, stbi_uc *in_near, stbi_uc *in_far, int w, int hs) +{ + // need to generate two samples vertically for every one in input + int i; + STBI_NOTUSED(hs); + for (i=0; i < w; ++i) + out[i] = stbi__div4(3*in_near[i] + in_far[i] + 2); + return out; +} + +static stbi_uc* stbi__resample_row_h_2(stbi_uc *out, stbi_uc *in_near, stbi_uc *in_far, int w, int hs) +{ + // need to generate two samples horizontally for every one in input + int i; + stbi_uc *input = in_near; + + if (w == 1) { + // if only one sample, can't do any interpolation + out[0] = out[1] = input[0]; + return out; + } + + out[0] = input[0]; + out[1] = stbi__div4(input[0]*3 + input[1] + 2); + for (i=1; i < w-1; ++i) { + int n = 3*input[i]+2; + out[i*2+0] = stbi__div4(n+input[i-1]); + out[i*2+1] = stbi__div4(n+input[i+1]); + } + out[i*2+0] = stbi__div4(input[w-2]*3 + input[w-1] + 2); + out[i*2+1] = input[w-1]; + + STBI_NOTUSED(in_far); + STBI_NOTUSED(hs); + + return out; +} + +#define stbi__div16(x) ((stbi_uc) ((x) >> 4)) + +static stbi_uc *stbi__resample_row_hv_2(stbi_uc *out, stbi_uc *in_near, stbi_uc *in_far, int w, int hs) +{ + // need to generate 2x2 samples for every one in input + int i,t0,t1; + if (w == 1) { + out[0] = out[1] = stbi__div4(3*in_near[0] + in_far[0] + 2); + return out; + } + + t1 = 3*in_near[0] + in_far[0]; + out[0] = stbi__div4(t1+2); + for (i=1; i < w; ++i) { + t0 = t1; + t1 = 3*in_near[i]+in_far[i]; + out[i*2-1] = stbi__div16(3*t0 + t1 + 8); + out[i*2 ] = stbi__div16(3*t1 + t0 + 8); + } + out[w*2-1] = stbi__div4(t1+2); + + STBI_NOTUSED(hs); + + return out; +} + +#if defined(STBI_SSE2) || defined(STBI_NEON) +static stbi_uc *stbi__resample_row_hv_2_simd(stbi_uc *out, stbi_uc *in_near, stbi_uc *in_far, int w, int hs) +{ + // need to generate 2x2 samples for every one in input + int i=0,t0,t1; + + if (w == 1) { + out[0] = out[1] = stbi__div4(3*in_near[0] + in_far[0] + 2); + return out; + } + + t1 = 3*in_near[0] + in_far[0]; + // process groups of 8 pixels for as long as we can. + // note we can't handle the last pixel in a row in this loop + // because we need to handle the filter boundary conditions. + for (; i < ((w-1) & ~7); i += 8) { +#if defined(STBI_SSE2) + // load and perform the vertical filtering pass + // this uses 3*x + y = 4*x + (y - x) + __m128i zero = _mm_setzero_si128(); + __m128i farb = _mm_loadl_epi64((__m128i *) (in_far + i)); + __m128i nearb = _mm_loadl_epi64((__m128i *) (in_near + i)); + __m128i farw = _mm_unpacklo_epi8(farb, zero); + __m128i nearw = _mm_unpacklo_epi8(nearb, zero); + __m128i diff = _mm_sub_epi16(farw, nearw); + __m128i nears = _mm_slli_epi16(nearw, 2); + __m128i curr = _mm_add_epi16(nears, diff); // current row + + // horizontal filter works the same based on shifted vers of current + // row. "prev" is current row shifted right by 1 pixel; we need to + // insert the previous pixel value (from t1). + // "next" is current row shifted left by 1 pixel, with first pixel + // of next block of 8 pixels added in. + __m128i prv0 = _mm_slli_si128(curr, 2); + __m128i nxt0 = _mm_srli_si128(curr, 2); + __m128i prev = _mm_insert_epi16(prv0, t1, 0); + __m128i next = _mm_insert_epi16(nxt0, 3*in_near[i+8] + in_far[i+8], 7); + + // horizontal filter, polyphase implementation since it's convenient: + // even pixels = 3*cur + prev = cur*4 + (prev - cur) + // odd pixels = 3*cur + next = cur*4 + (next - cur) + // note the shared term. + __m128i bias = _mm_set1_epi16(8); + __m128i curs = _mm_slli_epi16(curr, 2); + __m128i prvd = _mm_sub_epi16(prev, curr); + __m128i nxtd = _mm_sub_epi16(next, curr); + __m128i curb = _mm_add_epi16(curs, bias); + __m128i even = _mm_add_epi16(prvd, curb); + __m128i odd = _mm_add_epi16(nxtd, curb); + + // interleave even and odd pixels, then undo scaling. + __m128i int0 = _mm_unpacklo_epi16(even, odd); + __m128i int1 = _mm_unpackhi_epi16(even, odd); + __m128i de0 = _mm_srli_epi16(int0, 4); + __m128i de1 = _mm_srli_epi16(int1, 4); + + // pack and write output + __m128i outv = _mm_packus_epi16(de0, de1); + _mm_storeu_si128((__m128i *) (out + i*2), outv); +#elif defined(STBI_NEON) + // load and perform the vertical filtering pass + // this uses 3*x + y = 4*x + (y - x) + uint8x8_t farb = vld1_u8(in_far + i); + uint8x8_t nearb = vld1_u8(in_near + i); + int16x8_t diff = vreinterpretq_s16_u16(vsubl_u8(farb, nearb)); + int16x8_t nears = vreinterpretq_s16_u16(vshll_n_u8(nearb, 2)); + int16x8_t curr = vaddq_s16(nears, diff); // current row + + // horizontal filter works the same based on shifted vers of current + // row. "prev" is current row shifted right by 1 pixel; we need to + // insert the previous pixel value (from t1). + // "next" is current row shifted left by 1 pixel, with first pixel + // of next block of 8 pixels added in. + int16x8_t prv0 = vextq_s16(curr, curr, 7); + int16x8_t nxt0 = vextq_s16(curr, curr, 1); + int16x8_t prev = vsetq_lane_s16(t1, prv0, 0); + int16x8_t next = vsetq_lane_s16(3*in_near[i+8] + in_far[i+8], nxt0, 7); + + // horizontal filter, polyphase implementation since it's convenient: + // even pixels = 3*cur + prev = cur*4 + (prev - cur) + // odd pixels = 3*cur + next = cur*4 + (next - cur) + // note the shared term. + int16x8_t curs = vshlq_n_s16(curr, 2); + int16x8_t prvd = vsubq_s16(prev, curr); + int16x8_t nxtd = vsubq_s16(next, curr); + int16x8_t even = vaddq_s16(curs, prvd); + int16x8_t odd = vaddq_s16(curs, nxtd); + + // undo scaling and round, then store with even/odd phases interleaved + uint8x8x2_t o; + o.val[0] = vqrshrun_n_s16(even, 4); + o.val[1] = vqrshrun_n_s16(odd, 4); + vst2_u8(out + i*2, o); +#endif + + // "previous" value for next iter + t1 = 3*in_near[i+7] + in_far[i+7]; + } + + t0 = t1; + t1 = 3*in_near[i] + in_far[i]; + out[i*2] = stbi__div16(3*t1 + t0 + 8); + + for (++i; i < w; ++i) { + t0 = t1; + t1 = 3*in_near[i]+in_far[i]; + out[i*2-1] = stbi__div16(3*t0 + t1 + 8); + out[i*2 ] = stbi__div16(3*t1 + t0 + 8); + } + out[w*2-1] = stbi__div4(t1+2); + + STBI_NOTUSED(hs); + + return out; +} +#endif + +static stbi_uc *stbi__resample_row_generic(stbi_uc *out, stbi_uc *in_near, stbi_uc *in_far, int w, int hs) +{ + // resample with nearest-neighbor + int i,j; + STBI_NOTUSED(in_far); + for (i=0; i < w; ++i) + for (j=0; j < hs; ++j) + out[i*hs+j] = in_near[i]; + return out; +} + +// this is a reduced-precision calculation of YCbCr-to-RGB introduced +// to make sure the code produces the same results in both SIMD and scalar +#define stbi__float2fixed(x) (((int) ((x) * 4096.0f + 0.5f)) << 8) +static void stbi__YCbCr_to_RGB_row(stbi_uc *out, const stbi_uc *y, const stbi_uc *pcb, const stbi_uc *pcr, int count, int step) +{ + int i; + for (i=0; i < count; ++i) { + int y_fixed = (y[i] << 20) + (1<<19); // rounding + int r,g,b; + int cr = pcr[i] - 128; + int cb = pcb[i] - 128; + r = y_fixed + cr* stbi__float2fixed(1.40200f); + g = y_fixed + (cr*-stbi__float2fixed(0.71414f)) + ((cb*-stbi__float2fixed(0.34414f)) & 0xffff0000); + b = y_fixed + cb* stbi__float2fixed(1.77200f); + r >>= 20; + g >>= 20; + b >>= 20; + if ((unsigned) r > 255) { if (r < 0) r = 0; else r = 255; } + if ((unsigned) g > 255) { if (g < 0) g = 0; else g = 255; } + if ((unsigned) b > 255) { if (b < 0) b = 0; else b = 255; } + out[0] = (stbi_uc)r; + out[1] = (stbi_uc)g; + out[2] = (stbi_uc)b; + out[3] = 255; + out += step; + } +} + +#if defined(STBI_SSE2) || defined(STBI_NEON) +static void stbi__YCbCr_to_RGB_simd(stbi_uc *out, stbi_uc const *y, stbi_uc const *pcb, stbi_uc const *pcr, int count, int step) +{ + int i = 0; + +#ifdef STBI_SSE2 + // step == 3 is pretty ugly on the final interleave, and i'm not convinced + // it's useful in practice (you wouldn't use it for textures, for example). + // so just accelerate step == 4 case. + if (step == 4) { + // this is a fairly straightforward implementation and not super-optimized. + __m128i signflip = _mm_set1_epi8(-0x80); + __m128i cr_const0 = _mm_set1_epi16( (short) ( 1.40200f*4096.0f+0.5f)); + __m128i cr_const1 = _mm_set1_epi16( - (short) ( 0.71414f*4096.0f+0.5f)); + __m128i cb_const0 = _mm_set1_epi16( - (short) ( 0.34414f*4096.0f+0.5f)); + __m128i cb_const1 = _mm_set1_epi16( (short) ( 1.77200f*4096.0f+0.5f)); + __m128i y_bias = _mm_set1_epi8((char) (unsigned char) 128); + __m128i xw = _mm_set1_epi16(255); // alpha channel + + for (; i+7 < count; i += 8) { + // load + __m128i y_bytes = _mm_loadl_epi64((__m128i *) (y+i)); + __m128i cr_bytes = _mm_loadl_epi64((__m128i *) (pcr+i)); + __m128i cb_bytes = _mm_loadl_epi64((__m128i *) (pcb+i)); + __m128i cr_biased = _mm_xor_si128(cr_bytes, signflip); // -128 + __m128i cb_biased = _mm_xor_si128(cb_bytes, signflip); // -128 + + // unpack to short (and left-shift cr, cb by 8) + __m128i yw = _mm_unpacklo_epi8(y_bias, y_bytes); + __m128i crw = _mm_unpacklo_epi8(_mm_setzero_si128(), cr_biased); + __m128i cbw = _mm_unpacklo_epi8(_mm_setzero_si128(), cb_biased); + + // color transform + __m128i yws = _mm_srli_epi16(yw, 4); + __m128i cr0 = _mm_mulhi_epi16(cr_const0, crw); + __m128i cb0 = _mm_mulhi_epi16(cb_const0, cbw); + __m128i cb1 = _mm_mulhi_epi16(cbw, cb_const1); + __m128i cr1 = _mm_mulhi_epi16(crw, cr_const1); + __m128i rws = _mm_add_epi16(cr0, yws); + __m128i gwt = _mm_add_epi16(cb0, yws); + __m128i bws = _mm_add_epi16(yws, cb1); + __m128i gws = _mm_add_epi16(gwt, cr1); + + // descale + __m128i rw = _mm_srai_epi16(rws, 4); + __m128i bw = _mm_srai_epi16(bws, 4); + __m128i gw = _mm_srai_epi16(gws, 4); + + // back to byte, set up for transpose + __m128i brb = _mm_packus_epi16(rw, bw); + __m128i gxb = _mm_packus_epi16(gw, xw); + + // transpose to interleave channels + __m128i t0 = _mm_unpacklo_epi8(brb, gxb); + __m128i t1 = _mm_unpackhi_epi8(brb, gxb); + __m128i o0 = _mm_unpacklo_epi16(t0, t1); + __m128i o1 = _mm_unpackhi_epi16(t0, t1); + + // store + _mm_storeu_si128((__m128i *) (out + 0), o0); + _mm_storeu_si128((__m128i *) (out + 16), o1); + out += 32; + } + } +#endif + +#ifdef STBI_NEON + // in this version, step=3 support would be easy to add. but is there demand? + if (step == 4) { + // this is a fairly straightforward implementation and not super-optimized. + uint8x8_t signflip = vdup_n_u8(0x80); + int16x8_t cr_const0 = vdupq_n_s16( (short) ( 1.40200f*4096.0f+0.5f)); + int16x8_t cr_const1 = vdupq_n_s16( - (short) ( 0.71414f*4096.0f+0.5f)); + int16x8_t cb_const0 = vdupq_n_s16( - (short) ( 0.34414f*4096.0f+0.5f)); + int16x8_t cb_const1 = vdupq_n_s16( (short) ( 1.77200f*4096.0f+0.5f)); + + for (; i+7 < count; i += 8) { + // load + uint8x8_t y_bytes = vld1_u8(y + i); + uint8x8_t cr_bytes = vld1_u8(pcr + i); + uint8x8_t cb_bytes = vld1_u8(pcb + i); + int8x8_t cr_biased = vreinterpret_s8_u8(vsub_u8(cr_bytes, signflip)); + int8x8_t cb_biased = vreinterpret_s8_u8(vsub_u8(cb_bytes, signflip)); + + // expand to s16 + int16x8_t yws = vreinterpretq_s16_u16(vshll_n_u8(y_bytes, 4)); + int16x8_t crw = vshll_n_s8(cr_biased, 7); + int16x8_t cbw = vshll_n_s8(cb_biased, 7); + + // color transform + int16x8_t cr0 = vqdmulhq_s16(crw, cr_const0); + int16x8_t cb0 = vqdmulhq_s16(cbw, cb_const0); + int16x8_t cr1 = vqdmulhq_s16(crw, cr_const1); + int16x8_t cb1 = vqdmulhq_s16(cbw, cb_const1); + int16x8_t rws = vaddq_s16(yws, cr0); + int16x8_t gws = vaddq_s16(vaddq_s16(yws, cb0), cr1); + int16x8_t bws = vaddq_s16(yws, cb1); + + // undo scaling, round, convert to byte + uint8x8x4_t o; + o.val[0] = vqrshrun_n_s16(rws, 4); + o.val[1] = vqrshrun_n_s16(gws, 4); + o.val[2] = vqrshrun_n_s16(bws, 4); + o.val[3] = vdup_n_u8(255); + + // store, interleaving r/g/b/a + vst4_u8(out, o); + out += 8*4; + } + } +#endif + + for (; i < count; ++i) { + int y_fixed = (y[i] << 20) + (1<<19); // rounding + int r,g,b; + int cr = pcr[i] - 128; + int cb = pcb[i] - 128; + r = y_fixed + cr* stbi__float2fixed(1.40200f); + g = y_fixed + cr*-stbi__float2fixed(0.71414f) + ((cb*-stbi__float2fixed(0.34414f)) & 0xffff0000); + b = y_fixed + cb* stbi__float2fixed(1.77200f); + r >>= 20; + g >>= 20; + b >>= 20; + if ((unsigned) r > 255) { if (r < 0) r = 0; else r = 255; } + if ((unsigned) g > 255) { if (g < 0) g = 0; else g = 255; } + if ((unsigned) b > 255) { if (b < 0) b = 0; else b = 255; } + out[0] = (stbi_uc)r; + out[1] = (stbi_uc)g; + out[2] = (stbi_uc)b; + out[3] = 255; + out += step; + } +} +#endif + +// set up the kernels +static void stbi__setup_jpeg(stbi__jpeg *j) +{ + j->idct_block_kernel = stbi__idct_block; + j->YCbCr_to_RGB_kernel = stbi__YCbCr_to_RGB_row; + j->resample_row_hv_2_kernel = stbi__resample_row_hv_2; + +#ifdef STBI_SSE2 + if (stbi__sse2_available()) { + j->idct_block_kernel = stbi__idct_simd; + j->YCbCr_to_RGB_kernel = stbi__YCbCr_to_RGB_simd; + j->resample_row_hv_2_kernel = stbi__resample_row_hv_2_simd; + } +#endif + +#ifdef STBI_NEON + j->idct_block_kernel = stbi__idct_simd; + j->YCbCr_to_RGB_kernel = stbi__YCbCr_to_RGB_simd; + j->resample_row_hv_2_kernel = stbi__resample_row_hv_2_simd; +#endif +} + +// clean up the temporary component buffers +static void stbi__cleanup_jpeg(stbi__jpeg *j) +{ + stbi__free_jpeg_components(j, j->s->img_n, 0); +} + +typedef struct +{ + resample_row_func resample; + stbi_uc *line0,*line1; + int hs,vs; // expansion factor in each axis + int w_lores; // horizontal pixels pre-expansion + int ystep; // how far through vertical expansion we are + int ypos; // which pre-expansion row we're on +} stbi__resample; + +// fast 0..255 * 0..255 => 0..255 rounded multiplication +static stbi_uc stbi__blinn_8x8(stbi_uc x, stbi_uc y) +{ + unsigned int t = x*y + 128; + return (stbi_uc) ((t + (t >>8)) >> 8); +} + +static stbi_uc *load_jpeg_image(stbi__jpeg *z, int *out_x, int *out_y, int *comp, int req_comp) +{ + int n, decode_n, is_rgb; + z->s->img_n = 0; // make stbi__cleanup_jpeg safe + + // validate req_comp + if (req_comp < 0 || req_comp > 4) return stbi__errpuc("bad req_comp", "Internal error"); + + // load a jpeg image from whichever source, but leave in YCbCr format + if (!stbi__decode_jpeg_image(z)) { stbi__cleanup_jpeg(z); return NULL; } + + // determine actual number of components to generate + n = req_comp ? req_comp : z->s->img_n >= 3 ? 3 : 1; + + is_rgb = z->s->img_n == 3 && (z->rgb == 3 || (z->app14_color_transform == 0 && !z->jfif)); + + if (z->s->img_n == 3 && n < 3 && !is_rgb) + decode_n = 1; + else + decode_n = z->s->img_n; + + // resample and color-convert + { + int k; + unsigned int i,j; + stbi_uc *output; + stbi_uc *coutput[4]; + + stbi__resample res_comp[4]; + + for (k=0; k < decode_n; ++k) { + stbi__resample *r = &res_comp[k]; + + // allocate line buffer big enough for upsampling off the edges + // with upsample factor of 4 + z->img_comp[k].linebuf = (stbi_uc *) stbi__malloc(z->s->img_x + 3); + if (!z->img_comp[k].linebuf) { stbi__cleanup_jpeg(z); return stbi__errpuc("outofmem", "Out of memory"); } + + r->hs = z->img_h_max / z->img_comp[k].h; + r->vs = z->img_v_max / z->img_comp[k].v; + r->ystep = r->vs >> 1; + r->w_lores = (z->s->img_x + r->hs-1) / r->hs; + r->ypos = 0; + r->line0 = r->line1 = z->img_comp[k].data; + + if (r->hs == 1 && r->vs == 1) r->resample = resample_row_1; + else if (r->hs == 1 && r->vs == 2) r->resample = stbi__resample_row_v_2; + else if (r->hs == 2 && r->vs == 1) r->resample = stbi__resample_row_h_2; + else if (r->hs == 2 && r->vs == 2) r->resample = z->resample_row_hv_2_kernel; + else r->resample = stbi__resample_row_generic; + } + + // can't error after this so, this is safe + output = (stbi_uc *) stbi__malloc_mad3(n, z->s->img_x, z->s->img_y, 1); + if (!output) { stbi__cleanup_jpeg(z); return stbi__errpuc("outofmem", "Out of memory"); } + + // now go ahead and resample + for (j=0; j < z->s->img_y; ++j) { + stbi_uc *out = output + n * z->s->img_x * j; + for (k=0; k < decode_n; ++k) { + stbi__resample *r = &res_comp[k]; + int y_bot = r->ystep >= (r->vs >> 1); + coutput[k] = r->resample(z->img_comp[k].linebuf, + y_bot ? r->line1 : r->line0, + y_bot ? r->line0 : r->line1, + r->w_lores, r->hs); + if (++r->ystep >= r->vs) { + r->ystep = 0; + r->line0 = r->line1; + if (++r->ypos < z->img_comp[k].y) + r->line1 += z->img_comp[k].w2; + } + } + if (n >= 3) { + stbi_uc *y = coutput[0]; + if (z->s->img_n == 3) { + if (is_rgb) { + for (i=0; i < z->s->img_x; ++i) { + out[0] = y[i]; + out[1] = coutput[1][i]; + out[2] = coutput[2][i]; + out[3] = 255; + out += n; + } + } else { + z->YCbCr_to_RGB_kernel(out, y, coutput[1], coutput[2], z->s->img_x, n); + } + } else if (z->s->img_n == 4) { + if (z->app14_color_transform == 0) { // CMYK + for (i=0; i < z->s->img_x; ++i) { + stbi_uc m = coutput[3][i]; + out[0] = stbi__blinn_8x8(coutput[0][i], m); + out[1] = stbi__blinn_8x8(coutput[1][i], m); + out[2] = stbi__blinn_8x8(coutput[2][i], m); + out[3] = 255; + out += n; + } + } else if (z->app14_color_transform == 2) { // YCCK + z->YCbCr_to_RGB_kernel(out, y, coutput[1], coutput[2], z->s->img_x, n); + for (i=0; i < z->s->img_x; ++i) { + stbi_uc m = coutput[3][i]; + out[0] = stbi__blinn_8x8(255 - out[0], m); + out[1] = stbi__blinn_8x8(255 - out[1], m); + out[2] = stbi__blinn_8x8(255 - out[2], m); + out += n; + } + } else { // YCbCr + alpha? Ignore the fourth channel for now + z->YCbCr_to_RGB_kernel(out, y, coutput[1], coutput[2], z->s->img_x, n); + } + } else + for (i=0; i < z->s->img_x; ++i) { + out[0] = out[1] = out[2] = y[i]; + out[3] = 255; // not used if n==3 + out += n; + } + } else { + if (is_rgb) { + if (n == 1) + for (i=0; i < z->s->img_x; ++i) + *out++ = stbi__compute_y(coutput[0][i], coutput[1][i], coutput[2][i]); + else { + for (i=0; i < z->s->img_x; ++i, out += 2) { + out[0] = stbi__compute_y(coutput[0][i], coutput[1][i], coutput[2][i]); + out[1] = 255; + } + } + } else if (z->s->img_n == 4 && z->app14_color_transform == 0) { + for (i=0; i < z->s->img_x; ++i) { + stbi_uc m = coutput[3][i]; + stbi_uc r = stbi__blinn_8x8(coutput[0][i], m); + stbi_uc g = stbi__blinn_8x8(coutput[1][i], m); + stbi_uc b = stbi__blinn_8x8(coutput[2][i], m); + out[0] = stbi__compute_y(r, g, b); + out[1] = 255; + out += n; + } + } else if (z->s->img_n == 4 && z->app14_color_transform == 2) { + for (i=0; i < z->s->img_x; ++i) { + out[0] = stbi__blinn_8x8(255 - coutput[0][i], coutput[3][i]); + out[1] = 255; + out += n; + } + } else { + stbi_uc *y = coutput[0]; + if (n == 1) + for (i=0; i < z->s->img_x; ++i) out[i] = y[i]; + else + for (i=0; i < z->s->img_x; ++i) *out++ = y[i], *out++ = 255; + } + } + } + stbi__cleanup_jpeg(z); + *out_x = z->s->img_x; + *out_y = z->s->img_y; + if (comp) *comp = z->s->img_n >= 3 ? 3 : 1; // report original components, not output + return output; + } +} + +static void *stbi__jpeg_load(stbi__context *s, int *x, int *y, int *comp, int req_comp, stbi__result_info *ri) +{ + unsigned char* result; + stbi__jpeg* j = (stbi__jpeg*) stbi__malloc(sizeof(stbi__jpeg)); + STBI_NOTUSED(ri); + j->s = s; + stbi__setup_jpeg(j); + result = load_jpeg_image(j, x,y,comp,req_comp); + STBI_FREE(j); + return result; +} + +static int stbi__jpeg_test(stbi__context *s) +{ + int r; + stbi__jpeg* j = (stbi__jpeg*)stbi__malloc(sizeof(stbi__jpeg)); + j->s = s; + stbi__setup_jpeg(j); + r = stbi__decode_jpeg_header(j, STBI__SCAN_type); + stbi__rewind(s); + STBI_FREE(j); + return r; +} + +static int stbi__jpeg_info_raw(stbi__jpeg *j, int *x, int *y, int *comp) +{ + if (!stbi__decode_jpeg_header(j, STBI__SCAN_header)) { + stbi__rewind( j->s ); + return 0; + } + if (x) *x = j->s->img_x; + if (y) *y = j->s->img_y; + if (comp) *comp = j->s->img_n >= 3 ? 3 : 1; + return 1; +} + +static int stbi__jpeg_info(stbi__context *s, int *x, int *y, int *comp) +{ + int result; + stbi__jpeg* j = (stbi__jpeg*) (stbi__malloc(sizeof(stbi__jpeg))); + j->s = s; + result = stbi__jpeg_info_raw(j, x, y, comp); + STBI_FREE(j); + return result; +} +#endif + +// public domain zlib decode v0.2 Sean Barrett 2006-11-18 +// simple implementation +// - all input must be provided in an upfront buffer +// - all output is written to a single output buffer (can malloc/realloc) +// performance +// - fast huffman + +#ifndef STBI_NO_ZLIB + +// fast-way is faster to check than jpeg huffman, but slow way is slower +#define STBI__ZFAST_BITS 9 // accelerate all cases in default tables +#define STBI__ZFAST_MASK ((1 << STBI__ZFAST_BITS) - 1) + +// zlib-style huffman encoding +// (jpegs packs from left, zlib from right, so can't share code) +typedef struct +{ + stbi__uint16 fast[1 << STBI__ZFAST_BITS]; + stbi__uint16 firstcode[16]; + int maxcode[17]; + stbi__uint16 firstsymbol[16]; + stbi_uc size[288]; + stbi__uint16 value[288]; +} stbi__zhuffman; + +stbi_inline static int stbi__bitreverse16(int n) +{ + n = ((n & 0xAAAA) >> 1) | ((n & 0x5555) << 1); + n = ((n & 0xCCCC) >> 2) | ((n & 0x3333) << 2); + n = ((n & 0xF0F0) >> 4) | ((n & 0x0F0F) << 4); + n = ((n & 0xFF00) >> 8) | ((n & 0x00FF) << 8); + return n; +} + +stbi_inline static int stbi__bit_reverse(int v, int bits) +{ + STBI_ASSERT(bits <= 16); + // to bit reverse n bits, reverse 16 and shift + // e.g. 11 bits, bit reverse and shift away 5 + return stbi__bitreverse16(v) >> (16-bits); +} + +static int stbi__zbuild_huffman(stbi__zhuffman *z, const stbi_uc *sizelist, int num) +{ + int i,k=0; + int code, next_code[16], sizes[17]; + + // DEFLATE spec for generating codes + memset(sizes, 0, sizeof(sizes)); + memset(z->fast, 0, sizeof(z->fast)); + for (i=0; i < num; ++i) + ++sizes[sizelist[i]]; + sizes[0] = 0; + for (i=1; i < 16; ++i) + if (sizes[i] > (1 << i)) + return stbi__err("bad sizes", "Corrupt PNG"); + code = 0; + for (i=1; i < 16; ++i) { + next_code[i] = code; + z->firstcode[i] = (stbi__uint16) code; + z->firstsymbol[i] = (stbi__uint16) k; + code = (code + sizes[i]); + if (sizes[i]) + if (code-1 >= (1 << i)) return stbi__err("bad codelengths","Corrupt PNG"); + z->maxcode[i] = code << (16-i); // preshift for inner loop + code <<= 1; + k += sizes[i]; + } + z->maxcode[16] = 0x10000; // sentinel + for (i=0; i < num; ++i) { + int s = sizelist[i]; + if (s) { + int c = next_code[s] - z->firstcode[s] + z->firstsymbol[s]; + stbi__uint16 fastv = (stbi__uint16) ((s << 9) | i); + z->size [c] = (stbi_uc ) s; + z->value[c] = (stbi__uint16) i; + if (s <= STBI__ZFAST_BITS) { + int j = stbi__bit_reverse(next_code[s],s); + while (j < (1 << STBI__ZFAST_BITS)) { + z->fast[j] = fastv; + j += (1 << s); + } + } + ++next_code[s]; + } + } + return 1; +} + +// zlib-from-memory implementation for PNG reading +// because PNG allows splitting the zlib stream arbitrarily, +// and it's annoying structurally to have PNG call ZLIB call PNG, +// we require PNG read all the IDATs and combine them into a single +// memory buffer + +typedef struct +{ + stbi_uc *zbuffer, *zbuffer_end; + int num_bits; + stbi__uint32 code_buffer; + + char *zout; + char *zout_start; + char *zout_end; + int z_expandable; + + stbi__zhuffman z_length, z_distance; +} stbi__zbuf; + +stbi_inline static stbi_uc stbi__zget8(stbi__zbuf *z) +{ + if (z->zbuffer >= z->zbuffer_end) return 0; + return *z->zbuffer++; +} + +static void stbi__fill_bits(stbi__zbuf *z) +{ + do { + STBI_ASSERT(z->code_buffer < (1U << z->num_bits)); + z->code_buffer |= (unsigned int) stbi__zget8(z) << z->num_bits; + z->num_bits += 8; + } while (z->num_bits <= 24); +} + +stbi_inline static unsigned int stbi__zreceive(stbi__zbuf *z, int n) +{ + unsigned int k; + if (z->num_bits < n) stbi__fill_bits(z); + k = z->code_buffer & ((1 << n) - 1); + z->code_buffer >>= n; + z->num_bits -= n; + return k; +} + +static int stbi__zhuffman_decode_slowpath(stbi__zbuf *a, stbi__zhuffman *z) +{ + int b,s,k; + // not resolved by fast table, so compute it the slow way + // use jpeg approach, which requires MSbits at top + k = stbi__bit_reverse(a->code_buffer, 16); + for (s=STBI__ZFAST_BITS+1; ; ++s) + if (k < z->maxcode[s]) + break; + if (s == 16) return -1; // invalid code! + // code size is s, so: + b = (k >> (16-s)) - z->firstcode[s] + z->firstsymbol[s]; + STBI_ASSERT(z->size[b] == s); + a->code_buffer >>= s; + a->num_bits -= s; + return z->value[b]; +} + +stbi_inline static int stbi__zhuffman_decode(stbi__zbuf *a, stbi__zhuffman *z) +{ + int b,s; + if (a->num_bits < 16) stbi__fill_bits(a); + b = z->fast[a->code_buffer & STBI__ZFAST_MASK]; + if (b) { + s = b >> 9; + a->code_buffer >>= s; + a->num_bits -= s; + return b & 511; + } + return stbi__zhuffman_decode_slowpath(a, z); +} + +static int stbi__zexpand(stbi__zbuf *z, char *zout, int n) // need to make room for n bytes +{ + char *q; + int cur, limit, old_limit; + z->zout = zout; + if (!z->z_expandable) return stbi__err("output buffer limit","Corrupt PNG"); + cur = (int) (z->zout - z->zout_start); + limit = old_limit = (int) (z->zout_end - z->zout_start); + while (cur + n > limit) + limit *= 2; + q = (char *) STBI_REALLOC_SIZED(z->zout_start, old_limit, limit); + STBI_NOTUSED(old_limit); + if (q == NULL) return stbi__err("outofmem", "Out of memory"); + z->zout_start = q; + z->zout = q + cur; + z->zout_end = q + limit; + return 1; +} + +static const int stbi__zlength_base[31] = { + 3,4,5,6,7,8,9,10,11,13, + 15,17,19,23,27,31,35,43,51,59, + 67,83,99,115,131,163,195,227,258,0,0 }; + +static const int stbi__zlength_extra[31]= +{ 0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0 }; + +static const int stbi__zdist_base[32] = { 1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193, +257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0}; + +static const int stbi__zdist_extra[32] = +{ 0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13}; + +static int stbi__parse_huffman_block(stbi__zbuf *a) +{ + char *zout = a->zout; + for(;;) { + int z = stbi__zhuffman_decode(a, &a->z_length); + if (z < 256) { + if (z < 0) return stbi__err("bad huffman code","Corrupt PNG"); // error in huffman codes + if (zout >= a->zout_end) { + if (!stbi__zexpand(a, zout, 1)) return 0; + zout = a->zout; + } + *zout++ = (char) z; + } else { + stbi_uc *p; + int len,dist; + if (z == 256) { + a->zout = zout; + return 1; + } + z -= 257; + len = stbi__zlength_base[z]; + if (stbi__zlength_extra[z]) len += stbi__zreceive(a, stbi__zlength_extra[z]); + z = stbi__zhuffman_decode(a, &a->z_distance); + if (z < 0) return stbi__err("bad huffman code","Corrupt PNG"); + dist = stbi__zdist_base[z]; + if (stbi__zdist_extra[z]) dist += stbi__zreceive(a, stbi__zdist_extra[z]); + if (zout - a->zout_start < dist) return stbi__err("bad dist","Corrupt PNG"); + if (zout + len > a->zout_end) { + if (!stbi__zexpand(a, zout, len)) return 0; + zout = a->zout; + } + p = (stbi_uc *) (zout - dist); + if (dist == 1) { // run of one byte; common in images. + stbi_uc v = *p; + if (len) { do *zout++ = v; while (--len); } + } else { + if (len) { do *zout++ = *p++; while (--len); } + } + } + } +} + +static int stbi__compute_huffman_codes(stbi__zbuf *a) +{ + static const stbi_uc length_dezigzag[19] = { 16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15 }; + stbi__zhuffman z_codelength; + stbi_uc lencodes[286+32+137];//padding for maximum single op + stbi_uc codelength_sizes[19]; + int i,n; + + int hlit = stbi__zreceive(a,5) + 257; + int hdist = stbi__zreceive(a,5) + 1; + int hclen = stbi__zreceive(a,4) + 4; + int ntot = hlit + hdist; + + memset(codelength_sizes, 0, sizeof(codelength_sizes)); + for (i=0; i < hclen; ++i) { + int s = stbi__zreceive(a,3); + codelength_sizes[length_dezigzag[i]] = (stbi_uc) s; + } + if (!stbi__zbuild_huffman(&z_codelength, codelength_sizes, 19)) return 0; + + n = 0; + while (n < ntot) { + int c = stbi__zhuffman_decode(a, &z_codelength); + if (c < 0 || c >= 19) return stbi__err("bad codelengths", "Corrupt PNG"); + if (c < 16) + lencodes[n++] = (stbi_uc) c; + else { + stbi_uc fill = 0; + if (c == 16) { + c = stbi__zreceive(a,2)+3; + if (n == 0) return stbi__err("bad codelengths", "Corrupt PNG"); + fill = lencodes[n-1]; + } else if (c == 17) + c = stbi__zreceive(a,3)+3; + else { + STBI_ASSERT(c == 18); + c = stbi__zreceive(a,7)+11; + } + if (ntot - n < c) return stbi__err("bad codelengths", "Corrupt PNG"); + memset(lencodes+n, fill, c); + n += c; + } + } + if (n != ntot) return stbi__err("bad codelengths","Corrupt PNG"); + if (!stbi__zbuild_huffman(&a->z_length, lencodes, hlit)) return 0; + if (!stbi__zbuild_huffman(&a->z_distance, lencodes+hlit, hdist)) return 0; + return 1; +} + +static int stbi__parse_uncompressed_block(stbi__zbuf *a) +{ + stbi_uc header[4]; + int len,nlen,k; + if (a->num_bits & 7) + stbi__zreceive(a, a->num_bits & 7); // discard + // drain the bit-packed data into header + k = 0; + while (a->num_bits > 0) { + header[k++] = (stbi_uc) (a->code_buffer & 255); // suppress MSVC run-time check + a->code_buffer >>= 8; + a->num_bits -= 8; + } + STBI_ASSERT(a->num_bits == 0); + // now fill header the normal way + while (k < 4) + header[k++] = stbi__zget8(a); + len = header[1] * 256 + header[0]; + nlen = header[3] * 256 + header[2]; + if (nlen != (len ^ 0xffff)) return stbi__err("zlib corrupt","Corrupt PNG"); + if (a->zbuffer + len > a->zbuffer_end) return stbi__err("read past buffer","Corrupt PNG"); + if (a->zout + len > a->zout_end) + if (!stbi__zexpand(a, a->zout, len)) return 0; + memcpy(a->zout, a->zbuffer, len); + a->zbuffer += len; + a->zout += len; + return 1; +} + +static int stbi__parse_zlib_header(stbi__zbuf *a) +{ + int cmf = stbi__zget8(a); + int cm = cmf & 15; + /* int cinfo = cmf >> 4; */ + int flg = stbi__zget8(a); + if ((cmf*256+flg) % 31 != 0) return stbi__err("bad zlib header","Corrupt PNG"); // zlib spec + if (flg & 32) return stbi__err("no preset dict","Corrupt PNG"); // preset dictionary not allowed in png + if (cm != 8) return stbi__err("bad compression","Corrupt PNG"); // DEFLATE required for png + // window = 1 << (8 + cinfo)... but who cares, we fully buffer output + return 1; +} + +static const stbi_uc stbi__zdefault_length[288] = +{ + 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8, 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8, + 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8, 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8, + 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8, 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8, + 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8, 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8, + 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8, 9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9, + 9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9, 9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9, + 9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9, 9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9, + 9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9, 9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9, + 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7, 7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8 +}; +static const stbi_uc stbi__zdefault_distance[32] = +{ + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5 +}; +/* +Init algorithm: +{ + int i; // use <= to match clearly with spec + for (i=0; i <= 143; ++i) stbi__zdefault_length[i] = 8; + for ( ; i <= 255; ++i) stbi__zdefault_length[i] = 9; + for ( ; i <= 279; ++i) stbi__zdefault_length[i] = 7; + for ( ; i <= 287; ++i) stbi__zdefault_length[i] = 8; + + for (i=0; i <= 31; ++i) stbi__zdefault_distance[i] = 5; +} +*/ + +static int stbi__parse_zlib(stbi__zbuf *a, int parse_header) +{ + int final, type; + if (parse_header) + if (!stbi__parse_zlib_header(a)) return 0; + a->num_bits = 0; + a->code_buffer = 0; + do { + final = stbi__zreceive(a,1); + type = stbi__zreceive(a,2); + if (type == 0) { + if (!stbi__parse_uncompressed_block(a)) return 0; + } else if (type == 3) { + return 0; + } else { + if (type == 1) { + // use fixed code lengths + if (!stbi__zbuild_huffman(&a->z_length , stbi__zdefault_length , 288)) return 0; + if (!stbi__zbuild_huffman(&a->z_distance, stbi__zdefault_distance, 32)) return 0; + } else { + if (!stbi__compute_huffman_codes(a)) return 0; + } + if (!stbi__parse_huffman_block(a)) return 0; + } + } while (!final); + return 1; +} + +static int stbi__do_zlib(stbi__zbuf *a, char *obuf, int olen, int exp, int parse_header) +{ + a->zout_start = obuf; + a->zout = obuf; + a->zout_end = obuf + olen; + a->z_expandable = exp; + + return stbi__parse_zlib(a, parse_header); +} + +STBIDEF char *stbi_zlib_decode_malloc_guesssize(const char *buffer, int len, int initial_size, int *outlen) +{ + stbi__zbuf a; + char *p = (char *) stbi__malloc(initial_size); + if (p == NULL) return NULL; + a.zbuffer = (stbi_uc *) buffer; + a.zbuffer_end = (stbi_uc *) buffer + len; + if (stbi__do_zlib(&a, p, initial_size, 1, 1)) { + if (outlen) *outlen = (int) (a.zout - a.zout_start); + return a.zout_start; + } else { + STBI_FREE(a.zout_start); + return NULL; + } +} + +STBIDEF char *stbi_zlib_decode_malloc(char const *buffer, int len, int *outlen) +{ + return stbi_zlib_decode_malloc_guesssize(buffer, len, 16384, outlen); +} + +STBIDEF char *stbi_zlib_decode_malloc_guesssize_headerflag(const char *buffer, int len, int initial_size, int *outlen, int parse_header) +{ + stbi__zbuf a; + char *p = (char *) stbi__malloc(initial_size); + if (p == NULL) return NULL; + a.zbuffer = (stbi_uc *) buffer; + a.zbuffer_end = (stbi_uc *) buffer + len; + if (stbi__do_zlib(&a, p, initial_size, 1, parse_header)) { + if (outlen) *outlen = (int) (a.zout - a.zout_start); + return a.zout_start; + } else { + STBI_FREE(a.zout_start); + return NULL; + } +} + +STBIDEF int stbi_zlib_decode_buffer(char *obuffer, int olen, char const *ibuffer, int ilen) +{ + stbi__zbuf a; + a.zbuffer = (stbi_uc *) ibuffer; + a.zbuffer_end = (stbi_uc *) ibuffer + ilen; + if (stbi__do_zlib(&a, obuffer, olen, 0, 1)) + return (int) (a.zout - a.zout_start); + else + return -1; +} + +STBIDEF char *stbi_zlib_decode_noheader_malloc(char const *buffer, int len, int *outlen) +{ + stbi__zbuf a; + char *p = (char *) stbi__malloc(16384); + if (p == NULL) return NULL; + a.zbuffer = (stbi_uc *) buffer; + a.zbuffer_end = (stbi_uc *) buffer+len; + if (stbi__do_zlib(&a, p, 16384, 1, 0)) { + if (outlen) *outlen = (int) (a.zout - a.zout_start); + return a.zout_start; + } else { + STBI_FREE(a.zout_start); + return NULL; + } +} + +STBIDEF int stbi_zlib_decode_noheader_buffer(char *obuffer, int olen, const char *ibuffer, int ilen) +{ + stbi__zbuf a; + a.zbuffer = (stbi_uc *) ibuffer; + a.zbuffer_end = (stbi_uc *) ibuffer + ilen; + if (stbi__do_zlib(&a, obuffer, olen, 0, 0)) + return (int) (a.zout - a.zout_start); + else + return -1; +} +#endif + +// public domain "baseline" PNG decoder v0.10 Sean Barrett 2006-11-18 +// simple implementation +// - only 8-bit samples +// - no CRC checking +// - allocates lots of intermediate memory +// - avoids problem of streaming data between subsystems +// - avoids explicit window management +// performance +// - uses stb_zlib, a PD zlib implementation with fast huffman decoding + +#ifndef STBI_NO_PNG +typedef struct +{ + stbi__uint32 length; + stbi__uint32 type; +} stbi__pngchunk; + +static stbi__pngchunk stbi__get_chunk_header(stbi__context *s) +{ + stbi__pngchunk c; + c.length = stbi__get32be(s); + c.type = stbi__get32be(s); + return c; +} + +static int stbi__check_png_header(stbi__context *s) +{ + static const stbi_uc png_sig[8] = { 137,80,78,71,13,10,26,10 }; + int i; + for (i=0; i < 8; ++i) + if (stbi__get8(s) != png_sig[i]) return stbi__err("bad png sig","Not a PNG"); + return 1; +} + +typedef struct +{ + stbi__context *s; + stbi_uc *idata, *expanded, *out; + int depth; +} stbi__png; + + +enum { + STBI__F_none=0, + STBI__F_sub=1, + STBI__F_up=2, + STBI__F_avg=3, + STBI__F_paeth=4, + // synthetic filters used for first scanline to avoid needing a dummy row of 0s + STBI__F_avg_first, + STBI__F_paeth_first +}; + +static stbi_uc first_row_filter[5] = +{ + STBI__F_none, + STBI__F_sub, + STBI__F_none, + STBI__F_avg_first, + STBI__F_paeth_first +}; + +static int stbi__paeth(int a, int b, int c) +{ + int p = a + b - c; + int pa = abs(p-a); + int pb = abs(p-b); + int pc = abs(p-c); + if (pa <= pb && pa <= pc) return a; + if (pb <= pc) return b; + return c; +} + +static const stbi_uc stbi__depth_scale_table[9] = { 0, 0xff, 0x55, 0, 0x11, 0,0,0, 0x01 }; + +// create the png data from post-deflated data +static int stbi__create_png_image_raw(stbi__png *a, stbi_uc *raw, stbi__uint32 raw_len, int out_n, stbi__uint32 x, stbi__uint32 y, int depth, int color) +{ + int bytes = (depth == 16? 2 : 1); + stbi__context *s = a->s; + stbi__uint32 i,j,stride = x*out_n*bytes; + stbi__uint32 img_len, img_width_bytes; + int k; + int img_n = s->img_n; // copy it into a local for later + + int output_bytes = out_n*bytes; + int filter_bytes = img_n*bytes; + int width = x; + + STBI_ASSERT(out_n == s->img_n || out_n == s->img_n+1); + a->out = (stbi_uc *) stbi__malloc_mad3(x, y, output_bytes, 0); // extra bytes to write off the end into + if (!a->out) return stbi__err("outofmem", "Out of memory"); + + if (!stbi__mad3sizes_valid(img_n, x, depth, 7)) return stbi__err("too large", "Corrupt PNG"); + img_width_bytes = (((img_n * x * depth) + 7) >> 3); + img_len = (img_width_bytes + 1) * y; + + // we used to check for exact match between raw_len and img_len on non-interlaced PNGs, + // but issue #276 reported a PNG in the wild that had extra data at the end (all zeros), + // so just check for raw_len < img_len always. + if (raw_len < img_len) return stbi__err("not enough pixels","Corrupt PNG"); + + for (j=0; j < y; ++j) { + stbi_uc *cur = a->out + stride*j; + stbi_uc *prior; + int filter = *raw++; + + if (filter > 4) + return stbi__err("invalid filter","Corrupt PNG"); + + if (depth < 8) { + STBI_ASSERT(img_width_bytes <= x); + cur += x*out_n - img_width_bytes; // store output to the rightmost img_len bytes, so we can decode in place + filter_bytes = 1; + width = img_width_bytes; + } + prior = cur - stride; // bugfix: need to compute this after 'cur +=' computation above + + // if first row, use special filter that doesn't sample previous row + if (j == 0) filter = first_row_filter[filter]; + + // handle first byte explicitly + for (k=0; k < filter_bytes; ++k) { + switch (filter) { + case STBI__F_none : cur[k] = raw[k]; break; + case STBI__F_sub : cur[k] = raw[k]; break; + case STBI__F_up : cur[k] = STBI__BYTECAST(raw[k] + prior[k]); break; + case STBI__F_avg : cur[k] = STBI__BYTECAST(raw[k] + (prior[k]>>1)); break; + case STBI__F_paeth : cur[k] = STBI__BYTECAST(raw[k] + stbi__paeth(0,prior[k],0)); break; + case STBI__F_avg_first : cur[k] = raw[k]; break; + case STBI__F_paeth_first: cur[k] = raw[k]; break; + } + } + + if (depth == 8) { + if (img_n != out_n) + cur[img_n] = 255; // first pixel + raw += img_n; + cur += out_n; + prior += out_n; + } else if (depth == 16) { + if (img_n != out_n) { + cur[filter_bytes] = 255; // first pixel top byte + cur[filter_bytes+1] = 255; // first pixel bottom byte + } + raw += filter_bytes; + cur += output_bytes; + prior += output_bytes; + } else { + raw += 1; + cur += 1; + prior += 1; + } + + // this is a little gross, so that we don't switch per-pixel or per-component + if (depth < 8 || img_n == out_n) { + int nk = (width - 1)*filter_bytes; + #define STBI__CASE(f) \ + case f: \ + for (k=0; k < nk; ++k) + switch (filter) { + // "none" filter turns into a memcpy here; make that explicit. + case STBI__F_none: memcpy(cur, raw, nk); break; + STBI__CASE(STBI__F_sub) { cur[k] = STBI__BYTECAST(raw[k] + cur[k-filter_bytes]); } break; + STBI__CASE(STBI__F_up) { cur[k] = STBI__BYTECAST(raw[k] + prior[k]); } break; + STBI__CASE(STBI__F_avg) { cur[k] = STBI__BYTECAST(raw[k] + ((prior[k] + cur[k-filter_bytes])>>1)); } break; + STBI__CASE(STBI__F_paeth) { cur[k] = STBI__BYTECAST(raw[k] + stbi__paeth(cur[k-filter_bytes],prior[k],prior[k-filter_bytes])); } break; + STBI__CASE(STBI__F_avg_first) { cur[k] = STBI__BYTECAST(raw[k] + (cur[k-filter_bytes] >> 1)); } break; + STBI__CASE(STBI__F_paeth_first) { cur[k] = STBI__BYTECAST(raw[k] + stbi__paeth(cur[k-filter_bytes],0,0)); } break; + } + #undef STBI__CASE + raw += nk; + } else { + STBI_ASSERT(img_n+1 == out_n); + #define STBI__CASE(f) \ + case f: \ + for (i=x-1; i >= 1; --i, cur[filter_bytes]=255,raw+=filter_bytes,cur+=output_bytes,prior+=output_bytes) \ + for (k=0; k < filter_bytes; ++k) + switch (filter) { + STBI__CASE(STBI__F_none) { cur[k] = raw[k]; } break; + STBI__CASE(STBI__F_sub) { cur[k] = STBI__BYTECAST(raw[k] + cur[k- output_bytes]); } break; + STBI__CASE(STBI__F_up) { cur[k] = STBI__BYTECAST(raw[k] + prior[k]); } break; + STBI__CASE(STBI__F_avg) { cur[k] = STBI__BYTECAST(raw[k] + ((prior[k] + cur[k- output_bytes])>>1)); } break; + STBI__CASE(STBI__F_paeth) { cur[k] = STBI__BYTECAST(raw[k] + stbi__paeth(cur[k- output_bytes],prior[k],prior[k- output_bytes])); } break; + STBI__CASE(STBI__F_avg_first) { cur[k] = STBI__BYTECAST(raw[k] + (cur[k- output_bytes] >> 1)); } break; + STBI__CASE(STBI__F_paeth_first) { cur[k] = STBI__BYTECAST(raw[k] + stbi__paeth(cur[k- output_bytes],0,0)); } break; + } + #undef STBI__CASE + + // the loop above sets the high byte of the pixels' alpha, but for + // 16 bit png files we also need the low byte set. we'll do that here. + if (depth == 16) { + cur = a->out + stride*j; // start at the beginning of the row again + for (i=0; i < x; ++i,cur+=output_bytes) { + cur[filter_bytes+1] = 255; + } + } + } + } + + // we make a separate pass to expand bits to pixels; for performance, + // this could run two scanlines behind the above code, so it won't + // intefere with filtering but will still be in the cache. + if (depth < 8) { + for (j=0; j < y; ++j) { + stbi_uc *cur = a->out + stride*j; + stbi_uc *in = a->out + stride*j + x*out_n - img_width_bytes; + // unpack 1/2/4-bit into a 8-bit buffer. allows us to keep the common 8-bit path optimal at minimal cost for 1/2/4-bit + // png guarante byte alignment, if width is not multiple of 8/4/2 we'll decode dummy trailing data that will be skipped in the later loop + stbi_uc scale = (color == 0) ? stbi__depth_scale_table[depth] : 1; // scale grayscale values to 0..255 range + + // note that the final byte might overshoot and write more data than desired. + // we can allocate enough data that this never writes out of memory, but it + // could also overwrite the next scanline. can it overwrite non-empty data + // on the next scanline? yes, consider 1-pixel-wide scanlines with 1-bit-per-pixel. + // so we need to explicitly clamp the final ones + + if (depth == 4) { + for (k=x*img_n; k >= 2; k-=2, ++in) { + *cur++ = scale * ((*in >> 4) ); + *cur++ = scale * ((*in ) & 0x0f); + } + if (k > 0) *cur++ = scale * ((*in >> 4) ); + } else if (depth == 2) { + for (k=x*img_n; k >= 4; k-=4, ++in) { + *cur++ = scale * ((*in >> 6) ); + *cur++ = scale * ((*in >> 4) & 0x03); + *cur++ = scale * ((*in >> 2) & 0x03); + *cur++ = scale * ((*in ) & 0x03); + } + if (k > 0) *cur++ = scale * ((*in >> 6) ); + if (k > 1) *cur++ = scale * ((*in >> 4) & 0x03); + if (k > 2) *cur++ = scale * ((*in >> 2) & 0x03); + } else if (depth == 1) { + for (k=x*img_n; k >= 8; k-=8, ++in) { + *cur++ = scale * ((*in >> 7) ); + *cur++ = scale * ((*in >> 6) & 0x01); + *cur++ = scale * ((*in >> 5) & 0x01); + *cur++ = scale * ((*in >> 4) & 0x01); + *cur++ = scale * ((*in >> 3) & 0x01); + *cur++ = scale * ((*in >> 2) & 0x01); + *cur++ = scale * ((*in >> 1) & 0x01); + *cur++ = scale * ((*in ) & 0x01); + } + if (k > 0) *cur++ = scale * ((*in >> 7) ); + if (k > 1) *cur++ = scale * ((*in >> 6) & 0x01); + if (k > 2) *cur++ = scale * ((*in >> 5) & 0x01); + if (k > 3) *cur++ = scale * ((*in >> 4) & 0x01); + if (k > 4) *cur++ = scale * ((*in >> 3) & 0x01); + if (k > 5) *cur++ = scale * ((*in >> 2) & 0x01); + if (k > 6) *cur++ = scale * ((*in >> 1) & 0x01); + } + if (img_n != out_n) { + int q; + // insert alpha = 255 + cur = a->out + stride*j; + if (img_n == 1) { + for (q=x-1; q >= 0; --q) { + cur[q*2+1] = 255; + cur[q*2+0] = cur[q]; + } + } else { + STBI_ASSERT(img_n == 3); + for (q=x-1; q >= 0; --q) { + cur[q*4+3] = 255; + cur[q*4+2] = cur[q*3+2]; + cur[q*4+1] = cur[q*3+1]; + cur[q*4+0] = cur[q*3+0]; + } + } + } + } + } else if (depth == 16) { + // force the image data from big-endian to platform-native. + // this is done in a separate pass due to the decoding relying + // on the data being untouched, but could probably be done + // per-line during decode if care is taken. + stbi_uc *cur = a->out; + stbi__uint16 *cur16 = (stbi__uint16*)cur; + + for(i=0; i < x*y*out_n; ++i,cur16++,cur+=2) { + *cur16 = (cur[0] << 8) | cur[1]; + } + } + + return 1; +} + +static int stbi__create_png_image(stbi__png *a, stbi_uc *image_data, stbi__uint32 image_data_len, int out_n, int depth, int color, int interlaced) +{ + int bytes = (depth == 16 ? 2 : 1); + int out_bytes = out_n * bytes; + stbi_uc *final; + int p; + if (!interlaced) + return stbi__create_png_image_raw(a, image_data, image_data_len, out_n, a->s->img_x, a->s->img_y, depth, color); + + // de-interlacing + final = (stbi_uc *) stbi__malloc_mad3(a->s->img_x, a->s->img_y, out_bytes, 0); + for (p=0; p < 7; ++p) { + int xorig[] = { 0,4,0,2,0,1,0 }; + int yorig[] = { 0,0,4,0,2,0,1 }; + int xspc[] = { 8,8,4,4,2,2,1 }; + int yspc[] = { 8,8,8,4,4,2,2 }; + int i,j,x,y; + // pass1_x[4] = 0, pass1_x[5] = 1, pass1_x[12] = 1 + x = (a->s->img_x - xorig[p] + xspc[p]-1) / xspc[p]; + y = (a->s->img_y - yorig[p] + yspc[p]-1) / yspc[p]; + if (x && y) { + stbi__uint32 img_len = ((((a->s->img_n * x * depth) + 7) >> 3) + 1) * y; + if (!stbi__create_png_image_raw(a, image_data, image_data_len, out_n, x, y, depth, color)) { + STBI_FREE(final); + return 0; + } + for (j=0; j < y; ++j) { + for (i=0; i < x; ++i) { + int out_y = j*yspc[p]+yorig[p]; + int out_x = i*xspc[p]+xorig[p]; + memcpy(final + out_y*a->s->img_x*out_bytes + out_x*out_bytes, + a->out + (j*x+i)*out_bytes, out_bytes); + } + } + STBI_FREE(a->out); + image_data += img_len; + image_data_len -= img_len; + } + } + a->out = final; + + return 1; +} + +static int stbi__compute_transparency(stbi__png *z, stbi_uc tc[3], int out_n) +{ + stbi__context *s = z->s; + stbi__uint32 i, pixel_count = s->img_x * s->img_y; + stbi_uc *p = z->out; + + // compute color-based transparency, assuming we've + // already got 255 as the alpha value in the output + STBI_ASSERT(out_n == 2 || out_n == 4); + + if (out_n == 2) { + for (i=0; i < pixel_count; ++i) { + p[1] = (p[0] == tc[0] ? 0 : 255); + p += 2; + } + } else { + for (i=0; i < pixel_count; ++i) { + if (p[0] == tc[0] && p[1] == tc[1] && p[2] == tc[2]) + p[3] = 0; + p += 4; + } + } + return 1; +} + +static int stbi__compute_transparency16(stbi__png *z, stbi__uint16 tc[3], int out_n) +{ + stbi__context *s = z->s; + stbi__uint32 i, pixel_count = s->img_x * s->img_y; + stbi__uint16 *p = (stbi__uint16*) z->out; + + // compute color-based transparency, assuming we've + // already got 65535 as the alpha value in the output + STBI_ASSERT(out_n == 2 || out_n == 4); + + if (out_n == 2) { + for (i = 0; i < pixel_count; ++i) { + p[1] = (p[0] == tc[0] ? 0 : 65535); + p += 2; + } + } else { + for (i = 0; i < pixel_count; ++i) { + if (p[0] == tc[0] && p[1] == tc[1] && p[2] == tc[2]) + p[3] = 0; + p += 4; + } + } + return 1; +} + +static int stbi__expand_png_palette(stbi__png *a, stbi_uc *palette, int len, int pal_img_n) +{ + stbi__uint32 i, pixel_count = a->s->img_x * a->s->img_y; + stbi_uc *p, *temp_out, *orig = a->out; + + p = (stbi_uc *) stbi__malloc_mad2(pixel_count, pal_img_n, 0); + if (p == NULL) return stbi__err("outofmem", "Out of memory"); + + // between here and free(out) below, exitting would leak + temp_out = p; + + if (pal_img_n == 3) { + for (i=0; i < pixel_count; ++i) { + int n = orig[i]*4; + p[0] = palette[n ]; + p[1] = palette[n+1]; + p[2] = palette[n+2]; + p += 3; + } + } else { + for (i=0; i < pixel_count; ++i) { + int n = orig[i]*4; + p[0] = palette[n ]; + p[1] = palette[n+1]; + p[2] = palette[n+2]; + p[3] = palette[n+3]; + p += 4; + } + } + STBI_FREE(a->out); + a->out = temp_out; + + STBI_NOTUSED(len); + + return 1; +} + +static int stbi__unpremultiply_on_load = 0; +static int stbi__de_iphone_flag = 0; + +STBIDEF void stbi_set_unpremultiply_on_load(int flag_true_if_should_unpremultiply) +{ + stbi__unpremultiply_on_load = flag_true_if_should_unpremultiply; +} + +STBIDEF void stbi_convert_iphone_png_to_rgb(int flag_true_if_should_convert) +{ + stbi__de_iphone_flag = flag_true_if_should_convert; +} + +static void stbi__de_iphone(stbi__png *z) +{ + stbi__context *s = z->s; + stbi__uint32 i, pixel_count = s->img_x * s->img_y; + stbi_uc *p = z->out; + + if (s->img_out_n == 3) { // convert bgr to rgb + for (i=0; i < pixel_count; ++i) { + stbi_uc t = p[0]; + p[0] = p[2]; + p[2] = t; + p += 3; + } + } else { + STBI_ASSERT(s->img_out_n == 4); + if (stbi__unpremultiply_on_load) { + // convert bgr to rgb and unpremultiply + for (i=0; i < pixel_count; ++i) { + stbi_uc a = p[3]; + stbi_uc t = p[0]; + if (a) { + stbi_uc half = a / 2; + p[0] = (p[2] * 255 + half) / a; + p[1] = (p[1] * 255 + half) / a; + p[2] = ( t * 255 + half) / a; + } else { + p[0] = p[2]; + p[2] = t; + } + p += 4; + } + } else { + // convert bgr to rgb + for (i=0; i < pixel_count; ++i) { + stbi_uc t = p[0]; + p[0] = p[2]; + p[2] = t; + p += 4; + } + } + } +} + +#define STBI__PNG_TYPE(a,b,c,d) (((unsigned) (a) << 24) + ((unsigned) (b) << 16) + ((unsigned) (c) << 8) + (unsigned) (d)) + +static int stbi__parse_png_file(stbi__png *z, int scan, int req_comp) +{ + stbi_uc palette[1024], pal_img_n=0; + stbi_uc has_trans=0, tc[3]; + stbi__uint16 tc16[3]; + stbi__uint32 ioff=0, idata_limit=0, i, pal_len=0; + int first=1,k,interlace=0, color=0, is_iphone=0; + stbi__context *s = z->s; + + z->expanded = NULL; + z->idata = NULL; + z->out = NULL; + + if (!stbi__check_png_header(s)) return 0; + + if (scan == STBI__SCAN_type) return 1; + + for (;;) { + stbi__pngchunk c = stbi__get_chunk_header(s); + switch (c.type) { + case STBI__PNG_TYPE('C','g','B','I'): + is_iphone = 1; + stbi__skip(s, c.length); + break; + case STBI__PNG_TYPE('I','H','D','R'): { + int comp,filter; + if (!first) return stbi__err("multiple IHDR","Corrupt PNG"); + first = 0; + if (c.length != 13) return stbi__err("bad IHDR len","Corrupt PNG"); + s->img_x = stbi__get32be(s); if (s->img_x > (1 << 24)) return stbi__err("too large","Very large image (corrupt?)"); + s->img_y = stbi__get32be(s); if (s->img_y > (1 << 24)) return stbi__err("too large","Very large image (corrupt?)"); + z->depth = stbi__get8(s); if (z->depth != 1 && z->depth != 2 && z->depth != 4 && z->depth != 8 && z->depth != 16) return stbi__err("1/2/4/8/16-bit only","PNG not supported: 1/2/4/8/16-bit only"); + color = stbi__get8(s); if (color > 6) return stbi__err("bad ctype","Corrupt PNG"); + if (color == 3 && z->depth == 16) return stbi__err("bad ctype","Corrupt PNG"); + if (color == 3) pal_img_n = 3; else if (color & 1) return stbi__err("bad ctype","Corrupt PNG"); + comp = stbi__get8(s); if (comp) return stbi__err("bad comp method","Corrupt PNG"); + filter= stbi__get8(s); if (filter) return stbi__err("bad filter method","Corrupt PNG"); + interlace = stbi__get8(s); if (interlace>1) return stbi__err("bad interlace method","Corrupt PNG"); + if (!s->img_x || !s->img_y) return stbi__err("0-pixel image","Corrupt PNG"); + if (!pal_img_n) { + s->img_n = (color & 2 ? 3 : 1) + (color & 4 ? 1 : 0); + if ((1 << 30) / s->img_x / s->img_n < s->img_y) return stbi__err("too large", "Image too large to decode"); + if (scan == STBI__SCAN_header) return 1; + } else { + // if paletted, then pal_n is our final components, and + // img_n is # components to decompress/filter. + s->img_n = 1; + if ((1 << 30) / s->img_x / 4 < s->img_y) return stbi__err("too large","Corrupt PNG"); + // if SCAN_header, have to scan to see if we have a tRNS + } + break; + } + + case STBI__PNG_TYPE('P','L','T','E'): { + if (first) return stbi__err("first not IHDR", "Corrupt PNG"); + if (c.length > 256*3) return stbi__err("invalid PLTE","Corrupt PNG"); + pal_len = c.length / 3; + if (pal_len * 3 != c.length) return stbi__err("invalid PLTE","Corrupt PNG"); + for (i=0; i < pal_len; ++i) { + palette[i*4+0] = stbi__get8(s); + palette[i*4+1] = stbi__get8(s); + palette[i*4+2] = stbi__get8(s); + palette[i*4+3] = 255; + } + break; + } + + case STBI__PNG_TYPE('t','R','N','S'): { + if (first) return stbi__err("first not IHDR", "Corrupt PNG"); + if (z->idata) return stbi__err("tRNS after IDAT","Corrupt PNG"); + if (pal_img_n) { + if (scan == STBI__SCAN_header) { s->img_n = 4; return 1; } + if (pal_len == 0) return stbi__err("tRNS before PLTE","Corrupt PNG"); + if (c.length > pal_len) return stbi__err("bad tRNS len","Corrupt PNG"); + pal_img_n = 4; + for (i=0; i < c.length; ++i) + palette[i*4+3] = stbi__get8(s); + } else { + if (!(s->img_n & 1)) return stbi__err("tRNS with alpha","Corrupt PNG"); + if (c.length != (stbi__uint32) s->img_n*2) return stbi__err("bad tRNS len","Corrupt PNG"); + has_trans = 1; + if (z->depth == 16) { + for (k = 0; k < s->img_n; ++k) tc16[k] = (stbi__uint16)stbi__get16be(s); // copy the values as-is + } else { + for (k = 0; k < s->img_n; ++k) tc[k] = (stbi_uc)(stbi__get16be(s) & 255) * stbi__depth_scale_table[z->depth]; // non 8-bit images will be larger + } + } + break; + } + + case STBI__PNG_TYPE('I','D','A','T'): { + if (first) return stbi__err("first not IHDR", "Corrupt PNG"); + if (pal_img_n && !pal_len) return stbi__err("no PLTE","Corrupt PNG"); + if (scan == STBI__SCAN_header) { s->img_n = pal_img_n; return 1; } + if ((int)(ioff + c.length) < (int)ioff) return 0; + if (ioff + c.length > idata_limit) { + stbi__uint32 idata_limit_old = idata_limit; + stbi_uc *p; + if (idata_limit == 0) idata_limit = c.length > 4096 ? c.length : 4096; + while (ioff + c.length > idata_limit) + idata_limit *= 2; + STBI_NOTUSED(idata_limit_old); + p = (stbi_uc *) STBI_REALLOC_SIZED(z->idata, idata_limit_old, idata_limit); if (p == NULL) return stbi__err("outofmem", "Out of memory"); + z->idata = p; + } + if (!stbi__getn(s, z->idata+ioff,c.length)) return stbi__err("outofdata","Corrupt PNG"); + ioff += c.length; + break; + } + + case STBI__PNG_TYPE('I','E','N','D'): { + stbi__uint32 raw_len, bpl; + if (first) return stbi__err("first not IHDR", "Corrupt PNG"); + if (scan != STBI__SCAN_load) return 1; + if (z->idata == NULL) return stbi__err("no IDAT","Corrupt PNG"); + // initial guess for decoded data size to avoid unnecessary reallocs + bpl = (s->img_x * z->depth + 7) / 8; // bytes per line, per component + raw_len = bpl * s->img_y * s->img_n /* pixels */ + s->img_y /* filter mode per row */; + z->expanded = (stbi_uc *) stbi_zlib_decode_malloc_guesssize_headerflag((char *) z->idata, ioff, raw_len, (int *) &raw_len, !is_iphone); + if (z->expanded == NULL) return 0; // zlib should set error + STBI_FREE(z->idata); z->idata = NULL; + if ((req_comp == s->img_n+1 && req_comp != 3 && !pal_img_n) || has_trans) + s->img_out_n = s->img_n+1; + else + s->img_out_n = s->img_n; + if (!stbi__create_png_image(z, z->expanded, raw_len, s->img_out_n, z->depth, color, interlace)) return 0; + if (has_trans) { + if (z->depth == 16) { + if (!stbi__compute_transparency16(z, tc16, s->img_out_n)) return 0; + } else { + if (!stbi__compute_transparency(z, tc, s->img_out_n)) return 0; + } + } + if (is_iphone && stbi__de_iphone_flag && s->img_out_n > 2) + stbi__de_iphone(z); + if (pal_img_n) { + // pal_img_n == 3 or 4 + s->img_n = pal_img_n; // record the actual colors we had + s->img_out_n = pal_img_n; + if (req_comp >= 3) s->img_out_n = req_comp; + if (!stbi__expand_png_palette(z, palette, pal_len, s->img_out_n)) + return 0; + } else if (has_trans) { + // non-paletted image with tRNS -> source image has (constant) alpha + ++s->img_n; + } + STBI_FREE(z->expanded); z->expanded = NULL; + return 1; + } + + default: + // if critical, fail + if (first) return stbi__err("first not IHDR", "Corrupt PNG"); + if ((c.type & (1 << 29)) == 0) { + #ifndef STBI_NO_FAILURE_STRINGS + // not threadsafe + static char invalid_chunk[] = "XXXX PNG chunk not known"; + invalid_chunk[0] = STBI__BYTECAST(c.type >> 24); + invalid_chunk[1] = STBI__BYTECAST(c.type >> 16); + invalid_chunk[2] = STBI__BYTECAST(c.type >> 8); + invalid_chunk[3] = STBI__BYTECAST(c.type >> 0); + #endif + return stbi__err(invalid_chunk, "PNG not supported: unknown PNG chunk type"); + } + stbi__skip(s, c.length); + break; + } + // end of PNG chunk, read and skip CRC + stbi__get32be(s); + } +} + +static void *stbi__do_png(stbi__png *p, int *x, int *y, int *n, int req_comp, stbi__result_info *ri) +{ + void *result=NULL; + if (req_comp < 0 || req_comp > 4) return stbi__errpuc("bad req_comp", "Internal error"); + if (stbi__parse_png_file(p, STBI__SCAN_load, req_comp)) { + if (p->depth < 8) + ri->bits_per_channel = 8; + else + ri->bits_per_channel = p->depth; + result = p->out; + p->out = NULL; + if (req_comp && req_comp != p->s->img_out_n) { + if (ri->bits_per_channel == 8) + result = stbi__convert_format((unsigned char *) result, p->s->img_out_n, req_comp, p->s->img_x, p->s->img_y); + else + result = stbi__convert_format16((stbi__uint16 *) result, p->s->img_out_n, req_comp, p->s->img_x, p->s->img_y); + p->s->img_out_n = req_comp; + if (result == NULL) return result; + } + *x = p->s->img_x; + *y = p->s->img_y; + if (n) *n = p->s->img_n; + } + STBI_FREE(p->out); p->out = NULL; + STBI_FREE(p->expanded); p->expanded = NULL; + STBI_FREE(p->idata); p->idata = NULL; + + return result; +} + +static void *stbi__png_load(stbi__context *s, int *x, int *y, int *comp, int req_comp, stbi__result_info *ri) +{ + stbi__png p; + p.s = s; + return stbi__do_png(&p, x,y,comp,req_comp, ri); +} + +static int stbi__png_test(stbi__context *s) +{ + int r; + r = stbi__check_png_header(s); + stbi__rewind(s); + return r; +} + +static int stbi__png_info_raw(stbi__png *p, int *x, int *y, int *comp) +{ + if (!stbi__parse_png_file(p, STBI__SCAN_header, 0)) { + stbi__rewind( p->s ); + return 0; + } + if (x) *x = p->s->img_x; + if (y) *y = p->s->img_y; + if (comp) *comp = p->s->img_n; + return 1; +} + +static int stbi__png_info(stbi__context *s, int *x, int *y, int *comp) +{ + stbi__png p; + p.s = s; + return stbi__png_info_raw(&p, x, y, comp); +} + +static int stbi__png_is16(stbi__context *s) +{ + stbi__png p; + p.s = s; + if (!stbi__png_info_raw(&p, NULL, NULL, NULL)) + return 0; + if (p.depth != 16) { + stbi__rewind(p.s); + return 0; + } + return 1; +} +#endif + +// Microsoft/Windows BMP image + +#ifndef STBI_NO_BMP +static int stbi__bmp_test_raw(stbi__context *s) +{ + int r; + int sz; + if (stbi__get8(s) != 'B') return 0; + if (stbi__get8(s) != 'M') return 0; + stbi__get32le(s); // discard filesize + stbi__get16le(s); // discard reserved + stbi__get16le(s); // discard reserved + stbi__get32le(s); // discard data offset + sz = stbi__get32le(s); + r = (sz == 12 || sz == 40 || sz == 56 || sz == 108 || sz == 124); + return r; +} + +static int stbi__bmp_test(stbi__context *s) +{ + int r = stbi__bmp_test_raw(s); + stbi__rewind(s); + return r; +} + + +// returns 0..31 for the highest set bit +static int stbi__high_bit(unsigned int z) +{ + int n=0; + if (z == 0) return -1; + if (z >= 0x10000) n += 16, z >>= 16; + if (z >= 0x00100) n += 8, z >>= 8; + if (z >= 0x00010) n += 4, z >>= 4; + if (z >= 0x00004) n += 2, z >>= 2; + if (z >= 0x00002) n += 1, z >>= 1; + return n; +} + +static int stbi__bitcount(unsigned int a) +{ + a = (a & 0x55555555) + ((a >> 1) & 0x55555555); // max 2 + a = (a & 0x33333333) + ((a >> 2) & 0x33333333); // max 4 + a = (a + (a >> 4)) & 0x0f0f0f0f; // max 8 per 4, now 8 bits + a = (a + (a >> 8)); // max 16 per 8 bits + a = (a + (a >> 16)); // max 32 per 8 bits + return a & 0xff; +} + +// extract an arbitrarily-aligned N-bit value (N=bits) +// from v, and then make it 8-bits long and fractionally +// extend it to full full range. +static int stbi__shiftsigned(int v, int shift, int bits) +{ + static unsigned int mul_table[9] = { + 0, + 0xff/*0b11111111*/, 0x55/*0b01010101*/, 0x49/*0b01001001*/, 0x11/*0b00010001*/, + 0x21/*0b00100001*/, 0x41/*0b01000001*/, 0x81/*0b10000001*/, 0x01/*0b00000001*/, + }; + static unsigned int shift_table[9] = { + 0, 0,0,1,0,2,4,6,0, + }; + if (shift < 0) + v <<= -shift; + else + v >>= shift; + STBI_ASSERT(v >= 0 && v < 256); + v >>= (8-bits); + STBI_ASSERT(bits >= 0 && bits <= 8); + return (int) ((unsigned) v * mul_table[bits]) >> shift_table[bits]; +} + +typedef struct +{ + int bpp, offset, hsz; + unsigned int mr,mg,mb,ma, all_a; +} stbi__bmp_data; + +static void *stbi__bmp_parse_header(stbi__context *s, stbi__bmp_data *info) +{ + int hsz; + if (stbi__get8(s) != 'B' || stbi__get8(s) != 'M') return stbi__errpuc("not BMP", "Corrupt BMP"); + stbi__get32le(s); // discard filesize + stbi__get16le(s); // discard reserved + stbi__get16le(s); // discard reserved + info->offset = stbi__get32le(s); + info->hsz = hsz = stbi__get32le(s); + info->mr = info->mg = info->mb = info->ma = 0; + + if (hsz != 12 && hsz != 40 && hsz != 56 && hsz != 108 && hsz != 124) return stbi__errpuc("unknown BMP", "BMP type not supported: unknown"); + if (hsz == 12) { + s->img_x = stbi__get16le(s); + s->img_y = stbi__get16le(s); + } else { + s->img_x = stbi__get32le(s); + s->img_y = stbi__get32le(s); + } + if (stbi__get16le(s) != 1) return stbi__errpuc("bad BMP", "bad BMP"); + info->bpp = stbi__get16le(s); + if (hsz != 12) { + int compress = stbi__get32le(s); + if (compress == 1 || compress == 2) return stbi__errpuc("BMP RLE", "BMP type not supported: RLE"); + stbi__get32le(s); // discard sizeof + stbi__get32le(s); // discard hres + stbi__get32le(s); // discard vres + stbi__get32le(s); // discard colorsused + stbi__get32le(s); // discard max important + if (hsz == 40 || hsz == 56) { + if (hsz == 56) { + stbi__get32le(s); + stbi__get32le(s); + stbi__get32le(s); + stbi__get32le(s); + } + if (info->bpp == 16 || info->bpp == 32) { + if (compress == 0) { + if (info->bpp == 32) { + info->mr = 0xffu << 16; + info->mg = 0xffu << 8; + info->mb = 0xffu << 0; + info->ma = 0xffu << 24; + info->all_a = 0; // if all_a is 0 at end, then we loaded alpha channel but it was all 0 + } else { + info->mr = 31u << 10; + info->mg = 31u << 5; + info->mb = 31u << 0; + } + } else if (compress == 3) { + info->mr = stbi__get32le(s); + info->mg = stbi__get32le(s); + info->mb = stbi__get32le(s); + // not documented, but generated by photoshop and handled by mspaint + if (info->mr == info->mg && info->mg == info->mb) { + // ?!?!? + return stbi__errpuc("bad BMP", "bad BMP"); + } + } else + return stbi__errpuc("bad BMP", "bad BMP"); + } + } else { + int i; + if (hsz != 108 && hsz != 124) + return stbi__errpuc("bad BMP", "bad BMP"); + info->mr = stbi__get32le(s); + info->mg = stbi__get32le(s); + info->mb = stbi__get32le(s); + info->ma = stbi__get32le(s); + stbi__get32le(s); // discard color space + for (i=0; i < 12; ++i) + stbi__get32le(s); // discard color space parameters + if (hsz == 124) { + stbi__get32le(s); // discard rendering intent + stbi__get32le(s); // discard offset of profile data + stbi__get32le(s); // discard size of profile data + stbi__get32le(s); // discard reserved + } + } + } + return (void *) 1; +} + + +static void *stbi__bmp_load(stbi__context *s, int *x, int *y, int *comp, int req_comp, stbi__result_info *ri) +{ + stbi_uc *out; + unsigned int mr=0,mg=0,mb=0,ma=0, all_a; + stbi_uc pal[256][4]; + int psize=0,i,j,width; + int flip_vertically, pad, target; + stbi__bmp_data info; + STBI_NOTUSED(ri); + + info.all_a = 255; + if (stbi__bmp_parse_header(s, &info) == NULL) + return NULL; // error code already set + + flip_vertically = ((int) s->img_y) > 0; + s->img_y = abs((int) s->img_y); + + mr = info.mr; + mg = info.mg; + mb = info.mb; + ma = info.ma; + all_a = info.all_a; + + if (info.hsz == 12) { + if (info.bpp < 24) + psize = (info.offset - 14 - 24) / 3; + } else { + if (info.bpp < 16) + psize = (info.offset - 14 - info.hsz) >> 2; + } + + s->img_n = ma ? 4 : 3; + if (req_comp && req_comp >= 3) // we can directly decode 3 or 4 + target = req_comp; + else + target = s->img_n; // if they want monochrome, we'll post-convert + + // sanity-check size + if (!stbi__mad3sizes_valid(target, s->img_x, s->img_y, 0)) + return stbi__errpuc("too large", "Corrupt BMP"); + + out = (stbi_uc *) stbi__malloc_mad3(target, s->img_x, s->img_y, 0); + if (!out) return stbi__errpuc("outofmem", "Out of memory"); + if (info.bpp < 16) { + int z=0; + if (psize == 0 || psize > 256) { STBI_FREE(out); return stbi__errpuc("invalid", "Corrupt BMP"); } + for (i=0; i < psize; ++i) { + pal[i][2] = stbi__get8(s); + pal[i][1] = stbi__get8(s); + pal[i][0] = stbi__get8(s); + if (info.hsz != 12) stbi__get8(s); + pal[i][3] = 255; + } + stbi__skip(s, info.offset - 14 - info.hsz - psize * (info.hsz == 12 ? 3 : 4)); + if (info.bpp == 1) width = (s->img_x + 7) >> 3; + else if (info.bpp == 4) width = (s->img_x + 1) >> 1; + else if (info.bpp == 8) width = s->img_x; + else { STBI_FREE(out); return stbi__errpuc("bad bpp", "Corrupt BMP"); } + pad = (-width)&3; + if (info.bpp == 1) { + for (j=0; j < (int) s->img_y; ++j) { + int bit_offset = 7, v = stbi__get8(s); + for (i=0; i < (int) s->img_x; ++i) { + int color = (v>>bit_offset)&0x1; + out[z++] = pal[color][0]; + out[z++] = pal[color][1]; + out[z++] = pal[color][2]; + if((--bit_offset) < 0) { + bit_offset = 7; + v = stbi__get8(s); + } + } + stbi__skip(s, pad); + } + } else { + for (j=0; j < (int) s->img_y; ++j) { + for (i=0; i < (int) s->img_x; i += 2) { + int v=stbi__get8(s),v2=0; + if (info.bpp == 4) { + v2 = v & 15; + v >>= 4; + } + out[z++] = pal[v][0]; + out[z++] = pal[v][1]; + out[z++] = pal[v][2]; + if (target == 4) out[z++] = 255; + if (i+1 == (int) s->img_x) break; + v = (info.bpp == 8) ? stbi__get8(s) : v2; + out[z++] = pal[v][0]; + out[z++] = pal[v][1]; + out[z++] = pal[v][2]; + if (target == 4) out[z++] = 255; + } + stbi__skip(s, pad); + } + } + } else { + int rshift=0,gshift=0,bshift=0,ashift=0,rcount=0,gcount=0,bcount=0,acount=0; + int z = 0; + int easy=0; + stbi__skip(s, info.offset - 14 - info.hsz); + if (info.bpp == 24) width = 3 * s->img_x; + else if (info.bpp == 16) width = 2*s->img_x; + else /* bpp = 32 and pad = 0 */ width=0; + pad = (-width) & 3; + if (info.bpp == 24) { + easy = 1; + } else if (info.bpp == 32) { + if (mb == 0xff && mg == 0xff00 && mr == 0x00ff0000 && ma == 0xff000000) + easy = 2; + } + if (!easy) { + if (!mr || !mg || !mb) { STBI_FREE(out); return stbi__errpuc("bad masks", "Corrupt BMP"); } + // right shift amt to put high bit in position #7 + rshift = stbi__high_bit(mr)-7; rcount = stbi__bitcount(mr); + gshift = stbi__high_bit(mg)-7; gcount = stbi__bitcount(mg); + bshift = stbi__high_bit(mb)-7; bcount = stbi__bitcount(mb); + ashift = stbi__high_bit(ma)-7; acount = stbi__bitcount(ma); + } + for (j=0; j < (int) s->img_y; ++j) { + if (easy) { + for (i=0; i < (int) s->img_x; ++i) { + unsigned char a; + out[z+2] = stbi__get8(s); + out[z+1] = stbi__get8(s); + out[z+0] = stbi__get8(s); + z += 3; + a = (easy == 2 ? stbi__get8(s) : 255); + all_a |= a; + if (target == 4) out[z++] = a; + } + } else { + int bpp = info.bpp; + for (i=0; i < (int) s->img_x; ++i) { + stbi__uint32 v = (bpp == 16 ? (stbi__uint32) stbi__get16le(s) : stbi__get32le(s)); + unsigned int a; + out[z++] = STBI__BYTECAST(stbi__shiftsigned(v & mr, rshift, rcount)); + out[z++] = STBI__BYTECAST(stbi__shiftsigned(v & mg, gshift, gcount)); + out[z++] = STBI__BYTECAST(stbi__shiftsigned(v & mb, bshift, bcount)); + a = (ma ? stbi__shiftsigned(v & ma, ashift, acount) : 255); + all_a |= a; + if (target == 4) out[z++] = STBI__BYTECAST(a); + } + } + stbi__skip(s, pad); + } + } + + // if alpha channel is all 0s, replace with all 255s + if (target == 4 && all_a == 0) + for (i=4*s->img_x*s->img_y-1; i >= 0; i -= 4) + out[i] = 255; + + if (flip_vertically) { + stbi_uc t; + for (j=0; j < (int) s->img_y>>1; ++j) { + stbi_uc *p1 = out + j *s->img_x*target; + stbi_uc *p2 = out + (s->img_y-1-j)*s->img_x*target; + for (i=0; i < (int) s->img_x*target; ++i) { + t = p1[i], p1[i] = p2[i], p2[i] = t; + } + } + } + + if (req_comp && req_comp != target) { + out = stbi__convert_format(out, target, req_comp, s->img_x, s->img_y); + if (out == NULL) return out; // stbi__convert_format frees input on failure + } + + *x = s->img_x; + *y = s->img_y; + if (comp) *comp = s->img_n; + return out; +} +#endif + +// Targa Truevision - TGA +// by Jonathan Dummer +#ifndef STBI_NO_TGA +// returns STBI_rgb or whatever, 0 on error +static int stbi__tga_get_comp(int bits_per_pixel, int is_grey, int* is_rgb16) +{ + // only RGB or RGBA (incl. 16bit) or grey allowed + if (is_rgb16) *is_rgb16 = 0; + switch(bits_per_pixel) { + case 8: return STBI_grey; + case 16: if(is_grey) return STBI_grey_alpha; + // fallthrough + case 15: if(is_rgb16) *is_rgb16 = 1; + return STBI_rgb; + case 24: // fallthrough + case 32: return bits_per_pixel/8; + default: return 0; + } +} + +static int stbi__tga_info(stbi__context *s, int *x, int *y, int *comp) +{ + int tga_w, tga_h, tga_comp, tga_image_type, tga_bits_per_pixel, tga_colormap_bpp; + int sz, tga_colormap_type; + stbi__get8(s); // discard Offset + tga_colormap_type = stbi__get8(s); // colormap type + if( tga_colormap_type > 1 ) { + stbi__rewind(s); + return 0; // only RGB or indexed allowed + } + tga_image_type = stbi__get8(s); // image type + if ( tga_colormap_type == 1 ) { // colormapped (paletted) image + if (tga_image_type != 1 && tga_image_type != 9) { + stbi__rewind(s); + return 0; + } + stbi__skip(s,4); // skip index of first colormap entry and number of entries + sz = stbi__get8(s); // check bits per palette color entry + if ( (sz != 8) && (sz != 15) && (sz != 16) && (sz != 24) && (sz != 32) ) { + stbi__rewind(s); + return 0; + } + stbi__skip(s,4); // skip image x and y origin + tga_colormap_bpp = sz; + } else { // "normal" image w/o colormap - only RGB or grey allowed, +/- RLE + if ( (tga_image_type != 2) && (tga_image_type != 3) && (tga_image_type != 10) && (tga_image_type != 11) ) { + stbi__rewind(s); + return 0; // only RGB or grey allowed, +/- RLE + } + stbi__skip(s,9); // skip colormap specification and image x/y origin + tga_colormap_bpp = 0; + } + tga_w = stbi__get16le(s); + if( tga_w < 1 ) { + stbi__rewind(s); + return 0; // test width + } + tga_h = stbi__get16le(s); + if( tga_h < 1 ) { + stbi__rewind(s); + return 0; // test height + } + tga_bits_per_pixel = stbi__get8(s); // bits per pixel + stbi__get8(s); // ignore alpha bits + if (tga_colormap_bpp != 0) { + if((tga_bits_per_pixel != 8) && (tga_bits_per_pixel != 16)) { + // when using a colormap, tga_bits_per_pixel is the size of the indexes + // I don't think anything but 8 or 16bit indexes makes sense + stbi__rewind(s); + return 0; + } + tga_comp = stbi__tga_get_comp(tga_colormap_bpp, 0, NULL); + } else { + tga_comp = stbi__tga_get_comp(tga_bits_per_pixel, (tga_image_type == 3) || (tga_image_type == 11), NULL); + } + if(!tga_comp) { + stbi__rewind(s); + return 0; + } + if (x) *x = tga_w; + if (y) *y = tga_h; + if (comp) *comp = tga_comp; + return 1; // seems to have passed everything +} + +static int stbi__tga_test(stbi__context *s) +{ + int res = 0; + int sz, tga_color_type; + stbi__get8(s); // discard Offset + tga_color_type = stbi__get8(s); // color type + if ( tga_color_type > 1 ) goto errorEnd; // only RGB or indexed allowed + sz = stbi__get8(s); // image type + if ( tga_color_type == 1 ) { // colormapped (paletted) image + if (sz != 1 && sz != 9) goto errorEnd; // colortype 1 demands image type 1 or 9 + stbi__skip(s,4); // skip index of first colormap entry and number of entries + sz = stbi__get8(s); // check bits per palette color entry + if ( (sz != 8) && (sz != 15) && (sz != 16) && (sz != 24) && (sz != 32) ) goto errorEnd; + stbi__skip(s,4); // skip image x and y origin + } else { // "normal" image w/o colormap + if ( (sz != 2) && (sz != 3) && (sz != 10) && (sz != 11) ) goto errorEnd; // only RGB or grey allowed, +/- RLE + stbi__skip(s,9); // skip colormap specification and image x/y origin + } + if ( stbi__get16le(s) < 1 ) goto errorEnd; // test width + if ( stbi__get16le(s) < 1 ) goto errorEnd; // test height + sz = stbi__get8(s); // bits per pixel + if ( (tga_color_type == 1) && (sz != 8) && (sz != 16) ) goto errorEnd; // for colormapped images, bpp is size of an index + if ( (sz != 8) && (sz != 15) && (sz != 16) && (sz != 24) && (sz != 32) ) goto errorEnd; + + res = 1; // if we got this far, everything's good and we can return 1 instead of 0 + +errorEnd: + stbi__rewind(s); + return res; +} + +// read 16bit value and convert to 24bit RGB +static void stbi__tga_read_rgb16(stbi__context *s, stbi_uc* out) +{ + stbi__uint16 px = (stbi__uint16)stbi__get16le(s); + stbi__uint16 fiveBitMask = 31; + // we have 3 channels with 5bits each + int r = (px >> 10) & fiveBitMask; + int g = (px >> 5) & fiveBitMask; + int b = px & fiveBitMask; + // Note that this saves the data in RGB(A) order, so it doesn't need to be swapped later + out[0] = (stbi_uc)((r * 255)/31); + out[1] = (stbi_uc)((g * 255)/31); + out[2] = (stbi_uc)((b * 255)/31); + + // some people claim that the most significant bit might be used for alpha + // (possibly if an alpha-bit is set in the "image descriptor byte") + // but that only made 16bit test images completely translucent.. + // so let's treat all 15 and 16bit TGAs as RGB with no alpha. +} + +static void *stbi__tga_load(stbi__context *s, int *x, int *y, int *comp, int req_comp, stbi__result_info *ri) +{ + // read in the TGA header stuff + int tga_offset = stbi__get8(s); + int tga_indexed = stbi__get8(s); + int tga_image_type = stbi__get8(s); + int tga_is_RLE = 0; + int tga_palette_start = stbi__get16le(s); + int tga_palette_len = stbi__get16le(s); + int tga_palette_bits = stbi__get8(s); + int tga_x_origin = stbi__get16le(s); + int tga_y_origin = stbi__get16le(s); + int tga_width = stbi__get16le(s); + int tga_height = stbi__get16le(s); + int tga_bits_per_pixel = stbi__get8(s); + int tga_comp, tga_rgb16=0; + int tga_inverted = stbi__get8(s); + // int tga_alpha_bits = tga_inverted & 15; // the 4 lowest bits - unused (useless?) + // image data + unsigned char *tga_data; + unsigned char *tga_palette = NULL; + int i, j; + unsigned char raw_data[4] = {0}; + int RLE_count = 0; + int RLE_repeating = 0; + int read_next_pixel = 1; + STBI_NOTUSED(ri); + + // do a tiny bit of precessing + if ( tga_image_type >= 8 ) + { + tga_image_type -= 8; + tga_is_RLE = 1; + } + tga_inverted = 1 - ((tga_inverted >> 5) & 1); + + // If I'm paletted, then I'll use the number of bits from the palette + if ( tga_indexed ) tga_comp = stbi__tga_get_comp(tga_palette_bits, 0, &tga_rgb16); + else tga_comp = stbi__tga_get_comp(tga_bits_per_pixel, (tga_image_type == 3), &tga_rgb16); + + if(!tga_comp) // shouldn't really happen, stbi__tga_test() should have ensured basic consistency + return stbi__errpuc("bad format", "Can't find out TGA pixelformat"); + + // tga info + *x = tga_width; + *y = tga_height; + if (comp) *comp = tga_comp; + + if (!stbi__mad3sizes_valid(tga_width, tga_height, tga_comp, 0)) + return stbi__errpuc("too large", "Corrupt TGA"); + + tga_data = (unsigned char*)stbi__malloc_mad3(tga_width, tga_height, tga_comp, 0); + if (!tga_data) return stbi__errpuc("outofmem", "Out of memory"); + + // skip to the data's starting position (offset usually = 0) + stbi__skip(s, tga_offset ); + + if ( !tga_indexed && !tga_is_RLE && !tga_rgb16 ) { + for (i=0; i < tga_height; ++i) { + int row = tga_inverted ? tga_height -i - 1 : i; + stbi_uc *tga_row = tga_data + row*tga_width*tga_comp; + stbi__getn(s, tga_row, tga_width * tga_comp); + } + } else { + // do I need to load a palette? + if ( tga_indexed) + { + // any data to skip? (offset usually = 0) + stbi__skip(s, tga_palette_start ); + // load the palette + tga_palette = (unsigned char*)stbi__malloc_mad2(tga_palette_len, tga_comp, 0); + if (!tga_palette) { + STBI_FREE(tga_data); + return stbi__errpuc("outofmem", "Out of memory"); + } + if (tga_rgb16) { + stbi_uc *pal_entry = tga_palette; + STBI_ASSERT(tga_comp == STBI_rgb); + for (i=0; i < tga_palette_len; ++i) { + stbi__tga_read_rgb16(s, pal_entry); + pal_entry += tga_comp; + } + } else if (!stbi__getn(s, tga_palette, tga_palette_len * tga_comp)) { + STBI_FREE(tga_data); + STBI_FREE(tga_palette); + return stbi__errpuc("bad palette", "Corrupt TGA"); + } + } + // load the data + for (i=0; i < tga_width * tga_height; ++i) + { + // if I'm in RLE mode, do I need to get a RLE stbi__pngchunk? + if ( tga_is_RLE ) + { + if ( RLE_count == 0 ) + { + // yep, get the next byte as a RLE command + int RLE_cmd = stbi__get8(s); + RLE_count = 1 + (RLE_cmd & 127); + RLE_repeating = RLE_cmd >> 7; + read_next_pixel = 1; + } else if ( !RLE_repeating ) + { + read_next_pixel = 1; + } + } else + { + read_next_pixel = 1; + } + // OK, if I need to read a pixel, do it now + if ( read_next_pixel ) + { + // load however much data we did have + if ( tga_indexed ) + { + // read in index, then perform the lookup + int pal_idx = (tga_bits_per_pixel == 8) ? stbi__get8(s) : stbi__get16le(s); + if ( pal_idx >= tga_palette_len ) { + // invalid index + pal_idx = 0; + } + pal_idx *= tga_comp; + for (j = 0; j < tga_comp; ++j) { + raw_data[j] = tga_palette[pal_idx+j]; + } + } else if(tga_rgb16) { + STBI_ASSERT(tga_comp == STBI_rgb); + stbi__tga_read_rgb16(s, raw_data); + } else { + // read in the data raw + for (j = 0; j < tga_comp; ++j) { + raw_data[j] = stbi__get8(s); + } + } + // clear the reading flag for the next pixel + read_next_pixel = 0; + } // end of reading a pixel + + // copy data + for (j = 0; j < tga_comp; ++j) + tga_data[i*tga_comp+j] = raw_data[j]; + + // in case we're in RLE mode, keep counting down + --RLE_count; + } + // do I need to invert the image? + if ( tga_inverted ) + { + for (j = 0; j*2 < tga_height; ++j) + { + int index1 = j * tga_width * tga_comp; + int index2 = (tga_height - 1 - j) * tga_width * tga_comp; + for (i = tga_width * tga_comp; i > 0; --i) + { + unsigned char temp = tga_data[index1]; + tga_data[index1] = tga_data[index2]; + tga_data[index2] = temp; + ++index1; + ++index2; + } + } + } + // clear my palette, if I had one + if ( tga_palette != NULL ) + { + STBI_FREE( tga_palette ); + } + } + + // swap RGB - if the source data was RGB16, it already is in the right order + if (tga_comp >= 3 && !tga_rgb16) + { + unsigned char* tga_pixel = tga_data; + for (i=0; i < tga_width * tga_height; ++i) + { + unsigned char temp = tga_pixel[0]; + tga_pixel[0] = tga_pixel[2]; + tga_pixel[2] = temp; + tga_pixel += tga_comp; + } + } + + // convert to target component count + if (req_comp && req_comp != tga_comp) + tga_data = stbi__convert_format(tga_data, tga_comp, req_comp, tga_width, tga_height); + + // the things I do to get rid of an error message, and yet keep + // Microsoft's C compilers happy... [8^( + tga_palette_start = tga_palette_len = tga_palette_bits = + tga_x_origin = tga_y_origin = 0; + // OK, done + return tga_data; +} +#endif + +// ************************************************************************************************* +// Photoshop PSD loader -- PD by Thatcher Ulrich, integration by Nicolas Schulz, tweaked by STB + +#ifndef STBI_NO_PSD +static int stbi__psd_test(stbi__context *s) +{ + int r = (stbi__get32be(s) == 0x38425053); + stbi__rewind(s); + return r; +} + +static int stbi__psd_decode_rle(stbi__context *s, stbi_uc *p, int pixelCount) +{ + int count, nleft, len; + + count = 0; + while ((nleft = pixelCount - count) > 0) { + len = stbi__get8(s); + if (len == 128) { + // No-op. + } else if (len < 128) { + // Copy next len+1 bytes literally. + len++; + if (len > nleft) return 0; // corrupt data + count += len; + while (len) { + *p = stbi__get8(s); + p += 4; + len--; + } + } else if (len > 128) { + stbi_uc val; + // Next -len+1 bytes in the dest are replicated from next source byte. + // (Interpret len as a negative 8-bit int.) + len = 257 - len; + if (len > nleft) return 0; // corrupt data + val = stbi__get8(s); + count += len; + while (len) { + *p = val; + p += 4; + len--; + } + } + } + + return 1; +} + +static void *stbi__psd_load(stbi__context *s, int *x, int *y, int *comp, int req_comp, stbi__result_info *ri, int bpc) +{ + int pixelCount; + int channelCount, compression; + int channel, i; + int bitdepth; + int w,h; + stbi_uc *out; + STBI_NOTUSED(ri); + + // Check identifier + if (stbi__get32be(s) != 0x38425053) // "8BPS" + return stbi__errpuc("not PSD", "Corrupt PSD image"); + + // Check file type version. + if (stbi__get16be(s) != 1) + return stbi__errpuc("wrong version", "Unsupported version of PSD image"); + + // Skip 6 reserved bytes. + stbi__skip(s, 6 ); + + // Read the number of channels (R, G, B, A, etc). + channelCount = stbi__get16be(s); + if (channelCount < 0 || channelCount > 16) + return stbi__errpuc("wrong channel count", "Unsupported number of channels in PSD image"); + + // Read the rows and columns of the image. + h = stbi__get32be(s); + w = stbi__get32be(s); + + // Make sure the depth is 8 bits. + bitdepth = stbi__get16be(s); + if (bitdepth != 8 && bitdepth != 16) + return stbi__errpuc("unsupported bit depth", "PSD bit depth is not 8 or 16 bit"); + + // Make sure the color mode is RGB. + // Valid options are: + // 0: Bitmap + // 1: Grayscale + // 2: Indexed color + // 3: RGB color + // 4: CMYK color + // 7: Multichannel + // 8: Duotone + // 9: Lab color + if (stbi__get16be(s) != 3) + return stbi__errpuc("wrong color format", "PSD is not in RGB color format"); + + // Skip the Mode Data. (It's the palette for indexed color; other info for other modes.) + stbi__skip(s,stbi__get32be(s) ); + + // Skip the image resources. (resolution, pen tool paths, etc) + stbi__skip(s, stbi__get32be(s) ); + + // Skip the reserved data. + stbi__skip(s, stbi__get32be(s) ); + + // Find out if the data is compressed. + // Known values: + // 0: no compression + // 1: RLE compressed + compression = stbi__get16be(s); + if (compression > 1) + return stbi__errpuc("bad compression", "PSD has an unknown compression format"); + + // Check size + if (!stbi__mad3sizes_valid(4, w, h, 0)) + return stbi__errpuc("too large", "Corrupt PSD"); + + // Create the destination image. + + if (!compression && bitdepth == 16 && bpc == 16) { + out = (stbi_uc *) stbi__malloc_mad3(8, w, h, 0); + ri->bits_per_channel = 16; + } else + out = (stbi_uc *) stbi__malloc(4 * w*h); + + if (!out) return stbi__errpuc("outofmem", "Out of memory"); + pixelCount = w*h; + + // Initialize the data to zero. + //memset( out, 0, pixelCount * 4 ); + + // Finally, the image data. + if (compression) { + // RLE as used by .PSD and .TIFF + // Loop until you get the number of unpacked bytes you are expecting: + // Read the next source byte into n. + // If n is between 0 and 127 inclusive, copy the next n+1 bytes literally. + // Else if n is between -127 and -1 inclusive, copy the next byte -n+1 times. + // Else if n is 128, noop. + // Endloop + + // The RLE-compressed data is preceeded by a 2-byte data count for each row in the data, + // which we're going to just skip. + stbi__skip(s, h * channelCount * 2 ); + + // Read the RLE data by channel. + for (channel = 0; channel < 4; channel++) { + stbi_uc *p; + + p = out+channel; + if (channel >= channelCount) { + // Fill this channel with default data. + for (i = 0; i < pixelCount; i++, p += 4) + *p = (channel == 3 ? 255 : 0); + } else { + // Read the RLE data. + if (!stbi__psd_decode_rle(s, p, pixelCount)) { + STBI_FREE(out); + return stbi__errpuc("corrupt", "bad RLE data"); + } + } + } + + } else { + // We're at the raw image data. It's each channel in order (Red, Green, Blue, Alpha, ...) + // where each channel consists of an 8-bit (or 16-bit) value for each pixel in the image. + + // Read the data by channel. + for (channel = 0; channel < 4; channel++) { + if (channel >= channelCount) { + // Fill this channel with default data. + if (bitdepth == 16 && bpc == 16) { + stbi__uint16 *q = ((stbi__uint16 *) out) + channel; + stbi__uint16 val = channel == 3 ? 65535 : 0; + for (i = 0; i < pixelCount; i++, q += 4) + *q = val; + } else { + stbi_uc *p = out+channel; + stbi_uc val = channel == 3 ? 255 : 0; + for (i = 0; i < pixelCount; i++, p += 4) + *p = val; + } + } else { + if (ri->bits_per_channel == 16) { // output bpc + stbi__uint16 *q = ((stbi__uint16 *) out) + channel; + for (i = 0; i < pixelCount; i++, q += 4) + *q = (stbi__uint16) stbi__get16be(s); + } else { + stbi_uc *p = out+channel; + if (bitdepth == 16) { // input bpc + for (i = 0; i < pixelCount; i++, p += 4) + *p = (stbi_uc) (stbi__get16be(s) >> 8); + } else { + for (i = 0; i < pixelCount; i++, p += 4) + *p = stbi__get8(s); + } + } + } + } + } + + // remove weird white matte from PSD + if (channelCount >= 4) { + if (ri->bits_per_channel == 16) { + for (i=0; i < w*h; ++i) { + stbi__uint16 *pixel = (stbi__uint16 *) out + 4*i; + if (pixel[3] != 0 && pixel[3] != 65535) { + float a = pixel[3] / 65535.0f; + float ra = 1.0f / a; + float inv_a = 65535.0f * (1 - ra); + pixel[0] = (stbi__uint16) (pixel[0]*ra + inv_a); + pixel[1] = (stbi__uint16) (pixel[1]*ra + inv_a); + pixel[2] = (stbi__uint16) (pixel[2]*ra + inv_a); + } + } + } else { + for (i=0; i < w*h; ++i) { + unsigned char *pixel = out + 4*i; + if (pixel[3] != 0 && pixel[3] != 255) { + float a = pixel[3] / 255.0f; + float ra = 1.0f / a; + float inv_a = 255.0f * (1 - ra); + pixel[0] = (unsigned char) (pixel[0]*ra + inv_a); + pixel[1] = (unsigned char) (pixel[1]*ra + inv_a); + pixel[2] = (unsigned char) (pixel[2]*ra + inv_a); + } + } + } + } + + // convert to desired output format + if (req_comp && req_comp != 4) { + if (ri->bits_per_channel == 16) + out = (stbi_uc *) stbi__convert_format16((stbi__uint16 *) out, 4, req_comp, w, h); + else + out = stbi__convert_format(out, 4, req_comp, w, h); + if (out == NULL) return out; // stbi__convert_format frees input on failure + } + + if (comp) *comp = 4; + *y = h; + *x = w; + + return out; +} +#endif + +// ************************************************************************************************* +// Softimage PIC loader +// by Tom Seddon +// +// See http://softimage.wiki.softimage.com/index.php/INFO:_PIC_file_format +// See http://ozviz.wasp.uwa.edu.au/~pbourke/dataformats/softimagepic/ + +#ifndef STBI_NO_PIC +static int stbi__pic_is4(stbi__context *s,const char *str) +{ + int i; + for (i=0; i<4; ++i) + if (stbi__get8(s) != (stbi_uc)str[i]) + return 0; + + return 1; +} + +static int stbi__pic_test_core(stbi__context *s) +{ + int i; + + if (!stbi__pic_is4(s,"\x53\x80\xF6\x34")) + return 0; + + for(i=0;i<84;++i) + stbi__get8(s); + + if (!stbi__pic_is4(s,"PICT")) + return 0; + + return 1; +} + +typedef struct +{ + stbi_uc size,type,channel; +} stbi__pic_packet; + +static stbi_uc *stbi__readval(stbi__context *s, int channel, stbi_uc *dest) +{ + int mask=0x80, i; + + for (i=0; i<4; ++i, mask>>=1) { + if (channel & mask) { + if (stbi__at_eof(s)) return stbi__errpuc("bad file","PIC file too short"); + dest[i]=stbi__get8(s); + } + } + + return dest; +} + +static void stbi__copyval(int channel,stbi_uc *dest,const stbi_uc *src) +{ + int mask=0x80,i; + + for (i=0;i<4; ++i, mask>>=1) + if (channel&mask) + dest[i]=src[i]; +} + +static stbi_uc *stbi__pic_load_core(stbi__context *s,int width,int height,int *comp, stbi_uc *result) +{ + int act_comp=0,num_packets=0,y,chained; + stbi__pic_packet packets[10]; + + // this will (should...) cater for even some bizarre stuff like having data + // for the same channel in multiple packets. + do { + stbi__pic_packet *packet; + + if (num_packets==sizeof(packets)/sizeof(packets[0])) + return stbi__errpuc("bad format","too many packets"); + + packet = &packets[num_packets++]; + + chained = stbi__get8(s); + packet->size = stbi__get8(s); + packet->type = stbi__get8(s); + packet->channel = stbi__get8(s); + + act_comp |= packet->channel; + + if (stbi__at_eof(s)) return stbi__errpuc("bad file","file too short (reading packets)"); + if (packet->size != 8) return stbi__errpuc("bad format","packet isn't 8bpp"); + } while (chained); + + *comp = (act_comp & 0x10 ? 4 : 3); // has alpha channel? + + for(y=0; ytype) { + default: + return stbi__errpuc("bad format","packet has bad compression type"); + + case 0: {//uncompressed + int x; + + for(x=0;xchannel,dest)) + return 0; + break; + } + + case 1://Pure RLE + { + int left=width, i; + + while (left>0) { + stbi_uc count,value[4]; + + count=stbi__get8(s); + if (stbi__at_eof(s)) return stbi__errpuc("bad file","file too short (pure read count)"); + + if (count > left) + count = (stbi_uc) left; + + if (!stbi__readval(s,packet->channel,value)) return 0; + + for(i=0; ichannel,dest,value); + left -= count; + } + } + break; + + case 2: {//Mixed RLE + int left=width; + while (left>0) { + int count = stbi__get8(s), i; + if (stbi__at_eof(s)) return stbi__errpuc("bad file","file too short (mixed read count)"); + + if (count >= 128) { // Repeated + stbi_uc value[4]; + + if (count==128) + count = stbi__get16be(s); + else + count -= 127; + if (count > left) + return stbi__errpuc("bad file","scanline overrun"); + + if (!stbi__readval(s,packet->channel,value)) + return 0; + + for(i=0;ichannel,dest,value); + } else { // Raw + ++count; + if (count>left) return stbi__errpuc("bad file","scanline overrun"); + + for(i=0;ichannel,dest)) + return 0; + } + left-=count; + } + break; + } + } + } + } + + return result; +} + +static void *stbi__pic_load(stbi__context *s,int *px,int *py,int *comp,int req_comp, stbi__result_info *ri) +{ + stbi_uc *result; + int i, x,y, internal_comp; + STBI_NOTUSED(ri); + + if (!comp) comp = &internal_comp; + + for (i=0; i<92; ++i) + stbi__get8(s); + + x = stbi__get16be(s); + y = stbi__get16be(s); + if (stbi__at_eof(s)) return stbi__errpuc("bad file","file too short (pic header)"); + if (!stbi__mad3sizes_valid(x, y, 4, 0)) return stbi__errpuc("too large", "PIC image too large to decode"); + + stbi__get32be(s); //skip `ratio' + stbi__get16be(s); //skip `fields' + stbi__get16be(s); //skip `pad' + + // intermediate buffer is RGBA + result = (stbi_uc *) stbi__malloc_mad3(x, y, 4, 0); + memset(result, 0xff, x*y*4); + + if (!stbi__pic_load_core(s,x,y,comp, result)) { + STBI_FREE(result); + result=0; + } + *px = x; + *py = y; + if (req_comp == 0) req_comp = *comp; + result=stbi__convert_format(result,4,req_comp,x,y); + + return result; +} + +static int stbi__pic_test(stbi__context *s) +{ + int r = stbi__pic_test_core(s); + stbi__rewind(s); + return r; +} +#endif + +// ************************************************************************************************* +// GIF loader -- public domain by Jean-Marc Lienher -- simplified/shrunk by stb + +#ifndef STBI_NO_GIF +typedef struct +{ + stbi__int16 prefix; + stbi_uc first; + stbi_uc suffix; +} stbi__gif_lzw; + +typedef struct +{ + int w,h; + stbi_uc *out; // output buffer (always 4 components) + stbi_uc *background; // The current "background" as far as a gif is concerned + stbi_uc *history; + int flags, bgindex, ratio, transparent, eflags; + stbi_uc pal[256][4]; + stbi_uc lpal[256][4]; + stbi__gif_lzw codes[8192]; + stbi_uc *color_table; + int parse, step; + int lflags; + int start_x, start_y; + int max_x, max_y; + int cur_x, cur_y; + int line_size; + int delay; +} stbi__gif; + +static int stbi__gif_test_raw(stbi__context *s) +{ + int sz; + if (stbi__get8(s) != 'G' || stbi__get8(s) != 'I' || stbi__get8(s) != 'F' || stbi__get8(s) != '8') return 0; + sz = stbi__get8(s); + if (sz != '9' && sz != '7') return 0; + if (stbi__get8(s) != 'a') return 0; + return 1; +} + +static int stbi__gif_test(stbi__context *s) +{ + int r = stbi__gif_test_raw(s); + stbi__rewind(s); + return r; +} + +static void stbi__gif_parse_colortable(stbi__context *s, stbi_uc pal[256][4], int num_entries, int transp) +{ + int i; + for (i=0; i < num_entries; ++i) { + pal[i][2] = stbi__get8(s); + pal[i][1] = stbi__get8(s); + pal[i][0] = stbi__get8(s); + pal[i][3] = transp == i ? 0 : 255; + } +} + +static int stbi__gif_header(stbi__context *s, stbi__gif *g, int *comp, int is_info) +{ + stbi_uc version; + if (stbi__get8(s) != 'G' || stbi__get8(s) != 'I' || stbi__get8(s) != 'F' || stbi__get8(s) != '8') + return stbi__err("not GIF", "Corrupt GIF"); + + version = stbi__get8(s); + if (version != '7' && version != '9') return stbi__err("not GIF", "Corrupt GIF"); + if (stbi__get8(s) != 'a') return stbi__err("not GIF", "Corrupt GIF"); + + stbi__g_failure_reason = ""; + g->w = stbi__get16le(s); + g->h = stbi__get16le(s); + g->flags = stbi__get8(s); + g->bgindex = stbi__get8(s); + g->ratio = stbi__get8(s); + g->transparent = -1; + + if (comp != 0) *comp = 4; // can't actually tell whether it's 3 or 4 until we parse the comments + + if (is_info) return 1; + + if (g->flags & 0x80) + stbi__gif_parse_colortable(s,g->pal, 2 << (g->flags & 7), -1); + + return 1; +} + +static int stbi__gif_info_raw(stbi__context *s, int *x, int *y, int *comp) +{ + stbi__gif* g = (stbi__gif*) stbi__malloc(sizeof(stbi__gif)); + if (!stbi__gif_header(s, g, comp, 1)) { + STBI_FREE(g); + stbi__rewind( s ); + return 0; + } + if (x) *x = g->w; + if (y) *y = g->h; + STBI_FREE(g); + return 1; +} + +static void stbi__out_gif_code(stbi__gif *g, stbi__uint16 code) +{ + stbi_uc *p, *c; + int idx; + + // recurse to decode the prefixes, since the linked-list is backwards, + // and working backwards through an interleaved image would be nasty + if (g->codes[code].prefix >= 0) + stbi__out_gif_code(g, g->codes[code].prefix); + + if (g->cur_y >= g->max_y) return; + + idx = g->cur_x + g->cur_y; + p = &g->out[idx]; + g->history[idx / 4] = 1; + + c = &g->color_table[g->codes[code].suffix * 4]; + if (c[3] > 128) { // don't render transparent pixels; + p[0] = c[2]; + p[1] = c[1]; + p[2] = c[0]; + p[3] = c[3]; + } + g->cur_x += 4; + + if (g->cur_x >= g->max_x) { + g->cur_x = g->start_x; + g->cur_y += g->step; + + while (g->cur_y >= g->max_y && g->parse > 0) { + g->step = (1 << g->parse) * g->line_size; + g->cur_y = g->start_y + (g->step >> 1); + --g->parse; + } + } +} + +static stbi_uc *stbi__process_gif_raster(stbi__context *s, stbi__gif *g) +{ + stbi_uc lzw_cs; + stbi__int32 len, init_code; + stbi__uint32 first; + stbi__int32 codesize, codemask, avail, oldcode, bits, valid_bits, clear; + stbi__gif_lzw *p; + + lzw_cs = stbi__get8(s); + if (lzw_cs > 12) return NULL; + clear = 1 << lzw_cs; + first = 1; + codesize = lzw_cs + 1; + codemask = (1 << codesize) - 1; + bits = 0; + valid_bits = 0; + for (init_code = 0; init_code < clear; init_code++) { + g->codes[init_code].prefix = -1; + g->codes[init_code].first = (stbi_uc) init_code; + g->codes[init_code].suffix = (stbi_uc) init_code; + } + + // support no starting clear code + avail = clear+2; + oldcode = -1; + + len = 0; + for(;;) { + if (valid_bits < codesize) { + if (len == 0) { + len = stbi__get8(s); // start new block + if (len == 0) + return g->out; + } + --len; + bits |= (stbi__int32) stbi__get8(s) << valid_bits; + valid_bits += 8; + } else { + stbi__int32 code = bits & codemask; + bits >>= codesize; + valid_bits -= codesize; + // @OPTIMIZE: is there some way we can accelerate the non-clear path? + if (code == clear) { // clear code + codesize = lzw_cs + 1; + codemask = (1 << codesize) - 1; + avail = clear + 2; + oldcode = -1; + first = 0; + } else if (code == clear + 1) { // end of stream code + stbi__skip(s, len); + while ((len = stbi__get8(s)) > 0) + stbi__skip(s,len); + return g->out; + } else if (code <= avail) { + if (first) { + return stbi__errpuc("no clear code", "Corrupt GIF"); + } + + if (oldcode >= 0) { + p = &g->codes[avail++]; + if (avail > 8192) { + return stbi__errpuc("too many codes", "Corrupt GIF"); + } + + p->prefix = (stbi__int16) oldcode; + p->first = g->codes[oldcode].first; + p->suffix = (code == avail) ? p->first : g->codes[code].first; + } else if (code == avail) + return stbi__errpuc("illegal code in raster", "Corrupt GIF"); + + stbi__out_gif_code(g, (stbi__uint16) code); + + if ((avail & codemask) == 0 && avail <= 0x0FFF) { + codesize++; + codemask = (1 << codesize) - 1; + } + + oldcode = code; + } else { + return stbi__errpuc("illegal code in raster", "Corrupt GIF"); + } + } + } +} + +// this function is designed to support animated gifs, although stb_image doesn't support it +// two back is the image from two frames ago, used for a very specific disposal format +static stbi_uc *stbi__gif_load_next(stbi__context *s, stbi__gif *g, int *comp, int req_comp, stbi_uc *two_back) +{ + int dispose; + int first_frame; + int pi; + int pcount; + + // on first frame, any non-written pixels get the background colour (non-transparent) + first_frame = 0; + if (g->out == 0) { + if (!stbi__gif_header(s, g, comp,0)) return 0; // stbi__g_failure_reason set by stbi__gif_header + g->out = (stbi_uc *) stbi__malloc(4 * g->w * g->h); + g->background = (stbi_uc *) stbi__malloc(4 * g->w * g->h); + g->history = (stbi_uc *) stbi__malloc(g->w * g->h); + if (g->out == 0) return stbi__errpuc("outofmem", "Out of memory"); + + // image is treated as "tranparent" at the start - ie, nothing overwrites the current background; + // background colour is only used for pixels that are not rendered first frame, after that "background" + // color refers to teh color that was there the previous frame. + memset( g->out, 0x00, 4 * g->w * g->h ); + memset( g->background, 0x00, 4 * g->w * g->h ); // state of the background (starts transparent) + memset( g->history, 0x00, g->w * g->h ); // pixels that were affected previous frame + first_frame = 1; + } else { + // second frame - how do we dispoase of the previous one? + dispose = (g->eflags & 0x1C) >> 2; + pcount = g->w * g->h; + + if ((dispose == 3) && (two_back == 0)) { + dispose = 2; // if I don't have an image to revert back to, default to the old background + } + + if (dispose == 3) { // use previous graphic + for (pi = 0; pi < pcount; ++pi) { + if (g->history[pi]) { + memcpy( &g->out[pi * 4], &two_back[pi * 4], 4 ); + } + } + } else if (dispose == 2) { + // restore what was changed last frame to background before that frame; + for (pi = 0; pi < pcount; ++pi) { + if (g->history[pi]) { + memcpy( &g->out[pi * 4], &g->background[pi * 4], 4 ); + } + } + } else { + // This is a non-disposal case eithe way, so just + // leave the pixels as is, and they will become the new background + // 1: do not dispose + // 0: not specified. + } + + // background is what out is after the undoing of the previou frame; + memcpy( g->background, g->out, 4 * g->w * g->h ); + } + + // clear my history; + memset( g->history, 0x00, g->w * g->h ); // pixels that were affected previous frame + + for (;;) { + int tag = stbi__get8(s); + switch (tag) { + case 0x2C: /* Image Descriptor */ + { + stbi__int32 x, y, w, h; + stbi_uc *o; + + x = stbi__get16le(s); + y = stbi__get16le(s); + w = stbi__get16le(s); + h = stbi__get16le(s); + if (((x + w) > (g->w)) || ((y + h) > (g->h))) + return stbi__errpuc("bad Image Descriptor", "Corrupt GIF"); + + g->line_size = g->w * 4; + g->start_x = x * 4; + g->start_y = y * g->line_size; + g->max_x = g->start_x + w * 4; + g->max_y = g->start_y + h * g->line_size; + g->cur_x = g->start_x; + g->cur_y = g->start_y; + + g->lflags = stbi__get8(s); + + if (g->lflags & 0x40) { + g->step = 8 * g->line_size; // first interlaced spacing + g->parse = 3; + } else { + g->step = g->line_size; + g->parse = 0; + } + + if (g->lflags & 0x80) { + stbi__gif_parse_colortable(s,g->lpal, 2 << (g->lflags & 7), g->eflags & 0x01 ? g->transparent : -1); + g->color_table = (stbi_uc *) g->lpal; + } else if (g->flags & 0x80) { + g->color_table = (stbi_uc *) g->pal; + } else + return stbi__errpuc("missing color table", "Corrupt GIF"); + + o = stbi__process_gif_raster(s, g); + if (o == NULL) return NULL; + + // if this was the first frame, + pcount = g->w * g->h; + if (first_frame && (g->bgindex > 0)) { + // if first frame, any pixel not drawn to gets the background color + for (pi = 0; pi < pcount; ++pi) { + if (g->history[pi] == 0) { + g->pal[g->bgindex][3] = 255; // just in case it was made transparent, undo that; It will be reset next frame if need be; + memcpy( &g->out[pi * 4], &g->pal[g->bgindex], 4 ); + } + } + } + + return o; + } + + case 0x21: // Comment Extension. + { + int len; + int ext = stbi__get8(s); + if (ext == 0xF9) { // Graphic Control Extension. + len = stbi__get8(s); + if (len == 4) { + g->eflags = stbi__get8(s); + g->delay = 10 * stbi__get16le(s); // delay - 1/100th of a second, saving as 1/1000ths. + + // unset old transparent + if (g->transparent >= 0) { + g->pal[g->transparent][3] = 255; + } + if (g->eflags & 0x01) { + g->transparent = stbi__get8(s); + if (g->transparent >= 0) { + g->pal[g->transparent][3] = 0; + } + } else { + // don't need transparent + stbi__skip(s, 1); + g->transparent = -1; + } + } else { + stbi__skip(s, len); + break; + } + } + while ((len = stbi__get8(s)) != 0) { + stbi__skip(s, len); + } + break; + } + + case 0x3B: // gif stream termination code + return (stbi_uc *) s; // using '1' causes warning on some compilers + + default: + return stbi__errpuc("unknown code", "Corrupt GIF"); + } + } +} + +static void *stbi__load_gif_main(stbi__context *s, int **delays, int *x, int *y, int *z, int *comp, int req_comp) +{ + if (stbi__gif_test(s)) { + int layers = 0; + stbi_uc *u = 0; + stbi_uc *out = 0; + stbi_uc *two_back = 0; + stbi__gif g; + int stride; + memset(&g, 0, sizeof(g)); + if (delays) { + *delays = 0; + } + + do { + u = stbi__gif_load_next(s, &g, comp, req_comp, two_back); + if (u == (stbi_uc *) s) u = 0; // end of animated gif marker + + if (u) { + *x = g.w; + *y = g.h; + ++layers; + stride = g.w * g.h * 4; + + if (out) { + out = (stbi_uc*) STBI_REALLOC( out, layers * stride ); + if (delays) { + *delays = (int*) STBI_REALLOC( *delays, sizeof(int) * layers ); + } + } else { + out = (stbi_uc*)stbi__malloc( layers * stride ); + if (delays) { + *delays = (int*) stbi__malloc( layers * sizeof(int) ); + } + } + memcpy( out + ((layers - 1) * stride), u, stride ); + if (layers >= 2) { + two_back = out - 2 * stride; + } + + if (delays) { + (*delays)[layers - 1U] = g.delay; + } + } + } while (u != 0); + + // free temp buffer; + STBI_FREE(g.out); + STBI_FREE(g.history); + STBI_FREE(g.background); + + // do the final conversion after loading everything; + if (req_comp && req_comp != 4) + out = stbi__convert_format(out, 4, req_comp, layers * g.w, g.h); + + *z = layers; + return out; + } else { + return stbi__errpuc("not GIF", "Image was not as a gif type."); + } +} + +static void *stbi__gif_load(stbi__context *s, int *x, int *y, int *comp, int req_comp, stbi__result_info *ri) +{ + stbi_uc *u = 0; + stbi__gif g; + memset(&g, 0, sizeof(g)); + + u = stbi__gif_load_next(s, &g, comp, req_comp, 0); + if (u == (stbi_uc *) s) u = 0; // end of animated gif marker + if (u) { + *x = g.w; + *y = g.h; + + // moved conversion to after successful load so that the same + // can be done for multiple frames. + if (req_comp && req_comp != 4) + u = stbi__convert_format(u, 4, req_comp, g.w, g.h); + } + + // free buffers needed for multiple frame loading; + STBI_FREE(g.history); + STBI_FREE(g.background); + + return u; +} + +static int stbi__gif_info(stbi__context *s, int *x, int *y, int *comp) +{ + return stbi__gif_info_raw(s,x,y,comp); +} +#endif + +// ************************************************************************************************* +// Radiance RGBE HDR loader +// originally by Nicolas Schulz +#ifndef STBI_NO_HDR +static int stbi__hdr_test_core(stbi__context *s, const char *signature) +{ + int i; + for (i=0; signature[i]; ++i) + if (stbi__get8(s) != signature[i]) + return 0; + stbi__rewind(s); + return 1; +} + +static int stbi__hdr_test(stbi__context* s) +{ + int r = stbi__hdr_test_core(s, "#?RADIANCE\n"); + stbi__rewind(s); + if(!r) { + r = stbi__hdr_test_core(s, "#?RGBE\n"); + stbi__rewind(s); + } + return r; +} + +#define STBI__HDR_BUFLEN 1024 +static char *stbi__hdr_gettoken(stbi__context *z, char *buffer) +{ + int len=0; + char c = '\0'; + + c = (char) stbi__get8(z); + + while (!stbi__at_eof(z) && c != '\n') { + buffer[len++] = c; + if (len == STBI__HDR_BUFLEN-1) { + // flush to end of line + while (!stbi__at_eof(z) && stbi__get8(z) != '\n') + ; + break; + } + c = (char) stbi__get8(z); + } + + buffer[len] = 0; + return buffer; +} + +static void stbi__hdr_convert(float *output, stbi_uc *input, int req_comp) +{ + if ( input[3] != 0 ) { + float f1; + // Exponent + f1 = (float) ldexp(1.0f, input[3] - (int)(128 + 8)); + if (req_comp <= 2) + output[0] = (input[0] + input[1] + input[2]) * f1 / 3; + else { + output[0] = input[0] * f1; + output[1] = input[1] * f1; + output[2] = input[2] * f1; + } + if (req_comp == 2) output[1] = 1; + if (req_comp == 4) output[3] = 1; + } else { + switch (req_comp) { + case 4: output[3] = 1; /* fallthrough */ + case 3: output[0] = output[1] = output[2] = 0; + break; + case 2: output[1] = 1; /* fallthrough */ + case 1: output[0] = 0; + break; + } + } +} + +static float *stbi__hdr_load(stbi__context *s, int *x, int *y, int *comp, int req_comp, stbi__result_info *ri) +{ + char buffer[STBI__HDR_BUFLEN]; + char *token; + int valid = 0; + int width, height; + stbi_uc *scanline; + float *hdr_data; + int len; + unsigned char count, value; + int i, j, k, c1,c2, z; + const char *headerToken; + STBI_NOTUSED(ri); + + // Check identifier + headerToken = stbi__hdr_gettoken(s,buffer); + if (strcmp(headerToken, "#?RADIANCE") != 0 && strcmp(headerToken, "#?RGBE") != 0) + return stbi__errpf("not HDR", "Corrupt HDR image"); + + // Parse header + for(;;) { + token = stbi__hdr_gettoken(s,buffer); + if (token[0] == 0) break; + if (strcmp(token, "FORMAT=32-bit_rle_rgbe") == 0) valid = 1; + } + + if (!valid) return stbi__errpf("unsupported format", "Unsupported HDR format"); + + // Parse width and height + // can't use sscanf() if we're not using stdio! + token = stbi__hdr_gettoken(s,buffer); + if (strncmp(token, "-Y ", 3)) return stbi__errpf("unsupported data layout", "Unsupported HDR format"); + token += 3; + height = (int) strtol(token, &token, 10); + while (*token == ' ') ++token; + if (strncmp(token, "+X ", 3)) return stbi__errpf("unsupported data layout", "Unsupported HDR format"); + token += 3; + width = (int) strtol(token, NULL, 10); + + *x = width; + *y = height; + + if (comp) *comp = 3; + if (req_comp == 0) req_comp = 3; + + if (!stbi__mad4sizes_valid(width, height, req_comp, sizeof(float), 0)) + return stbi__errpf("too large", "HDR image is too large"); + + // Read data + hdr_data = (float *) stbi__malloc_mad4(width, height, req_comp, sizeof(float), 0); + if (!hdr_data) + return stbi__errpf("outofmem", "Out of memory"); + + // Load image data + // image data is stored as some number of sca + if ( width < 8 || width >= 32768) { + // Read flat data + for (j=0; j < height; ++j) { + for (i=0; i < width; ++i) { + stbi_uc rgbe[4]; + main_decode_loop: + stbi__getn(s, rgbe, 4); + stbi__hdr_convert(hdr_data + j * width * req_comp + i * req_comp, rgbe, req_comp); + } + } + } else { + // Read RLE-encoded data + scanline = NULL; + + for (j = 0; j < height; ++j) { + c1 = stbi__get8(s); + c2 = stbi__get8(s); + len = stbi__get8(s); + if (c1 != 2 || c2 != 2 || (len & 0x80)) { + // not run-length encoded, so we have to actually use THIS data as a decoded + // pixel (note this can't be a valid pixel--one of RGB must be >= 128) + stbi_uc rgbe[4]; + rgbe[0] = (stbi_uc) c1; + rgbe[1] = (stbi_uc) c2; + rgbe[2] = (stbi_uc) len; + rgbe[3] = (stbi_uc) stbi__get8(s); + stbi__hdr_convert(hdr_data, rgbe, req_comp); + i = 1; + j = 0; + STBI_FREE(scanline); + goto main_decode_loop; // yes, this makes no sense + } + len <<= 8; + len |= stbi__get8(s); + if (len != width) { STBI_FREE(hdr_data); STBI_FREE(scanline); return stbi__errpf("invalid decoded scanline length", "corrupt HDR"); } + if (scanline == NULL) { + scanline = (stbi_uc *) stbi__malloc_mad2(width, 4, 0); + if (!scanline) { + STBI_FREE(hdr_data); + return stbi__errpf("outofmem", "Out of memory"); + } + } + + for (k = 0; k < 4; ++k) { + int nleft; + i = 0; + while ((nleft = width - i) > 0) { + count = stbi__get8(s); + if (count > 128) { + // Run + value = stbi__get8(s); + count -= 128; + if (count > nleft) { STBI_FREE(hdr_data); STBI_FREE(scanline); return stbi__errpf("corrupt", "bad RLE data in HDR"); } + for (z = 0; z < count; ++z) + scanline[i++ * 4 + k] = value; + } else { + // Dump + if (count > nleft) { STBI_FREE(hdr_data); STBI_FREE(scanline); return stbi__errpf("corrupt", "bad RLE data in HDR"); } + for (z = 0; z < count; ++z) + scanline[i++ * 4 + k] = stbi__get8(s); + } + } + } + for (i=0; i < width; ++i) + stbi__hdr_convert(hdr_data+(j*width + i)*req_comp, scanline + i*4, req_comp); + } + if (scanline) + STBI_FREE(scanline); + } + + return hdr_data; +} + +static int stbi__hdr_info(stbi__context *s, int *x, int *y, int *comp) +{ + char buffer[STBI__HDR_BUFLEN]; + char *token; + int valid = 0; + int dummy; + + if (!x) x = &dummy; + if (!y) y = &dummy; + if (!comp) comp = &dummy; + + if (stbi__hdr_test(s) == 0) { + stbi__rewind( s ); + return 0; + } + + for(;;) { + token = stbi__hdr_gettoken(s,buffer); + if (token[0] == 0) break; + if (strcmp(token, "FORMAT=32-bit_rle_rgbe") == 0) valid = 1; + } + + if (!valid) { + stbi__rewind( s ); + return 0; + } + token = stbi__hdr_gettoken(s,buffer); + if (strncmp(token, "-Y ", 3)) { + stbi__rewind( s ); + return 0; + } + token += 3; + *y = (int) strtol(token, &token, 10); + while (*token == ' ') ++token; + if (strncmp(token, "+X ", 3)) { + stbi__rewind( s ); + return 0; + } + token += 3; + *x = (int) strtol(token, NULL, 10); + *comp = 3; + return 1; +} +#endif // STBI_NO_HDR + +#ifndef STBI_NO_BMP +static int stbi__bmp_info(stbi__context *s, int *x, int *y, int *comp) +{ + void *p; + stbi__bmp_data info; + + info.all_a = 255; + p = stbi__bmp_parse_header(s, &info); + stbi__rewind( s ); + if (p == NULL) + return 0; + if (x) *x = s->img_x; + if (y) *y = s->img_y; + if (comp) *comp = info.ma ? 4 : 3; + return 1; +} +#endif + +#ifndef STBI_NO_PSD +static int stbi__psd_info(stbi__context *s, int *x, int *y, int *comp) +{ + int channelCount, dummy, depth; + if (!x) x = &dummy; + if (!y) y = &dummy; + if (!comp) comp = &dummy; + if (stbi__get32be(s) != 0x38425053) { + stbi__rewind( s ); + return 0; + } + if (stbi__get16be(s) != 1) { + stbi__rewind( s ); + return 0; + } + stbi__skip(s, 6); + channelCount = stbi__get16be(s); + if (channelCount < 0 || channelCount > 16) { + stbi__rewind( s ); + return 0; + } + *y = stbi__get32be(s); + *x = stbi__get32be(s); + depth = stbi__get16be(s); + if (depth != 8 && depth != 16) { + stbi__rewind( s ); + return 0; + } + if (stbi__get16be(s) != 3) { + stbi__rewind( s ); + return 0; + } + *comp = 4; + return 1; +} + +static int stbi__psd_is16(stbi__context *s) +{ + int channelCount, depth; + if (stbi__get32be(s) != 0x38425053) { + stbi__rewind( s ); + return 0; + } + if (stbi__get16be(s) != 1) { + stbi__rewind( s ); + return 0; + } + stbi__skip(s, 6); + channelCount = stbi__get16be(s); + if (channelCount < 0 || channelCount > 16) { + stbi__rewind( s ); + return 0; + } + (void) stbi__get32be(s); + (void) stbi__get32be(s); + depth = stbi__get16be(s); + if (depth != 16) { + stbi__rewind( s ); + return 0; + } + return 1; +} +#endif + +#ifndef STBI_NO_PIC +static int stbi__pic_info(stbi__context *s, int *x, int *y, int *comp) +{ + int act_comp=0,num_packets=0,chained,dummy; + stbi__pic_packet packets[10]; + + if (!x) x = &dummy; + if (!y) y = &dummy; + if (!comp) comp = &dummy; + + if (!stbi__pic_is4(s,"\x53\x80\xF6\x34")) { + stbi__rewind(s); + return 0; + } + + stbi__skip(s, 88); + + *x = stbi__get16be(s); + *y = stbi__get16be(s); + if (stbi__at_eof(s)) { + stbi__rewind( s); + return 0; + } + if ( (*x) != 0 && (1 << 28) / (*x) < (*y)) { + stbi__rewind( s ); + return 0; + } + + stbi__skip(s, 8); + + do { + stbi__pic_packet *packet; + + if (num_packets==sizeof(packets)/sizeof(packets[0])) + return 0; + + packet = &packets[num_packets++]; + chained = stbi__get8(s); + packet->size = stbi__get8(s); + packet->type = stbi__get8(s); + packet->channel = stbi__get8(s); + act_comp |= packet->channel; + + if (stbi__at_eof(s)) { + stbi__rewind( s ); + return 0; + } + if (packet->size != 8) { + stbi__rewind( s ); + return 0; + } + } while (chained); + + *comp = (act_comp & 0x10 ? 4 : 3); + + return 1; +} +#endif + +// ************************************************************************************************* +// Portable Gray Map and Portable Pixel Map loader +// by Ken Miller +// +// PGM: http://netpbm.sourceforge.net/doc/pgm.html +// PPM: http://netpbm.sourceforge.net/doc/ppm.html +// +// Known limitations: +// Does not support comments in the header section +// Does not support ASCII image data (formats P2 and P3) +// Does not support 16-bit-per-channel + +#ifndef STBI_NO_PNM + +static int stbi__pnm_test(stbi__context *s) +{ + char p, t; + p = (char) stbi__get8(s); + t = (char) stbi__get8(s); + if (p != 'P' || (t != '5' && t != '6')) { + stbi__rewind( s ); + return 0; + } + return 1; +} + +static void *stbi__pnm_load(stbi__context *s, int *x, int *y, int *comp, int req_comp, stbi__result_info *ri) +{ + stbi_uc *out; + STBI_NOTUSED(ri); + + if (!stbi__pnm_info(s, (int *)&s->img_x, (int *)&s->img_y, (int *)&s->img_n)) + return 0; + + *x = s->img_x; + *y = s->img_y; + if (comp) *comp = s->img_n; + + if (!stbi__mad3sizes_valid(s->img_n, s->img_x, s->img_y, 0)) + return stbi__errpuc("too large", "PNM too large"); + + out = (stbi_uc *) stbi__malloc_mad3(s->img_n, s->img_x, s->img_y, 0); + if (!out) return stbi__errpuc("outofmem", "Out of memory"); + stbi__getn(s, out, s->img_n * s->img_x * s->img_y); + + if (req_comp && req_comp != s->img_n) { + out = stbi__convert_format(out, s->img_n, req_comp, s->img_x, s->img_y); + if (out == NULL) return out; // stbi__convert_format frees input on failure + } + return out; +} + +static int stbi__pnm_isspace(char c) +{ + return c == ' ' || c == '\t' || c == '\n' || c == '\v' || c == '\f' || c == '\r'; +} + +static void stbi__pnm_skip_whitespace(stbi__context *s, char *c) +{ + for (;;) { + while (!stbi__at_eof(s) && stbi__pnm_isspace(*c)) + *c = (char) stbi__get8(s); + + if (stbi__at_eof(s) || *c != '#') + break; + + while (!stbi__at_eof(s) && *c != '\n' && *c != '\r' ) + *c = (char) stbi__get8(s); + } +} + +static int stbi__pnm_isdigit(char c) +{ + return c >= '0' && c <= '9'; +} + +static int stbi__pnm_getinteger(stbi__context *s, char *c) +{ + int value = 0; + + while (!stbi__at_eof(s) && stbi__pnm_isdigit(*c)) { + value = value*10 + (*c - '0'); + *c = (char) stbi__get8(s); + } + + return value; +} + +static int stbi__pnm_info(stbi__context *s, int *x, int *y, int *comp) +{ + int maxv, dummy; + char c, p, t; + + if (!x) x = &dummy; + if (!y) y = &dummy; + if (!comp) comp = &dummy; + + stbi__rewind(s); + + // Get identifier + p = (char) stbi__get8(s); + t = (char) stbi__get8(s); + if (p != 'P' || (t != '5' && t != '6')) { + stbi__rewind(s); + return 0; + } + + *comp = (t == '6') ? 3 : 1; // '5' is 1-component .pgm; '6' is 3-component .ppm + + c = (char) stbi__get8(s); + stbi__pnm_skip_whitespace(s, &c); + + *x = stbi__pnm_getinteger(s, &c); // read width + stbi__pnm_skip_whitespace(s, &c); + + *y = stbi__pnm_getinteger(s, &c); // read height + stbi__pnm_skip_whitespace(s, &c); + + maxv = stbi__pnm_getinteger(s, &c); // read max value + + if (maxv > 255) + return stbi__err("max value > 255", "PPM image not 8-bit"); + else + return 1; +} +#endif + +static int stbi__info_main(stbi__context *s, int *x, int *y, int *comp) +{ + #ifndef STBI_NO_JPEG + if (stbi__jpeg_info(s, x, y, comp)) return 1; + #endif + + #ifndef STBI_NO_PNG + if (stbi__png_info(s, x, y, comp)) return 1; + #endif + + #ifndef STBI_NO_GIF + if (stbi__gif_info(s, x, y, comp)) return 1; + #endif + + #ifndef STBI_NO_BMP + if (stbi__bmp_info(s, x, y, comp)) return 1; + #endif + + #ifndef STBI_NO_PSD + if (stbi__psd_info(s, x, y, comp)) return 1; + #endif + + #ifndef STBI_NO_PIC + if (stbi__pic_info(s, x, y, comp)) return 1; + #endif + + #ifndef STBI_NO_PNM + if (stbi__pnm_info(s, x, y, comp)) return 1; + #endif + + #ifndef STBI_NO_HDR + if (stbi__hdr_info(s, x, y, comp)) return 1; + #endif + + // test tga last because it's a crappy test! + #ifndef STBI_NO_TGA + if (stbi__tga_info(s, x, y, comp)) + return 1; + #endif + return stbi__err("unknown image type", "Image not of any known type, or corrupt"); +} + +static int stbi__is_16_main(stbi__context *s) +{ + #ifndef STBI_NO_PNG + if (stbi__png_is16(s)) return 1; + #endif + + #ifndef STBI_NO_PSD + if (stbi__psd_is16(s)) return 1; + #endif + + return 0; +} + +#ifndef STBI_NO_STDIO +STBIDEF int stbi_info(char const *filename, int *x, int *y, int *comp) +{ + FILE *f = stbi__fopen(filename, "rb"); + int result; + if (!f) return stbi__err("can't fopen", "Unable to open file"); + result = stbi_info_from_file(f, x, y, comp); + fclose(f); + return result; +} + +STBIDEF int stbi_info_from_file(FILE *f, int *x, int *y, int *comp) +{ + int r; + stbi__context s; + long pos = ftell(f); + stbi__start_file(&s, f); + r = stbi__info_main(&s,x,y,comp); + fseek(f,pos,SEEK_SET); + return r; +} + +STBIDEF int stbi_is_16_bit(char const *filename) +{ + FILE *f = stbi__fopen(filename, "rb"); + int result; + if (!f) return stbi__err("can't fopen", "Unable to open file"); + result = stbi_is_16_bit_from_file(f); + fclose(f); + return result; +} + +STBIDEF int stbi_is_16_bit_from_file(FILE *f) +{ + int r; + stbi__context s; + long pos = ftell(f); + stbi__start_file(&s, f); + r = stbi__is_16_main(&s); + fseek(f,pos,SEEK_SET); + return r; +} +#endif // !STBI_NO_STDIO + +STBIDEF int stbi_info_from_memory(stbi_uc const *buffer, int len, int *x, int *y, int *comp) +{ + stbi__context s; + stbi__start_mem(&s,buffer,len); + return stbi__info_main(&s,x,y,comp); +} + +STBIDEF int stbi_info_from_callbacks(stbi_io_callbacks const *c, void *user, int *x, int *y, int *comp) +{ + stbi__context s; + stbi__start_callbacks(&s, (stbi_io_callbacks *) c, user); + return stbi__info_main(&s,x,y,comp); +} + +STBIDEF int stbi_is_16_bit_from_memory(stbi_uc const *buffer, int len) +{ + stbi__context s; + stbi__start_mem(&s,buffer,len); + return stbi__is_16_main(&s); +} + +STBIDEF int stbi_is_16_bit_from_callbacks(stbi_io_callbacks const *c, void *user) +{ + stbi__context s; + stbi__start_callbacks(&s, (stbi_io_callbacks *) c, user); + return stbi__is_16_main(&s); +} + +#endif // STB_IMAGE_IMPLEMENTATION + +/* + revision history: + 2.19 (2018-02-11) fix warning + 2.18 (2018-01-30) fix warnings + 2.17 (2018-01-29) change sbti__shiftsigned to avoid clang -O2 bug + 1-bit BMP + *_is_16_bit api + avoid warnings + 2.16 (2017-07-23) all functions have 16-bit variants; + STBI_NO_STDIO works again; + compilation fixes; + fix rounding in unpremultiply; + optimize vertical flip; + disable raw_len validation; + documentation fixes + 2.15 (2017-03-18) fix png-1,2,4 bug; now all Imagenet JPGs decode; + warning fixes; disable run-time SSE detection on gcc; + uniform handling of optional "return" values; + thread-safe initialization of zlib tables + 2.14 (2017-03-03) remove deprecated STBI_JPEG_OLD; fixes for Imagenet JPGs + 2.13 (2016-11-29) add 16-bit API, only supported for PNG right now + 2.12 (2016-04-02) fix typo in 2.11 PSD fix that caused crashes + 2.11 (2016-04-02) allocate large structures on the stack + remove white matting for transparent PSD + fix reported channel count for PNG & BMP + re-enable SSE2 in non-gcc 64-bit + support RGB-formatted JPEG + read 16-bit PNGs (only as 8-bit) + 2.10 (2016-01-22) avoid warning introduced in 2.09 by STBI_REALLOC_SIZED + 2.09 (2016-01-16) allow comments in PNM files + 16-bit-per-pixel TGA (not bit-per-component) + info() for TGA could break due to .hdr handling + info() for BMP to shares code instead of sloppy parse + can use STBI_REALLOC_SIZED if allocator doesn't support realloc + code cleanup + 2.08 (2015-09-13) fix to 2.07 cleanup, reading RGB PSD as RGBA + 2.07 (2015-09-13) fix compiler warnings + partial animated GIF support + limited 16-bpc PSD support + #ifdef unused functions + bug with < 92 byte PIC,PNM,HDR,TGA + 2.06 (2015-04-19) fix bug where PSD returns wrong '*comp' value + 2.05 (2015-04-19) fix bug in progressive JPEG handling, fix warning + 2.04 (2015-04-15) try to re-enable SIMD on MinGW 64-bit + 2.03 (2015-04-12) extra corruption checking (mmozeiko) + stbi_set_flip_vertically_on_load (nguillemot) + fix NEON support; fix mingw support + 2.02 (2015-01-19) fix incorrect assert, fix warning + 2.01 (2015-01-17) fix various warnings; suppress SIMD on gcc 32-bit without -msse2 + 2.00b (2014-12-25) fix STBI_MALLOC in progressive JPEG + 2.00 (2014-12-25) optimize JPG, including x86 SSE2 & NEON SIMD (ryg) + progressive JPEG (stb) + PGM/PPM support (Ken Miller) + STBI_MALLOC,STBI_REALLOC,STBI_FREE + GIF bugfix -- seemingly never worked + STBI_NO_*, STBI_ONLY_* + 1.48 (2014-12-14) fix incorrectly-named assert() + 1.47 (2014-12-14) 1/2/4-bit PNG support, both direct and paletted (Omar Cornut & stb) + optimize PNG (ryg) + fix bug in interlaced PNG with user-specified channel count (stb) + 1.46 (2014-08-26) + fix broken tRNS chunk (colorkey-style transparency) in non-paletted PNG + 1.45 (2014-08-16) + fix MSVC-ARM internal compiler error by wrapping malloc + 1.44 (2014-08-07) + various warning fixes from Ronny Chevalier + 1.43 (2014-07-15) + fix MSVC-only compiler problem in code changed in 1.42 + 1.42 (2014-07-09) + don't define _CRT_SECURE_NO_WARNINGS (affects user code) + fixes to stbi__cleanup_jpeg path + added STBI_ASSERT to avoid requiring assert.h + 1.41 (2014-06-25) + fix search&replace from 1.36 that messed up comments/error messages + 1.40 (2014-06-22) + fix gcc struct-initialization warning + 1.39 (2014-06-15) + fix to TGA optimization when req_comp != number of components in TGA; + fix to GIF loading because BMP wasn't rewinding (whoops, no GIFs in my test suite) + add support for BMP version 5 (more ignored fields) + 1.38 (2014-06-06) + suppress MSVC warnings on integer casts truncating values + fix accidental rename of 'skip' field of I/O + 1.37 (2014-06-04) + remove duplicate typedef + 1.36 (2014-06-03) + convert to header file single-file library + if de-iphone isn't set, load iphone images color-swapped instead of returning NULL + 1.35 (2014-05-27) + various warnings + fix broken STBI_SIMD path + fix bug where stbi_load_from_file no longer left file pointer in correct place + fix broken non-easy path for 32-bit BMP (possibly never used) + TGA optimization by Arseny Kapoulkine + 1.34 (unknown) + use STBI_NOTUSED in stbi__resample_row_generic(), fix one more leak in tga failure case + 1.33 (2011-07-14) + make stbi_is_hdr work in STBI_NO_HDR (as specified), minor compiler-friendly improvements + 1.32 (2011-07-13) + support for "info" function for all supported filetypes (SpartanJ) + 1.31 (2011-06-20) + a few more leak fixes, bug in PNG handling (SpartanJ) + 1.30 (2011-06-11) + added ability to load files via callbacks to accomidate custom input streams (Ben Wenger) + removed deprecated format-specific test/load functions + removed support for installable file formats (stbi_loader) -- would have been broken for IO callbacks anyway + error cases in bmp and tga give messages and don't leak (Raymond Barbiero, grisha) + fix inefficiency in decoding 32-bit BMP (David Woo) + 1.29 (2010-08-16) + various warning fixes from Aurelien Pocheville + 1.28 (2010-08-01) + fix bug in GIF palette transparency (SpartanJ) + 1.27 (2010-08-01) + cast-to-stbi_uc to fix warnings + 1.26 (2010-07-24) + fix bug in file buffering for PNG reported by SpartanJ + 1.25 (2010-07-17) + refix trans_data warning (Won Chun) + 1.24 (2010-07-12) + perf improvements reading from files on platforms with lock-heavy fgetc() + minor perf improvements for jpeg + deprecated type-specific functions so we'll get feedback if they're needed + attempt to fix trans_data warning (Won Chun) + 1.23 fixed bug in iPhone support + 1.22 (2010-07-10) + removed image *writing* support + stbi_info support from Jetro Lauha + GIF support from Jean-Marc Lienher + iPhone PNG-extensions from James Brown + warning-fixes from Nicolas Schulz and Janez Zemva (i.stbi__err. Janez (U+017D)emva) + 1.21 fix use of 'stbi_uc' in header (reported by jon blow) + 1.20 added support for Softimage PIC, by Tom Seddon + 1.19 bug in interlaced PNG corruption check (found by ryg) + 1.18 (2008-08-02) + fix a threading bug (local mutable static) + 1.17 support interlaced PNG + 1.16 major bugfix - stbi__convert_format converted one too many pixels + 1.15 initialize some fields for thread safety + 1.14 fix threadsafe conversion bug + header-file-only version (#define STBI_HEADER_FILE_ONLY before including) + 1.13 threadsafe + 1.12 const qualifiers in the API + 1.11 Support installable IDCT, colorspace conversion routines + 1.10 Fixes for 64-bit (don't use "unsigned long") + optimized upsampling by Fabian "ryg" Giesen + 1.09 Fix format-conversion for PSD code (bad global variables!) + 1.08 Thatcher Ulrich's PSD code integrated by Nicolas Schulz + 1.07 attempt to fix C++ warning/errors again + 1.06 attempt to fix C++ warning/errors again + 1.05 fix TGA loading to return correct *comp and use good luminance calc + 1.04 default float alpha is 1, not 255; use 'void *' for stbi_image_free + 1.03 bugfixes to STBI_NO_STDIO, STBI_NO_HDR + 1.02 support for (subset of) HDR files, float interface for preferred access to them + 1.01 fix bug: possible bug in handling right-side up bmps... not sure + fix bug: the stbi__bmp_load() and stbi__tga_load() functions didn't work at all + 1.00 interface to zlib that skips zlib header + 0.99 correct handling of alpha in palette + 0.98 TGA loader by lonesock; dynamically add loaders (untested) + 0.97 jpeg errors on too large a file; also catch another malloc failure + 0.96 fix detection of invalid v value - particleman@mollyrocket forum + 0.95 during header scan, seek to markers in case of padding + 0.94 STBI_NO_STDIO to disable stdio usage; rename all #defines the same + 0.93 handle jpegtran output; verbose errors + 0.92 read 4,8,16,24,32-bit BMP files of several formats + 0.91 output 24-bit Windows 3.0 BMP files + 0.90 fix a few more warnings; bump version number to approach 1.0 + 0.61 bugfixes due to Marc LeBlanc, Christopher Lloyd + 0.60 fix compiling as c++ + 0.59 fix warnings: merge Dave Moore's -Wall fixes + 0.58 fix bug: zlib uncompressed mode len/nlen was wrong endian + 0.57 fix bug: jpg last huffman symbol before marker was >9 bits but less than 16 available + 0.56 fix bug: zlib uncompressed mode len vs. nlen + 0.55 fix bug: restart_interval not initialized to 0 + 0.54 allow NULL for 'int *comp' + 0.53 fix bug in png 3->4; speedup png decoding + 0.52 png handles req_comp=3,4 directly; minor cleanup; jpeg comments + 0.51 obey req_comp requests, 1-component jpegs return as 1-component, + on 'test' only check type, not whether we support this variant + 0.50 (2006-11-19) + first released version +*/ + + +/* +------------------------------------------------------------------------------ +This software is available under 2 licenses -- choose whichever you prefer. +------------------------------------------------------------------------------ +ALTERNATIVE A - MIT License +Copyright (c) 2017 Sean Barrett +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +------------------------------------------------------------------------------ +ALTERNATIVE B - Public Domain (www.unlicense.org) +This is free and unencumbered software released into the public domain. +Anyone is free to copy, modify, publish, use, compile, sell, or distribute this +software, either in source code form or as a compiled binary, for any purpose, +commercial or non-commercial, and by any means. +In jurisdictions that recognize copyright laws, the author or authors of this +software dedicate any and all copyright interest in the software to the public +domain. We make this dedication for the benefit of the public at large and to +the detriment of our heirs and successors. We intend this dedication to be an +overt act of relinquishment in perpetuity of all present and future rights to +this software under copyright law. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +------------------------------------------------------------------------------ +*/ \ No newline at end of file diff --git a/C++/Floyd-Steinberg diffusion/stb_image_write.h b/C++/Floyd-Steinberg diffusion/stb_image_write.h new file mode 100644 index 0000000..9944b4a --- /dev/null +++ b/C++/Floyd-Steinberg diffusion/stb_image_write.h @@ -0,0 +1,1568 @@ +/* stb_image_write - v1.09 - public domain - http://nothings.org/stb/stb_image_write.h + writes out PNG/BMP/TGA/JPEG/HDR images to C stdio - Sean Barrett 2010-2015 + no warranty implied; use at your own risk + + Before #including, + + #define STB_IMAGE_WRITE_IMPLEMENTATION + + in the file that you want to have the implementation. + + Will probably not work correctly with strict-aliasing optimizations. + + If using a modern Microsoft Compiler, non-safe versions of CRT calls may cause + compilation warnings or even errors. To avoid this, also before #including, + + #define STBI_MSC_SECURE_CRT + +ABOUT: + + This header file is a library for writing images to C stdio. It could be + adapted to write to memory or a general streaming interface; let me know. + + The PNG output is not optimal; it is 20-50% larger than the file + written by a decent optimizing implementation; though providing a custom + zlib compress function (see STBIW_ZLIB_COMPRESS) can mitigate that. + This library is designed for source code compactness and simplicity, + not optimal image file size or run-time performance. + +BUILDING: + + You can #define STBIW_ASSERT(x) before the #include to avoid using assert.h. + You can #define STBIW_MALLOC(), STBIW_REALLOC(), and STBIW_FREE() to replace + malloc,realloc,free. + You can #define STBIW_MEMMOVE() to replace memmove() + You can #define STBIW_ZLIB_COMPRESS to use a custom zlib-style compress function + for PNG compression (instead of the builtin one), it must have the following signature: + unsigned char * my_compress(unsigned char *data, int data_len, int *out_len, int quality); + The returned data will be freed with STBIW_FREE() (free() by default), + so it must be heap allocated with STBIW_MALLOC() (malloc() by default), + +USAGE: + + There are five functions, one for each image file format: + + int stbi_write_png(char const *filename, int w, int h, int comp, const void *data, int stride_in_bytes); + int stbi_write_bmp(char const *filename, int w, int h, int comp, const void *data); + int stbi_write_tga(char const *filename, int w, int h, int comp, const void *data); + int stbi_write_jpg(char const *filename, int w, int h, int comp, const void *data, int quality); + int stbi_write_hdr(char const *filename, int w, int h, int comp, const float *data); + + void stbi_flip_vertically_on_write(int flag); // flag is non-zero to flip data vertically + + There are also five equivalent functions that use an arbitrary write function. You are + expected to open/close your file-equivalent before and after calling these: + + int stbi_write_png_to_func(stbi_write_func *func, void *context, int w, int h, int comp, const void *data, int stride_in_bytes); + int stbi_write_bmp_to_func(stbi_write_func *func, void *context, int w, int h, int comp, const void *data); + int stbi_write_tga_to_func(stbi_write_func *func, void *context, int w, int h, int comp, const void *data); + int stbi_write_hdr_to_func(stbi_write_func *func, void *context, int w, int h, int comp, const float *data); + int stbi_write_jpg_to_func(stbi_write_func *func, void *context, int x, int y, int comp, const void *data, int quality); + + where the callback is: + void stbi_write_func(void *context, void *data, int size); + + You can configure it with these global variables: + int stbi_write_tga_with_rle; // defaults to true; set to 0 to disable RLE + int stbi_write_png_compression_level; // defaults to 8; set to higher for more compression + int stbi_write_force_png_filter; // defaults to -1; set to 0..5 to force a filter mode + + + You can define STBI_WRITE_NO_STDIO to disable the file variant of these + functions, so the library will not use stdio.h at all. However, this will + also disable HDR writing, because it requires stdio for formatted output. + + Each function returns 0 on failure and non-0 on success. + + The functions create an image file defined by the parameters. The image + is a rectangle of pixels stored from left-to-right, top-to-bottom. + Each pixel contains 'comp' channels of data stored interleaved with 8-bits + per channel, in the following order: 1=Y, 2=YA, 3=RGB, 4=RGBA. (Y is + monochrome color.) The rectangle is 'w' pixels wide and 'h' pixels tall. + The *data pointer points to the first byte of the top-left-most pixel. + For PNG, "stride_in_bytes" is the distance in bytes from the first byte of + a row of pixels to the first byte of the next row of pixels. + + PNG creates output files with the same number of components as the input. + The BMP format expands Y to RGB in the file format and does not + output alpha. + + PNG supports writing rectangles of data even when the bytes storing rows of + data are not consecutive in memory (e.g. sub-rectangles of a larger image), + by supplying the stride between the beginning of adjacent rows. The other + formats do not. (Thus you cannot write a native-format BMP through the BMP + writer, both because it is in BGR order and because it may have padding + at the end of the line.) + + PNG allows you to set the deflate compression level by setting the global + variable 'stbi_write_png_compression_level' (it defaults to 8). + + HDR expects linear float data. Since the format is always 32-bit rgb(e) + data, alpha (if provided) is discarded, and for monochrome data it is + replicated across all three channels. + + TGA supports RLE or non-RLE compressed data. To use non-RLE-compressed + data, set the global variable 'stbi_write_tga_with_rle' to 0. + + JPEG does ignore alpha channels in input data; quality is between 1 and 100. + Higher quality looks better but results in a bigger image. + JPEG baseline (no JPEG progressive). + +CREDITS: + + + Sean Barrett - PNG/BMP/TGA + Baldur Karlsson - HDR + Jean-Sebastien Guay - TGA monochrome + Tim Kelsey - misc enhancements + Alan Hickman - TGA RLE + Emmanuel Julien - initial file IO callback implementation + Jon Olick - original jo_jpeg.cpp code + Daniel Gibson - integrate JPEG, allow external zlib + Aarni Koskela - allow choosing PNG filter + + bugfixes: + github:Chribba + Guillaume Chereau + github:jry2 + github:romigrou + Sergio Gonzalez + Jonas Karlsson + Filip Wasil + Thatcher Ulrich + github:poppolopoppo + Patrick Boettcher + github:xeekworx + Cap Petschulat + Simon Rodriguez + Ivan Tikhonov + github:ignotion + Adam Schackart + +LICENSE + + See end of file for license information. + +*/ + +#ifndef INCLUDE_STB_IMAGE_WRITE_H +#define INCLUDE_STB_IMAGE_WRITE_H + +// if STB_IMAGE_WRITE_STATIC causes problems, try defining STBIWDEF to 'inline' or 'static inline' +#ifndef STBIWDEF +#ifdef STB_IMAGE_WRITE_STATIC +#define STBIWDEF static +#else +#ifdef __cplusplus +#define STBIWDEF extern "C" +#else +#define STBIWDEF extern +#endif +#endif +#endif + +#ifndef STB_IMAGE_WRITE_STATIC // C++ forbids static forward declarations +extern int stbi_write_tga_with_rle; +extern int stbi_write_png_compression_level; +extern int stbi_write_force_png_filter; +#endif + +#ifndef STBI_WRITE_NO_STDIO +STBIWDEF int stbi_write_png(char const *filename, int w, int h, int comp, const void *data, int stride_in_bytes); +STBIWDEF int stbi_write_bmp(char const *filename, int w, int h, int comp, const void *data); +STBIWDEF int stbi_write_tga(char const *filename, int w, int h, int comp, const void *data); +STBIWDEF int stbi_write_hdr(char const *filename, int w, int h, int comp, const float *data); +STBIWDEF int stbi_write_jpg(char const *filename, int x, int y, int comp, const void *data, int quality); +#endif + +typedef void stbi_write_func(void *context, void *data, int size); + +STBIWDEF int stbi_write_png_to_func(stbi_write_func *func, void *context, int w, int h, int comp, const void *data, int stride_in_bytes); +STBIWDEF int stbi_write_bmp_to_func(stbi_write_func *func, void *context, int w, int h, int comp, const void *data); +STBIWDEF int stbi_write_tga_to_func(stbi_write_func *func, void *context, int w, int h, int comp, const void *data); +STBIWDEF int stbi_write_hdr_to_func(stbi_write_func *func, void *context, int w, int h, int comp, const float *data); +STBIWDEF int stbi_write_jpg_to_func(stbi_write_func *func, void *context, int x, int y, int comp, const void *data, int quality); + +STBIWDEF void stbi_flip_vertically_on_write(int flip_boolean); + +#endif//INCLUDE_STB_IMAGE_WRITE_H + +#ifdef STB_IMAGE_WRITE_IMPLEMENTATION + +#ifdef _WIN32 + #ifndef _CRT_SECURE_NO_WARNINGS + #define _CRT_SECURE_NO_WARNINGS + #endif + #ifndef _CRT_NONSTDC_NO_DEPRECATE + #define _CRT_NONSTDC_NO_DEPRECATE + #endif +#endif + +#ifndef STBI_WRITE_NO_STDIO +#include +#endif // STBI_WRITE_NO_STDIO + +#include +#include +#include +#include + +#if defined(STBIW_MALLOC) && defined(STBIW_FREE) && (defined(STBIW_REALLOC) || defined(STBIW_REALLOC_SIZED)) +// ok +#elif !defined(STBIW_MALLOC) && !defined(STBIW_FREE) && !defined(STBIW_REALLOC) && !defined(STBIW_REALLOC_SIZED) +// ok +#else +#error "Must define all or none of STBIW_MALLOC, STBIW_FREE, and STBIW_REALLOC (or STBIW_REALLOC_SIZED)." +#endif + +#ifndef STBIW_MALLOC +#define STBIW_MALLOC(sz) malloc(sz) +#define STBIW_REALLOC(p,newsz) realloc(p,newsz) +#define STBIW_FREE(p) free(p) +#endif + +#ifndef STBIW_REALLOC_SIZED +#define STBIW_REALLOC_SIZED(p,oldsz,newsz) STBIW_REALLOC(p,newsz) +#endif + + +#ifndef STBIW_MEMMOVE +#define STBIW_MEMMOVE(a,b,sz) memmove(a,b,sz) +#endif + + +#ifndef STBIW_ASSERT +#include +#define STBIW_ASSERT(x) assert(x) +#endif + +#define STBIW_UCHAR(x) (unsigned char) ((x) & 0xff) + +#ifdef STB_IMAGE_WRITE_STATIC +static int stbi__flip_vertically_on_write=0; +static int stbi_write_png_compression_level = 8; +static int stbi_write_tga_with_rle = 1; +static int stbi_write_force_png_filter = -1; +#else +int stbi_write_png_compression_level = 8; +int stbi__flip_vertically_on_write=0; +int stbi_write_tga_with_rle = 1; +int stbi_write_force_png_filter = -1; +#endif + +STBIWDEF void stbi_flip_vertically_on_write(int flag) +{ + stbi__flip_vertically_on_write = flag; +} + +typedef struct +{ + stbi_write_func *func; + void *context; +} stbi__write_context; + +// initialize a callback-based context +static void stbi__start_write_callbacks(stbi__write_context *s, stbi_write_func *c, void *context) +{ + s->func = c; + s->context = context; +} + +#ifndef STBI_WRITE_NO_STDIO + +static void stbi__stdio_write(void *context, void *data, int size) +{ + fwrite(data,1,size,(FILE*) context); +} + +static int stbi__start_write_file(stbi__write_context *s, const char *filename) +{ + FILE *f; +#ifdef STBI_MSC_SECURE_CRT + if (fopen_s(&f, filename, "wb")) + f = NULL; +#else + f = fopen(filename, "wb"); +#endif + stbi__start_write_callbacks(s, stbi__stdio_write, (void *) f); + return f != NULL; +} + +static void stbi__end_write_file(stbi__write_context *s) +{ + fclose((FILE *)s->context); +} + +#endif // !STBI_WRITE_NO_STDIO + +typedef unsigned int stbiw_uint32; +typedef int stb_image_write_test[sizeof(stbiw_uint32)==4 ? 1 : -1]; + +static void stbiw__writefv(stbi__write_context *s, const char *fmt, va_list v) +{ + while (*fmt) { + switch (*fmt++) { + case ' ': break; + case '1': { unsigned char x = STBIW_UCHAR(va_arg(v, int)); + s->func(s->context,&x,1); + break; } + case '2': { int x = va_arg(v,int); + unsigned char b[2]; + b[0] = STBIW_UCHAR(x); + b[1] = STBIW_UCHAR(x>>8); + s->func(s->context,b,2); + break; } + case '4': { stbiw_uint32 x = va_arg(v,int); + unsigned char b[4]; + b[0]=STBIW_UCHAR(x); + b[1]=STBIW_UCHAR(x>>8); + b[2]=STBIW_UCHAR(x>>16); + b[3]=STBIW_UCHAR(x>>24); + s->func(s->context,b,4); + break; } + default: + STBIW_ASSERT(0); + return; + } + } +} + +static void stbiw__writef(stbi__write_context *s, const char *fmt, ...) +{ + va_list v; + va_start(v, fmt); + stbiw__writefv(s, fmt, v); + va_end(v); +} + +static void stbiw__putc(stbi__write_context *s, unsigned char c) +{ + s->func(s->context, &c, 1); +} + +static void stbiw__write3(stbi__write_context *s, unsigned char a, unsigned char b, unsigned char c) +{ + unsigned char arr[3]; + arr[0] = a, arr[1] = b, arr[2] = c; + s->func(s->context, arr, 3); +} + +static void stbiw__write_pixel(stbi__write_context *s, int rgb_dir, int comp, int write_alpha, int expand_mono, unsigned char *d) +{ + unsigned char bg[3] = { 255, 0, 255}, px[3]; + int k; + + if (write_alpha < 0) + s->func(s->context, &d[comp - 1], 1); + + switch (comp) { + case 2: // 2 pixels = mono + alpha, alpha is written separately, so same as 1-channel case + case 1: + if (expand_mono) + stbiw__write3(s, d[0], d[0], d[0]); // monochrome bmp + else + s->func(s->context, d, 1); // monochrome TGA + break; + case 4: + if (!write_alpha) { + // composite against pink background + for (k = 0; k < 3; ++k) + px[k] = bg[k] + ((d[k] - bg[k]) * d[3]) / 255; + stbiw__write3(s, px[1 - rgb_dir], px[1], px[1 + rgb_dir]); + break; + } + /* FALLTHROUGH */ + case 3: + stbiw__write3(s, d[1 - rgb_dir], d[1], d[1 + rgb_dir]); + break; + } + if (write_alpha > 0) + s->func(s->context, &d[comp - 1], 1); +} + +static void stbiw__write_pixels(stbi__write_context *s, int rgb_dir, int vdir, int x, int y, int comp, void *data, int write_alpha, int scanline_pad, int expand_mono) +{ + stbiw_uint32 zero = 0; + int i,j, j_end; + + if (y <= 0) + return; + + if (stbi__flip_vertically_on_write) + vdir *= -1; + + if (vdir < 0) + j_end = -1, j = y-1; + else + j_end = y, j = 0; + + for (; j != j_end; j += vdir) { + for (i=0; i < x; ++i) { + unsigned char *d = (unsigned char *) data + (j*x+i)*comp; + stbiw__write_pixel(s, rgb_dir, comp, write_alpha, expand_mono, d); + } + s->func(s->context, &zero, scanline_pad); + } +} + +static int stbiw__outfile(stbi__write_context *s, int rgb_dir, int vdir, int x, int y, int comp, int expand_mono, void *data, int alpha, int pad, const char *fmt, ...) +{ + if (y < 0 || x < 0) { + return 0; + } else { + va_list v; + va_start(v, fmt); + stbiw__writefv(s, fmt, v); + va_end(v); + stbiw__write_pixels(s,rgb_dir,vdir,x,y,comp,data,alpha,pad, expand_mono); + return 1; + } +} + +static int stbi_write_bmp_core(stbi__write_context *s, int x, int y, int comp, const void *data) +{ + int pad = (-x*3) & 3; + return stbiw__outfile(s,-1,-1,x,y,comp,1,(void *) data,0,pad, + "11 4 22 4" "4 44 22 444444", + 'B', 'M', 14+40+(x*3+pad)*y, 0,0, 14+40, // file header + 40, x,y, 1,24, 0,0,0,0,0,0); // bitmap header +} + +STBIWDEF int stbi_write_bmp_to_func(stbi_write_func *func, void *context, int x, int y, int comp, const void *data) +{ + stbi__write_context s; + stbi__start_write_callbacks(&s, func, context); + return stbi_write_bmp_core(&s, x, y, comp, data); +} + +#ifndef STBI_WRITE_NO_STDIO +STBIWDEF int stbi_write_bmp(char const *filename, int x, int y, int comp, const void *data) +{ + stbi__write_context s; + if (stbi__start_write_file(&s,filename)) { + int r = stbi_write_bmp_core(&s, x, y, comp, data); + stbi__end_write_file(&s); + return r; + } else + return 0; +} +#endif //!STBI_WRITE_NO_STDIO + +static int stbi_write_tga_core(stbi__write_context *s, int x, int y, int comp, void *data) +{ + int has_alpha = (comp == 2 || comp == 4); + int colorbytes = has_alpha ? comp-1 : comp; + int format = colorbytes < 2 ? 3 : 2; // 3 color channels (RGB/RGBA) = 2, 1 color channel (Y/YA) = 3 + + if (y < 0 || x < 0) + return 0; + + if (!stbi_write_tga_with_rle) { + return stbiw__outfile(s, -1, -1, x, y, comp, 0, (void *) data, has_alpha, 0, + "111 221 2222 11", 0, 0, format, 0, 0, 0, 0, 0, x, y, (colorbytes + has_alpha) * 8, has_alpha * 8); + } else { + int i,j,k; + int jend, jdir; + + stbiw__writef(s, "111 221 2222 11", 0,0,format+8, 0,0,0, 0,0,x,y, (colorbytes + has_alpha) * 8, has_alpha * 8); + + if (stbi__flip_vertically_on_write) { + j = 0; + jend = y; + jdir = 1; + } else { + j = y-1; + jend = -1; + jdir = -1; + } + for (; j != jend; j += jdir) { + unsigned char *row = (unsigned char *) data + j * x * comp; + int len; + + for (i = 0; i < x; i += len) { + unsigned char *begin = row + i * comp; + int diff = 1; + len = 1; + + if (i < x - 1) { + ++len; + diff = memcmp(begin, row + (i + 1) * comp, comp); + if (diff) { + const unsigned char *prev = begin; + for (k = i + 2; k < x && len < 128; ++k) { + if (memcmp(prev, row + k * comp, comp)) { + prev += comp; + ++len; + } else { + --len; + break; + } + } + } else { + for (k = i + 2; k < x && len < 128; ++k) { + if (!memcmp(begin, row + k * comp, comp)) { + ++len; + } else { + break; + } + } + } + } + + if (diff) { + unsigned char header = STBIW_UCHAR(len - 1); + s->func(s->context, &header, 1); + for (k = 0; k < len; ++k) { + stbiw__write_pixel(s, -1, comp, has_alpha, 0, begin + k * comp); + } + } else { + unsigned char header = STBIW_UCHAR(len - 129); + s->func(s->context, &header, 1); + stbiw__write_pixel(s, -1, comp, has_alpha, 0, begin); + } + } + } + } + return 1; +} + +STBIWDEF int stbi_write_tga_to_func(stbi_write_func *func, void *context, int x, int y, int comp, const void *data) +{ + stbi__write_context s; + stbi__start_write_callbacks(&s, func, context); + return stbi_write_tga_core(&s, x, y, comp, (void *) data); +} + +#ifndef STBI_WRITE_NO_STDIO +STBIWDEF int stbi_write_tga(char const *filename, int x, int y, int comp, const void *data) +{ + stbi__write_context s; + if (stbi__start_write_file(&s,filename)) { + int r = stbi_write_tga_core(&s, x, y, comp, (void *) data); + stbi__end_write_file(&s); + return r; + } else + return 0; +} +#endif + +// ************************************************************************************************* +// Radiance RGBE HDR writer +// by Baldur Karlsson + +#define stbiw__max(a, b) ((a) > (b) ? (a) : (b)) + +void stbiw__linear_to_rgbe(unsigned char *rgbe, float *linear) +{ + int exponent; + float maxcomp = stbiw__max(linear[0], stbiw__max(linear[1], linear[2])); + + if (maxcomp < 1e-32f) { + rgbe[0] = rgbe[1] = rgbe[2] = rgbe[3] = 0; + } else { + float normalize = (float) frexp(maxcomp, &exponent) * 256.0f/maxcomp; + + rgbe[0] = (unsigned char)(linear[0] * normalize); + rgbe[1] = (unsigned char)(linear[1] * normalize); + rgbe[2] = (unsigned char)(linear[2] * normalize); + rgbe[3] = (unsigned char)(exponent + 128); + } +} + +void stbiw__write_run_data(stbi__write_context *s, int length, unsigned char databyte) +{ + unsigned char lengthbyte = STBIW_UCHAR(length+128); + STBIW_ASSERT(length+128 <= 255); + s->func(s->context, &lengthbyte, 1); + s->func(s->context, &databyte, 1); +} + +void stbiw__write_dump_data(stbi__write_context *s, int length, unsigned char *data) +{ + unsigned char lengthbyte = STBIW_UCHAR(length); + STBIW_ASSERT(length <= 128); // inconsistent with spec but consistent with official code + s->func(s->context, &lengthbyte, 1); + s->func(s->context, data, length); +} + +void stbiw__write_hdr_scanline(stbi__write_context *s, int width, int ncomp, unsigned char *scratch, float *scanline) +{ + unsigned char scanlineheader[4] = { 2, 2, 0, 0 }; + unsigned char rgbe[4]; + float linear[3]; + int x; + + scanlineheader[2] = (width&0xff00)>>8; + scanlineheader[3] = (width&0x00ff); + + /* skip RLE for images too small or large */ + if (width < 8 || width >= 32768) { + for (x=0; x < width; x++) { + switch (ncomp) { + case 4: /* fallthrough */ + case 3: linear[2] = scanline[x*ncomp + 2]; + linear[1] = scanline[x*ncomp + 1]; + linear[0] = scanline[x*ncomp + 0]; + break; + default: + linear[0] = linear[1] = linear[2] = scanline[x*ncomp + 0]; + break; + } + stbiw__linear_to_rgbe(rgbe, linear); + s->func(s->context, rgbe, 4); + } + } else { + int c,r; + /* encode into scratch buffer */ + for (x=0; x < width; x++) { + switch(ncomp) { + case 4: /* fallthrough */ + case 3: linear[2] = scanline[x*ncomp + 2]; + linear[1] = scanline[x*ncomp + 1]; + linear[0] = scanline[x*ncomp + 0]; + break; + default: + linear[0] = linear[1] = linear[2] = scanline[x*ncomp + 0]; + break; + } + stbiw__linear_to_rgbe(rgbe, linear); + scratch[x + width*0] = rgbe[0]; + scratch[x + width*1] = rgbe[1]; + scratch[x + width*2] = rgbe[2]; + scratch[x + width*3] = rgbe[3]; + } + + s->func(s->context, scanlineheader, 4); + + /* RLE each component separately */ + for (c=0; c < 4; c++) { + unsigned char *comp = &scratch[width*c]; + + x = 0; + while (x < width) { + // find first run + r = x; + while (r+2 < width) { + if (comp[r] == comp[r+1] && comp[r] == comp[r+2]) + break; + ++r; + } + if (r+2 >= width) + r = width; + // dump up to first run + while (x < r) { + int len = r-x; + if (len > 128) len = 128; + stbiw__write_dump_data(s, len, &comp[x]); + x += len; + } + // if there's a run, output it + if (r+2 < width) { // same test as what we break out of in search loop, so only true if we break'd + // find next byte after run + while (r < width && comp[r] == comp[x]) + ++r; + // output run up to r + while (x < r) { + int len = r-x; + if (len > 127) len = 127; + stbiw__write_run_data(s, len, comp[x]); + x += len; + } + } + } + } + } +} + +static int stbi_write_hdr_core(stbi__write_context *s, int x, int y, int comp, float *data) +{ + if (y <= 0 || x <= 0 || data == NULL) + return 0; + else { + // Each component is stored separately. Allocate scratch space for full output scanline. + unsigned char *scratch = (unsigned char *) STBIW_MALLOC(x*4); + int i, len; + char buffer[128]; + char header[] = "#?RADIANCE\n# Written by stb_image_write.h\nFORMAT=32-bit_rle_rgbe\n"; + s->func(s->context, header, sizeof(header)-1); + +#ifdef STBI_MSC_SECURE_CRT + len = sprintf_s(buffer, "EXPOSURE= 1.0000000000000\n\n-Y %d +X %d\n", y, x); +#else + len = sprintf(buffer, "EXPOSURE= 1.0000000000000\n\n-Y %d +X %d\n", y, x); +#endif + s->func(s->context, buffer, len); + + for(i=0; i < y; i++) + stbiw__write_hdr_scanline(s, x, comp, scratch, data + comp*x*(stbi__flip_vertically_on_write ? y-1-i : i)*x); + STBIW_FREE(scratch); + return 1; + } +} + +STBIWDEF int stbi_write_hdr_to_func(stbi_write_func *func, void *context, int x, int y, int comp, const float *data) +{ + stbi__write_context s; + stbi__start_write_callbacks(&s, func, context); + return stbi_write_hdr_core(&s, x, y, comp, (float *) data); +} + +#ifndef STBI_WRITE_NO_STDIO +STBIWDEF int stbi_write_hdr(char const *filename, int x, int y, int comp, const float *data) +{ + stbi__write_context s; + if (stbi__start_write_file(&s,filename)) { + int r = stbi_write_hdr_core(&s, x, y, comp, (float *) data); + stbi__end_write_file(&s); + return r; + } else + return 0; +} +#endif // STBI_WRITE_NO_STDIO + + +////////////////////////////////////////////////////////////////////////////// +// +// PNG writer +// + +#ifndef STBIW_ZLIB_COMPRESS +// stretchy buffer; stbiw__sbpush() == vector<>::push_back() -- stbiw__sbcount() == vector<>::size() +#define stbiw__sbraw(a) ((int *) (a) - 2) +#define stbiw__sbm(a) stbiw__sbraw(a)[0] +#define stbiw__sbn(a) stbiw__sbraw(a)[1] + +#define stbiw__sbneedgrow(a,n) ((a)==0 || stbiw__sbn(a)+n >= stbiw__sbm(a)) +#define stbiw__sbmaybegrow(a,n) (stbiw__sbneedgrow(a,(n)) ? stbiw__sbgrow(a,n) : 0) +#define stbiw__sbgrow(a,n) stbiw__sbgrowf((void **) &(a), (n), sizeof(*(a))) + +#define stbiw__sbpush(a, v) (stbiw__sbmaybegrow(a,1), (a)[stbiw__sbn(a)++] = (v)) +#define stbiw__sbcount(a) ((a) ? stbiw__sbn(a) : 0) +#define stbiw__sbfree(a) ((a) ? STBIW_FREE(stbiw__sbraw(a)),0 : 0) + +static void *stbiw__sbgrowf(void **arr, int increment, int itemsize) +{ + int m = *arr ? 2*stbiw__sbm(*arr)+increment : increment+1; + void *p = STBIW_REALLOC_SIZED(*arr ? stbiw__sbraw(*arr) : 0, *arr ? (stbiw__sbm(*arr)*itemsize + sizeof(int)*2) : 0, itemsize * m + sizeof(int)*2); + STBIW_ASSERT(p); + if (p) { + if (!*arr) ((int *) p)[1] = 0; + *arr = (void *) ((int *) p + 2); + stbiw__sbm(*arr) = m; + } + return *arr; +} + +static unsigned char *stbiw__zlib_flushf(unsigned char *data, unsigned int *bitbuffer, int *bitcount) +{ + while (*bitcount >= 8) { + stbiw__sbpush(data, STBIW_UCHAR(*bitbuffer)); + *bitbuffer >>= 8; + *bitcount -= 8; + } + return data; +} + +static int stbiw__zlib_bitrev(int code, int codebits) +{ + int res=0; + while (codebits--) { + res = (res << 1) | (code & 1); + code >>= 1; + } + return res; +} + +static unsigned int stbiw__zlib_countm(unsigned char *a, unsigned char *b, int limit) +{ + int i; + for (i=0; i < limit && i < 258; ++i) + if (a[i] != b[i]) break; + return i; +} + +static unsigned int stbiw__zhash(unsigned char *data) +{ + stbiw_uint32 hash = data[0] + (data[1] << 8) + (data[2] << 16); + hash ^= hash << 3; + hash += hash >> 5; + hash ^= hash << 4; + hash += hash >> 17; + hash ^= hash << 25; + hash += hash >> 6; + return hash; +} + +#define stbiw__zlib_flush() (out = stbiw__zlib_flushf(out, &bitbuf, &bitcount)) +#define stbiw__zlib_add(code,codebits) \ + (bitbuf |= (code) << bitcount, bitcount += (codebits), stbiw__zlib_flush()) +#define stbiw__zlib_huffa(b,c) stbiw__zlib_add(stbiw__zlib_bitrev(b,c),c) +// default huffman tables +#define stbiw__zlib_huff1(n) stbiw__zlib_huffa(0x30 + (n), 8) +#define stbiw__zlib_huff2(n) stbiw__zlib_huffa(0x190 + (n)-144, 9) +#define stbiw__zlib_huff3(n) stbiw__zlib_huffa(0 + (n)-256,7) +#define stbiw__zlib_huff4(n) stbiw__zlib_huffa(0xc0 + (n)-280,8) +#define stbiw__zlib_huff(n) ((n) <= 143 ? stbiw__zlib_huff1(n) : (n) <= 255 ? stbiw__zlib_huff2(n) : (n) <= 279 ? stbiw__zlib_huff3(n) : stbiw__zlib_huff4(n)) +#define stbiw__zlib_huffb(n) ((n) <= 143 ? stbiw__zlib_huff1(n) : stbiw__zlib_huff2(n)) + +#define stbiw__ZHASH 16384 + +#endif // STBIW_ZLIB_COMPRESS + +unsigned char * stbi_zlib_compress(unsigned char *data, int data_len, int *out_len, int quality) +{ +#ifdef STBIW_ZLIB_COMPRESS + // user provided a zlib compress implementation, use that + return STBIW_ZLIB_COMPRESS(data, data_len, out_len, quality); +#else // use builtin + static unsigned short lengthc[] = { 3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258, 259 }; + static unsigned char lengtheb[]= { 0,0,0,0,0,0,0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 0 }; + static unsigned short distc[] = { 1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577, 32768 }; + static unsigned char disteb[] = { 0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13 }; + unsigned int bitbuf=0; + int i,j, bitcount=0; + unsigned char *out = NULL; + unsigned char ***hash_table = (unsigned char***) STBIW_MALLOC(stbiw__ZHASH * sizeof(char**)); + if (hash_table == NULL) + return NULL; + if (quality < 5) quality = 5; + + stbiw__sbpush(out, 0x78); // DEFLATE 32K window + stbiw__sbpush(out, 0x5e); // FLEVEL = 1 + stbiw__zlib_add(1,1); // BFINAL = 1 + stbiw__zlib_add(1,2); // BTYPE = 1 -- fixed huffman + + for (i=0; i < stbiw__ZHASH; ++i) + hash_table[i] = NULL; + + i=0; + while (i < data_len-3) { + // hash next 3 bytes of data to be compressed + int h = stbiw__zhash(data+i)&(stbiw__ZHASH-1), best=3; + unsigned char *bestloc = 0; + unsigned char **hlist = hash_table[h]; + int n = stbiw__sbcount(hlist); + for (j=0; j < n; ++j) { + if (hlist[j]-data > i-32768) { // if entry lies within window + int d = stbiw__zlib_countm(hlist[j], data+i, data_len-i); + if (d >= best) best=d,bestloc=hlist[j]; + } + } + // when hash table entry is too long, delete half the entries + if (hash_table[h] && stbiw__sbn(hash_table[h]) == 2*quality) { + STBIW_MEMMOVE(hash_table[h], hash_table[h]+quality, sizeof(hash_table[h][0])*quality); + stbiw__sbn(hash_table[h]) = quality; + } + stbiw__sbpush(hash_table[h],data+i); + + if (bestloc) { + // "lazy matching" - check match at *next* byte, and if it's better, do cur byte as literal + h = stbiw__zhash(data+i+1)&(stbiw__ZHASH-1); + hlist = hash_table[h]; + n = stbiw__sbcount(hlist); + for (j=0; j < n; ++j) { + if (hlist[j]-data > i-32767) { + int e = stbiw__zlib_countm(hlist[j], data+i+1, data_len-i-1); + if (e > best) { // if next match is better, bail on current match + bestloc = NULL; + break; + } + } + } + } + + if (bestloc) { + int d = (int) (data+i - bestloc); // distance back + STBIW_ASSERT(d <= 32767 && best <= 258); + for (j=0; best > lengthc[j+1]-1; ++j); + stbiw__zlib_huff(j+257); + if (lengtheb[j]) stbiw__zlib_add(best - lengthc[j], lengtheb[j]); + for (j=0; d > distc[j+1]-1; ++j); + stbiw__zlib_add(stbiw__zlib_bitrev(j,5),5); + if (disteb[j]) stbiw__zlib_add(d - distc[j], disteb[j]); + i += best; + } else { + stbiw__zlib_huffb(data[i]); + ++i; + } + } + // write out final bytes + for (;i < data_len; ++i) + stbiw__zlib_huffb(data[i]); + stbiw__zlib_huff(256); // end of block + // pad with 0 bits to byte boundary + while (bitcount) + stbiw__zlib_add(0,1); + + for (i=0; i < stbiw__ZHASH; ++i) + (void) stbiw__sbfree(hash_table[i]); + STBIW_FREE(hash_table); + + { + // compute adler32 on input + unsigned int s1=1, s2=0; + int blocklen = (int) (data_len % 5552); + j=0; + while (j < data_len) { + for (i=0; i < blocklen; ++i) s1 += data[j+i], s2 += s1; + s1 %= 65521, s2 %= 65521; + j += blocklen; + blocklen = 5552; + } + stbiw__sbpush(out, STBIW_UCHAR(s2 >> 8)); + stbiw__sbpush(out, STBIW_UCHAR(s2)); + stbiw__sbpush(out, STBIW_UCHAR(s1 >> 8)); + stbiw__sbpush(out, STBIW_UCHAR(s1)); + } + *out_len = stbiw__sbn(out); + // make returned pointer freeable + STBIW_MEMMOVE(stbiw__sbraw(out), out, *out_len); + return (unsigned char *) stbiw__sbraw(out); +#endif // STBIW_ZLIB_COMPRESS +} + +static unsigned int stbiw__crc32(unsigned char *buffer, int len) +{ + static unsigned int crc_table[256] = + { + 0x00000000, 0x77073096, 0xEE0E612C, 0x990951BA, 0x076DC419, 0x706AF48F, 0xE963A535, 0x9E6495A3, + 0x0eDB8832, 0x79DCB8A4, 0xE0D5E91E, 0x97D2D988, 0x09B64C2B, 0x7EB17CBD, 0xE7B82D07, 0x90BF1D91, + 0x1DB71064, 0x6AB020F2, 0xF3B97148, 0x84BE41DE, 0x1ADAD47D, 0x6DDDE4EB, 0xF4D4B551, 0x83D385C7, + 0x136C9856, 0x646BA8C0, 0xFD62F97A, 0x8A65C9EC, 0x14015C4F, 0x63066CD9, 0xFA0F3D63, 0x8D080DF5, + 0x3B6E20C8, 0x4C69105E, 0xD56041E4, 0xA2677172, 0x3C03E4D1, 0x4B04D447, 0xD20D85FD, 0xA50AB56B, + 0x35B5A8FA, 0x42B2986C, 0xDBBBC9D6, 0xACBCF940, 0x32D86CE3, 0x45DF5C75, 0xDCD60DCF, 0xABD13D59, + 0x26D930AC, 0x51DE003A, 0xC8D75180, 0xBFD06116, 0x21B4F4B5, 0x56B3C423, 0xCFBA9599, 0xB8BDA50F, + 0x2802B89E, 0x5F058808, 0xC60CD9B2, 0xB10BE924, 0x2F6F7C87, 0x58684C11, 0xC1611DAB, 0xB6662D3D, + 0x76DC4190, 0x01DB7106, 0x98D220BC, 0xEFD5102A, 0x71B18589, 0x06B6B51F, 0x9FBFE4A5, 0xE8B8D433, + 0x7807C9A2, 0x0F00F934, 0x9609A88E, 0xE10E9818, 0x7F6A0DBB, 0x086D3D2D, 0x91646C97, 0xE6635C01, + 0x6B6B51F4, 0x1C6C6162, 0x856530D8, 0xF262004E, 0x6C0695ED, 0x1B01A57B, 0x8208F4C1, 0xF50FC457, + 0x65B0D9C6, 0x12B7E950, 0x8BBEB8EA, 0xFCB9887C, 0x62DD1DDF, 0x15DA2D49, 0x8CD37CF3, 0xFBD44C65, + 0x4DB26158, 0x3AB551CE, 0xA3BC0074, 0xD4BB30E2, 0x4ADFA541, 0x3DD895D7, 0xA4D1C46D, 0xD3D6F4FB, + 0x4369E96A, 0x346ED9FC, 0xAD678846, 0xDA60B8D0, 0x44042D73, 0x33031DE5, 0xAA0A4C5F, 0xDD0D7CC9, + 0x5005713C, 0x270241AA, 0xBE0B1010, 0xC90C2086, 0x5768B525, 0x206F85B3, 0xB966D409, 0xCE61E49F, + 0x5EDEF90E, 0x29D9C998, 0xB0D09822, 0xC7D7A8B4, 0x59B33D17, 0x2EB40D81, 0xB7BD5C3B, 0xC0BA6CAD, + 0xEDB88320, 0x9ABFB3B6, 0x03B6E20C, 0x74B1D29A, 0xEAD54739, 0x9DD277AF, 0x04DB2615, 0x73DC1683, + 0xE3630B12, 0x94643B84, 0x0D6D6A3E, 0x7A6A5AA8, 0xE40ECF0B, 0x9309FF9D, 0x0A00AE27, 0x7D079EB1, + 0xF00F9344, 0x8708A3D2, 0x1E01F268, 0x6906C2FE, 0xF762575D, 0x806567CB, 0x196C3671, 0x6E6B06E7, + 0xFED41B76, 0x89D32BE0, 0x10DA7A5A, 0x67DD4ACC, 0xF9B9DF6F, 0x8EBEEFF9, 0x17B7BE43, 0x60B08ED5, + 0xD6D6A3E8, 0xA1D1937E, 0x38D8C2C4, 0x4FDFF252, 0xD1BB67F1, 0xA6BC5767, 0x3FB506DD, 0x48B2364B, + 0xD80D2BDA, 0xAF0A1B4C, 0x36034AF6, 0x41047A60, 0xDF60EFC3, 0xA867DF55, 0x316E8EEF, 0x4669BE79, + 0xCB61B38C, 0xBC66831A, 0x256FD2A0, 0x5268E236, 0xCC0C7795, 0xBB0B4703, 0x220216B9, 0x5505262F, + 0xC5BA3BBE, 0xB2BD0B28, 0x2BB45A92, 0x5CB36A04, 0xC2D7FFA7, 0xB5D0CF31, 0x2CD99E8B, 0x5BDEAE1D, + 0x9B64C2B0, 0xEC63F226, 0x756AA39C, 0x026D930A, 0x9C0906A9, 0xEB0E363F, 0x72076785, 0x05005713, + 0x95BF4A82, 0xE2B87A14, 0x7BB12BAE, 0x0CB61B38, 0x92D28E9B, 0xE5D5BE0D, 0x7CDCEFB7, 0x0BDBDF21, + 0x86D3D2D4, 0xF1D4E242, 0x68DDB3F8, 0x1FDA836E, 0x81BE16CD, 0xF6B9265B, 0x6FB077E1, 0x18B74777, + 0x88085AE6, 0xFF0F6A70, 0x66063BCA, 0x11010B5C, 0x8F659EFF, 0xF862AE69, 0x616BFFD3, 0x166CCF45, + 0xA00AE278, 0xD70DD2EE, 0x4E048354, 0x3903B3C2, 0xA7672661, 0xD06016F7, 0x4969474D, 0x3E6E77DB, + 0xAED16A4A, 0xD9D65ADC, 0x40DF0B66, 0x37D83BF0, 0xA9BCAE53, 0xDEBB9EC5, 0x47B2CF7F, 0x30B5FFE9, + 0xBDBDF21C, 0xCABAC28A, 0x53B39330, 0x24B4A3A6, 0xBAD03605, 0xCDD70693, 0x54DE5729, 0x23D967BF, + 0xB3667A2E, 0xC4614AB8, 0x5D681B02, 0x2A6F2B94, 0xB40BBE37, 0xC30C8EA1, 0x5A05DF1B, 0x2D02EF8D + }; + + unsigned int crc = ~0u; + int i; + for (i=0; i < len; ++i) + crc = (crc >> 8) ^ crc_table[buffer[i] ^ (crc & 0xff)]; + return ~crc; +} + +#define stbiw__wpng4(o,a,b,c,d) ((o)[0]=STBIW_UCHAR(a),(o)[1]=STBIW_UCHAR(b),(o)[2]=STBIW_UCHAR(c),(o)[3]=STBIW_UCHAR(d),(o)+=4) +#define stbiw__wp32(data,v) stbiw__wpng4(data, (v)>>24,(v)>>16,(v)>>8,(v)); +#define stbiw__wptag(data,s) stbiw__wpng4(data, s[0],s[1],s[2],s[3]) + +static void stbiw__wpcrc(unsigned char **data, int len) +{ + unsigned int crc = stbiw__crc32(*data - len - 4, len+4); + stbiw__wp32(*data, crc); +} + +static unsigned char stbiw__paeth(int a, int b, int c) +{ + int p = a + b - c, pa = abs(p-a), pb = abs(p-b), pc = abs(p-c); + if (pa <= pb && pa <= pc) return STBIW_UCHAR(a); + if (pb <= pc) return STBIW_UCHAR(b); + return STBIW_UCHAR(c); +} + +// @OPTIMIZE: provide an option that always forces left-predict or paeth predict +static void stbiw__encode_png_line(unsigned char *pixels, int stride_bytes, int width, int height, int y, int n, int filter_type, signed char *line_buffer) +{ + static int mapping[] = { 0,1,2,3,4 }; + static int firstmap[] = { 0,1,0,5,6 }; + int *mymap = (y != 0) ? mapping : firstmap; + int i; + int type = mymap[filter_type]; + unsigned char *z = pixels + stride_bytes * (stbi__flip_vertically_on_write ? height-1-y : y); + int signed_stride = stbi__flip_vertically_on_write ? -stride_bytes : stride_bytes; + for (i = 0; i < n; ++i) { + switch (type) { + case 0: line_buffer[i] = z[i]; break; + case 1: line_buffer[i] = z[i]; break; + case 2: line_buffer[i] = z[i] - z[i-signed_stride]; break; + case 3: line_buffer[i] = z[i] - (z[i-signed_stride]>>1); break; + case 4: line_buffer[i] = (signed char) (z[i] - stbiw__paeth(0,z[i-signed_stride],0)); break; + case 5: line_buffer[i] = z[i]; break; + case 6: line_buffer[i] = z[i]; break; + } + } + for (i=n; i < width*n; ++i) { + switch (type) { + case 0: line_buffer[i] = z[i]; break; + case 1: line_buffer[i] = z[i] - z[i-n]; break; + case 2: line_buffer[i] = z[i] - z[i-signed_stride]; break; + case 3: line_buffer[i] = z[i] - ((z[i-n] + z[i-signed_stride])>>1); break; + case 4: line_buffer[i] = z[i] - stbiw__paeth(z[i-n], z[i-signed_stride], z[i-signed_stride-n]); break; + case 5: line_buffer[i] = z[i] - (z[i-n]>>1); break; + case 6: line_buffer[i] = z[i] - stbiw__paeth(z[i-n], 0,0); break; + } + } +} + +unsigned char *stbi_write_png_to_mem(unsigned char *pixels, int stride_bytes, int x, int y, int n, int *out_len) +{ + int force_filter = stbi_write_force_png_filter; + int ctype[5] = { -1, 0, 4, 2, 6 }; + unsigned char sig[8] = { 137,80,78,71,13,10,26,10 }; + unsigned char *out,*o, *filt, *zlib; + signed char *line_buffer; + int j,zlen; + + if (stride_bytes == 0) + stride_bytes = x * n; + + if (force_filter >= 5) { + force_filter = -1; + } + + filt = (unsigned char *) STBIW_MALLOC((x*n+1) * y); if (!filt) return 0; + line_buffer = (signed char *) STBIW_MALLOC(x * n); if (!line_buffer) { STBIW_FREE(filt); return 0; } + for (j=0; j < y; ++j) { + int filter_type; + if (force_filter > -1) { + filter_type = force_filter; + stbiw__encode_png_line(pixels, stride_bytes, x, y, j, n, force_filter, line_buffer); + } else { // Estimate the best filter by running through all of them: + int best_filter = 0, best_filter_val = 0x7fffffff, est, i; + for (filter_type = 0; filter_type < 5; filter_type++) { + stbiw__encode_png_line(pixels, stride_bytes, x, y, j, n, filter_type, line_buffer); + + // Estimate the entropy of the line using this filter; the less, the better. + est = 0; + for (i = 0; i < x*n; ++i) { + est += abs((signed char) line_buffer[i]); + } + if (est < best_filter_val) { + best_filter_val = est; + best_filter = filter_type; + } + } + if (filter_type != best_filter) { // If the last iteration already got us the best filter, don't redo it + stbiw__encode_png_line(pixels, stride_bytes, x, y, j, n, best_filter, line_buffer); + filter_type = best_filter; + } + } + // when we get here, filter_type contains the filter type, and line_buffer contains the data + filt[j*(x*n+1)] = (unsigned char) filter_type; + STBIW_MEMMOVE(filt+j*(x*n+1)+1, line_buffer, x*n); + } + STBIW_FREE(line_buffer); + zlib = stbi_zlib_compress(filt, y*( x*n+1), &zlen, stbi_write_png_compression_level); + STBIW_FREE(filt); + if (!zlib) return 0; + + // each tag requires 12 bytes of overhead + out = (unsigned char *) STBIW_MALLOC(8 + 12+13 + 12+zlen + 12); + if (!out) return 0; + *out_len = 8 + 12+13 + 12+zlen + 12; + + o=out; + STBIW_MEMMOVE(o,sig,8); o+= 8; + stbiw__wp32(o, 13); // header length + stbiw__wptag(o, "IHDR"); + stbiw__wp32(o, x); + stbiw__wp32(o, y); + *o++ = 8; + *o++ = STBIW_UCHAR(ctype[n]); + *o++ = 0; + *o++ = 0; + *o++ = 0; + stbiw__wpcrc(&o,13); + + stbiw__wp32(o, zlen); + stbiw__wptag(o, "IDAT"); + STBIW_MEMMOVE(o, zlib, zlen); + o += zlen; + STBIW_FREE(zlib); + stbiw__wpcrc(&o, zlen); + + stbiw__wp32(o,0); + stbiw__wptag(o, "IEND"); + stbiw__wpcrc(&o,0); + + STBIW_ASSERT(o == out + *out_len); + + return out; +} + +#ifndef STBI_WRITE_NO_STDIO +STBIWDEF int stbi_write_png(char const *filename, int x, int y, int comp, const void *data, int stride_bytes) +{ + FILE *f; + int len; + unsigned char *png = stbi_write_png_to_mem((unsigned char *) data, stride_bytes, x, y, comp, &len); + if (png == NULL) return 0; +#ifdef STBI_MSC_SECURE_CRT + if (fopen_s(&f, filename, "wb")) + f = NULL; +#else + f = fopen(filename, "wb"); +#endif + if (!f) { STBIW_FREE(png); return 0; } + fwrite(png, 1, len, f); + fclose(f); + STBIW_FREE(png); + return 1; +} +#endif + +STBIWDEF int stbi_write_png_to_func(stbi_write_func *func, void *context, int x, int y, int comp, const void *data, int stride_bytes) +{ + int len; + unsigned char *png = stbi_write_png_to_mem((unsigned char *) data, stride_bytes, x, y, comp, &len); + if (png == NULL) return 0; + func(context, png, len); + STBIW_FREE(png); + return 1; +} + + +/* *************************************************************************** + * + * JPEG writer + * + * This is based on Jon Olick's jo_jpeg.cpp: + * public domain Simple, Minimalistic JPEG writer - http://www.jonolick.com/code.html + */ + +static const unsigned char stbiw__jpg_ZigZag[] = { 0,1,5,6,14,15,27,28,2,4,7,13,16,26,29,42,3,8,12,17,25,30,41,43,9,11,18, + 24,31,40,44,53,10,19,23,32,39,45,52,54,20,22,33,38,46,51,55,60,21,34,37,47,50,56,59,61,35,36,48,49,57,58,62,63 }; + +static void stbiw__jpg_writeBits(stbi__write_context *s, int *bitBufP, int *bitCntP, const unsigned short *bs) { + int bitBuf = *bitBufP, bitCnt = *bitCntP; + bitCnt += bs[1]; + bitBuf |= bs[0] << (24 - bitCnt); + while(bitCnt >= 8) { + unsigned char c = (bitBuf >> 16) & 255; + stbiw__putc(s, c); + if(c == 255) { + stbiw__putc(s, 0); + } + bitBuf <<= 8; + bitCnt -= 8; + } + *bitBufP = bitBuf; + *bitCntP = bitCnt; +} + +static void stbiw__jpg_DCT(float *d0p, float *d1p, float *d2p, float *d3p, float *d4p, float *d5p, float *d6p, float *d7p) { + float d0 = *d0p, d1 = *d1p, d2 = *d2p, d3 = *d3p, d4 = *d4p, d5 = *d5p, d6 = *d6p, d7 = *d7p; + float z1, z2, z3, z4, z5, z11, z13; + + float tmp0 = d0 + d7; + float tmp7 = d0 - d7; + float tmp1 = d1 + d6; + float tmp6 = d1 - d6; + float tmp2 = d2 + d5; + float tmp5 = d2 - d5; + float tmp3 = d3 + d4; + float tmp4 = d3 - d4; + + // Even part + float tmp10 = tmp0 + tmp3; // phase 2 + float tmp13 = tmp0 - tmp3; + float tmp11 = tmp1 + tmp2; + float tmp12 = tmp1 - tmp2; + + d0 = tmp10 + tmp11; // phase 3 + d4 = tmp10 - tmp11; + + z1 = (tmp12 + tmp13) * 0.707106781f; // c4 + d2 = tmp13 + z1; // phase 5 + d6 = tmp13 - z1; + + // Odd part + tmp10 = tmp4 + tmp5; // phase 2 + tmp11 = tmp5 + tmp6; + tmp12 = tmp6 + tmp7; + + // The rotator is modified from fig 4-8 to avoid extra negations. + z5 = (tmp10 - tmp12) * 0.382683433f; // c6 + z2 = tmp10 * 0.541196100f + z5; // c2-c6 + z4 = tmp12 * 1.306562965f + z5; // c2+c6 + z3 = tmp11 * 0.707106781f; // c4 + + z11 = tmp7 + z3; // phase 5 + z13 = tmp7 - z3; + + *d5p = z13 + z2; // phase 6 + *d3p = z13 - z2; + *d1p = z11 + z4; + *d7p = z11 - z4; + + *d0p = d0; *d2p = d2; *d4p = d4; *d6p = d6; +} + +static void stbiw__jpg_calcBits(int val, unsigned short bits[2]) { + int tmp1 = val < 0 ? -val : val; + val = val < 0 ? val-1 : val; + bits[1] = 1; + while(tmp1 >>= 1) { + ++bits[1]; + } + bits[0] = val & ((1<0)&&(DU[end0pos]==0); --end0pos) { + } + // end0pos = first element in reverse order !=0 + if(end0pos == 0) { + stbiw__jpg_writeBits(s, bitBuf, bitCnt, EOB); + return DU[0]; + } + for(i = 1; i <= end0pos; ++i) { + int startpos = i; + int nrzeroes; + unsigned short bits[2]; + for (; DU[i]==0 && i<=end0pos; ++i) { + } + nrzeroes = i-startpos; + if ( nrzeroes >= 16 ) { + int lng = nrzeroes>>4; + int nrmarker; + for (nrmarker=1; nrmarker <= lng; ++nrmarker) + stbiw__jpg_writeBits(s, bitBuf, bitCnt, M16zeroes); + nrzeroes &= 15; + } + stbiw__jpg_calcBits(DU[i], bits); + stbiw__jpg_writeBits(s, bitBuf, bitCnt, HTAC[(nrzeroes<<4)+bits[1]]); + stbiw__jpg_writeBits(s, bitBuf, bitCnt, bits); + } + if(end0pos != 63) { + stbiw__jpg_writeBits(s, bitBuf, bitCnt, EOB); + } + return DU[0]; +} + +static int stbi_write_jpg_core(stbi__write_context *s, int width, int height, int comp, const void* data, int quality) { + // Constants that don't pollute global namespace + static const unsigned char std_dc_luminance_nrcodes[] = {0,0,1,5,1,1,1,1,1,1,0,0,0,0,0,0,0}; + static const unsigned char std_dc_luminance_values[] = {0,1,2,3,4,5,6,7,8,9,10,11}; + static const unsigned char std_ac_luminance_nrcodes[] = {0,0,2,1,3,3,2,4,3,5,5,4,4,0,0,1,0x7d}; + static const unsigned char std_ac_luminance_values[] = { + 0x01,0x02,0x03,0x00,0x04,0x11,0x05,0x12,0x21,0x31,0x41,0x06,0x13,0x51,0x61,0x07,0x22,0x71,0x14,0x32,0x81,0x91,0xa1,0x08, + 0x23,0x42,0xb1,0xc1,0x15,0x52,0xd1,0xf0,0x24,0x33,0x62,0x72,0x82,0x09,0x0a,0x16,0x17,0x18,0x19,0x1a,0x25,0x26,0x27,0x28, + 0x29,0x2a,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4a,0x53,0x54,0x55,0x56,0x57,0x58,0x59, + 0x5a,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6a,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7a,0x83,0x84,0x85,0x86,0x87,0x88,0x89, + 0x8a,0x92,0x93,0x94,0x95,0x96,0x97,0x98,0x99,0x9a,0xa2,0xa3,0xa4,0xa5,0xa6,0xa7,0xa8,0xa9,0xaa,0xb2,0xb3,0xb4,0xb5,0xb6, + 0xb7,0xb8,0xb9,0xba,0xc2,0xc3,0xc4,0xc5,0xc6,0xc7,0xc8,0xc9,0xca,0xd2,0xd3,0xd4,0xd5,0xd6,0xd7,0xd8,0xd9,0xda,0xe1,0xe2, + 0xe3,0xe4,0xe5,0xe6,0xe7,0xe8,0xe9,0xea,0xf1,0xf2,0xf3,0xf4,0xf5,0xf6,0xf7,0xf8,0xf9,0xfa + }; + static const unsigned char std_dc_chrominance_nrcodes[] = {0,0,3,1,1,1,1,1,1,1,1,1,0,0,0,0,0}; + static const unsigned char std_dc_chrominance_values[] = {0,1,2,3,4,5,6,7,8,9,10,11}; + static const unsigned char std_ac_chrominance_nrcodes[] = {0,0,2,1,2,4,4,3,4,7,5,4,4,0,1,2,0x77}; + static const unsigned char std_ac_chrominance_values[] = { + 0x00,0x01,0x02,0x03,0x11,0x04,0x05,0x21,0x31,0x06,0x12,0x41,0x51,0x07,0x61,0x71,0x13,0x22,0x32,0x81,0x08,0x14,0x42,0x91, + 0xa1,0xb1,0xc1,0x09,0x23,0x33,0x52,0xf0,0x15,0x62,0x72,0xd1,0x0a,0x16,0x24,0x34,0xe1,0x25,0xf1,0x17,0x18,0x19,0x1a,0x26, + 0x27,0x28,0x29,0x2a,0x35,0x36,0x37,0x38,0x39,0x3a,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4a,0x53,0x54,0x55,0x56,0x57,0x58, + 0x59,0x5a,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6a,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7a,0x82,0x83,0x84,0x85,0x86,0x87, + 0x88,0x89,0x8a,0x92,0x93,0x94,0x95,0x96,0x97,0x98,0x99,0x9a,0xa2,0xa3,0xa4,0xa5,0xa6,0xa7,0xa8,0xa9,0xaa,0xb2,0xb3,0xb4, + 0xb5,0xb6,0xb7,0xb8,0xb9,0xba,0xc2,0xc3,0xc4,0xc5,0xc6,0xc7,0xc8,0xc9,0xca,0xd2,0xd3,0xd4,0xd5,0xd6,0xd7,0xd8,0xd9,0xda, + 0xe2,0xe3,0xe4,0xe5,0xe6,0xe7,0xe8,0xe9,0xea,0xf2,0xf3,0xf4,0xf5,0xf6,0xf7,0xf8,0xf9,0xfa + }; + // Huffman tables + static const unsigned short YDC_HT[256][2] = { {0,2},{2,3},{3,3},{4,3},{5,3},{6,3},{14,4},{30,5},{62,6},{126,7},{254,8},{510,9}}; + static const unsigned short UVDC_HT[256][2] = { {0,2},{1,2},{2,2},{6,3},{14,4},{30,5},{62,6},{126,7},{254,8},{510,9},{1022,10},{2046,11}}; + static const unsigned short YAC_HT[256][2] = { + {10,4},{0,2},{1,2},{4,3},{11,4},{26,5},{120,7},{248,8},{1014,10},{65410,16},{65411,16},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0}, + {12,4},{27,5},{121,7},{502,9},{2038,11},{65412,16},{65413,16},{65414,16},{65415,16},{65416,16},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0}, + {28,5},{249,8},{1015,10},{4084,12},{65417,16},{65418,16},{65419,16},{65420,16},{65421,16},{65422,16},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0}, + {58,6},{503,9},{4085,12},{65423,16},{65424,16},{65425,16},{65426,16},{65427,16},{65428,16},{65429,16},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0}, + {59,6},{1016,10},{65430,16},{65431,16},{65432,16},{65433,16},{65434,16},{65435,16},{65436,16},{65437,16},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0}, + {122,7},{2039,11},{65438,16},{65439,16},{65440,16},{65441,16},{65442,16},{65443,16},{65444,16},{65445,16},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0}, + {123,7},{4086,12},{65446,16},{65447,16},{65448,16},{65449,16},{65450,16},{65451,16},{65452,16},{65453,16},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0}, + {250,8},{4087,12},{65454,16},{65455,16},{65456,16},{65457,16},{65458,16},{65459,16},{65460,16},{65461,16},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0}, + {504,9},{32704,15},{65462,16},{65463,16},{65464,16},{65465,16},{65466,16},{65467,16},{65468,16},{65469,16},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0}, + {505,9},{65470,16},{65471,16},{65472,16},{65473,16},{65474,16},{65475,16},{65476,16},{65477,16},{65478,16},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0}, + {506,9},{65479,16},{65480,16},{65481,16},{65482,16},{65483,16},{65484,16},{65485,16},{65486,16},{65487,16},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0}, + {1017,10},{65488,16},{65489,16},{65490,16},{65491,16},{65492,16},{65493,16},{65494,16},{65495,16},{65496,16},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0}, + {1018,10},{65497,16},{65498,16},{65499,16},{65500,16},{65501,16},{65502,16},{65503,16},{65504,16},{65505,16},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0}, + {2040,11},{65506,16},{65507,16},{65508,16},{65509,16},{65510,16},{65511,16},{65512,16},{65513,16},{65514,16},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0}, + {65515,16},{65516,16},{65517,16},{65518,16},{65519,16},{65520,16},{65521,16},{65522,16},{65523,16},{65524,16},{0,0},{0,0},{0,0},{0,0},{0,0}, + {2041,11},{65525,16},{65526,16},{65527,16},{65528,16},{65529,16},{65530,16},{65531,16},{65532,16},{65533,16},{65534,16},{0,0},{0,0},{0,0},{0,0},{0,0} + }; + static const unsigned short UVAC_HT[256][2] = { + {0,2},{1,2},{4,3},{10,4},{24,5},{25,5},{56,6},{120,7},{500,9},{1014,10},{4084,12},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0}, + {11,4},{57,6},{246,8},{501,9},{2038,11},{4085,12},{65416,16},{65417,16},{65418,16},{65419,16},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0}, + {26,5},{247,8},{1015,10},{4086,12},{32706,15},{65420,16},{65421,16},{65422,16},{65423,16},{65424,16},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0}, + {27,5},{248,8},{1016,10},{4087,12},{65425,16},{65426,16},{65427,16},{65428,16},{65429,16},{65430,16},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0}, + {58,6},{502,9},{65431,16},{65432,16},{65433,16},{65434,16},{65435,16},{65436,16},{65437,16},{65438,16},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0}, + {59,6},{1017,10},{65439,16},{65440,16},{65441,16},{65442,16},{65443,16},{65444,16},{65445,16},{65446,16},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0}, + {121,7},{2039,11},{65447,16},{65448,16},{65449,16},{65450,16},{65451,16},{65452,16},{65453,16},{65454,16},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0}, + {122,7},{2040,11},{65455,16},{65456,16},{65457,16},{65458,16},{65459,16},{65460,16},{65461,16},{65462,16},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0}, + {249,8},{65463,16},{65464,16},{65465,16},{65466,16},{65467,16},{65468,16},{65469,16},{65470,16},{65471,16},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0}, + {503,9},{65472,16},{65473,16},{65474,16},{65475,16},{65476,16},{65477,16},{65478,16},{65479,16},{65480,16},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0}, + {504,9},{65481,16},{65482,16},{65483,16},{65484,16},{65485,16},{65486,16},{65487,16},{65488,16},{65489,16},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0}, + {505,9},{65490,16},{65491,16},{65492,16},{65493,16},{65494,16},{65495,16},{65496,16},{65497,16},{65498,16},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0}, + {506,9},{65499,16},{65500,16},{65501,16},{65502,16},{65503,16},{65504,16},{65505,16},{65506,16},{65507,16},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0}, + {2041,11},{65508,16},{65509,16},{65510,16},{65511,16},{65512,16},{65513,16},{65514,16},{65515,16},{65516,16},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0}, + {16352,14},{65517,16},{65518,16},{65519,16},{65520,16},{65521,16},{65522,16},{65523,16},{65524,16},{65525,16},{0,0},{0,0},{0,0},{0,0},{0,0}, + {1018,10},{32707,15},{65526,16},{65527,16},{65528,16},{65529,16},{65530,16},{65531,16},{65532,16},{65533,16},{65534,16},{0,0},{0,0},{0,0},{0,0},{0,0} + }; + static const int YQT[] = {16,11,10,16,24,40,51,61,12,12,14,19,26,58,60,55,14,13,16,24,40,57,69,56,14,17,22,29,51,87,80,62,18,22, + 37,56,68,109,103,77,24,35,55,64,81,104,113,92,49,64,78,87,103,121,120,101,72,92,95,98,112,100,103,99}; + static const int UVQT[] = {17,18,24,47,99,99,99,99,18,21,26,66,99,99,99,99,24,26,56,99,99,99,99,99,47,66,99,99,99,99,99,99, + 99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99}; + static const float aasf[] = { 1.0f * 2.828427125f, 1.387039845f * 2.828427125f, 1.306562965f * 2.828427125f, 1.175875602f * 2.828427125f, + 1.0f * 2.828427125f, 0.785694958f * 2.828427125f, 0.541196100f * 2.828427125f, 0.275899379f * 2.828427125f }; + + int row, col, i, k; + float fdtbl_Y[64], fdtbl_UV[64]; + unsigned char YTable[64], UVTable[64]; + + if(!data || !width || !height || comp > 4 || comp < 1) { + return 0; + } + + quality = quality ? quality : 90; + quality = quality < 1 ? 1 : quality > 100 ? 100 : quality; + quality = quality < 50 ? 5000 / quality : 200 - quality * 2; + + for(i = 0; i < 64; ++i) { + int uvti, yti = (YQT[i]*quality+50)/100; + YTable[stbiw__jpg_ZigZag[i]] = (unsigned char) (yti < 1 ? 1 : yti > 255 ? 255 : yti); + uvti = (UVQT[i]*quality+50)/100; + UVTable[stbiw__jpg_ZigZag[i]] = (unsigned char) (uvti < 1 ? 1 : uvti > 255 ? 255 : uvti); + } + + for(row = 0, k = 0; row < 8; ++row) { + for(col = 0; col < 8; ++col, ++k) { + fdtbl_Y[k] = 1 / (YTable [stbiw__jpg_ZigZag[k]] * aasf[row] * aasf[col]); + fdtbl_UV[k] = 1 / (UVTable[stbiw__jpg_ZigZag[k]] * aasf[row] * aasf[col]); + } + } + + // Write Headers + { + static const unsigned char head0[] = { 0xFF,0xD8,0xFF,0xE0,0,0x10,'J','F','I','F',0,1,1,0,0,1,0,1,0,0,0xFF,0xDB,0,0x84,0 }; + static const unsigned char head2[] = { 0xFF,0xDA,0,0xC,3,1,0,2,0x11,3,0x11,0,0x3F,0 }; + const unsigned char head1[] = { 0xFF,0xC0,0,0x11,8,(unsigned char)(height>>8),STBIW_UCHAR(height),(unsigned char)(width>>8),STBIW_UCHAR(width), + 3,1,0x11,0,2,0x11,1,3,0x11,1,0xFF,0xC4,0x01,0xA2,0 }; + s->func(s->context, (void*)head0, sizeof(head0)); + s->func(s->context, (void*)YTable, sizeof(YTable)); + stbiw__putc(s, 1); + s->func(s->context, UVTable, sizeof(UVTable)); + s->func(s->context, (void*)head1, sizeof(head1)); + s->func(s->context, (void*)(std_dc_luminance_nrcodes+1), sizeof(std_dc_luminance_nrcodes)-1); + s->func(s->context, (void*)std_dc_luminance_values, sizeof(std_dc_luminance_values)); + stbiw__putc(s, 0x10); // HTYACinfo + s->func(s->context, (void*)(std_ac_luminance_nrcodes+1), sizeof(std_ac_luminance_nrcodes)-1); + s->func(s->context, (void*)std_ac_luminance_values, sizeof(std_ac_luminance_values)); + stbiw__putc(s, 1); // HTUDCinfo + s->func(s->context, (void*)(std_dc_chrominance_nrcodes+1), sizeof(std_dc_chrominance_nrcodes)-1); + s->func(s->context, (void*)std_dc_chrominance_values, sizeof(std_dc_chrominance_values)); + stbiw__putc(s, 0x11); // HTUACinfo + s->func(s->context, (void*)(std_ac_chrominance_nrcodes+1), sizeof(std_ac_chrominance_nrcodes)-1); + s->func(s->context, (void*)std_ac_chrominance_values, sizeof(std_ac_chrominance_values)); + s->func(s->context, (void*)head2, sizeof(head2)); + } + + // Encode 8x8 macroblocks + { + static const unsigned short fillBits[] = {0x7F, 7}; + const unsigned char *imageData = (const unsigned char *)data; + int DCY=0, DCU=0, DCV=0; + int bitBuf=0, bitCnt=0; + // comp == 2 is grey+alpha (alpha is ignored) + int ofsG = comp > 2 ? 1 : 0, ofsB = comp > 2 ? 2 : 0; + int x, y, pos; + for(y = 0; y < height; y += 8) { + for(x = 0; x < width; x += 8) { + float YDU[64], UDU[64], VDU[64]; + for(row = y, pos = 0; row < y+8; ++row) { + for(col = x; col < x+8; ++col, ++pos) { + int p = (stbi__flip_vertically_on_write ? height-1-row : row)*width*comp + col*comp; + float r, g, b; + if(row >= height) { + p -= width*comp*(row+1 - height); + } + if(col >= width) { + p -= comp*(col+1 - width); + } + + r = imageData[p+0]; + g = imageData[p+ofsG]; + b = imageData[p+ofsB]; + YDU[pos]=+0.29900f*r+0.58700f*g+0.11400f*b-128; + UDU[pos]=-0.16874f*r-0.33126f*g+0.50000f*b; + VDU[pos]=+0.50000f*r-0.41869f*g-0.08131f*b; + } + } + + DCY = stbiw__jpg_processDU(s, &bitBuf, &bitCnt, YDU, fdtbl_Y, DCY, YDC_HT, YAC_HT); + DCU = stbiw__jpg_processDU(s, &bitBuf, &bitCnt, UDU, fdtbl_UV, DCU, UVDC_HT, UVAC_HT); + DCV = stbiw__jpg_processDU(s, &bitBuf, &bitCnt, VDU, fdtbl_UV, DCV, UVDC_HT, UVAC_HT); + } + } + + // Do the bit alignment of the EOI marker + stbiw__jpg_writeBits(s, &bitBuf, &bitCnt, fillBits); + } + + // EOI + stbiw__putc(s, 0xFF); + stbiw__putc(s, 0xD9); + + return 1; +} + +STBIWDEF int stbi_write_jpg_to_func(stbi_write_func *func, void *context, int x, int y, int comp, const void *data, int quality) +{ + stbi__write_context s; + stbi__start_write_callbacks(&s, func, context); + return stbi_write_jpg_core(&s, x, y, comp, (void *) data, quality); +} + + +#ifndef STBI_WRITE_NO_STDIO +STBIWDEF int stbi_write_jpg(char const *filename, int x, int y, int comp, const void *data, int quality) +{ + stbi__write_context s; + if (stbi__start_write_file(&s,filename)) { + int r = stbi_write_jpg_core(&s, x, y, comp, data, quality); + stbi__end_write_file(&s); + return r; + } else + return 0; +} +#endif + +#endif // STB_IMAGE_WRITE_IMPLEMENTATION + +/* Revision history + 1.09 (2018-02-11) + fix typo in zlib quality API, improve STB_I_W_STATIC in C++ + 1.08 (2018-01-29) + add stbi__flip_vertically_on_write, external zlib, zlib quality, choose PNG filter + 1.07 (2017-07-24) + doc fix + 1.06 (2017-07-23) + writing JPEG (using Jon Olick's code) + 1.05 ??? + 1.04 (2017-03-03) + monochrome BMP expansion + 1.03 ??? + 1.02 (2016-04-02) + avoid allocating large structures on the stack + 1.01 (2016-01-16) + STBIW_REALLOC_SIZED: support allocators with no realloc support + avoid race-condition in crc initialization + minor compile issues + 1.00 (2015-09-14) + installable file IO function + 0.99 (2015-09-13) + warning fixes; TGA rle support + 0.98 (2015-04-08) + added STBIW_MALLOC, STBIW_ASSERT etc + 0.97 (2015-01-18) + fixed HDR asserts, rewrote HDR rle logic + 0.96 (2015-01-17) + add HDR output + fix monochrome BMP + 0.95 (2014-08-17) + add monochrome TGA output + 0.94 (2014-05-31) + rename private functions to avoid conflicts with stb_image.h + 0.93 (2014-05-27) + warning fixes + 0.92 (2010-08-01) + casts to unsigned char to fix warnings + 0.91 (2010-07-17) + first public release + 0.90 first internal release +*/ + +/* +------------------------------------------------------------------------------ +This software is available under 2 licenses -- choose whichever you prefer. +------------------------------------------------------------------------------ +ALTERNATIVE A - MIT License +Copyright (c) 2017 Sean Barrett +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +------------------------------------------------------------------------------ +ALTERNATIVE B - Public Domain (www.unlicense.org) +This is free and unencumbered software released into the public domain. +Anyone is free to copy, modify, publish, use, compile, sell, or distribute this +software, either in source code form or as a compiled binary, for any purpose, +commercial or non-commercial, and by any means. +In jurisdictions that recognize copyright laws, the author or authors of this +software dedicate any and all copyright interest in the software to the public +domain. We make this dedication for the benefit of the public at large and to +the detriment of our heirs and successors. We intend this dedication to be an +overt act of relinquishment in perpetuity of all present and future rights to +this software under copyright law. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +------------------------------------------------------------------------------ +*/ \ No newline at end of file diff --git a/C++/todo.txt b/C++/todo.txt new file mode 100644 index 0000000..ae1949b --- /dev/null +++ b/C++/todo.txt @@ -0,0 +1,152 @@ +To do + +- [ ] Forward kinematics +- [ ] Inverse kinematics +- [x] Simple pendulum +- [ ] Double pendulum +- [x] Doom fire algorithm +- [ ] Quad tree compression +- [ ] GLSL smallpt +- [ ] CPU smallpt +- [ ] Dithering library +- [ ] All RGB +- [ ] Chip-8 emulator +- [ ] Chip-8 assembler +- [ ] Chip-8 disassembler +- [ ] Normal mapping on images +- [ ] Tesseract +- [ ] Lissajous table +- [ ] Navier-Stokes fluid simulation +- [ ] Floyd-Steinberg dithering +- [ ] Terminal text extension +- [ ] SDL2 audio extension +- [ ] Other error diffusion methods +- [ ] Elementary cellular automata +- [ ] Two-dimensional cellular automata +- [ ] Software rasterizer +- [ ] Fire automata +- [ ] Plasma effect +- [ ] Perlin noise terrain +- [ ] Refracting rays +- [ ] Sierpinski triangle +- [ ] Untextured ray caster +- [ ] Textured ray caster +- [ ] Verlet integration rag doll physics +- [ ] Truetype font rasterizing +- [ ] Quaternion raymarching +- [ ] Newton fractal +- [ ] Complex function visualization +- [ ] Smoothed particle hydrodynamics +- [ ] Porting minecraft4k +- [ ] Physics sandbox (Verlet) +- [ ] Barycentric triangle coordinates +- [ ] Pac-Man simulation +- [ ] Dynamic lighting (line of sight) +- [ ] Tetris simulation +- [ ] Falling text (Matrix simulation) +- [ ] Snake simulation +- [ ] Ball/ball collisions and response +- [ ] The Powder Toy +- [ ] Burning ship fractal +- [ ] NES emulator +- [ ] MNIST neural network +- [ ] Simple XOR neural network +- [ ] Genetic algorithms +- [ ] Ear-clipping triangulation +- [ ] Fireworks particle system +- [ ] Newtonian gravity particle system +- [ ] Load models (SGL) +- [ ] Projection (SGL) +- [ ] Transformation (SGL) +- [ ] Culling (SGL) +- [ ] Clipping (SGL) +- [ ] Lighting (SGL) +- [x] Mandelbrot explorer +- [ ] Black/white dithering +- [ ] 3-bit color dithering +- [ ] N-body simulation +- [ ] Barnes-Hut n-body simulation +- [ ] Cloth simulation (Verlet) +- [ ] Procedural texture generation +- [ ] Hilbert curve +- [ ] Turtle graphics engine +- [ ] OpenGL procedural terrain +- [ ] Julia set explorer +- [ ] OpenGL model viewer +- [ ] GPU acceleration framework +- [ ] Raymarching silhouettes +- [ ] Raymarching Phong illumination +- [ ] Domain repetition and primitive operators (raymarching) +- [ ] OpenCV with OpenGL video processing +- [ ] Ray marched terrain +- [ ] GPU accelerated Mandelbrot explorer +- [ ] GPU accelerated Julia explorer +- [ ] GPU accelerated Burning Ship explorer +- [ ] GPU accelerated Newton explorer +- [ ] Physically correct asteroids +- [ ] Fractal generator (high-precision) +- [ ] Affine transformations (identity) +- [ ] Affine transformations (rotation) +- [ ] Affine transformations (translation) +- [ ] Affine transformations (scalar) +- [ ] Affine transformations (shear) +- [ ] Fractal Brownian motion simulation +- [ ] Phong lighting with normal interpolation +- [ ] Audio processing with stb_vorbis +- [ ] Voronoi diagrams +- [ ] Raymarched die +- [ ] Raymarched pawn +- [ ] Cellular noise terrain +- [ ] Voronoi based terrain generation +- [ ] Naive metaballs +- [ ] Naive Voronoi metaballs +- [ ] Naive blended metaballs +- [ ] Metaballs with marching squares +- [ ] Perlin noise flow field +- [ ] Pressure and heat simulations +- [ ] Marching squares isolines +- [ ] 15 seconds of RAM on Chip-8 +- [ ] K-means clustering +- [ ] Additive blending +- [ ] RGB 3D visualization +- [ ] RGB-HSL and vice versa +- [ ] Grapher +- [ ] Flocking (boids) +- [ ] Image quantization (median-cut) +- [ ] Image quantization (k-means) +- [ ] Double-precision GLSL fractals +- [ ] Bézier curve +- [ ] Refraction (optics) +- [ ] Mode 7 racing +- [ ] Spiral raster +- [ ] Plot function +- [ ] Rope simulation (Verlet) +- [ ] Hair simulation (Verlet) +- [ ] Koch snowflake +- [ ] Newton’s cradle simulation (Verlet) +- [ ] Anti-aliased line rasterization (Xiaolin Wu) +- [ ] Anti-aliased thick line rasterization (Xiaolin Wu) +- [ ] Spirograph +- [ ] Circle-line intersection +- [ ] Fourier series visualization (square) +- [ ] Fourier series visualization (saw) +- [ ] Discrete Fourier transform +- [ ] Fourier transform based epicycles +- [ ] Fast Fourier transform +- [ ] 2D nearest-neighbor interpolation +- [ ] Bilinear interpolation +- [ ] Bicubic interpolation +- [ ] Edge detection +- [ ] Catmull-Rom splines +- [ ] Sepia filter +- [ ] Various black/white filters +- [ ] Guassian blur +- [ ] Box blur +- [ ] Image convolution using kernels +- [ ] Function approximation using neural networks +- [ ] Checkers/chess game in OpenGL +- [ ] Rubik’s cube solver and scrambler +- [ ] Rubik’s cube renderer in OpenGL +- [ ] Connect 4 in OpenGL +- [ ] Fast Fourier transform for audio visualization +- [ ] Text editor using Terminal extension diff --git a/C++/todo.txt.save b/C++/todo.txt.save new file mode 100644 index 0000000..43bf31e --- /dev/null +++ b/C++/todo.txt.save @@ -0,0 +1,152 @@ +To do + +- [ ] Forward kinematics +- [ ] Inverse kinematics +- [x] Simple pendulum +- [ ] Double pendulum +- [x] Doom fire algorithm +- [ ] Quad tree compression +- [ ] GLSL smallpt +- [ ] CPU smallpt +- [ ] Dithering library +- [ ] All RGB +- [ ] Chip-8 emulator +- [ ] Chip-8 assembler +- [ ] Chip-8 disassembler +- [ ] Normal mapping on images +- [ ] Tesseract +- [ ] Lissajous table +- [ ] Navier-Stokes fluid simulation +- [] Floyd-Steinberg dithering +- [ ] Terminal text extension +- [ ] SDL2 audio extension +- [ ] Other error diffusion methods +- [ ] Elementary cellular automata +- [ ] Two-dimensional cellular automata +- [ ] Software rasterizer +- [ ] Fire automata +- [ ] Plasma effect +- [ ] Perlin noise terrain +- [ ] Refracting rays +- [ ] Sierpinski triangle +- [ ] Untextured ray caster +- [ ] Textured ray caster +- [ ] Verlet integration rag doll physics +- [ ] Truetype font rasterizing +- [ ] Quaternion raymarching +- [ ] Newton fractal +- [ ] Complex function visualization +- [ ] Smoothed particle hydrodynamics +- [ ] Porting minecraft4k +- [ ] Physics sandbox (Verlet) +- [ ] Barycentric triangle coordinates +- [ ] Pac-Man simulation +- [ ] Dynamic lighting (line of sight) +- [ ] Tetris simulation +- [ ] Falling text (Matrix simulation) +- [ ] Snake simulation +- [ ] Ball/ball collisions and response +- [ ] The Powder Toy +- [ ] Burning ship fractal +- [ ] NES emulator +- [ ] MNIST neural network +- [ ] Simple XOR neural network +- [ ] Genetic algorithms +- [ ] Ear-clipping triangulation +- [ ] Fireworks particle system +- [ ] Newtonian gravity particle system +- [ ] Load models (SGL) +- [ ] Projection (SGL) +- [ ] Transformation (SGL) +- [ ] Culling (SGL) +- [ ] Clipping (SGL) +- [ ] Lighting (SGL) +- [x] Mandelbrot explorer +- [ ] Black/white dithering +- [ ] 3-bit color dithering +- [ ] N-body simulation +- [ ] Barnes-Hut n-body simulation +- [ ] Cloth simulation (Verlet) +- [ ] Procedural texture generation +- [ ] Hilbert curve +- [ ] Turtle graphics engine +- [ ] OpenGL procedural terrain +- [ ] Julia set explorer +- [ ] OpenGL model viewer +- [ ] GPU acceleration framework +- [ ] Raymarching silhouettes +- [ ] Raymarching Phong illumination +- [ ] Domain repetition and primitive operators (raymarching) +- [ ] OpenCV with OpenGL video processing +- [ ] Ray marched terrain +- [ ] GPU accelerated Mandelbrot explorer +- [ ] GPU accelerated Julia explorer +- [ ] GPU accelerated Burning Ship explorer +- [ ] GPU accelerated Newton explorer +- [ ] Physically correct asteroids +- [ ] Fractal generator (high-precision) +- [ ] Affine transformations (identity) +- [ ] Affine transformations (rotation) +- [ ] Affine transformations (translation) +- [ ] Affine transformations (scalar) +- [ ] Affine transformations (shear) +- [ ] Fractal Brownian motion simulation +- [ ] Phong lighting with normal interpolation +- [ ] Audio processing with stb_vorbis +- [ ] Voronoi diagrams +- [ ] Raymarched die +- [ ] Raymarched pawn +- [ ] Cellular noise terrain +- [ ] Voronoi based terrain generation +- [ ] Naive metaballs +- [ ] Naive Voronoi metaballs +- [ ] Naive blended metaballs +- [ ] Metaballs with marching squares +- [ ] Perlin noise flow field +- [ ] Pressure and heat simulations +- [ ] Marching squares isolines +- [ ] 15 seconds of RAM on Chip-8 +- [ ] K-means clustering +- [ ] Additive blending +- [ ] RGB 3D visualization +- [ ] RGB-HSL and vice versa +- [ ] Grapher +- [ ] Flocking (boids) +- [ ] Image quantization (median-cut) +- [ ] Image quantization (k-means) +- [ ] Double-precision GLSL fractals +- [ ] Bézier curve +- [ ] Refraction (optics) +- [ ] Mode 7 racing +- [ ] Spiral raster +- [ ] Plot function +- [ ] Rope simulation (Verlet) +- [ ] Hair simulation (Verlet) +- [ ] Koch snowflake +- [ ] Newton’s cradle simulation (Verlet) +- [ ] Anti-aliased line rasterization (Xiaolin Wu) +- [ ] Anti-aliased thick line rasterization (Xiaolin Wu) +- [ ] Spirograph +- [ ] Circle-line intersection +- [ ] Fourier series visualization (square) +- [ ] Fourier series visualization (saw) +- [ ] Discrete Fourier transform +- [ ] Fourier transform based epicycles +- [ ] Fast Fourier transform +- [ ] 2D nearest-neighbor interpolation +- [ ] Bilinear interpolation +- [ ] Bicubic interpolation +- [ ] Edge detection +- [ ] Catmull-Rom splines +- [ ] Sepia filter +- [ ] Various black/white filters +- [ ] Guassian blur +- [ ] Box blur +- [ ] Image convolution using kernels +- [ ] Function approximation using neural networks +- [ ] Checkers/chess game in OpenGL +- [ ] Rubik’s cube solver and scrambler +- [ ] Rubik’s cube renderer in OpenGL +- [ ] Connect 4 in OpenGL +- [ ] Fast Fourier transform for audio visualization +- [ ] Text editor using Terminal extension

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