From ed8237a601fd3d0425344cf5e70cc40fea4c88f3 Mon Sep 17 00:00:00 2001 From: Lukian Date: Wed, 29 Jan 2025 12:51:09 +0100 Subject: [PATCH] added a texture class --- include/stb_image.h | 7988 ++++++++++++++++++++++++++++++++++ include/textures/texture.hpp | 15 + shaders/shader.fs | 7 +- shaders/shader.vs | 9 +- src/main.cpp | 27 +- src/texture.cpp | 39 + textures/oh_my_gah.png | Bin 0 -> 622957 bytes textures/saataa_andagii.png | Bin 0 -> 119295 bytes 8 files changed, 8076 insertions(+), 9 deletions(-) create mode 100644 include/stb_image.h create mode 100644 include/textures/texture.hpp create mode 100644 src/texture.cpp create mode 100644 textures/oh_my_gah.png create mode 100644 textures/saataa_andagii.png diff --git a/include/stb_image.h b/include/stb_image.h new file mode 100644 index 0000000..9eedabe --- /dev/null +++ b/include/stb_image.h @@ -0,0 +1,7988 @@ +/* stb_image - v2.30 - public domain image loader - http://nothings.org/stb + no warranty implied; use at your own risk + + Do this: + #define STB_IMAGE_IMPLEMENTATION + before you include this file in *one* C or C++ file to create the implementation. + + // i.e. it should look like this: + #include ... + #include ... + #include ... + #define STB_IMAGE_IMPLEMENTATION + #include "stb_image.h" + + You can #define STBI_ASSERT(x) before the #include to avoid using assert.h. + And #define STBI_MALLOC, STBI_REALLOC, and STBI_FREE to avoid using malloc,realloc,free + + + QUICK NOTES: + Primarily of interest to game developers and other people who can + avoid problematic images and only need the trivial interface + + JPEG baseline & progressive (12 bpc/arithmetic not supported, same as stock IJG lib) + PNG 1/2/4/8/16-bit-per-channel + + TGA (not sure what subset, if a subset) + BMP non-1bpp, non-RLE + PSD (composited view only, no extra channels, 8/16 bit-per-channel) + + GIF (*comp always reports as 4-channel) + HDR (radiance rgbE format) + PIC (Softimage PIC) + PNM (PPM and PGM binary only) + + Animated GIF still needs a proper API, but here's one way to do it: + http://gist.github.com/urraka/685d9a6340b26b830d49 + + - decode from memory or through FILE (define STBI_NO_STDIO to remove code) + - decode from arbitrary I/O callbacks + - SIMD acceleration on x86/x64 (SSE2) and ARM (NEON) + + Full documentation under "DOCUMENTATION" below. + + +LICENSE + + See end of file for license information. + +RECENT REVISION HISTORY: + + 2.30 (2024-05-31) avoid erroneous gcc warning + 2.29 (2023-05-xx) optimizations + 2.28 (2023-01-29) many error fixes, security errors, just tons of stuff + 2.27 (2021-07-11) document stbi_info better, 16-bit PNM support, bug fixes + 2.26 (2020-07-13) many minor fixes + 2.25 (2020-02-02) fix warnings + 2.24 (2020-02-02) fix warnings; thread-local failure_reason and flip_vertically + 2.23 (2019-08-11) fix clang static analysis warning + 2.22 (2019-03-04) gif fixes, fix warnings + 2.21 (2019-02-25) fix typo in comment + 2.20 (2019-02-07) support utf8 filenames in Windows; fix warnings and platform ifdefs + 2.19 (2018-02-11) fix warning + 2.18 (2018-01-30) fix warnings + 2.17 (2018-01-29) bugfix, 1-bit BMP, 16-bitness query, fix warnings + 2.16 (2017-07-23) all functions have 16-bit variants; optimizations; bugfixes + 2.15 (2017-03-18) fix png-1,2,4; all Imagenet JPGs; no runtime SSE detection on GCC + 2.14 (2017-03-03) remove deprecated STBI_JPEG_OLD; fixes for Imagenet JPGs + 2.13 (2016-12-04) experimental 16-bit API, only for PNG so far; fixes + 2.12 (2016-04-02) fix typo in 2.11 PSD fix that caused crashes + 2.11 (2016-04-02) 16-bit PNGS; enable SSE2 in non-gcc x64 + RGB-format JPEG; remove white matting in PSD; + allocate large structures on the stack; + correct channel count for PNG & BMP + 2.10 (2016-01-22) avoid warning introduced in 2.09 + 2.09 (2016-01-16) 16-bit TGA; comments in PNM files; STBI_REALLOC_SIZED + + See end of file for full revision history. + + + ============================ Contributors ========================= + + Image formats Extensions, features + Sean Barrett (jpeg, png, bmp) Jetro Lauha (stbi_info) + Nicolas Schulz (hdr, psd) Martin "SpartanJ" Golini (stbi_info) + Jonathan Dummer (tga) James "moose2000" Brown (iPhone PNG) + Jean-Marc Lienher (gif) Ben "Disch" Wenger (io callbacks) + Tom Seddon (pic) Omar Cornut (1/2/4-bit PNG) + Thatcher Ulrich (psd) Nicolas Guillemot (vertical flip) + Ken Miller (pgm, ppm) Richard Mitton (16-bit PSD) + github:urraka (animated gif) Junggon Kim (PNM comments) + Christopher Forseth (animated gif) Daniel Gibson (16-bit TGA) + socks-the-fox (16-bit PNG) + Jeremy Sawicki (handle all ImageNet JPGs) + Optimizations & bugfixes Mikhail Morozov (1-bit BMP) + Fabian "ryg" Giesen Anael Seghezzi (is-16-bit query) + Arseny Kapoulkine Simon Breuss (16-bit PNM) + John-Mark Allen + Carmelo J Fdez-Aguera + + Bug & warning fixes + Marc LeBlanc David Woo Guillaume George Martins Mozeiko + Christpher Lloyd Jerry Jansson Joseph Thomson Blazej Dariusz Roszkowski + Phil Jordan Dave Moore Roy Eltham + Hayaki Saito Nathan Reed Won Chun + Luke Graham Johan Duparc Nick Verigakis the Horde3D community + Thomas Ruf Ronny Chevalier github:rlyeh + Janez Zemva John Bartholomew Michal Cichon github:romigrou + Jonathan Blow Ken Hamada Tero Hanninen github:svdijk + Eugene Golushkov Laurent Gomila Cort Stratton github:snagar + Aruelien Pocheville Sergio Gonzalez Thibault Reuille github:Zelex + Cass Everitt Ryamond Barbiero github:grim210 + Paul Du Bois Engin Manap Aldo Culquicondor github:sammyhw + Philipp Wiesemann Dale Weiler Oriol Ferrer Mesia github:phprus + Josh Tobin Neil Bickford Matthew Gregan github:poppolopoppo + Julian Raschke Gregory Mullen Christian Floisand github:darealshinji + Baldur Karlsson Kevin Schmidt JR Smith github:Michaelangel007 + Brad Weinberger Matvey Cherevko github:mosra + Luca Sas Alexander Veselov Zack Middleton [reserved] + Ryan C. Gordon [reserved] [reserved] + DO NOT ADD YOUR NAME HERE + + Jacko Dirks + + To add your name to the credits, pick a random blank space in the middle and fill it. + 80% of merge conflicts on stb PRs are due to people adding their name at the end + of the credits. +*/ + +#ifndef STBI_INCLUDE_STB_IMAGE_H +#define STBI_INCLUDE_STB_IMAGE_H + +// DOCUMENTATION +// +// Limitations: +// - no 12-bit-per-channel JPEG +// - no JPEGs with arithmetic coding +// - GIF always returns *comp=4 +// +// Basic usage (see HDR discussion below for HDR usage): +// int x,y,n; +// unsigned char *data = stbi_load(filename, &x, &y, &n, 0); +// // ... process data if not NULL ... +// // ... x = width, y = height, n = # 8-bit components per pixel ... +// // ... replace '0' with '1'..'4' to force that many components per pixel +// // ... but 'n' will always be the number that it would have been if you said 0 +// stbi_image_free(data); +// +// Standard parameters: +// int *x -- outputs image width in pixels +// int *y -- outputs image height in pixels +// int *channels_in_file -- outputs # of image components in image file +// int desired_channels -- if non-zero, # of image components requested in result +// +// The return value from an image loader is an 'unsigned char *' which points +// to the pixel data, or NULL on an allocation failure or if the image is +// corrupt or invalid. The pixel data consists of *y scanlines of *x pixels, +// with each pixel consisting of N interleaved 8-bit components; the first +// pixel pointed to is top-left-most in the image. There is no padding between +// image scanlines or between pixels, regardless of format. The number of +// components N is 'desired_channels' if desired_channels is non-zero, or +// *channels_in_file otherwise. If desired_channels is non-zero, +// *channels_in_file has the number of components that _would_ have been +// output otherwise. E.g. if you set desired_channels to 4, you will always +// get RGBA output, but you can check *channels_in_file to see if it's trivially +// opaque because e.g. there were only 3 channels in the source image. +// +// An output image with N components has the following components interleaved +// in this order in each pixel: +// +// N=#comp components +// 1 grey +// 2 grey, alpha +// 3 red, green, blue +// 4 red, green, blue, alpha +// +// If image loading fails for any reason, the return value will be NULL, +// and *x, *y, *channels_in_file will be unchanged. The function +// stbi_failure_reason() can be queried for an extremely brief, end-user +// unfriendly explanation of why the load failed. Define STBI_NO_FAILURE_STRINGS +// to avoid compiling these strings at all, and STBI_FAILURE_USERMSG to get slightly +// more user-friendly ones. +// +// Paletted PNG, BMP, GIF, and PIC images are automatically depalettized. +// +// To query the width, height and component count of an image without having to +// decode the full file, you can use the stbi_info family of functions: +// +// int x,y,n,ok; +// ok = stbi_info(filename, &x, &y, &n); +// // returns ok=1 and sets x, y, n if image is a supported format, +// // 0 otherwise. +// +// Note that stb_image pervasively uses ints in its public API for sizes, +// including sizes of memory buffers. This is now part of the API and thus +// hard to change without causing breakage. As a result, the various image +// loaders all have certain limits on image size; these differ somewhat +// by format but generally boil down to either just under 2GB or just under +// 1GB. When the decoded image would be larger than this, stb_image decoding +// will fail. +// +// Additionally, stb_image will reject image files that have any of their +// dimensions set to a larger value than the configurable STBI_MAX_DIMENSIONS, +// which defaults to 2**24 = 16777216 pixels. Due to the above memory limit, +// the only way to have an image with such dimensions load correctly +// is for it to have a rather extreme aspect ratio. Either way, the +// assumption here is that such larger images are likely to be malformed +// or malicious. If you do need to load an image with individual dimensions +// larger than that, and it still fits in the overall size limit, you can +// #define STBI_MAX_DIMENSIONS on your own to be something larger. +// +// =========================================================================== +// +// UNICODE: +// +// If compiling for Windows and you wish to use Unicode filenames, compile +// with +// #define STBI_WINDOWS_UTF8 +// and pass utf8-encoded filenames. Call stbi_convert_wchar_to_utf8 to convert +// Windows wchar_t filenames to utf8. +// +// =========================================================================== +// +// Philosophy +// +// stb libraries are designed with the following priorities: +// +// 1. easy to use +// 2. easy to maintain +// 3. good performance +// +// Sometimes I let "good performance" creep up in priority over "easy to maintain", +// and for best performance I may provide less-easy-to-use APIs that give higher +// performance, in addition to the easy-to-use ones. Nevertheless, it's important +// to keep in mind that from the standpoint of you, a client of this library, +// all you care about is #1 and #3, and stb libraries DO NOT emphasize #3 above all. +// +// Some secondary priorities arise directly from the first two, some of which +// provide more explicit reasons why performance can't be emphasized. +// +// - Portable ("ease of use") +// - Small source code footprint ("easy to maintain") +// - No dependencies ("ease of use") +// +// =========================================================================== +// +// I/O callbacks +// +// I/O callbacks allow you to read from arbitrary sources, like packaged +// files or some other source. Data read from callbacks are processed +// through a small internal buffer (currently 128 bytes) to try to reduce +// overhead. +// +// The three functions you must define are "read" (reads some bytes of data), +// "skip" (skips some bytes of data), "eof" (reports if the stream is at the end). +// +// =========================================================================== +// +// SIMD support +// +// The JPEG decoder will try to automatically use SIMD kernels on x86 when +// supported by the compiler. For ARM Neon support, you must explicitly +// request it. +// +// (The old do-it-yourself SIMD API is no longer supported in the current +// code.) +// +// On x86, SSE2 will automatically be used when available based on a run-time +// test; if not, the generic C versions are used as a fall-back. On ARM targets, +// the typical path is to have separate builds for NEON and non-NEON devices +// (at least this is true for iOS and Android). Therefore, the NEON support is +// toggled by a build flag: define STBI_NEON to get NEON loops. +// +// If for some reason you do not want to use any of SIMD code, or if +// you have issues compiling it, you can disable it entirely by +// defining STBI_NO_SIMD. +// +// =========================================================================== +// +// HDR image support (disable by defining STBI_NO_HDR) +// +// stb_image supports loading HDR images in general, and currently the Radiance +// .HDR file format specifically. You can still load any file through the existing +// interface; if you attempt to load an HDR file, it will be automatically remapped +// to LDR, assuming gamma 2.2 and an arbitrary scale factor defaulting to 1; +// both of these constants can be reconfigured through this interface: +// +// stbi_hdr_to_ldr_gamma(2.2f); +// stbi_hdr_to_ldr_scale(1.0f); +// +// (note, do not use _inverse_ constants; stbi_image will invert them +// appropriately). +// +// Additionally, there is a new, parallel interface for loading files as +// (linear) floats to preserve the full dynamic range: +// +// float *data = stbi_loadf(filename, &x, &y, &n, 0); +// +// If you load LDR images through this interface, those images will +// be promoted to floating point values, run through the inverse of +// constants corresponding to the above: +// +// stbi_ldr_to_hdr_scale(1.0f); +// stbi_ldr_to_hdr_gamma(2.2f); +// +// Finally, given a filename (or an open file or memory block--see header +// file for details) containing image data, you can query for the "most +// appropriate" interface to use (that is, whether the image is HDR or +// not), using: +// +// stbi_is_hdr(char *filename); +// +// =========================================================================== +// +// iPhone PNG support: +// +// We optionally support converting iPhone-formatted PNGs (which store +// premultiplied BGRA) back to RGB, even though they're internally encoded +// differently. To enable this conversion, call +// stbi_convert_iphone_png_to_rgb(1). +// +// Call stbi_set_unpremultiply_on_load(1) as well to force a divide per +// pixel to remove any premultiplied alpha *only* if the image file explicitly +// says there's premultiplied data (currently only happens in iPhone images, +// and only if iPhone convert-to-rgb processing is on). +// +// =========================================================================== +// +// ADDITIONAL CONFIGURATION +// +// - You can suppress implementation of any of the decoders to reduce +// your code footprint by #defining one or more of the following +// symbols before creating the implementation. +// +// STBI_NO_JPEG +// STBI_NO_PNG +// STBI_NO_BMP +// STBI_NO_PSD +// STBI_NO_TGA +// STBI_NO_GIF +// STBI_NO_HDR +// STBI_NO_PIC +// STBI_NO_PNM (.ppm and .pgm) +// +// - You can request *only* certain decoders and suppress all other ones +// (this will be more forward-compatible, as addition of new decoders +// doesn't require you to disable them explicitly): +// +// STBI_ONLY_JPEG +// STBI_ONLY_PNG +// STBI_ONLY_BMP +// STBI_ONLY_PSD +// STBI_ONLY_TGA +// STBI_ONLY_GIF +// STBI_ONLY_HDR +// STBI_ONLY_PIC +// STBI_ONLY_PNM (.ppm and .pgm) +// +// - If you use STBI_NO_PNG (or _ONLY_ without PNG), and you still +// want the zlib decoder to be available, #define STBI_SUPPORT_ZLIB +// +// - If you define STBI_MAX_DIMENSIONS, stb_image will reject images greater +// than that size (in either width or height) without further processing. +// This is to let programs in the wild set an upper bound to prevent +// denial-of-service attacks on untrusted data, as one could generate a +// valid image of gigantic dimensions and force stb_image to allocate a +// huge block of memory and spend disproportionate time decoding it. By +// default this is set to (1 << 24), which is 16777216, but that's still +// very big. + +#ifndef STBI_NO_STDIO +#include +#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 +}; + +#include +typedef unsigned char stbi_uc; +typedef unsigned short stbi_us; + +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef STBIDEF +#ifdef STB_IMAGE_STATIC +#define STBIDEF static +#else +#define STBIDEF extern +#endif +#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_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 + +#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 + +#ifdef STBI_WINDOWS_UTF8 +STBIDEF int stbi_convert_wchar_to_utf8(char *buffer, size_t bufferlen, const wchar_t* input); +#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 +// on most compilers (and ALL modern mainstream compilers) this is 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); + +// as above, but only applies to images loaded on the thread that calls the function +// this function is only available if your compiler supports thread-local variables; +// calling it will fail to link if your compiler doesn't +STBIDEF void stbi_set_unpremultiply_on_load_thread(int flag_true_if_should_unpremultiply); +STBIDEF void stbi_convert_iphone_png_to_rgb_thread(int flag_true_if_should_convert); +STBIDEF void stbi_set_flip_vertically_on_load_thread(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 + +#ifdef __cplusplus +#define STBI_EXTERN extern "C" +#else +#define STBI_EXTERN extern +#endif + + +#ifndef _MSC_VER + #ifdef __cplusplus + #define stbi_inline inline + #else + #define stbi_inline + #endif +#else + #define stbi_inline __forceinline +#endif + +#ifndef STBI_NO_THREAD_LOCALS + #if defined(__cplusplus) && __cplusplus >= 201103L + #define STBI_THREAD_LOCAL thread_local + #elif defined(__GNUC__) && __GNUC__ < 5 + #define STBI_THREAD_LOCAL __thread + #elif defined(_MSC_VER) + #define STBI_THREAD_LOCAL __declspec(thread) + #elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 201112L && !defined(__STDC_NO_THREADS__) + #define STBI_THREAD_LOCAL _Thread_local + #endif + + #ifndef STBI_THREAD_LOCAL + #if defined(__GNUC__) + #define STBI_THREAD_LOCAL __thread + #endif + #endif +#endif + +#if defined(_MSC_VER) || defined(__SYMBIAN32__) +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) >> (-(y) & 31))) +#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 + +#if !defined(STBI_NO_JPEG) && defined(STBI_SSE2) +static int stbi__sse2_available(void) +{ + int info3 = stbi__cpuid3(); + return ((info3 >> 26) & 1) != 0; +} +#endif + +#else // assume GCC-style if not VC++ +#define STBI_SIMD_ALIGN(type, name) type name __attribute__((aligned(16))) + +#if !defined(STBI_NO_JPEG) && defined(STBI_SSE2) +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 +#endif + +// ARM NEON +#if defined(STBI_NO_SIMD) && defined(STBI_NEON) +#undef STBI_NEON +#endif + +#ifdef STBI_NEON +#include +#ifdef _MSC_VER +#define STBI_SIMD_ALIGN(type, name) __declspec(align(16)) type name +#else +#define STBI_SIMD_ALIGN(type, name) type name __attribute__((aligned(16))) +#endif +#endif + +#ifndef STBI_SIMD_ALIGN +#define STBI_SIMD_ALIGN(type, name) type name +#endif + +#ifndef STBI_MAX_DIMENSIONS +#define STBI_MAX_DIMENSIONS (1 << 24) +#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]; + int callback_already_read; + + 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->callback_already_read = 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->callback_already_read = 0; + s->img_buffer = 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) +{ + int ch; + fseek((FILE*) user, n, SEEK_CUR); + ch = fgetc((FILE*) user); /* have to read a byte to reset feof()'s flag */ + if (ch != EOF) { + ungetc(ch, (FILE *) user); /* push byte back onto stream if valid. */ + } +} + +static int stbi__stdio_eof(void *user) +{ + return feof((FILE*) user) || ferror((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); +static int stbi__pnm_is16(stbi__context *s); +#endif + +static +#ifdef STBI_THREAD_LOCAL +STBI_THREAD_LOCAL +#endif +const char *stbi__g_failure_reason; + +STBIDEF const char *stbi_failure_reason(void) +{ + return stbi__g_failure_reason; +} + +#ifndef STBI_NO_FAILURE_STRINGS +static int stbi__err(const char *str) +{ + stbi__g_failure_reason = str; + return 0; +} +#endif + +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; +} + +#if !defined(STBI_NO_JPEG) || !defined(STBI_NO_PNG) || !defined(STBI_NO_TGA) || !defined(STBI_NO_HDR) +// 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); +} +#endif + +// 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) || !defined(STBI_NO_PNM) +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 + +#if !defined(STBI_NO_JPEG) || !defined(STBI_NO_PNG) || !defined(STBI_NO_TGA) || !defined(STBI_NO_HDR) +// 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); +} +#endif + +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) || !defined(STBI_NO_PNM) +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 + +// returns 1 if the sum of two signed ints is valid (between -2^31 and 2^31-1 inclusive), 0 on overflow. +static int stbi__addints_valid(int a, int b) +{ + if ((a >= 0) != (b >= 0)) return 1; // a and b have different signs, so no overflow + if (a < 0 && b < 0) return a >= INT_MIN - b; // same as a + b >= INT_MIN; INT_MIN - b cannot overflow since b < 0. + return a <= INT_MAX - b; +} + +// returns 1 if the product of two ints fits in a signed short, 0 on overflow. +static int stbi__mul2shorts_valid(int a, int b) +{ + if (b == 0 || b == -1) return 1; // multiplication by 0 is always 0; check for -1 so SHRT_MIN/b doesn't overflow + if ((a >= 0) == (b >= 0)) return a <= SHRT_MAX/b; // product is positive, so similar to mul2sizes_valid + if (b < 0) return a <= SHRT_MIN / b; // same as a * b >= SHRT_MIN + return a >= SHRT_MIN / b; +} + +// 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_global = 0; + +STBIDEF void stbi_set_flip_vertically_on_load(int flag_true_if_should_flip) +{ + stbi__vertically_flip_on_load_global = flag_true_if_should_flip; +} + +#ifndef STBI_THREAD_LOCAL +#define stbi__vertically_flip_on_load stbi__vertically_flip_on_load_global +#else +static STBI_THREAD_LOCAL int stbi__vertically_flip_on_load_local, stbi__vertically_flip_on_load_set; + +STBIDEF void stbi_set_flip_vertically_on_load_thread(int flag_true_if_should_flip) +{ + stbi__vertically_flip_on_load_local = flag_true_if_should_flip; + stbi__vertically_flip_on_load_set = 1; +} + +#define stbi__vertically_flip_on_load (stbi__vertically_flip_on_load_set \ + ? stbi__vertically_flip_on_load_local \ + : stbi__vertically_flip_on_load_global) +#endif // STBI_THREAD_LOCAL + +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; + + // test the formats with a very explicit header first (at least a FOURCC + // or distinctive magic number first) + #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); + #else + STBI_NOTUSED(bpc); + #endif + #ifndef STBI_NO_PIC + if (stbi__pic_test(s)) return stbi__pic_load(s,x,y,comp,req_comp, ri); + #endif + + // then the formats that can end up attempting to load with just 1 or 2 + // bytes matching expectations; these are prone to false positives, so + // try them later + #ifndef STBI_NO_JPEG + if (stbi__jpeg_test(s)) return stbi__jpeg_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; + } + } +} + +#ifndef STBI_NO_GIF +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; + } +} +#endif + +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; + + // it is the responsibility of the loaders to make sure we get either 8 or 16 bit. + STBI_ASSERT(ri.bits_per_channel == 8 || ri.bits_per_channel == 16); + + if (ri.bits_per_channel != 8) { + 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; + + // it is the responsibility of the loaders to make sure we get either 8 or 16 bit. + STBI_ASSERT(ri.bits_per_channel == 8 || ri.bits_per_channel == 16); + + if (ri.bits_per_channel != 16) { + 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 + +#if defined(_WIN32) && defined(STBI_WINDOWS_UTF8) +STBI_EXTERN __declspec(dllimport) int __stdcall MultiByteToWideChar(unsigned int cp, unsigned long flags, const char *str, int cbmb, wchar_t *widestr, int cchwide); +STBI_EXTERN __declspec(dllimport) int __stdcall WideCharToMultiByte(unsigned int cp, unsigned long flags, const wchar_t *widestr, int cchwide, char *str, int cbmb, const char *defchar, int *used_default); +#endif + +#if defined(_WIN32) && defined(STBI_WINDOWS_UTF8) +STBIDEF int stbi_convert_wchar_to_utf8(char *buffer, size_t bufferlen, const wchar_t* input) +{ + return WideCharToMultiByte(65001 /* UTF8 */, 0, input, -1, buffer, (int) bufferlen, NULL, NULL); +} +#endif + +static FILE *stbi__fopen(char const *filename, char const *mode) +{ + FILE *f; +#if defined(_WIN32) && defined(STBI_WINDOWS_UTF8) + wchar_t wMode[64]; + wchar_t wFilename[1024]; + if (0 == MultiByteToWideChar(65001 /* UTF8 */, 0, filename, -1, wFilename, sizeof(wFilename)/sizeof(*wFilename))) + return 0; + + if (0 == MultiByteToWideChar(65001 /* UTF8 */, 0, mode, -1, wMode, sizeof(wMode)/sizeof(*wMode))) + return 0; + +#if defined(_MSC_VER) && _MSC_VER >= 1400 + if (0 != _wfopen_s(&f, wFilename, wMode)) + f = 0; +#else + f = _wfopen(wFilename, wMode); +#endif + +#elif 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); + s->callback_already_read += (int) (s->img_buffer - s->img_buffer_original); + 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; +} + +#if defined(STBI_NO_JPEG) && defined(STBI_NO_HDR) && defined(STBI_NO_PIC) && defined(STBI_NO_PNM) +// nothing +#else +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; +} +#endif + +#if defined(STBI_NO_JPEG) && defined(STBI_NO_PNG) && defined(STBI_NO_BMP) && defined(STBI_NO_PSD) && defined(STBI_NO_TGA) && defined(STBI_NO_GIF) && defined(STBI_NO_PIC) +// nothing +#else +static void stbi__skip(stbi__context *s, int n) +{ + if (n == 0) return; // already there! + 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; +} +#endif + +#if defined(STBI_NO_PNG) && defined(STBI_NO_TGA) && defined(STBI_NO_HDR) && defined(STBI_NO_PNM) +// nothing +#else +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; +} +#endif + +#if defined(STBI_NO_JPEG) && defined(STBI_NO_PNG) && defined(STBI_NO_PSD) && defined(STBI_NO_PIC) +// nothing +#else +static int stbi__get16be(stbi__context *s) +{ + int z = stbi__get8(s); + return (z << 8) + stbi__get8(s); +} +#endif + +#if defined(STBI_NO_PNG) && defined(STBI_NO_PSD) && defined(STBI_NO_PIC) +// nothing +#else +static stbi__uint32 stbi__get32be(stbi__context *s) +{ + stbi__uint32 z = stbi__get16be(s); + return (z << 16) + stbi__get16be(s); +} +#endif + +#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); + z += (stbi__uint32)stbi__get16le(s) << 16; + return z; +} +#endif + +#define STBI__BYTECAST(x) ((stbi_uc) ((x) & 255)) // truncate int to byte without warnings + +#if defined(STBI_NO_JPEG) && defined(STBI_NO_PNG) && defined(STBI_NO_BMP) && defined(STBI_NO_PSD) && defined(STBI_NO_TGA) && defined(STBI_NO_GIF) && defined(STBI_NO_PIC) && defined(STBI_NO_PNM) +// nothing +#else +////////////////////////////////////////////////////////////////////////////// +// +// 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); +} +#endif + +#if defined(STBI_NO_PNG) && defined(STBI_NO_BMP) && defined(STBI_NO_PSD) && defined(STBI_NO_TGA) && defined(STBI_NO_GIF) && defined(STBI_NO_PIC) && defined(STBI_NO_PNM) +// nothing +#else +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); STBI_FREE(data); STBI_FREE(good); return stbi__errpuc("unsupported", "Unsupported format conversion"); + } + #undef STBI__CASE + } + + STBI_FREE(data); + return good; +} +#endif + +#if defined(STBI_NO_PNG) && defined(STBI_NO_PSD) +// nothing +#else +static stbi__uint16 stbi__compute_y_16(int r, int g, int b) +{ + return (stbi__uint16) (((r*77) + (g*150) + (29*b)) >> 8); +} +#endif + +#if defined(STBI_NO_PNG) && defined(STBI_NO_PSD) +// nothing +#else +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); STBI_FREE(data); STBI_FREE(good); return (stbi__uint16*) stbi__errpuc("unsupported", "Unsupported format conversion"); + } + #undef STBI__CASE + } + + STBI_FREE(data); + return good; +} +#endif + +#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 (n < comp) { + for (i=0; i < x*y; ++i) { + output[i*comp + n] = data[i*comp + n]/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); + if(k >= 257) return stbi__err("bad size list","Corrupt JPEG"); + } + } + 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]; + if(c < 0 || c >= 256) // symbol id out of bounds! + return -1; + 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); + if (j->code_bits < n) return 0; // ran out of bits from stream, return 0s intead of continuing + + sgn = j->code_buffer >> 31; // sign bit always in MSB; 0 if MSB clear (positive), 1 if MSB set (negative) + 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__jbias[n] & (sgn - 1)); +} + +// 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); + if (j->code_bits < n) return 0; // ran out of bits from stream, return 0s intead of continuing + 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); + if (j->code_bits < 1) return 0; // ran out of bits from stream, return 0s intead of continuing + 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 || t > 15) 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; + if (!stbi__addints_valid(j->img_comp[b].dc_pred, diff)) return stbi__err("bad delta","Corrupt JPEG"); + dc = j->img_comp[b].dc_pred + diff; + j->img_comp[b].dc_pred = dc; + if (!stbi__mul2shorts_valid(dc, dequant[0])) return stbi__err("can't merge dc and ac", "Corrupt JPEG"); + 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 + if (s > j->code_bits) return stbi__err("bad huffman code", "Combined length longer than code bits available"); + 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); + if (t < 0 || t > 15) return stbi__err("can't merge dc and ac", "Corrupt JPEG"); + diff = t ? stbi__extend_receive(j, t) : 0; + + if (!stbi__addints_valid(j->img_comp[b].dc_pred, diff)) return stbi__err("bad delta", "Corrupt JPEG"); + dc = j->img_comp[b].dc_pred + diff; + j->img_comp[b].dc_pred = dc; + if (!stbi__mul2shorts_valid(dc, 1 << j->succ_low)) return stbi__err("can't merge dc and ac", "Corrupt JPEG"); + data[0] = (short) (dc * (1 << 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 + if (s > j->code_bits) return stbi__err("bad huffman code", "Combined length longer than code bits available"); + j->code_buffer <<= s; + j->code_bits -= s; + zig = stbi__jpeg_dezigzag[k++]; + data[zig] = (short) ((r >> 8) * (1 << 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) * (1 << 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]; + } + if(n > 256) return stbi__err("bad DHT header","Corrupt JPEG"); // Loop over i < n would write past end of values! + 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 + if (s->img_y > STBI_MAX_DIMENSIONS) return stbi__err("too large","Very large image (corrupt?)"); + if (s->img_x > STBI_MAX_DIMENSIONS) return stbi__err("too large","Very large image (corrupt?)"); + 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; + } + + // check that plane subsampling factors are integer ratios; our resamplers can't deal with fractional ratios + // and I've never seen a non-corrupted JPEG file actually use them + for (i=0; i < s->img_n; ++i) { + if (h_max % z->img_comp[i].h != 0) return stbi__err("bad H","Corrupt JPEG"); + if (v_max % z->img_comp[i].v != 0) return stbi__err("bad V","Corrupt JPEG"); + } + + // 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; +} + +static stbi_uc stbi__skip_jpeg_junk_at_end(stbi__jpeg *j) +{ + // some JPEGs have junk at end, skip over it but if we find what looks + // like a valid marker, resume there + while (!stbi__at_eof(j->s)) { + stbi_uc x = stbi__get8(j->s); + while (x == 0xff) { // might be a marker + if (stbi__at_eof(j->s)) return STBI__MARKER_none; + x = stbi__get8(j->s); + if (x != 0x00 && x != 0xff) { + // not a stuffed zero or lead-in to another marker, looks + // like an actual marker, return it + return x; + } + // stuffed zero has x=0 now which ends the loop, meaning we go + // back to regular scan loop. + // repeated 0xff keeps trying to read the next byte of the marker. + } + } + return STBI__MARKER_none; +} + +// 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 ) { + j->marker = stbi__skip_jpeg_junk_at_end(j); + // if we reach eof without hitting a marker, stbi__get_marker() below will fail and we'll eventually return 0 + } + m = stbi__get_marker(j); + if (STBI__RESTART(m)) + m = stbi__get_marker(j); + } 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"); + m = stbi__get_marker(j); + } else { + if (!stbi__process_marker(j, m)) return 1; + 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; + + // nothing to do if no components requested; check this now to avoid + // accessing uninitialized coutput[0] later + if (decode_n <= 0) { stbi__cleanup_jpeg(z); return NULL; } + + // resample and color-convert + { + int k; + unsigned int i,j; + stbi_uc *output; + stbi_uc *coutput[4] = { NULL, NULL, NULL, NULL }; + + 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)); + if (!j) return stbi__errpuc("outofmem", "Out of memory"); + memset(j, 0, 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)); + if (!j) return stbi__err("outofmem", "Out of memory"); + memset(j, 0, 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))); + if (!j) return stbi__err("outofmem", "Out of memory"); + memset(j, 0, 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) +#define STBI__ZNSYMS 288 // number of symbols in literal/length alphabet + +// 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[STBI__ZNSYMS]; + stbi__uint16 value[STBI__ZNSYMS]; +} 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; + int hit_zeof_once; + 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 int stbi__zeof(stbi__zbuf *z) +{ + return (z->zbuffer >= z->zbuffer_end); +} + +stbi_inline static stbi_uc stbi__zget8(stbi__zbuf *z) +{ + return stbi__zeof(z) ? 0 : *z->zbuffer++; +} + +static void stbi__fill_bits(stbi__zbuf *z) +{ + do { + if (z->code_buffer >= (1U << z->num_bits)) { + z->zbuffer = z->zbuffer_end; /* treat this as EOF so we fail. */ + return; + } + 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]; + if (b >= STBI__ZNSYMS) return -1; // some data was corrupt somewhere! + if (z->size[b] != s) return -1; // was originally an assert, but report failure instead. + 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) { + if (stbi__zeof(a)) { + if (!a->hit_zeof_once) { + // This is the first time we hit eof, insert 16 extra padding btis + // to allow us to keep going; if we actually consume any of them + // though, that is invalid data. This is caught later. + a->hit_zeof_once = 1; + a->num_bits += 16; // add 16 implicit zero bits + } else { + // We already inserted our extra 16 padding bits and are again + // out, this stream is actually prematurely terminated. + return -1; + } + } else { + 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; + unsigned int cur, limit, old_limit; + z->zout = zout; + if (!z->z_expandable) return stbi__err("output buffer limit","Corrupt PNG"); + cur = (unsigned int) (z->zout - z->zout_start); + limit = old_limit = (unsigned) (z->zout_end - z->zout_start); + if (UINT_MAX - cur < (unsigned) n) return stbi__err("outofmem", "Out of memory"); + while (cur + n > limit) { + if(limit > UINT_MAX / 2) return stbi__err("outofmem", "Out of memory"); + 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; + if (a->hit_zeof_once && a->num_bits < 16) { + // The first time we hit zeof, we inserted 16 extra zero bits into our bit + // buffer so the decoder can just do its speculative decoding. But if we + // actually consumed any of those bits (which is the case when num_bits < 16), + // the stream actually read past the end so it is malformed. + return stbi__err("unexpected end","Corrupt PNG"); + } + return 1; + } + if (z >= 286) return stbi__err("bad huffman code","Corrupt PNG"); // per DEFLATE, length codes 286 and 287 must not appear in compressed data + 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 || z >= 30) return stbi__err("bad huffman code","Corrupt PNG"); // per DEFLATE, distance codes 30 and 31 must not appear in compressed data + 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 (len > a->zout_end - zout) { + 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 if (c == 18) { + c = stbi__zreceive(a,7)+11; + } else { + return stbi__err("bad codelengths", "Corrupt PNG"); + } + 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; + } + if (a->num_bits < 0) return stbi__err("zlib corrupt","Corrupt PNG"); + // 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 (stbi__zeof(a)) return stbi__err("bad zlib header","Corrupt PNG"); // zlib spec + 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[STBI__ZNSYMS] = +{ + 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; + a->hit_zeof_once = 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 , STBI__ZNSYMS)) 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 filter used for first scanline to avoid needing a dummy row of 0s + STBI__F_avg_first +}; + +static stbi_uc first_row_filter[5] = +{ + STBI__F_none, + STBI__F_sub, + STBI__F_none, + STBI__F_avg_first, + STBI__F_sub // Paeth with b=c=0 turns out to be equivalent to sub +}; + +static int stbi__paeth(int a, int b, int c) +{ + // This formulation looks very different from the reference in the PNG spec, but is + // actually equivalent and has favorable data dependencies and admits straightforward + // generation of branch-free code, which helps performance significantly. + int thresh = c*3 - (a + b); + int lo = a < b ? a : b; + int hi = a < b ? b : a; + int t0 = (hi <= thresh) ? lo : c; + int t1 = (thresh <= lo) ? hi : t0; + return t1; +} + +static const stbi_uc stbi__depth_scale_table[9] = { 0, 0xff, 0x55, 0, 0x11, 0,0,0, 0x01 }; + +// adds an extra all-255 alpha channel +// dest == src is legal +// img_n must be 1 or 3 +static void stbi__create_png_alpha_expand8(stbi_uc *dest, stbi_uc *src, stbi__uint32 x, int img_n) +{ + int i; + // must process data backwards since we allow dest==src + if (img_n == 1) { + for (i=x-1; i >= 0; --i) { + dest[i*2+1] = 255; + dest[i*2+0] = src[i]; + } + } else { + STBI_ASSERT(img_n == 3); + for (i=x-1; i >= 0; --i) { + dest[i*4+3] = 255; + dest[i*4+2] = src[i*3+2]; + dest[i*4+1] = src[i*3+1]; + dest[i*4+0] = src[i*3+0]; + } + } +} + +// 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; + stbi_uc *filter_buf; + int all_ok = 1; + 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"); + + // note: error exits here don't need to clean up a->out individually, + // stbi__do_png always does on error. + 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); + if (!stbi__mad2sizes_valid(img_width_bytes, y, img_width_bytes)) return stbi__err("too large", "Corrupt PNG"); + 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"); + + // Allocate two scan lines worth of filter workspace buffer. + filter_buf = (stbi_uc *) stbi__malloc_mad2(img_width_bytes, 2, 0); + if (!filter_buf) return stbi__err("outofmem", "Out of memory"); + + // Filtering for low-bit-depth images + if (depth < 8) { + filter_bytes = 1; + width = img_width_bytes; + } + + for (j=0; j < y; ++j) { + // cur/prior filter buffers alternate + stbi_uc *cur = filter_buf + (j & 1)*img_width_bytes; + stbi_uc *prior = filter_buf + (~j & 1)*img_width_bytes; + stbi_uc *dest = a->out + stride*j; + int nk = width * filter_bytes; + int filter = *raw++; + + // check filter type + if (filter > 4) { + all_ok = stbi__err("invalid filter","Corrupt PNG"); + break; + } + + // if first row, use special filter that doesn't sample previous row + if (j == 0) filter = first_row_filter[filter]; + + // perform actual filtering + switch (filter) { + case STBI__F_none: + memcpy(cur, raw, nk); + break; + case STBI__F_sub: + memcpy(cur, raw, filter_bytes); + for (k = filter_bytes; k < nk; ++k) + cur[k] = STBI__BYTECAST(raw[k] + cur[k-filter_bytes]); + break; + case STBI__F_up: + for (k = 0; k < nk; ++k) + cur[k] = STBI__BYTECAST(raw[k] + prior[k]); + break; + case STBI__F_avg: + for (k = 0; k < filter_bytes; ++k) + cur[k] = STBI__BYTECAST(raw[k] + (prior[k]>>1)); + for (k = filter_bytes; k < nk; ++k) + cur[k] = STBI__BYTECAST(raw[k] + ((prior[k] + cur[k-filter_bytes])>>1)); + break; + case STBI__F_paeth: + for (k = 0; k < filter_bytes; ++k) + cur[k] = STBI__BYTECAST(raw[k] + prior[k]); // prior[k] == stbi__paeth(0,prior[k],0) + for (k = filter_bytes; k < nk; ++k) + cur[k] = STBI__BYTECAST(raw[k] + stbi__paeth(cur[k-filter_bytes], prior[k], prior[k-filter_bytes])); + break; + case STBI__F_avg_first: + memcpy(cur, raw, filter_bytes); + for (k = filter_bytes; k < nk; ++k) + cur[k] = STBI__BYTECAST(raw[k] + (cur[k-filter_bytes] >> 1)); + break; + } + + raw += nk; + + // expand decoded bits in cur to dest, also adding an extra alpha channel if desired + if (depth < 8) { + stbi_uc scale = (color == 0) ? stbi__depth_scale_table[depth] : 1; // scale grayscale values to 0..255 range + stbi_uc *in = cur; + stbi_uc *out = dest; + stbi_uc inb = 0; + stbi__uint32 nsmp = x*img_n; + + // expand bits to bytes first + if (depth == 4) { + for (i=0; i < nsmp; ++i) { + if ((i & 1) == 0) inb = *in++; + *out++ = scale * (inb >> 4); + inb <<= 4; + } + } else if (depth == 2) { + for (i=0; i < nsmp; ++i) { + if ((i & 3) == 0) inb = *in++; + *out++ = scale * (inb >> 6); + inb <<= 2; + } + } else { + STBI_ASSERT(depth == 1); + for (i=0; i < nsmp; ++i) { + if ((i & 7) == 0) inb = *in++; + *out++ = scale * (inb >> 7); + inb <<= 1; + } + } + + // insert alpha=255 values if desired + if (img_n != out_n) + stbi__create_png_alpha_expand8(dest, dest, x, img_n); + } else if (depth == 8) { + if (img_n == out_n) + memcpy(dest, cur, x*img_n); + else + stbi__create_png_alpha_expand8(dest, cur, x, img_n); + } else if (depth == 16) { + // convert the image data from big-endian to platform-native + stbi__uint16 *dest16 = (stbi__uint16*)dest; + stbi__uint32 nsmp = x*img_n; + + if (img_n == out_n) { + for (i = 0; i < nsmp; ++i, ++dest16, cur += 2) + *dest16 = (cur[0] << 8) | cur[1]; + } else { + STBI_ASSERT(img_n+1 == out_n); + if (img_n == 1) { + for (i = 0; i < x; ++i, dest16 += 2, cur += 2) { + dest16[0] = (cur[0] << 8) | cur[1]; + dest16[1] = 0xffff; + } + } else { + STBI_ASSERT(img_n == 3); + for (i = 0; i < x; ++i, dest16 += 4, cur += 6) { + dest16[0] = (cur[0] << 8) | cur[1]; + dest16[1] = (cur[2] << 8) | cur[3]; + dest16[2] = (cur[4] << 8) | cur[5]; + dest16[3] = 0xffff; + } + } + } + } + } + + STBI_FREE(filter_buf); + if (!all_ok) return 0; + + 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); + if (!final) return stbi__err("outofmem", "Out of memory"); + 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_global = 0; +static int stbi__de_iphone_flag_global = 0; + +STBIDEF void stbi_set_unpremultiply_on_load(int flag_true_if_should_unpremultiply) +{ + stbi__unpremultiply_on_load_global = flag_true_if_should_unpremultiply; +} + +STBIDEF void stbi_convert_iphone_png_to_rgb(int flag_true_if_should_convert) +{ + stbi__de_iphone_flag_global = flag_true_if_should_convert; +} + +#ifndef STBI_THREAD_LOCAL +#define stbi__unpremultiply_on_load stbi__unpremultiply_on_load_global +#define stbi__de_iphone_flag stbi__de_iphone_flag_global +#else +static STBI_THREAD_LOCAL int stbi__unpremultiply_on_load_local, stbi__unpremultiply_on_load_set; +static STBI_THREAD_LOCAL int stbi__de_iphone_flag_local, stbi__de_iphone_flag_set; + +STBIDEF void stbi_set_unpremultiply_on_load_thread(int flag_true_if_should_unpremultiply) +{ + stbi__unpremultiply_on_load_local = flag_true_if_should_unpremultiply; + stbi__unpremultiply_on_load_set = 1; +} + +STBIDEF void stbi_convert_iphone_png_to_rgb_thread(int flag_true_if_should_convert) +{ + stbi__de_iphone_flag_local = flag_true_if_should_convert; + stbi__de_iphone_flag_set = 1; +} + +#define stbi__unpremultiply_on_load (stbi__unpremultiply_on_load_set \ + ? stbi__unpremultiply_on_load_local \ + : stbi__unpremultiply_on_load_global) +#define stbi__de_iphone_flag (stbi__de_iphone_flag_set \ + ? stbi__de_iphone_flag_local \ + : stbi__de_iphone_flag_global) +#endif // STBI_THREAD_LOCAL + +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]={0}; + 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); + s->img_y = stbi__get32be(s); + if (s->img_y > STBI_MAX_DIMENSIONS) return stbi__err("too large","Very large image (corrupt?)"); + if (s->img_x > STBI_MAX_DIMENSIONS) 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"); + } 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"); + } + // even with 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; + // non-paletted with tRNS = constant alpha. if header-scanning, we can stop now. + if (scan == STBI__SCAN_header) { ++s->img_n; return 1; } + if (z->depth == 16) { + for (k = 0; k < s->img_n && k < 3; ++k) // extra loop test to suppress false GCC warning + tc16[k] = (stbi__uint16)stbi__get16be(s); // copy the values as-is + } else { + for (k = 0; k < s->img_n && k < 3; ++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) { + // header scan definitely stops at first IDAT + if (pal_img_n) + s->img_n = pal_img_n; + return 1; + } + if (c.length > (1u << 30)) return stbi__err("IDAT size limit", "IDAT section larger than 2^30 bytes"); + 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; + // end of PNG chunk, read and skip CRC + stbi__get32be(s); + 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 if (p->depth == 16) + ri->bits_per_channel = 16; + else + return stbi__errpuc("bad bits_per_channel", "PNG not supported: unsupported color 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;/* >>= 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(unsigned 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 < 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; + int extra_read; +} stbi__bmp_data; + +static int stbi__bmp_set_mask_defaults(stbi__bmp_data *info, int compress) +{ + // BI_BITFIELDS specifies masks explicitly, don't override + if (compress == 3) + return 1; + + if (compress == 0) { + if (info->bpp == 16) { + info->mr = 31u << 10; + info->mg = 31u << 5; + info->mb = 31u << 0; + } else 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 { + // otherwise, use defaults, which is all-0 + info->mr = info->mg = info->mb = info->ma = 0; + } + return 1; + } + return 0; // error +} + +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; + info->extra_read = 14; + + if (info->offset < 0) return stbi__errpuc("bad BMP", "bad BMP"); + + 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"); + if (compress >= 4) return stbi__errpuc("BMP JPEG/PNG", "BMP type not supported: unsupported compression"); // this includes PNG/JPEG modes + if (compress == 3 && info->bpp != 16 && info->bpp != 32) return stbi__errpuc("bad BMP", "bad BMP"); // bitfields requires 16 or 32 bits/pixel + 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) { + stbi__bmp_set_mask_defaults(info, compress); + } else if (compress == 3) { + info->mr = stbi__get32le(s); + info->mg = stbi__get32le(s); + info->mb = stbi__get32le(s); + info->extra_read += 12; + // 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 { + // V4/V5 header + 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); + if (compress != 3) // override mr/mg/mb unless in BI_BITFIELDS mode, as per docs + stbi__bmp_set_mask_defaults(info, compress); + 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); + + if (s->img_y > STBI_MAX_DIMENSIONS) return stbi__errpuc("too large","Very large image (corrupt?)"); + if (s->img_x > STBI_MAX_DIMENSIONS) return stbi__errpuc("too large","Very large image (corrupt?)"); + + 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 - info.extra_read - 24) / 3; + } else { + if (info.bpp < 16) + psize = (info.offset - info.extra_read - info.hsz) >> 2; + } + if (psize == 0) { + // accept some number of extra bytes after the header, but if the offset points either to before + // the header ends or implies a large amount of extra data, reject the file as malformed + int bytes_read_so_far = s->callback_already_read + (int)(s->img_buffer - s->img_buffer_original); + int header_limit = 1024; // max we actually read is below 256 bytes currently. + int extra_data_limit = 256*4; // what ordinarily goes here is a palette; 256 entries*4 bytes is its max size. + if (bytes_read_so_far <= 0 || bytes_read_so_far > header_limit) { + return stbi__errpuc("bad header", "Corrupt BMP"); + } + // we established that bytes_read_so_far is positive and sensible. + // the first half of this test rejects offsets that are either too small positives, or + // negative, and guarantees that info.offset >= bytes_read_so_far > 0. this in turn + // ensures the number computed in the second half of the test can't overflow. + if (info.offset < bytes_read_so_far || info.offset - bytes_read_so_far > extra_data_limit) { + return stbi__errpuc("bad offset", "Corrupt BMP"); + } else { + stbi__skip(s, info.offset - bytes_read_so_far); + } + } + + if (info.bpp == 24 && ma == 0xff000000) + s->img_n = 3; + else + 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 - info.extra_read - 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 (target == 4) out[z++] = 255; + if (i+1 == (int) s->img_x) break; + 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 - info.extra_read - 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); + if (rcount > 8 || gcount > 8 || bcount > 8 || acount > 8) { STBI_FREE(out); return stbi__errpuc("bad masks", "Corrupt BMP"); } + } + 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); + STBI_NOTUSED(tga_x_origin); // @TODO + STBI_NOTUSED(tga_y_origin); // @TODO + + if (tga_height > STBI_MAX_DIMENSIONS) return stbi__errpuc("too large","Very large image (corrupt?)"); + if (tga_width > STBI_MAX_DIMENSIONS) return stbi__errpuc("too large","Very large image (corrupt?)"); + + // 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) + { + if (tga_palette_len == 0) { /* you have to have at least one entry! */ + STBI_FREE(tga_data); + return stbi__errpuc("bad palette", "Corrupt TGA"); + } + + // 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; + STBI_NOTUSED(tga_palette_start); + // 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); + + if (h > STBI_MAX_DIMENSIONS) return stbi__errpuc("too large","Very large image (corrupt?)"); + if (w > STBI_MAX_DIMENSIONS) return stbi__errpuc("too large","Very large image (corrupt?)"); + + // 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 preceded 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 (y > STBI_MAX_DIMENSIONS) return stbi__errpuc("too large","Very large image (corrupt?)"); + if (x > STBI_MAX_DIMENSIONS) return stbi__errpuc("too large","Very large image (corrupt?)"); + + 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); + if (!result) return stbi__errpuc("outofmem", "Out of memory"); + 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 (g->w > STBI_MAX_DIMENSIONS) return stbi__err("too large","Very large image (corrupt?)"); + if (g->h > STBI_MAX_DIMENSIONS) return stbi__err("too large","Very large image (corrupt?)"); + + 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 (!g) return stbi__err("outofmem", "Out of memory"); + 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; + STBI_NOTUSED(req_comp); + + // 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 + if (!stbi__mad3sizes_valid(4, g->w, g->h, 0)) + return stbi__errpuc("too large", "GIF image is too large"); + pcount = g->w * g->h; + g->out = (stbi_uc *) stbi__malloc(4 * pcount); + g->background = (stbi_uc *) stbi__malloc(4 * pcount); + g->history = (stbi_uc *) stbi__malloc(pcount); + if (!g->out || !g->background || !g->history) + return stbi__errpuc("outofmem", "Out of memory"); + + // image is treated as "transparent" 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 the color that was there the previous frame. + memset(g->out, 0x00, 4 * pcount); + memset(g->background, 0x00, 4 * pcount); // state of the background (starts transparent) + memset(g->history, 0x00, pcount); // pixels that were affected previous frame + first_frame = 1; + } else { + // second frame - how do we dispose 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; + + // if the width of the specified rectangle is 0, that means + // we may not see *any* pixels or the image is malformed; + // to make sure this is caught, move the current y down to + // max_y (which is what out_gif_code checks). + if (w == 0) + g->cur_y = g->max_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) 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_outofmem(stbi__gif *g, stbi_uc *out, int **delays) +{ + STBI_FREE(g->out); + STBI_FREE(g->history); + STBI_FREE(g->background); + + if (out) STBI_FREE(out); + if (delays && *delays) STBI_FREE(*delays); + return stbi__errpuc("outofmem", "Out of memory"); +} + +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; + int out_size = 0; + int delays_size = 0; + + STBI_NOTUSED(out_size); + STBI_NOTUSED(delays_size); + + 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) { + void *tmp = (stbi_uc*) STBI_REALLOC_SIZED( out, out_size, layers * stride ); + if (!tmp) + return stbi__load_gif_main_outofmem(&g, out, delays); + else { + out = (stbi_uc*) tmp; + out_size = layers * stride; + } + + if (delays) { + int *new_delays = (int*) STBI_REALLOC_SIZED( *delays, delays_size, sizeof(int) * layers ); + if (!new_delays) + return stbi__load_gif_main_outofmem(&g, out, delays); + *delays = new_delays; + delays_size = layers * sizeof(int); + } + } else { + out = (stbi_uc*)stbi__malloc( layers * stride ); + if (!out) + return stbi__load_gif_main_outofmem(&g, out, delays); + out_size = layers * stride; + if (delays) { + *delays = (int*) stbi__malloc( layers * sizeof(int) ); + if (!*delays) + return stbi__load_gif_main_outofmem(&g, out, delays); + delays_size = 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)); + STBI_NOTUSED(ri); + + 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); + } else if (g.out) { + // if there was an error and we allocated an image buffer, free it! + STBI_FREE(g.out); + } + + // 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); + + if (height > STBI_MAX_DIMENSIONS) return stbi__errpf("too large","Very large image (corrupt?)"); + if (width > STBI_MAX_DIMENSIONS) return stbi__errpf("too large","Very large image (corrupt?)"); + + *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 == 0) || (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 == 0) || (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); + if (p == NULL) { + stbi__rewind( s ); + return 0; + } + if (x) *x = s->img_x; + if (y) *y = s->img_y; + if (comp) { + if (info.bpp == 24 && info.ma == 0xff000000) + *comp = 3; + else + *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; + } + STBI_NOTUSED(stbi__get32be(s)); + STBI_NOTUSED(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) + +#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); + + ri->bits_per_channel = stbi__pnm_info(s, (int *)&s->img_x, (int *)&s->img_y, (int *)&s->img_n); + if (ri->bits_per_channel == 0) + return 0; + + if (s->img_y > STBI_MAX_DIMENSIONS) return stbi__errpuc("too large","Very large image (corrupt?)"); + if (s->img_x > STBI_MAX_DIMENSIONS) return stbi__errpuc("too large","Very large image (corrupt?)"); + + *x = s->img_x; + *y = s->img_y; + if (comp) *comp = s->img_n; + + if (!stbi__mad4sizes_valid(s->img_n, s->img_x, s->img_y, ri->bits_per_channel / 8, 0)) + return stbi__errpuc("too large", "PNM too large"); + + out = (stbi_uc *) stbi__malloc_mad4(s->img_n, s->img_x, s->img_y, ri->bits_per_channel / 8, 0); + if (!out) return stbi__errpuc("outofmem", "Out of memory"); + if (!stbi__getn(s, out, s->img_n * s->img_x * s->img_y * (ri->bits_per_channel / 8))) { + STBI_FREE(out); + return stbi__errpuc("bad PNM", "PNM file truncated"); + } + + if (req_comp && req_comp != s->img_n) { + if (ri->bits_per_channel == 16) { + out = (stbi_uc *) stbi__convert_format16((stbi__uint16 *) out, s->img_n, req_comp, s->img_x, s->img_y); + } else { + 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); + if((value > 214748364) || (value == 214748364 && *c > '7')) + return stbi__err("integer parse overflow", "Parsing an integer in the PPM header overflowed a 32-bit int"); + } + + 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 + if(*x == 0) + return stbi__err("invalid width", "PPM image header had zero or overflowing width"); + stbi__pnm_skip_whitespace(s, &c); + + *y = stbi__pnm_getinteger(s, &c); // read height + if (*y == 0) + return stbi__err("invalid width", "PPM image header had zero or overflowing width"); + stbi__pnm_skip_whitespace(s, &c); + + maxv = stbi__pnm_getinteger(s, &c); // read max value + if (maxv > 65535) + return stbi__err("max value > 65535", "PPM image supports only 8-bit and 16-bit images"); + else if (maxv > 255) + return 16; + else + return 8; +} + +static int stbi__pnm_is16(stbi__context *s) +{ + if (stbi__pnm_info(s, NULL, NULL, NULL) == 16) + return 1; + return 0; +} +#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 + + #ifndef STBI_NO_PNM + if (stbi__pnm_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.20 (2019-02-07) support utf8 filenames in Windows; fix warnings and platform ifdefs + 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. +------------------------------------------------------------------------------ +*/ diff --git a/include/textures/texture.hpp b/include/textures/texture.hpp new file mode 100644 index 0000000..ecbac95 --- /dev/null +++ b/include/textures/texture.hpp @@ -0,0 +1,15 @@ +#ifndef TEXTURE_H +#define TEXTURE_H + +#include + +class Texture +{ +public: + unsigned int ID; + + Texture(const char* texturePath); + void use(); +}; + +#endif \ No newline at end of file diff --git a/shaders/shader.fs b/shaders/shader.fs index 8728871..a081fad 100644 --- a/shaders/shader.fs +++ b/shaders/shader.fs @@ -1,7 +1,12 @@ #version 330 core out vec4 FragColor; + +in vec3 ourColor; +in vec2 TexCoord; + +uniform sampler2D ourTexture; void main() { - FragColor = vec4(1.0f, 0.5f, 0.2f, 1.0f); + FragColor = texture(ourTexture, TexCoord); } \ No newline at end of file diff --git a/shaders/shader.vs b/shaders/shader.vs index cdd6dd3..311ec24 100644 --- a/shaders/shader.vs +++ b/shaders/shader.vs @@ -1,7 +1,14 @@ #version 330 core layout (location = 0) in vec3 aPos; +layout (location = 1) in vec3 aColor; +layout (location = 2) in vec2 aTexCoord; + +out vec3 ourColor; +out vec2 TexCoord; void main() { - gl_Position = vec4(aPos.x, aPos.y, aPos.z, 1.0); + gl_Position = vec4(aPos, 1.0); + ourColor = aColor; + TexCoord = aTexCoord; } \ No newline at end of file diff --git a/src/main.cpp b/src/main.cpp index b2e3c11..210c38f 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -2,6 +2,7 @@ #include #include #include +#include void framebuffer_size_callback(GLFWwindow* window, int width, int height); void processInput(GLFWwindow *window); @@ -34,13 +35,16 @@ int main() glfwSetFramebufferSizeCallback(window, framebuffer_size_callback); float vertices[] = { - 0.0f, 0.5f, 0.0f, - -0.5f, -0.5f, 0.0f, - 0.5f, -0.5f, 0.0f + // positions // colors // texture coords + 0.5f, 0.5f, 0.0f, 1.0f, 0.0f, 0.0f, 1.0f, 0.0f, // top right + 0.5f, -0.5f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f, 1.0f, // bottom right + -0.5f, -0.5f, 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f, // bottom left + -0.5f, 0.5f, 0.0f, 1.0f, 1.0f, 0.0f, 0.0f, 0.0f // top left }; - unsigned int indices[] = { // note that we start from 0! - 0, 1, 2 + unsigned int indices[] = { + 0, 1, 2, + 2, 3, 0 }; unsigned int VBO; @@ -59,10 +63,18 @@ int main() glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, EBO); glDrawElements(GL_TRIANGLES, 6, GL_UNSIGNED_INT, 0); - glVertexAttribPointer(0, 3, GL_FLOAT, GL_FALSE, 3 * sizeof(float), (void*)0); + glVertexAttribPointer(0, 3, GL_FLOAT, GL_FALSE, 8 * sizeof(float), (void*)0); glEnableVertexAttribArray(0); + glVertexAttribPointer(1, 3, GL_FLOAT, GL_FALSE, 8 * sizeof(float), (void*)(3* sizeof(float))); + glEnableVertexAttribArray(1); + + glVertexAttribPointer(2, 2, GL_FLOAT, GL_FALSE, 8 * sizeof(float), (void*)(6 * sizeof(float))); + glEnableVertexAttribArray(2); + Shader ourShader("shaders/shader.vs", "shaders/shader.fs"); + Texture sataaAndagii("textures/saataa_andagii.png"); + Texture ohMyGah("textures/oh_my_gah.png"); while(!glfwWindowShouldClose(window)) { @@ -70,8 +82,9 @@ int main() glClearColor(0.2f, 0.3f, 0.3f, 1.0f); glClear(GL_COLOR_BUFFER_BIT); - + ourShader.use(); + ohMyGah.use(); glBindVertexArray(VAO); glDrawElements(GL_TRIANGLES, 6, GL_UNSIGNED_INT, 0); glBindVertexArray(0); diff --git a/src/texture.cpp b/src/texture.cpp new file mode 100644 index 0000000..b0ead54 --- /dev/null +++ b/src/texture.cpp @@ -0,0 +1,39 @@ +#include // include glad to get all the required OpenGL headers +#include +#include + +#define STB_IMAGE_IMPLEMENTATION +#include "stb_image.h" + +Texture::Texture(const char* texturePath) +{ + glGenTextures(1, &ID); + glBindTexture(GL_TEXTURE_2D, ID); + // set the texture wrapping/filtering options (on the currently bound texture object) + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_LINEAR); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); + // load and generate the texture + int width, height, nrChannels; + unsigned char *data = stbi_load(texturePath, &width, &height, &nrChannels, 0); + if (data) + { + GLenum format = GL_RGB; + if (nrChannels == 1) format = GL_RED; + else if (nrChannels == 3) format = GL_RGB; + else if (nrChannels == 4) format = GL_RGBA; + glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, width, height, 0, format, GL_UNSIGNED_BYTE, data); + glGenerateMipmap(GL_TEXTURE_2D); + } + else + { + std::cout << "Failed to load texture" << std::endl; + } + stbi_image_free(data); +} + +void Texture::use() +{ + glBindTexture(GL_TEXTURE_2D, ID); +} diff --git a/textures/oh_my_gah.png b/textures/oh_my_gah.png new file mode 100644 index 0000000000000000000000000000000000000000..291fdbe1529b99b444e1bd8878e5a5089b3d460e GIT binary patch literal 622957 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%0Dx)HpsE}BSeQh20neVuH^zn55FR$PGN2b1sMsSzX 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�++Yz>f@{hQ_M+Kqgu`)G13h8evRwcG00$_^z11PThh6E` zz$HJGTh;beXw2raE8AH|@bqaqVf=tWlk}1&DhvEE ze%ns@!q62$Kt9hq{aAx+jo~$l1-3kZ?CgoM+cD>w*5$q3AdUX)NCYyDl1}5l|=y{P705<^

0%iAC{8JClj!I~!} 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�B}HYgJgEEvwO`p^`{gh3Gb;ax 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≷L7kA0aT?|g=Szk6AGDJZj{HJE%!}@R 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%0DK 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%0AoSWHu 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%0Dx0!-=k8;7L_bE5E(=mZ{K=#0YEpb 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 literal 0 HcmV?d00001 diff --git a/textures/saataa_andagii.png b/textures/saataa_andagii.png new file mode 100644 index 0000000000000000000000000000000000000000..862b816d6c15cc83d2d7283c5c3b34877efb4333 GIT binary patch literal 119295 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 #QBy34o-Wz*^vvu}@wupg0jF`)O&m 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

      #m+b;I*kq6UDD_IEJ}*frnMX8fE^pDz7hVxm1m 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

      %Wruw>Ja1O8M`L zrbMHw95^S*L(4V!Y}ts-91_Qy{}vOxkoU^t2W|{gn7P`#_N38=R8z#%{|JjJts0emKyJ6(KTo(gn&|FI}l2@@Mr zz1G4ck}?MtKz@Ehr)OGH{VLbYcw=h|*;-EqI}FgU9+i?)tPL>sfl*D9?OFf1d~etCB+%BxlHvh6p+t&k7sB^N;oauu?Kh7%6h?5jWdm0G^$zWBx*o z_?5C7TZ&9=Rhcoct|@Jj(~t~5LiGGbC?rnWdjve>$|Ij$2F6oTZXpfe5C6(SDMMKD zHg(aNCX550$W0kmh1XwS<;Nz!ov&lNe6Uq42G_I@16{s5nvE1Yt{=1dtAL&Yjw9AS)XX1$U$I6fv!;1&h?doyH9`? zZI=6(mGajdLS;CB{fG7gv&G%pf?jdk?gFTd@NKME(t3)!#b0>N-NCi4`aMTuFtr5; zD)8N3nMl{lhn|gm(^`(Q72|HVQQEG@Ee!lUf)F+LOF}y>9+j z1!jnV-l`Z&()jpz8_Z;ZD%XQl0ce=;=&YF3*&*v8Oey-rp+XFXHfl(yx2kc-5FDF} zA5>aUZi6H3d_&rkVOhRLhRWp%Y6oNpelFIrWf(m@lm|WM-GmtZJiP1gI9f~R#{NdEw4bC{BkldJ?tnNyI(Ei8 z@cexeoa7}IfgROk;7d-NsRJ$5{oc0XDveL_XX{nf*e&}Bu!|HO9D9*T$tc!?nx#jj zDOdf(@M~C17rD&|E`-E2zcJk$U*oeFzBD_mH2v+Ejk6%NnH$2T8>$nJOK>fkFlq4y zb$qpKW`bt9ekh5dK6=o;&V(iHnmYRLm~Yw8ha*aw6RqXCJzohFTVgL0t3FO1iQuGU z$-s}zoG_99f-~^#&A6=Z*YD*?k33NIyby!DF`6k18gF#fC`$=dNJ%X~FDgllT@goK z7mpq{P@UuQrk2g7^=7ig`la#>l%FKa&$G-EBFMCEct2h3jxg(x3C_}xNOy7Pua&f0TE>tKa`K!6wz@hE?K2&BvtoS!6 zvR(G_H+@uev4boWS)#^dx8tQ(abK$`XTLil(M&|=9@}Q{1%9FK4X*W+%~>(^8qS68 zd!HY6Z3n&~Dzl1qyy+wH#I-wyBNCUrB62>fLK2C zG>Y^zvfBRacCj(AaMVsFcXC2!o}m0~Yq7}Qat{v5*L8O7VS0Hev{dZAW}EEPO_Rr8 z)qhOPg#xDu&CpUF9& zZFlj8$q~OxdUp#{{gsai!zKD@%?~l?T;E+HFJ3IN2NEm9vqZRkKg$rbNIx;IoW+pF zLwUNFCpT9q zUO{zcpl9{Ypt5EmSxSDoVfG>8v*kAhC7no!5GY2@^suqZ5GBsISI$Ht6!48q0B7aR zTt!la#R5d`O~TOKdh7gCb_#K7j0v;lfKnq}ht{&o)bXm!^TYa+nDEnM$iqlK4qT8b zb8F{;B*fD*^wX?uh$%Z75_%Z~a#2Jbw}(x;vKMpSqxPk?dOyAYvynCLN?(?6ZV0;T z{X~!HY3YzlvdhZ#qcynx=k=kaJ2Y6pxIs{T;pfRgr&v#P6S;A{61@=<)$!)k02tx-9|qJ3#gT)ptWywO&*Xs;eiWdR)+wMyN%7hTn`0Gb;xpLbfGiubKsXMqk=ZpSd_hlyyfwfY`N`{4&wzLL*U8^Wx<@fZWtMe?9iunY1xGdfS zb`cuR16HM6Hf4r>RaEJ!my~&#j`DtuCIXteAIj0QQ@x`c!t&nHHm!h}d zMgGf-gURo;_ld~fO5%n`$YtHS&q>fG5$K5|H6|dAbiwK8tLW1oN%i-V1(WlO91TNe zyaXZRJNC4KtZs-{3}ylF+|_@bRRGB&AmIMn1xsX#k+XU7MgbDSKTCQEE2WflsGY{m zu?S^zdL0VKT4K-sGE4gZBl|FS3zj} zW4}e)N6-!2w-Hpg5_LS8=ktEeNExf={+L9d3wbw}gv~_8J-BT4FKi9pabM8h{vbAl z;T@p#-`~F}wMVxS{1Y!iKCV#V>~WEazNz1xCK7=2@it-=W_Y0YT_(O>Wxsr~gRy6g z7jlR~ZU*@n<2M=nbMB8>$OU!Cz@Z@tVUdKUm-8@7MSL0-xx%ua%0G zfy;kz-nX5ItE2jV&E1L#4erJgw`TOzRLM%AyZYRj|7ncz6fX%G2Z1@WM9h(DrB$=h z^Za#Kn@rf<&xX;6qwG{%+Pbb%!lJz!_ea$EWkRsLF(w+zPpP;c}Tm53H^GLd^PV~09wHWr;j^jg#poT;Tm z%CsM0UUjfuOd!%Dv^31?@|?HlqtYk|g~27gH!RlCwint|O)d^OJX>V=WaW`(zG+6J z^J8q^KO#xMcBb60LGxgq-ChrT>z@xZuO9~27YuS^x@tK+^7le|QH{etf9jJmYq}@_ zAXE;krJ|{Rh?uKaG4QU!!Kd?{HiFagyq0{A(hMlT2r(DRvxKNKd_G|Q;bg~kBDDHV zs+|#OxJmkfYkpA>@%IYPG$T1+Rm6JyeSY5K6gx2rI+9F6(jPc+++0~@?MisV?S+c2>O96E%Yr|7ZV>QvTf|NOAy@H zF(XPY1E)tFb>$iM6dF1^vl@28EfG8b&=`8=MdqD&_XoWZE%@_>V5{l3qEqj%UF#)( z6iF=hu3!smqFJLeP<|j(BG>IRCZY`WKu~T8J_{?P7Ubvm5{~~a6NX3dW5Gn2U(z|8 z5wo`mLvKP*I~Ile|7pNQq8TK&D#<2y5=^G80vbEk?}{sfsu-(CGyIa8IU5p-?N`Vg z^F2a^Sm$_=-?xM)i}W19zr5rNK`@jRhi|Gu-k$WjWGkw&$15v5{}PR6i|a`*Z5`~v zpgHvCi1EA$elIH~rTUVjxF%uSmsnw1CXHD+jT8}(uHfeQN!6$61(o62s}_WeYAk@Z zjEF$_V2^Ff#r^s<@K$2g;YFtO2B@jMWr)E`UG~R9aZHF1q-!4;UrU+aQ~I-F+OwVC zN4a)o?t&1#9xiN8vyrbaD~@5@mkj>WQYgD)(R!_m4P5^dpZ~rLIX7c{B}>EM0!3+p z#dUC0P38Ga<$BoEj#xH5FpyQfNZ0l4!*NW;2srxF^YS6q`95!eRI&^0 z1ngjP3lyCr(%yauA7H0s|t-VdrC9c_mA5`aQ zQ`+Wxgt5g1-}{8z_^dwPyM)+Atr!Pg1Qjf2A885&&LZ;wU1P2v#U~{)XB2gqJDJ11 z??c0$jHxN)lRSKVF-an&$G1>{-X0ZfW%igP&sl#oF^Xcxg}OrL*Q^qY_)CI~B8+@H zDY^pzAKBcemStaI9dcGR`D)d0A~v|_BX?94d5D4)91~v$ZvqiYy~)^Lkq2L2tkmrn zyTD}LmrIkX*j2Q7Ao#}^ST>^Y?xG|_5tDgo-*0lz+CFjL?9!tuWsCr`NZuR`U`O|y z1%jO18;*N|9jG#E*HpDS{H<~Pd9GVR^3%r{I4)05{n@LnA#gAaO(&zy zhcB*}7??PV=tX~7Zn zh8_RUN*|iiG%r6-efT_C0yH?%jevWDlF8=P?nJNI0I-<+$^F=*vCzd)iy9HCOEa`d zs9^;xkH8XOvH67PX4AZ&T8S0&w7Hn>H?nZcu|QXVLf-l+$~t z`|X2KmcB>?VQBiC1sgL)2kx5afFTbL<{$Rv>pvxpqE_;)Q8k)=(UzTg?o&aIpDWQQ z8rLHD=PL!mbg|WyEun4X>Wz706cURyIYQ{m-~)2p8GTiqrW9VRT`({;1;#4CtDuTm z3d|=}0B zqUa&F)@$Mn?O{;fK%u&Q@H1zeU|1K;l^ewX6 zf5W{}=4cuPqR0>G%EX07oq^!v`~c^~-lZd-VVN7(nEVDvzJ#q(^hsCzh4n9i9|byd z{F5{u!lcf0rxo4Kk9&R|S8{b-;+|x>)k9!B+N}M!;>a61RRwUOV%G7I3}#qYy<4zb z>{YBv zO@8X#zqp{rq&^Aq!C|x0e?7tbCzTDUjxoI}+zVHus>l~*40S7Oib{tR@P2MhpYf89 zvmhq_>sRHa(&V8_2813%ClBf`zPk+Dn20d<=|pM9V(kw7-Oo?KVc&X#w(qYswGm)? zmf{$gZv-UXf`%+UdT6J2yCg{80jF%Am0*maXs$H1 z2^ma8I`P7Ue=qruXv{mVCN8x(E>{)C4-1ut=!S3jRdc9fi!p&j*X%y2Dmy2I8o>Mv z{L0+4=v{jW{#$!CmF+&gYzMJ*NpV|S#c#ntarQ@uSdof&pqG&rE4!DGGLMElO)ITS z_yS#ozecqR`YbV_O~b+f6enZ zb!?_1D(gLu$59v)(@6X%qj)p|;0|@nh4{h%2>c|%dhe!1#L*&8VOF5B`aqSGt85T> z#DU}q1~5z_9U|>5I7YC5Apm-ydl@+gVrqM2I$FXD?>9{G^fmpx#dPmL+mhZ*#I%(Pw8^}kc5&+03FfeA52Q6!8e+g&j zAEUr)XsJdnpl*286*=k}PcM6Z8i)weOsI>QE7oV!;Lo>d(oqdEQchxv^ZrKW(s4g2 z)9?l5cf_*ta)b&2_pbmtZ&v0DSyvkiG02arpVz^HPi5CV*Y@oyh3DoCKXNY?Y9JV+ zT&1Du$X*&;%j1Dq2=GB|WD~k-?9>d0IUfDz0XuQ{bcvjRq19JTfN2F-)S1VmQH_G3 zQg8_81&whdq5UWCO_cU0XmieB4H;j8M-tmsFa)gZ!UGBwh9T+GAIDS|>IJ@XFT7oK#xKBa9^xVwU~67%NuWR9G4_k=tLgXGv(Hf}c2p6~ zwN1u^yYMadB|%zO7%&ju(dH^l2TaPi^9F$rmn4A9%lMjb)PCbP5B2>y0K-rrmWf2C z1cqK}0*&H}E9S5YZ7sCU4emHb-Y?Zsw$%5Bs#uCOUSDNHkMzyGPngcewnxofH`ctO zWH?^Y8*J=clKef=Fwg$;lEFbf)zcWV*^42rV6b-YI778?O4!eA^fnqOg~RczSrxKc zKiO%EZ8=IRcT_(JmMO3mFKrOdMPb$gQNZjziZ@tTM)%ZO(3sOq2{2@nhqlpu>g7Ez z9`H*u=am{68>0lpj(vz^*3i})Sw3T9*U9j5MG()6xGIGgt%+cMUHSA}e<9Mpf6x zhY2%;9LhQj%3+30+lB5sh4=2$wN|C>id0w2&Sp)m{pb!7ncS$2nvUE%mHGKaCKTsP zn=M!kiU!(Py?=ME9=9mURI~$9t2IpW)S@s6luF{NL@4n83^AFiCk#L@jrY0RN6l2;bJe?6)z> zF4do0Ibtm!vwcVK{Dx(5SQjZ=@+gc0Gv&TLK+7$qjyuK&*VvtTKP7RrjT#^0(?9X2 zCb-~~VN1qMrsQF4<1x5*J%&|5&zJ{-Gv|fJ&cYyH8cIm#R$KoY&#!S+XjdGf z3{N1PS2j>^lz57GJ|SQMY1H_jkJ2pS&$j^TsSCc}mga_QIXcJ=+S!Ijp;|bNx2+3G zfblO_RJweBvnq(;^P3?Mvv92z>PHW*5O4LshYM`vTJeAj*>G^9t#Wg72Mpskc}83z zpj|5-ZWPBa;e@ybufixtDb_pK;#@2x`{`%A;XEtrN~L^uZ{#rXeK8I>ouCZ9SO^ha zm72~z`?{iZ|0Vu_#sDFN#0D;Sdn2ji!}e)q#l^!uQ`s#>qL4Xv_$iV827Dv`ME&k! zjaI-Qx$>ikuZwwJm@dt{5FPz~P0i;Bjky~; zGMQAYFn_~3<#S*g;Y@1$>J@KjBt%1}7b_Z}o%>o3ZCzd~02x^!8&l8av7+*KE>?W8qP50nS_Eeo7h)Cj zmUP*h1hXiGf`yx#yK%xJT|t3nvWTna2ek)+H&5gA_LitwCcJsV&Cf5kne+V|s5eLq zV@7ta-eU`KLkc-2wK)1C_xz79c&O(2i}{4#)+ZmS-(RdkTWXSaR=dq^^0xqU-e!me zD+xPp#s+VMDq5`#$Tk-TMH$_w+QGDt9stqi!y0uYLfab&MIC7cfF3TTcMjoC1?V?6Rpc4`v~ak{P5n|x_%JUAFo zA{dzEve`jg6LHZW(Fsau9qJh(rAZB#?NM=*W>gYNLT*c$*IxJ*9LYVkZ|9o*elV2U z@Sl_papIjE02XN3hyVft*Ik;8vmvk5z!A!eM46t^c+34Pe)D(Jadh29SuH49J|TY$ zr#~9v=x+y=Q2U3x^-+bn?;^UnP{N)(kTrbEYMZ-?qYdB zpTJRl0eob@C&e%u>3#3`YT>ye)Y z>u-mD@;>b= zwm_c;SPRGn?0}c(VStv)_FX8hyyEL*ux)~jfnH@bx>s3ITNE#p`A2*6j>Mvo#ZjW} zsd#Onx5tRbiK+9ake`Mq>}YREW!z#RI;QM>sk?_NU?RuC&zO4*X=^5qdB?A?O_Jr= zB{nxA>}rp^E}OJDoyO8Y0CfOh(A0YHz+ocu?A{${^oN3-pzCWm;7BIAW+ib&oQ=JF z0l3%n1>u-$N24MbC*U!=-(&}>LsSRi%r?5gQQey`Nu!m7EVRXC$62Rj-Ff|+Pp4QL z#Or_Z?yWp1s6HL{DtG2_U%uM+zOAj8vc9qD!nk)zh;wJQPA`)K(l2nKZ}G&LnK;8| zNdF6Y0fznn!p*l7quyJ1$H2HloG2U|%uv@gin7GX$r)a}cmcr$X0sUpMo@dd+Mm`I zKpDPQg^ooJ#(YOp`Vc+89Y!l8FwPhRS3lO&ZYE*Qw5b_)%twLwj(q$5`#I?$x~a zgo}