From 70a9074415e6f8af049e95e20e11d242a7cc06b2 Mon Sep 17 00:00:00 2001 From: mikeb Date: Sat, 17 Jul 2021 11:16:57 +0000 Subject: [PATCH] glyphs_project for text rendering -> render text image -> gylp_map -> stb_image_write.h und stb_rect_pack.h; git-svn-id: svn://ammerhai.com/home/mike/pokemon_repo@18 24008968-59e6-ed4c-a10b-0b2c954b24ab --- bin/font_creator.exe | Bin 107520 -> 153088 bytes bin/font_creator.pdb | Bin 495616 -> 561152 bytes bin/pokemon.exe | Bin 59392 -> 59392 bytes font_creator.vcxproj | 2 + font_creator.vcxproj.filters | 6 + src/font_main.cpp | 56 ++ src/stb_image_write.h | 1708 ++++++++++++++++++++++++++++++++++ src/stb_rect_pack.h | 633 +++++++++++++ test_bild_text.bmp | Bin 0 -> 786486 bytes 9 files changed, 2405 insertions(+) create mode 100644 src/stb_image_write.h create mode 100644 src/stb_rect_pack.h create mode 100644 test_bild_text.bmp diff --git a/bin/font_creator.exe b/bin/font_creator.exe index eec11864e045d329f041485d34b04b871a5ac216..bec1b2cca5058d5a08635b38034ded8a9fba1906 100644 GIT binary patch delta 59265 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 cJ#9zEj;tNoJ9ImPc1G+Z<@FE$+j;(2Dz@#kaWk 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

e>i>WCz68FnqWbsTd($+O0-+Qv$P&t8DNwpo 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 literal 495616 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 + + diff --git a/font_creator.vcxproj.filters b/font_creator.vcxproj.filters index da24ee2..0665a0b 100644 --- a/font_creator.vcxproj.filters +++ b/font_creator.vcxproj.filters @@ -29,5 +29,11 @@ Header Files + + Header Files + + + Header Files + \ No newline at end of file diff --git a/src/font_main.cpp b/src/font_main.cpp index 9d3d325..8c4e0b9 100644 --- a/src/font_main.cpp +++ b/src/font_main.cpp @@ -1,10 +1,26 @@ #define STB_TRUETYPE_IMPLEMENTATION +#define STB_IMAGE_WRITE_IMPLEMENTATION +#define STB_RECT_PACK_IMPLEMENTATION + +#include "stb_rect_pack.h" #include "stb_truetype.h" +#include "stb_image_write.h" #include "load_entire_file.h" #include "log.h" +struct Glyph { + int x_off; + int y_off; + char* data; +}; + int main() { stbtt_fontinfo font_info; + stbrp_context packer_context; + stbrp_node packer_nodes[600]; + stbrp_rect packer_rects[100]; + + Glyph glyphs[512]; String font_file = load_entire_file("../assets/fonts/Lexend-Regular.ttf"); @@ -18,5 +34,45 @@ int main() { return 1; } + float font_scale = stbtt_ScaleForPixelHeight(&font_info, 48); + + stbrp_init_target(&packer_context, 512, 512, packer_nodes, sizeof(packer_nodes) / sizeof(*packer_nodes)); + int rect_number = 0; + for (int i = ' '; i <= '~'; i++) { + int glyph_width; + int glyph_height; + int glyph_offset_x; + int glyph_offset_y; + glyphs[rect_number].data = (char*) stbtt_GetCodepointBitmap(&font_info, font_scale, font_scale, i, &glyph_width, &glyph_height, &glyph_offset_x, &glyph_offset_y); + glyphs[rect_number].x_off = glyph_offset_x; + glyphs[rect_number].y_off = glyph_offset_y; + + packer_rects[rect_number].id = i; + packer_rects[rect_number].w = glyph_width; + packer_rects[rect_number].h = glyph_height; + rect_number++; + } + + stbrp_pack_rects(&packer_context, packer_rects, rect_number); + char* glyph_atlas = (char*) malloc(512 * 512); + for (int x = 0; x < 512; x++) { + for (int y = 0; y < 512; y++) { + glyph_atlas[y * 512 + x] = 0; + } + } + + + for (int i = 0; i < rect_number; i++) { + for (int x = 0; x < packer_rects[i].w; x++) { + for (int y = 0; y < packer_rects[i].h; y++) { + glyph_atlas[(y + packer_rects[i].y) * 512 + x + packer_rects[i].x] = glyphs[i].data[y * packer_rects[i].w + x]; + } + } + } + + char file_name_test[256]; + sprintf(file_name_test, "../test_bild_text.bmp"); + stbi_write_bmp(file_name_test, 512, 512, 1, glyph_atlas); + return 0; } \ No newline at end of file diff --git a/src/stb_image_write.h b/src/stb_image_write.h new file mode 100644 index 0000000..ca0c149 --- /dev/null +++ b/src/stb_image_write.h @@ -0,0 +1,1708 @@ +/* stb_image_write - v1.15 - public domain - http://nothings.org/stb + writes out PNG/BMP/TGA/JPEG/HDR images to C stdio - Sean Barrett 2010-2015 + no warranty implied; use at your own risk + + Before #including, + + #define STB_IMAGE_WRITE_IMPLEMENTATION + + in the file that you want to have the implementation. + + Will probably not work correctly with strict-aliasing optimizations. + +ABOUT: + + This header file is a library for writing images to C stdio or a callback. + + The PNG output is not optimal; it is 20-50% larger than the file + written by a decent optimizing implementation; though providing a custom + zlib compress function (see STBIW_ZLIB_COMPRESS) can mitigate that. + This library is designed for source code compactness and simplicity, + not optimal image file size or run-time performance. + +BUILDING: + + You can #define STBIW_ASSERT(x) before the #include to avoid using assert.h. + You can #define STBIW_MALLOC(), STBIW_REALLOC(), and STBIW_FREE() to replace + malloc,realloc,free. + You can #define STBIW_MEMMOVE() to replace memmove() + You can #define STBIW_ZLIB_COMPRESS to use a custom zlib-style compress function + for PNG compression (instead of the builtin one), it must have the following signature: + unsigned char * my_compress(unsigned char *data, int data_len, int *out_len, int quality); + The returned data will be freed with STBIW_FREE() (free() by default), + so it must be heap allocated with STBIW_MALLOC() (malloc() by default), + +UNICODE: + + If compiling for Windows and you wish to use Unicode filenames, compile + with + #define STBIW_WINDOWS_UTF8 + and pass utf8-encoded filenames. Call stbiw_convert_wchar_to_utf8 to convert + Windows wchar_t filenames to utf8. + +USAGE: + + There are five functions, one for each image file format: + + int stbi_write_png(char const *filename, int w, int h, int comp, const void *data, int stride_in_bytes); + int stbi_write_bmp(char const *filename, int w, int h, int comp, const void *data); + int stbi_write_tga(char const *filename, int w, int h, int comp, const void *data); + int stbi_write_jpg(char const *filename, int w, int h, int comp, const void *data, int quality); + int stbi_write_hdr(char const *filename, int w, int h, int comp, const float *data); + + void stbi_flip_vertically_on_write(int flag); // flag is non-zero to flip data vertically + + There are also five equivalent functions that use an arbitrary write function. You are + expected to open/close your file-equivalent before and after calling these: + + int stbi_write_png_to_func(stbi_write_func *func, void *context, int w, int h, int comp, const void *data, int stride_in_bytes); + int stbi_write_bmp_to_func(stbi_write_func *func, void *context, int w, int h, int comp, const void *data); + int stbi_write_tga_to_func(stbi_write_func *func, void *context, int w, int h, int comp, const void *data); + int stbi_write_hdr_to_func(stbi_write_func *func, void *context, int w, int h, int comp, const float *data); + int stbi_write_jpg_to_func(stbi_write_func *func, void *context, int x, int y, int comp, const void *data, int quality); + + where the callback is: + void stbi_write_func(void *context, void *data, int size); + + You can configure it with these global variables: + int stbi_write_tga_with_rle; // defaults to true; set to 0 to disable RLE + int stbi_write_png_compression_level; // defaults to 8; set to higher for more compression + int stbi_write_force_png_filter; // defaults to -1; set to 0..5 to force a filter mode + + + You can define STBI_WRITE_NO_STDIO to disable the file variant of these + functions, so the library will not use stdio.h at all. However, this will + also disable HDR writing, because it requires stdio for formatted output. + + Each function returns 0 on failure and non-0 on success. + + The functions create an image file defined by the parameters. The image + is a rectangle of pixels stored from left-to-right, top-to-bottom. + Each pixel contains 'comp' channels of data stored interleaved with 8-bits + per channel, in the following order: 1=Y, 2=YA, 3=RGB, 4=RGBA. (Y is + monochrome color.) The rectangle is 'w' pixels wide and 'h' pixels tall. + The *data pointer points to the first byte of the top-left-most pixel. + For PNG, "stride_in_bytes" is the distance in bytes from the first byte of + a row of pixels to the first byte of the next row of pixels. + + PNG creates output files with the same number of components as the input. + The BMP format expands Y to RGB in the file format and does not + output alpha. + + PNG supports writing rectangles of data even when the bytes storing rows of + data are not consecutive in memory (e.g. sub-rectangles of a larger image), + by supplying the stride between the beginning of adjacent rows. The other + formats do not. (Thus you cannot write a native-format BMP through the BMP + writer, both because it is in BGR order and because it may have padding + at the end of the line.) + + PNG allows you to set the deflate compression level by setting the global + variable 'stbi_write_png_compression_level' (it defaults to 8). + + HDR expects linear float data. Since the format is always 32-bit rgb(e) + data, alpha (if provided) is discarded, and for monochrome data it is + replicated across all three channels. + + TGA supports RLE or non-RLE compressed data. To use non-RLE-compressed + data, set the global variable 'stbi_write_tga_with_rle' to 0. + + JPEG does ignore alpha channels in input data; quality is between 1 and 100. + Higher quality looks better but results in a bigger image. + JPEG baseline (no JPEG progressive). + +CREDITS: + + + Sean Barrett - PNG/BMP/TGA + Baldur Karlsson - HDR + Jean-Sebastien Guay - TGA monochrome + Tim Kelsey - misc enhancements + Alan Hickman - TGA RLE + Emmanuel Julien - initial file IO callback implementation + Jon Olick - original jo_jpeg.cpp code + Daniel Gibson - integrate JPEG, allow external zlib + Aarni Koskela - allow choosing PNG filter + + bugfixes: + github:Chribba + Guillaume Chereau + github:jry2 + github:romigrou + Sergio Gonzalez + Jonas Karlsson + Filip Wasil + Thatcher Ulrich + github:poppolopoppo + Patrick Boettcher + github:xeekworx + Cap Petschulat + Simon Rodriguez + Ivan Tikhonov + github:ignotion + Adam Schackart + +LICENSE + + See end of file for license information. + +*/ + +#ifndef INCLUDE_STB_IMAGE_WRITE_H +#define INCLUDE_STB_IMAGE_WRITE_H + +#include + +// if STB_IMAGE_WRITE_STATIC causes problems, try defining STBIWDEF to 'inline' or 'static inline' +#ifndef STBIWDEF +#ifdef STB_IMAGE_WRITE_STATIC +#define STBIWDEF static +#else +#ifdef __cplusplus +#define STBIWDEF extern "C" +#else +#define STBIWDEF extern +#endif +#endif +#endif + +#ifndef STB_IMAGE_WRITE_STATIC // C++ forbids static forward declarations +extern int stbi_write_tga_with_rle; +extern int stbi_write_png_compression_level; +extern int stbi_write_force_png_filter; +#endif + +#ifndef STBI_WRITE_NO_STDIO +STBIWDEF int stbi_write_png(char const* filename, int w, int h, int comp, const void* data, int stride_in_bytes); +STBIWDEF int stbi_write_bmp(char const* filename, int w, int h, int comp, const void* data); +STBIWDEF int stbi_write_tga(char const* filename, int w, int h, int comp, const void* data); +STBIWDEF int stbi_write_hdr(char const* filename, int w, int h, int comp, const float* data); +STBIWDEF int stbi_write_jpg(char const* filename, int x, int y, int comp, const void* data, int quality); + +#ifdef STBI_WINDOWS_UTF8 +STBIWDEF int stbiw_convert_wchar_to_utf8(char* buffer, size_t bufferlen, const wchar_t* input); +#endif +#endif + +typedef void stbi_write_func(void* context, void* data, int size); + +STBIWDEF int stbi_write_png_to_func(stbi_write_func* func, void* context, int w, int h, int comp, const void* data, int stride_in_bytes); +STBIWDEF int stbi_write_bmp_to_func(stbi_write_func* func, void* context, int w, int h, int comp, const void* data); +STBIWDEF int stbi_write_tga_to_func(stbi_write_func* func, void* context, int w, int h, int comp, const void* data); +STBIWDEF int stbi_write_hdr_to_func(stbi_write_func* func, void* context, int w, int h, int comp, const float* data); +STBIWDEF int stbi_write_jpg_to_func(stbi_write_func* func, void* context, int x, int y, int comp, const void* data, int quality); + +STBIWDEF void stbi_flip_vertically_on_write(int flip_boolean); + +#endif//INCLUDE_STB_IMAGE_WRITE_H + +#ifdef STB_IMAGE_WRITE_IMPLEMENTATION + +#ifdef _WIN32 +#ifndef _CRT_SECURE_NO_WARNINGS +#define _CRT_SECURE_NO_WARNINGS +#endif +#ifndef _CRT_NONSTDC_NO_DEPRECATE +#define _CRT_NONSTDC_NO_DEPRECATE +#endif +#endif + +#ifndef STBI_WRITE_NO_STDIO +#include +#endif // STBI_WRITE_NO_STDIO + +#include +#include +#include +#include + +#if defined(STBIW_MALLOC) && defined(STBIW_FREE) && (defined(STBIW_REALLOC) || defined(STBIW_REALLOC_SIZED)) +// ok +#elif !defined(STBIW_MALLOC) && !defined(STBIW_FREE) && !defined(STBIW_REALLOC) && !defined(STBIW_REALLOC_SIZED) +// ok +#else +#error "Must define all or none of STBIW_MALLOC, STBIW_FREE, and STBIW_REALLOC (or STBIW_REALLOC_SIZED)." +#endif + +#ifndef STBIW_MALLOC +#define STBIW_MALLOC(sz) malloc(sz) +#define STBIW_REALLOC(p,newsz) realloc(p,newsz) +#define STBIW_FREE(p) free(p) +#endif + +#ifndef STBIW_REALLOC_SIZED +#define STBIW_REALLOC_SIZED(p,oldsz,newsz) STBIW_REALLOC(p,newsz) +#endif + + +#ifndef STBIW_MEMMOVE +#define STBIW_MEMMOVE(a,b,sz) memmove(a,b,sz) +#endif + + +#ifndef STBIW_ASSERT +#include +#define STBIW_ASSERT(x) assert(x) +#endif + +#define STBIW_UCHAR(x) (unsigned char) ((x) & 0xff) + +#ifdef STB_IMAGE_WRITE_STATIC +static int stbi_write_png_compression_level = 8; +static int stbi_write_tga_with_rle = 1; +static int stbi_write_force_png_filter = -1; +#else +int stbi_write_png_compression_level = 8; +int stbi_write_tga_with_rle = 1; +int stbi_write_force_png_filter = -1; +#endif + +static int stbi__flip_vertically_on_write = 0; + +STBIWDEF void stbi_flip_vertically_on_write(int flag) +{ + stbi__flip_vertically_on_write = flag; +} + +typedef struct +{ + stbi_write_func* func; + void* context; + unsigned char buffer[64]; + int buf_used; +} stbi__write_context; + +// initialize a callback-based context +static void stbi__start_write_callbacks(stbi__write_context* s, stbi_write_func* c, void* context) +{ + s->func = c; + s->context = context; +} + +#ifndef STBI_WRITE_NO_STDIO + +static void stbi__stdio_write(void* context, void* data, int size) +{ + fwrite(data, 1, size, (FILE*)context); +} + +#if defined(_MSC_VER) && defined(STBI_WINDOWS_UTF8) +#ifdef __cplusplus +#define STBIW_EXTERN extern "C" +#else +#define STBIW_EXTERN extern +#endif +STBIW_EXTERN __declspec(dllimport) int __stdcall MultiByteToWideChar(unsigned int cp, unsigned long flags, const char* str, int cbmb, wchar_t* widestr, int cchwide); +STBIW_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); + +STBIWDEF int stbiw_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* stbiw__fopen(char const* filename, char const* mode) +{ + FILE* f; +#if defined(_MSC_VER) && defined(STBI_WINDOWS_UTF8) + wchar_t wMode[64]; + wchar_t wFilename[1024]; + if (0 == MultiByteToWideChar(65001 /* UTF8 */, 0, filename, -1, wFilename, sizeof(wFilename))) + return 0; + + if (0 == MultiByteToWideChar(65001 /* UTF8 */, 0, mode, -1, wMode, sizeof(wMode))) + return 0; + +#if _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; +} + +static int stbi__start_write_file(stbi__write_context* s, const char* filename) +{ + FILE* f = stbiw__fopen(filename, "wb"); + stbi__start_write_callbacks(s, stbi__stdio_write, (void*)f); + return f != NULL; +} + +static void stbi__end_write_file(stbi__write_context* s) +{ + fclose((FILE*)s->context); +} + +#endif // !STBI_WRITE_NO_STDIO + +typedef unsigned int stbiw_uint32; +typedef int stb_image_write_test[sizeof(stbiw_uint32) == 4 ? 1 : -1]; + +static void stbiw__writefv(stbi__write_context* s, const char* fmt, va_list v) +{ + while (*fmt) { + switch (*fmt++) { + case ' ': break; + case '1': { unsigned char x = STBIW_UCHAR(va_arg(v, int)); + s->func(s->context, &x, 1); + break; } + case '2': { int x = va_arg(v, int); + unsigned char b[2]; + b[0] = STBIW_UCHAR(x); + b[1] = STBIW_UCHAR(x >> 8); + s->func(s->context, b, 2); + break; } + case '4': { stbiw_uint32 x = va_arg(v, int); + unsigned char b[4]; + b[0] = STBIW_UCHAR(x); + b[1] = STBIW_UCHAR(x >> 8); + b[2] = STBIW_UCHAR(x >> 16); + b[3] = STBIW_UCHAR(x >> 24); + s->func(s->context, b, 4); + break; } + default: + STBIW_ASSERT(0); + return; + } + } +} + +static void stbiw__writef(stbi__write_context* s, const char* fmt, ...) +{ + va_list v; + va_start(v, fmt); + stbiw__writefv(s, fmt, v); + va_end(v); +} + +static void stbiw__write_flush(stbi__write_context* s) +{ + if (s->buf_used) { + s->func(s->context, &s->buffer, s->buf_used); + s->buf_used = 0; + } +} + +static void stbiw__putc(stbi__write_context* s, unsigned char c) +{ + s->func(s->context, &c, 1); +} + +static void stbiw__write1(stbi__write_context* s, unsigned char a) +{ + if (s->buf_used + 1 > sizeof(s->buffer)) + stbiw__write_flush(s); + s->buffer[s->buf_used++] = a; +} + +static void stbiw__write3(stbi__write_context* s, unsigned char a, unsigned char b, unsigned char c) +{ + int n; + if (s->buf_used + 3 > sizeof(s->buffer)) + stbiw__write_flush(s); + n = s->buf_used; + s->buf_used = n + 3; + s->buffer[n + 0] = a; + s->buffer[n + 1] = b; + s->buffer[n + 2] = c; +} + +static void stbiw__write_pixel(stbi__write_context* s, int rgb_dir, int comp, int write_alpha, int expand_mono, unsigned char* d) +{ + unsigned char bg[3] = { 255, 0, 255 }, px[3]; + int k; + + if (write_alpha < 0) + stbiw__write1(s, d[comp - 1]); + + switch (comp) { + case 2: // 2 pixels = mono + alpha, alpha is written separately, so same as 1-channel case + case 1: + if (expand_mono) + stbiw__write3(s, d[0], d[0], d[0]); // monochrome bmp + else + stbiw__write1(s, d[0]); // monochrome TGA + break; + case 4: + if (!write_alpha) { + // composite against pink background + for (k = 0; k < 3; ++k) + px[k] = bg[k] + ((d[k] - bg[k]) * d[3]) / 255; + stbiw__write3(s, px[1 - rgb_dir], px[1], px[1 + rgb_dir]); + break; + } + /* FALLTHROUGH */ + case 3: + stbiw__write3(s, d[1 - rgb_dir], d[1], d[1 + rgb_dir]); + break; + } + if (write_alpha > 0) + stbiw__write1(s, d[comp - 1]); +} + +static void stbiw__write_pixels(stbi__write_context* s, int rgb_dir, int vdir, int x, int y, int comp, void* data, int write_alpha, int scanline_pad, int expand_mono) +{ + stbiw_uint32 zero = 0; + int i, j, j_end; + + if (y <= 0) + return; + + if (stbi__flip_vertically_on_write) + vdir *= -1; + + if (vdir < 0) { + j_end = -1; j = y - 1; + } + else { + j_end = y; j = 0; + } + + for (; j != j_end; j += vdir) { + for (i = 0; i < x; ++i) { + unsigned char* d = (unsigned char*)data + (j * x + i) * comp; + stbiw__write_pixel(s, rgb_dir, comp, write_alpha, expand_mono, d); + } + stbiw__write_flush(s); + s->func(s->context, &zero, scanline_pad); + } +} + +static int stbiw__outfile(stbi__write_context* s, int rgb_dir, int vdir, int x, int y, int comp, int expand_mono, void* data, int alpha, int pad, const char* fmt, ...) +{ + if (y < 0 || x < 0) { + return 0; + } + else { + va_list v; + va_start(v, fmt); + stbiw__writefv(s, fmt, v); + va_end(v); + stbiw__write_pixels(s, rgb_dir, vdir, x, y, comp, data, alpha, pad, expand_mono); + return 1; + } +} + +static int stbi_write_bmp_core(stbi__write_context* s, int x, int y, int comp, const void* data) +{ + int pad = (-x * 3) & 3; + return stbiw__outfile(s, -1, -1, x, y, comp, 1, (void*)data, 0, pad, + "11 4 22 4" "4 44 22 444444", + 'B', 'M', 14 + 40 + (x * 3 + pad) * y, 0, 0, 14 + 40, // file header + 40, x, y, 1, 24, 0, 0, 0, 0, 0, 0); // bitmap header +} + +STBIWDEF int stbi_write_bmp_to_func(stbi_write_func* func, void* context, int x, int y, int comp, const void* data) +{ + stbi__write_context s = { 0 }; + stbi__start_write_callbacks(&s, func, context); + return stbi_write_bmp_core(&s, x, y, comp, data); +} + +#ifndef STBI_WRITE_NO_STDIO +STBIWDEF int stbi_write_bmp(char const* filename, int x, int y, int comp, const void* data) +{ + stbi__write_context s = { 0 }; + if (stbi__start_write_file(&s, filename)) { + int r = stbi_write_bmp_core(&s, x, y, comp, data); + stbi__end_write_file(&s); + return r; + } + else + return 0; +} +#endif //!STBI_WRITE_NO_STDIO + +static int stbi_write_tga_core(stbi__write_context* s, int x, int y, int comp, void* data) +{ + int has_alpha = (comp == 2 || comp == 4); + int colorbytes = has_alpha ? comp - 1 : comp; + int format = colorbytes < 2 ? 3 : 2; // 3 color channels (RGB/RGBA) = 2, 1 color channel (Y/YA) = 3 + + if (y < 0 || x < 0) + return 0; + + if (!stbi_write_tga_with_rle) { + return stbiw__outfile(s, -1, -1, x, y, comp, 0, (void*)data, has_alpha, 0, + "111 221 2222 11", 0, 0, format, 0, 0, 0, 0, 0, x, y, (colorbytes + has_alpha) * 8, has_alpha * 8); + } + else { + int i, j, k; + int jend, jdir; + + stbiw__writef(s, "111 221 2222 11", 0, 0, format + 8, 0, 0, 0, 0, 0, x, y, (colorbytes + has_alpha) * 8, has_alpha * 8); + + if (stbi__flip_vertically_on_write) { + j = 0; + jend = y; + jdir = 1; + } + else { + j = y - 1; + jend = -1; + jdir = -1; + } + for (; j != jend; j += jdir) { + unsigned char* row = (unsigned char*)data + j * x * comp; + int len; + + for (i = 0; i < x; i += len) { + unsigned char* begin = row + i * comp; + int diff = 1; + len = 1; + + if (i < x - 1) { + ++len; + diff = memcmp(begin, row + (i + 1) * comp, comp); + if (diff) { + const unsigned char* prev = begin; + for (k = i + 2; k < x && len < 128; ++k) { + if (memcmp(prev, row + k * comp, comp)) { + prev += comp; + ++len; + } + else { + --len; + break; + } + } + } + else { + for (k = i + 2; k < x && len < 128; ++k) { + if (!memcmp(begin, row + k * comp, comp)) { + ++len; + } + else { + break; + } + } + } + } + + if (diff) { + unsigned char header = STBIW_UCHAR(len - 1); + stbiw__write1(s, header); + for (k = 0; k < len; ++k) { + stbiw__write_pixel(s, -1, comp, has_alpha, 0, begin + k * comp); + } + } + else { + unsigned char header = STBIW_UCHAR(len - 129); + stbiw__write1(s, header); + stbiw__write_pixel(s, -1, comp, has_alpha, 0, begin); + } + } + } + stbiw__write_flush(s); + } + return 1; +} + +STBIWDEF int stbi_write_tga_to_func(stbi_write_func* func, void* context, int x, int y, int comp, const void* data) +{ + stbi__write_context s = { 0 }; + stbi__start_write_callbacks(&s, func, context); + return stbi_write_tga_core(&s, x, y, comp, (void*)data); +} + +#ifndef STBI_WRITE_NO_STDIO +STBIWDEF int stbi_write_tga(char const* filename, int x, int y, int comp, const void* data) +{ + stbi__write_context s = { 0 }; + if (stbi__start_write_file(&s, filename)) { + int r = stbi_write_tga_core(&s, x, y, comp, (void*)data); + stbi__end_write_file(&s); + return r; + } + else + return 0; +} +#endif + +// ************************************************************************************************* +// Radiance RGBE HDR writer +// by Baldur Karlsson + +#define stbiw__max(a, b) ((a) > (b) ? (a) : (b)) + +static void stbiw__linear_to_rgbe(unsigned char* rgbe, float* linear) +{ + int exponent; + float maxcomp = stbiw__max(linear[0], stbiw__max(linear[1], linear[2])); + + if (maxcomp < 1e-32f) { + rgbe[0] = rgbe[1] = rgbe[2] = rgbe[3] = 0; + } + else { + float normalize = (float)frexp(maxcomp, &exponent) * 256.0f / maxcomp; + + rgbe[0] = (unsigned char)(linear[0] * normalize); + rgbe[1] = (unsigned char)(linear[1] * normalize); + rgbe[2] = (unsigned char)(linear[2] * normalize); + rgbe[3] = (unsigned char)(exponent + 128); + } +} + +static void stbiw__write_run_data(stbi__write_context* s, int length, unsigned char databyte) +{ + unsigned char lengthbyte = STBIW_UCHAR(length + 128); + STBIW_ASSERT(length + 128 <= 255); + s->func(s->context, &lengthbyte, 1); + s->func(s->context, &databyte, 1); +} + +static void stbiw__write_dump_data(stbi__write_context* s, int length, unsigned char* data) +{ + unsigned char lengthbyte = STBIW_UCHAR(length); + STBIW_ASSERT(length <= 128); // inconsistent with spec but consistent with official code + s->func(s->context, &lengthbyte, 1); + s->func(s->context, data, length); +} + +static void stbiw__write_hdr_scanline(stbi__write_context* s, int width, int ncomp, unsigned char* scratch, float* scanline) +{ + unsigned char scanlineheader[4] = { 2, 2, 0, 0 }; + unsigned char rgbe[4]; + float linear[3]; + int x; + + scanlineheader[2] = (width & 0xff00) >> 8; + scanlineheader[3] = (width & 0x00ff); + + /* skip RLE for images too small or large */ + if (width < 8 || width >= 32768) { + for (x = 0; x < width; x++) { + switch (ncomp) { + case 4: /* fallthrough */ + case 3: linear[2] = scanline[x * ncomp + 2]; + linear[1] = scanline[x * ncomp + 1]; + linear[0] = scanline[x * ncomp + 0]; + break; + default: + linear[0] = linear[1] = linear[2] = scanline[x * ncomp + 0]; + break; + } + stbiw__linear_to_rgbe(rgbe, linear); + s->func(s->context, rgbe, 4); + } + } + else { + int c, r; + /* encode into scratch buffer */ + for (x = 0; x < width; x++) { + switch (ncomp) { + case 4: /* fallthrough */ + case 3: linear[2] = scanline[x * ncomp + 2]; + linear[1] = scanline[x * ncomp + 1]; + linear[0] = scanline[x * ncomp + 0]; + break; + default: + linear[0] = linear[1] = linear[2] = scanline[x * ncomp + 0]; + break; + } + stbiw__linear_to_rgbe(rgbe, linear); + scratch[x + width * 0] = rgbe[0]; + scratch[x + width * 1] = rgbe[1]; + scratch[x + width * 2] = rgbe[2]; + scratch[x + width * 3] = rgbe[3]; + } + + s->func(s->context, scanlineheader, 4); + + /* RLE each component separately */ + for (c = 0; c < 4; c++) { + unsigned char* comp = &scratch[width * c]; + + x = 0; + while (x < width) { + // find first run + r = x; + while (r + 2 < width) { + if (comp[r] == comp[r + 1] && comp[r] == comp[r + 2]) + break; + ++r; + } + if (r + 2 >= width) + r = width; + // dump up to first run + while (x < r) { + int len = r - x; + if (len > 128) len = 128; + stbiw__write_dump_data(s, len, &comp[x]); + x += len; + } + // if there's a run, output it + if (r + 2 < width) { // same test as what we break out of in search loop, so only true if we break'd + // find next byte after run + while (r < width && comp[r] == comp[x]) + ++r; + // output run up to r + while (x < r) { + int len = r - x; + if (len > 127) len = 127; + stbiw__write_run_data(s, len, comp[x]); + x += len; + } + } + } + } + } +} + +static int stbi_write_hdr_core(stbi__write_context* s, int x, int y, int comp, float* data) +{ + if (y <= 0 || x <= 0 || data == NULL) + return 0; + else { + // Each component is stored separately. Allocate scratch space for full output scanline. + unsigned char* scratch = (unsigned char*)STBIW_MALLOC(x * 4); + int i, len; + char buffer[128]; + char header[] = "#?RADIANCE\n# Written by stb_image_write.h\nFORMAT=32-bit_rle_rgbe\n"; + s->func(s->context, header, sizeof(header) - 1); + +#ifdef __STDC_WANT_SECURE_LIB__ + len = sprintf_s(buffer, sizeof(buffer), "EXPOSURE= 1.0000000000000\n\n-Y %d +X %d\n", y, x); +#else + len = sprintf(buffer, "EXPOSURE= 1.0000000000000\n\n-Y %d +X %d\n", y, x); +#endif + s->func(s->context, buffer, len); + + for (i = 0; i < y; i++) + stbiw__write_hdr_scanline(s, x, comp, scratch, data + comp * x * (stbi__flip_vertically_on_write ? y - 1 - i : i)); + STBIW_FREE(scratch); + return 1; + } +} + +STBIWDEF int stbi_write_hdr_to_func(stbi_write_func* func, void* context, int x, int y, int comp, const float* data) +{ + stbi__write_context s = { 0 }; + stbi__start_write_callbacks(&s, func, context); + return stbi_write_hdr_core(&s, x, y, comp, (float*)data); +} + +#ifndef STBI_WRITE_NO_STDIO +STBIWDEF int stbi_write_hdr(char const* filename, int x, int y, int comp, const float* data) +{ + stbi__write_context s = { 0 }; + if (stbi__start_write_file(&s, filename)) { + int r = stbi_write_hdr_core(&s, x, y, comp, (float*)data); + stbi__end_write_file(&s); + return r; + } + else + return 0; +} +#endif // STBI_WRITE_NO_STDIO + + +////////////////////////////////////////////////////////////////////////////// +// +// PNG writer +// + +#ifndef STBIW_ZLIB_COMPRESS +// stretchy buffer; stbiw__sbpush() == vector<>::push_back() -- stbiw__sbcount() == vector<>::size() +#define stbiw__sbraw(a) ((int *) (void *) (a) - 2) +#define stbiw__sbm(a) stbiw__sbraw(a)[0] +#define stbiw__sbn(a) stbiw__sbraw(a)[1] + +#define stbiw__sbneedgrow(a,n) ((a)==0 || stbiw__sbn(a)+n >= stbiw__sbm(a)) +#define stbiw__sbmaybegrow(a,n) (stbiw__sbneedgrow(a,(n)) ? stbiw__sbgrow(a,n) : 0) +#define stbiw__sbgrow(a,n) stbiw__sbgrowf((void **) &(a), (n), sizeof(*(a))) + +#define stbiw__sbpush(a, v) (stbiw__sbmaybegrow(a,1), (a)[stbiw__sbn(a)++] = (v)) +#define stbiw__sbcount(a) ((a) ? stbiw__sbn(a) : 0) +#define stbiw__sbfree(a) ((a) ? STBIW_FREE(stbiw__sbraw(a)),0 : 0) + +static void* stbiw__sbgrowf(void** arr, int increment, int itemsize) +{ + int m = *arr ? 2 * stbiw__sbm(*arr) + increment : increment + 1; + void* p = STBIW_REALLOC_SIZED(*arr ? stbiw__sbraw(*arr) : 0, *arr ? (stbiw__sbm(*arr) * itemsize + sizeof(int) * 2) : 0, itemsize * m + sizeof(int) * 2); + STBIW_ASSERT(p); + if (p) { + if (!*arr) ((int*)p)[1] = 0; + *arr = (void*)((int*)p + 2); + stbiw__sbm(*arr) = m; + } + return *arr; +} + +static unsigned char* stbiw__zlib_flushf(unsigned char* data, unsigned int* bitbuffer, int* bitcount) +{ + while (*bitcount >= 8) { + stbiw__sbpush(data, STBIW_UCHAR(*bitbuffer)); + *bitbuffer >>= 8; + *bitcount -= 8; + } + return data; +} + +static int stbiw__zlib_bitrev(int code, int codebits) +{ + int res = 0; + while (codebits--) { + res = (res << 1) | (code & 1); + code >>= 1; + } + return res; +} + +static unsigned int stbiw__zlib_countm(unsigned char* a, unsigned char* b, int limit) +{ + int i; + for (i = 0; i < limit && i < 258; ++i) + if (a[i] != b[i]) break; + return i; +} + +static unsigned int stbiw__zhash(unsigned char* data) +{ + stbiw_uint32 hash = data[0] + (data[1] << 8) + (data[2] << 16); + hash ^= hash << 3; + hash += hash >> 5; + hash ^= hash << 4; + hash += hash >> 17; + hash ^= hash << 25; + hash += hash >> 6; + return hash; +} + +#define stbiw__zlib_flush() (out = stbiw__zlib_flushf(out, &bitbuf, &bitcount)) +#define stbiw__zlib_add(code,codebits) \ + (bitbuf |= (code) << bitcount, bitcount += (codebits), stbiw__zlib_flush()) +#define stbiw__zlib_huffa(b,c) stbiw__zlib_add(stbiw__zlib_bitrev(b,c),c) +// default huffman tables +#define stbiw__zlib_huff1(n) stbiw__zlib_huffa(0x30 + (n), 8) +#define stbiw__zlib_huff2(n) stbiw__zlib_huffa(0x190 + (n)-144, 9) +#define stbiw__zlib_huff3(n) stbiw__zlib_huffa(0 + (n)-256,7) +#define stbiw__zlib_huff4(n) stbiw__zlib_huffa(0xc0 + (n)-280,8) +#define stbiw__zlib_huff(n) ((n) <= 143 ? stbiw__zlib_huff1(n) : (n) <= 255 ? stbiw__zlib_huff2(n) : (n) <= 279 ? stbiw__zlib_huff3(n) : stbiw__zlib_huff4(n)) +#define stbiw__zlib_huffb(n) ((n) <= 143 ? stbiw__zlib_huff1(n) : stbiw__zlib_huff2(n)) + +#define stbiw__ZHASH 16384 + +#endif // STBIW_ZLIB_COMPRESS + +STBIWDEF unsigned char* stbi_zlib_compress(unsigned char* data, int data_len, int* out_len, int quality) +{ +#ifdef STBIW_ZLIB_COMPRESS + // user provided a zlib compress implementation, use that + return STBIW_ZLIB_COMPRESS(data, data_len, out_len, quality); +#else // use builtin + static unsigned short lengthc[] = { 3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258, 259 }; + static unsigned char lengtheb[] = { 0,0,0,0,0,0,0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 0 }; + static unsigned short distc[] = { 1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577, 32768 }; + static unsigned char disteb[] = { 0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13 }; + unsigned int bitbuf = 0; + int i, j, bitcount = 0; + unsigned char* out = NULL; + unsigned char*** hash_table = (unsigned char***)STBIW_MALLOC(stbiw__ZHASH * sizeof(unsigned char**)); + if (hash_table == NULL) + return NULL; + if (quality < 5) quality = 5; + + stbiw__sbpush(out, 0x78); // DEFLATE 32K window + stbiw__sbpush(out, 0x5e); // FLEVEL = 1 + stbiw__zlib_add(1, 1); // BFINAL = 1 + stbiw__zlib_add(1, 2); // BTYPE = 1 -- fixed huffman + + for (i = 0; i < stbiw__ZHASH; ++i) + hash_table[i] = NULL; + + i = 0; + while (i < data_len - 3) { + // hash next 3 bytes of data to be compressed + int h = stbiw__zhash(data + i) & (stbiw__ZHASH - 1), best = 3; + unsigned char* bestloc = 0; + unsigned char** hlist = hash_table[h]; + int n = stbiw__sbcount(hlist); + for (j = 0; j < n; ++j) { + if (hlist[j] - data > i - 32768) { // if entry lies within window + int d = stbiw__zlib_countm(hlist[j], data + i, data_len - i); + if (d >= best) { best = d; bestloc = hlist[j]; } + } + } + // when hash table entry is too long, delete half the entries + if (hash_table[h] && stbiw__sbn(hash_table[h]) == 2 * quality) { + STBIW_MEMMOVE(hash_table[h], hash_table[h] + quality, sizeof(hash_table[h][0]) * quality); + stbiw__sbn(hash_table[h]) = quality; + } + stbiw__sbpush(hash_table[h], data + i); + + if (bestloc) { + // "lazy matching" - check match at *next* byte, and if it's better, do cur byte as literal + h = stbiw__zhash(data + i + 1) & (stbiw__ZHASH - 1); + hlist = hash_table[h]; + n = stbiw__sbcount(hlist); + for (j = 0; j < n; ++j) { + if (hlist[j] - data > i - 32767) { + int e = stbiw__zlib_countm(hlist[j], data + i + 1, data_len - i - 1); + if (e > best) { // if next match is better, bail on current match + bestloc = NULL; + break; + } + } + } + } + + if (bestloc) { + int d = (int)(data + i - bestloc); // distance back + STBIW_ASSERT(d <= 32767 && best <= 258); + for (j = 0; best > lengthc[j + 1] - 1; ++j); + stbiw__zlib_huff(j + 257); + if (lengtheb[j]) stbiw__zlib_add(best - lengthc[j], lengtheb[j]); + for (j = 0; d > distc[j + 1] - 1; ++j); + stbiw__zlib_add(stbiw__zlib_bitrev(j, 5), 5); + if (disteb[j]) stbiw__zlib_add(d - distc[j], disteb[j]); + i += best; + } + else { + stbiw__zlib_huffb(data[i]); + ++i; + } + } + // write out final bytes + for (; i < data_len; ++i) + stbiw__zlib_huffb(data[i]); + stbiw__zlib_huff(256); // end of block + // pad with 0 bits to byte boundary + while (bitcount) + stbiw__zlib_add(0, 1); + + for (i = 0; i < stbiw__ZHASH; ++i) + (void)stbiw__sbfree(hash_table[i]); + STBIW_FREE(hash_table); + + { + // compute adler32 on input + unsigned int s1 = 1, s2 = 0; + int blocklen = (int)(data_len % 5552); + j = 0; + while (j < data_len) { + for (i = 0; i < blocklen; ++i) { s1 += data[j + i]; s2 += s1; } + s1 %= 65521; s2 %= 65521; + j += blocklen; + blocklen = 5552; + } + stbiw__sbpush(out, STBIW_UCHAR(s2 >> 8)); + stbiw__sbpush(out, STBIW_UCHAR(s2)); + stbiw__sbpush(out, STBIW_UCHAR(s1 >> 8)); + stbiw__sbpush(out, STBIW_UCHAR(s1)); + } + *out_len = stbiw__sbn(out); + // make returned pointer freeable + STBIW_MEMMOVE(stbiw__sbraw(out), out, *out_len); + return (unsigned char*)stbiw__sbraw(out); +#endif // STBIW_ZLIB_COMPRESS +} + +static unsigned int stbiw__crc32(unsigned char* buffer, int len) +{ +#ifdef STBIW_CRC32 + return STBIW_CRC32(buffer, len); +#else + static unsigned int crc_table[256] = + { + 0x00000000, 0x77073096, 0xEE0E612C, 0x990951BA, 0x076DC419, 0x706AF48F, 0xE963A535, 0x9E6495A3, + 0x0eDB8832, 0x79DCB8A4, 0xE0D5E91E, 0x97D2D988, 0x09B64C2B, 0x7EB17CBD, 0xE7B82D07, 0x90BF1D91, + 0x1DB71064, 0x6AB020F2, 0xF3B97148, 0x84BE41DE, 0x1ADAD47D, 0x6DDDE4EB, 0xF4D4B551, 0x83D385C7, + 0x136C9856, 0x646BA8C0, 0xFD62F97A, 0x8A65C9EC, 0x14015C4F, 0x63066CD9, 0xFA0F3D63, 0x8D080DF5, + 0x3B6E20C8, 0x4C69105E, 0xD56041E4, 0xA2677172, 0x3C03E4D1, 0x4B04D447, 0xD20D85FD, 0xA50AB56B, + 0x35B5A8FA, 0x42B2986C, 0xDBBBC9D6, 0xACBCF940, 0x32D86CE3, 0x45DF5C75, 0xDCD60DCF, 0xABD13D59, + 0x26D930AC, 0x51DE003A, 0xC8D75180, 0xBFD06116, 0x21B4F4B5, 0x56B3C423, 0xCFBA9599, 0xB8BDA50F, + 0x2802B89E, 0x5F058808, 0xC60CD9B2, 0xB10BE924, 0x2F6F7C87, 0x58684C11, 0xC1611DAB, 0xB6662D3D, + 0x76DC4190, 0x01DB7106, 0x98D220BC, 0xEFD5102A, 0x71B18589, 0x06B6B51F, 0x9FBFE4A5, 0xE8B8D433, + 0x7807C9A2, 0x0F00F934, 0x9609A88E, 0xE10E9818, 0x7F6A0DBB, 0x086D3D2D, 0x91646C97, 0xE6635C01, + 0x6B6B51F4, 0x1C6C6162, 0x856530D8, 0xF262004E, 0x6C0695ED, 0x1B01A57B, 0x8208F4C1, 0xF50FC457, + 0x65B0D9C6, 0x12B7E950, 0x8BBEB8EA, 0xFCB9887C, 0x62DD1DDF, 0x15DA2D49, 0x8CD37CF3, 0xFBD44C65, + 0x4DB26158, 0x3AB551CE, 0xA3BC0074, 0xD4BB30E2, 0x4ADFA541, 0x3DD895D7, 0xA4D1C46D, 0xD3D6F4FB, + 0x4369E96A, 0x346ED9FC, 0xAD678846, 0xDA60B8D0, 0x44042D73, 0x33031DE5, 0xAA0A4C5F, 0xDD0D7CC9, + 0x5005713C, 0x270241AA, 0xBE0B1010, 0xC90C2086, 0x5768B525, 0x206F85B3, 0xB966D409, 0xCE61E49F, + 0x5EDEF90E, 0x29D9C998, 0xB0D09822, 0xC7D7A8B4, 0x59B33D17, 0x2EB40D81, 0xB7BD5C3B, 0xC0BA6CAD, + 0xEDB88320, 0x9ABFB3B6, 0x03B6E20C, 0x74B1D29A, 0xEAD54739, 0x9DD277AF, 0x04DB2615, 0x73DC1683, + 0xE3630B12, 0x94643B84, 0x0D6D6A3E, 0x7A6A5AA8, 0xE40ECF0B, 0x9309FF9D, 0x0A00AE27, 0x7D079EB1, + 0xF00F9344, 0x8708A3D2, 0x1E01F268, 0x6906C2FE, 0xF762575D, 0x806567CB, 0x196C3671, 0x6E6B06E7, + 0xFED41B76, 0x89D32BE0, 0x10DA7A5A, 0x67DD4ACC, 0xF9B9DF6F, 0x8EBEEFF9, 0x17B7BE43, 0x60B08ED5, + 0xD6D6A3E8, 0xA1D1937E, 0x38D8C2C4, 0x4FDFF252, 0xD1BB67F1, 0xA6BC5767, 0x3FB506DD, 0x48B2364B, + 0xD80D2BDA, 0xAF0A1B4C, 0x36034AF6, 0x41047A60, 0xDF60EFC3, 0xA867DF55, 0x316E8EEF, 0x4669BE79, + 0xCB61B38C, 0xBC66831A, 0x256FD2A0, 0x5268E236, 0xCC0C7795, 0xBB0B4703, 0x220216B9, 0x5505262F, + 0xC5BA3BBE, 0xB2BD0B28, 0x2BB45A92, 0x5CB36A04, 0xC2D7FFA7, 0xB5D0CF31, 0x2CD99E8B, 0x5BDEAE1D, + 0x9B64C2B0, 0xEC63F226, 0x756AA39C, 0x026D930A, 0x9C0906A9, 0xEB0E363F, 0x72076785, 0x05005713, + 0x95BF4A82, 0xE2B87A14, 0x7BB12BAE, 0x0CB61B38, 0x92D28E9B, 0xE5D5BE0D, 0x7CDCEFB7, 0x0BDBDF21, + 0x86D3D2D4, 0xF1D4E242, 0x68DDB3F8, 0x1FDA836E, 0x81BE16CD, 0xF6B9265B, 0x6FB077E1, 0x18B74777, + 0x88085AE6, 0xFF0F6A70, 0x66063BCA, 0x11010B5C, 0x8F659EFF, 0xF862AE69, 0x616BFFD3, 0x166CCF45, + 0xA00AE278, 0xD70DD2EE, 0x4E048354, 0x3903B3C2, 0xA7672661, 0xD06016F7, 0x4969474D, 0x3E6E77DB, + 0xAED16A4A, 0xD9D65ADC, 0x40DF0B66, 0x37D83BF0, 0xA9BCAE53, 0xDEBB9EC5, 0x47B2CF7F, 0x30B5FFE9, + 0xBDBDF21C, 0xCABAC28A, 0x53B39330, 0x24B4A3A6, 0xBAD03605, 0xCDD70693, 0x54DE5729, 0x23D967BF, + 0xB3667A2E, 0xC4614AB8, 0x5D681B02, 0x2A6F2B94, 0xB40BBE37, 0xC30C8EA1, 0x5A05DF1B, 0x2D02EF8D + }; + + unsigned int crc = ~0u; + int i; + for (i = 0; i < len; ++i) + crc = (crc >> 8) ^ crc_table[buffer[i] ^ (crc & 0xff)]; + return ~crc; +#endif +} + +#define stbiw__wpng4(o,a,b,c,d) ((o)[0]=STBIW_UCHAR(a),(o)[1]=STBIW_UCHAR(b),(o)[2]=STBIW_UCHAR(c),(o)[3]=STBIW_UCHAR(d),(o)+=4) +#define stbiw__wp32(data,v) stbiw__wpng4(data, (v)>>24,(v)>>16,(v)>>8,(v)); +#define stbiw__wptag(data,s) stbiw__wpng4(data, s[0],s[1],s[2],s[3]) + +static void stbiw__wpcrc(unsigned char** data, int len) +{ + unsigned int crc = stbiw__crc32(*data - len - 4, len + 4); + stbiw__wp32(*data, crc); +} + +static unsigned char stbiw__paeth(int a, int b, int c) +{ + int p = a + b - c, pa = abs(p - a), pb = abs(p - b), pc = abs(p - c); + if (pa <= pb && pa <= pc) return STBIW_UCHAR(a); + if (pb <= pc) return STBIW_UCHAR(b); + return STBIW_UCHAR(c); +} + +// @OPTIMIZE: provide an option that always forces left-predict or paeth predict +static void stbiw__encode_png_line(unsigned char* pixels, int stride_bytes, int width, int height, int y, int n, int filter_type, signed char* line_buffer) +{ + static int mapping[] = { 0,1,2,3,4 }; + static int firstmap[] = { 0,1,0,5,6 }; + int* mymap = (y != 0) ? mapping : firstmap; + int i; + int type = mymap[filter_type]; + unsigned char* z = pixels + stride_bytes * (stbi__flip_vertically_on_write ? height - 1 - y : y); + int signed_stride = stbi__flip_vertically_on_write ? -stride_bytes : stride_bytes; + + if (type == 0) { + memcpy(line_buffer, z, width * n); + return; + } + + // first loop isn't optimized since it's just one pixel + for (i = 0; i < n; ++i) { + switch (type) { + case 1: line_buffer[i] = z[i]; break; + case 2: line_buffer[i] = z[i] - z[i - signed_stride]; break; + case 3: line_buffer[i] = z[i] - (z[i - signed_stride] >> 1); break; + case 4: line_buffer[i] = (signed char)(z[i] - stbiw__paeth(0, z[i - signed_stride], 0)); break; + case 5: line_buffer[i] = z[i]; break; + case 6: line_buffer[i] = z[i]; break; + } + } + switch (type) { + case 1: for (i = n; i < width * n; ++i) line_buffer[i] = z[i] - z[i - n]; break; + case 2: for (i = n; i < width * n; ++i) line_buffer[i] = z[i] - z[i - signed_stride]; break; + case 3: for (i = n; i < width * n; ++i) line_buffer[i] = z[i] - ((z[i - n] + z[i - signed_stride]) >> 1); break; + case 4: for (i = n; i < width * n; ++i) line_buffer[i] = z[i] - stbiw__paeth(z[i - n], z[i - signed_stride], z[i - signed_stride - n]); break; + case 5: for (i = n; i < width * n; ++i) line_buffer[i] = z[i] - (z[i - n] >> 1); break; + case 6: for (i = n; i < width * n; ++i) line_buffer[i] = z[i] - stbiw__paeth(z[i - n], 0, 0); break; + } +} + +STBIWDEF unsigned char* stbi_write_png_to_mem(const unsigned char* pixels, int stride_bytes, int x, int y, int n, int* out_len) +{ + int force_filter = stbi_write_force_png_filter; + int ctype[5] = { -1, 0, 4, 2, 6 }; + unsigned char sig[8] = { 137,80,78,71,13,10,26,10 }; + unsigned char* out, * o, * filt, * zlib; + signed char* line_buffer; + int j, zlen; + + if (stride_bytes == 0) + stride_bytes = x * n; + + if (force_filter >= 5) { + force_filter = -1; + } + + filt = (unsigned char*)STBIW_MALLOC((x * n + 1) * y); if (!filt) return 0; + line_buffer = (signed char*)STBIW_MALLOC(x * n); if (!line_buffer) { STBIW_FREE(filt); return 0; } + for (j = 0; j < y; ++j) { + int filter_type; + if (force_filter > -1) { + filter_type = force_filter; + stbiw__encode_png_line((unsigned char*)(pixels), stride_bytes, x, y, j, n, force_filter, line_buffer); + } + else { // Estimate the best filter by running through all of them: + int best_filter = 0, best_filter_val = 0x7fffffff, est, i; + for (filter_type = 0; filter_type < 5; filter_type++) { + stbiw__encode_png_line((unsigned char*)(pixels), stride_bytes, x, y, j, n, filter_type, line_buffer); + + // Estimate the entropy of the line using this filter; the less, the better. + est = 0; + for (i = 0; i < x * n; ++i) { + est += abs((signed char)line_buffer[i]); + } + if (est < best_filter_val) { + best_filter_val = est; + best_filter = filter_type; + } + } + if (filter_type != best_filter) { // If the last iteration already got us the best filter, don't redo it + stbiw__encode_png_line((unsigned char*)(pixels), stride_bytes, x, y, j, n, best_filter, line_buffer); + filter_type = best_filter; + } + } + // when we get here, filter_type contains the filter type, and line_buffer contains the data + filt[j * (x * n + 1)] = (unsigned char)filter_type; + STBIW_MEMMOVE(filt + j * (x * n + 1) + 1, line_buffer, x * n); + } + STBIW_FREE(line_buffer); + zlib = stbi_zlib_compress(filt, y * (x * n + 1), &zlen, stbi_write_png_compression_level); + STBIW_FREE(filt); + if (!zlib) return 0; + + // each tag requires 12 bytes of overhead + out = (unsigned char*)STBIW_MALLOC(8 + 12 + 13 + 12 + zlen + 12); + if (!out) return 0; + *out_len = 8 + 12 + 13 + 12 + zlen + 12; + + o = out; + STBIW_MEMMOVE(o, sig, 8); o += 8; + stbiw__wp32(o, 13); // header length + stbiw__wptag(o, "IHDR"); + stbiw__wp32(o, x); + stbiw__wp32(o, y); + *o++ = 8; + *o++ = STBIW_UCHAR(ctype[n]); + *o++ = 0; + *o++ = 0; + *o++ = 0; + stbiw__wpcrc(&o, 13); + + stbiw__wp32(o, zlen); + stbiw__wptag(o, "IDAT"); + STBIW_MEMMOVE(o, zlib, zlen); + o += zlen; + STBIW_FREE(zlib); + stbiw__wpcrc(&o, zlen); + + stbiw__wp32(o, 0); + stbiw__wptag(o, "IEND"); + stbiw__wpcrc(&o, 0); + + STBIW_ASSERT(o == out + *out_len); + + return out; +} + +#ifndef STBI_WRITE_NO_STDIO +STBIWDEF int stbi_write_png(char const* filename, int x, int y, int comp, const void* data, int stride_bytes) +{ + FILE* f; + int len; + unsigned char* png = stbi_write_png_to_mem((const unsigned char*)data, stride_bytes, x, y, comp, &len); + if (png == NULL) return 0; + + f = stbiw__fopen(filename, "wb"); + if (!f) { STBIW_FREE(png); return 0; } + fwrite(png, 1, len, f); + fclose(f); + STBIW_FREE(png); + return 1; +} +#endif + +STBIWDEF int stbi_write_png_to_func(stbi_write_func* func, void* context, int x, int y, int comp, const void* data, int stride_bytes) +{ + int len; + unsigned char* png = stbi_write_png_to_mem((const unsigned char*)data, stride_bytes, x, y, comp, &len); + if (png == NULL) return 0; + func(context, png, len); + STBIW_FREE(png); + return 1; +} + + +/* *************************************************************************** + * + * JPEG writer + * + * This is based on Jon Olick's jo_jpeg.cpp: + * public domain Simple, Minimalistic JPEG writer - http://www.jonolick.com/code.html + */ + +static const unsigned char stbiw__jpg_ZigZag[] = { 0,1,5,6,14,15,27,28,2,4,7,13,16,26,29,42,3,8,12,17,25,30,41,43,9,11,18, + 24,31,40,44,53,10,19,23,32,39,45,52,54,20,22,33,38,46,51,55,60,21,34,37,47,50,56,59,61,35,36,48,49,57,58,62,63 }; + +static void stbiw__jpg_writeBits(stbi__write_context* s, int* bitBufP, int* bitCntP, const unsigned short* bs) { + int bitBuf = *bitBufP, bitCnt = *bitCntP; + bitCnt += bs[1]; + bitBuf |= bs[0] << (24 - bitCnt); + while (bitCnt >= 8) { + unsigned char c = (bitBuf >> 16) & 255; + stbiw__putc(s, c); + if (c == 255) { + stbiw__putc(s, 0); + } + bitBuf <<= 8; + bitCnt -= 8; + } + *bitBufP = bitBuf; + *bitCntP = bitCnt; +} + +static void stbiw__jpg_DCT(float* d0p, float* d1p, float* d2p, float* d3p, float* d4p, float* d5p, float* d6p, float* d7p) { + float d0 = *d0p, d1 = *d1p, d2 = *d2p, d3 = *d3p, d4 = *d4p, d5 = *d5p, d6 = *d6p, d7 = *d7p; + float z1, z2, z3, z4, z5, z11, z13; + + float tmp0 = d0 + d7; + float tmp7 = d0 - d7; + float tmp1 = d1 + d6; + float tmp6 = d1 - d6; + float tmp2 = d2 + d5; + float tmp5 = d2 - d5; + float tmp3 = d3 + d4; + float tmp4 = d3 - d4; + + // Even part + float tmp10 = tmp0 + tmp3; // phase 2 + float tmp13 = tmp0 - tmp3; + float tmp11 = tmp1 + tmp2; + float tmp12 = tmp1 - tmp2; + + d0 = tmp10 + tmp11; // phase 3 + d4 = tmp10 - tmp11; + + z1 = (tmp12 + tmp13) * 0.707106781f; // c4 + d2 = tmp13 + z1; // phase 5 + d6 = tmp13 - z1; + + // Odd part + tmp10 = tmp4 + tmp5; // phase 2 + tmp11 = tmp5 + tmp6; + tmp12 = tmp6 + tmp7; + + // The rotator is modified from fig 4-8 to avoid extra negations. + z5 = (tmp10 - tmp12) * 0.382683433f; // c6 + z2 = tmp10 * 0.541196100f + z5; // c2-c6 + z4 = tmp12 * 1.306562965f + z5; // c2+c6 + z3 = tmp11 * 0.707106781f; // c4 + + z11 = tmp7 + z3; // phase 5 + z13 = tmp7 - z3; + + *d5p = z13 + z2; // phase 6 + *d3p = z13 - z2; + *d1p = z11 + z4; + *d7p = z11 - z4; + + *d0p = d0; *d2p = d2; *d4p = d4; *d6p = d6; +} + +static void stbiw__jpg_calcBits(int val, unsigned short bits[2]) { + int tmp1 = val < 0 ? -val : val; + val = val < 0 ? val - 1 : val; + bits[1] = 1; + while (tmp1 >>= 1) { + ++bits[1]; + } + bits[0] = val & ((1 << bits[1]) - 1); +} + +static int stbiw__jpg_processDU(stbi__write_context* s, int* bitBuf, int* bitCnt, float* CDU, int du_stride, float* fdtbl, int DC, const unsigned short HTDC[256][2], const unsigned short HTAC[256][2]) { + const unsigned short EOB[2] = { HTAC[0x00][0], HTAC[0x00][1] }; + const unsigned short M16zeroes[2] = { HTAC[0xF0][0], HTAC[0xF0][1] }; + int dataOff, i, j, n, diff, end0pos, x, y; + int DU[64]; + + // DCT rows + for (dataOff = 0, n = du_stride * 8; dataOff < n; dataOff += du_stride) { + stbiw__jpg_DCT(&CDU[dataOff], &CDU[dataOff + 1], &CDU[dataOff + 2], &CDU[dataOff + 3], &CDU[dataOff + 4], &CDU[dataOff + 5], &CDU[dataOff + 6], &CDU[dataOff + 7]); + } + // DCT columns + for (dataOff = 0; dataOff < 8; ++dataOff) { + stbiw__jpg_DCT(&CDU[dataOff], &CDU[dataOff + du_stride], &CDU[dataOff + du_stride * 2], &CDU[dataOff + du_stride * 3], &CDU[dataOff + du_stride * 4], + &CDU[dataOff + du_stride * 5], &CDU[dataOff + du_stride * 6], &CDU[dataOff + du_stride * 7]); + } + // Quantize/descale/zigzag the coefficients + for (y = 0, j = 0; y < 8; ++y) { + for (x = 0; x < 8; ++x, ++j) { + float v; + i = y * du_stride + x; + v = CDU[i] * fdtbl[j]; + // DU[stbiw__jpg_ZigZag[j]] = (int)(v < 0 ? ceilf(v - 0.5f) : floorf(v + 0.5f)); + // ceilf() and floorf() are C99, not C89, but I /think/ they're not needed here anyway? + DU[stbiw__jpg_ZigZag[j]] = (int)(v < 0 ? v - 0.5f : v + 0.5f); + } + } + + // Encode DC + diff = DU[0] - DC; + if (diff == 0) { + stbiw__jpg_writeBits(s, bitBuf, bitCnt, HTDC[0]); + } + else { + unsigned short bits[2]; + stbiw__jpg_calcBits(diff, bits); + stbiw__jpg_writeBits(s, bitBuf, bitCnt, HTDC[bits[1]]); + stbiw__jpg_writeBits(s, bitBuf, bitCnt, bits); + } + // Encode ACs + end0pos = 63; + for (; (end0pos > 0) && (DU[end0pos] == 0); --end0pos) { + } + // end0pos = first element in reverse order !=0 + if (end0pos == 0) { + stbiw__jpg_writeBits(s, bitBuf, bitCnt, EOB); + return DU[0]; + } + for (i = 1; i <= end0pos; ++i) { + int startpos = i; + int nrzeroes; + unsigned short bits[2]; + for (; DU[i] == 0 && i <= end0pos; ++i) { + } + nrzeroes = i - startpos; + if (nrzeroes >= 16) { + int lng = nrzeroes >> 4; + int nrmarker; + for (nrmarker = 1; nrmarker <= lng; ++nrmarker) + stbiw__jpg_writeBits(s, bitBuf, bitCnt, M16zeroes); + nrzeroes &= 15; + } + stbiw__jpg_calcBits(DU[i], bits); + stbiw__jpg_writeBits(s, bitBuf, bitCnt, HTAC[(nrzeroes << 4) + bits[1]]); + stbiw__jpg_writeBits(s, bitBuf, bitCnt, bits); + } + if (end0pos != 63) { + stbiw__jpg_writeBits(s, bitBuf, bitCnt, EOB); + } + return DU[0]; +} + +static int stbi_write_jpg_core(stbi__write_context* s, int width, int height, int comp, const void* data, int quality) { + // Constants that don't pollute global namespace + static const unsigned char std_dc_luminance_nrcodes[] = { 0,0,1,5,1,1,1,1,1,1,0,0,0,0,0,0,0 }; + static const unsigned char std_dc_luminance_values[] = { 0,1,2,3,4,5,6,7,8,9,10,11 }; + static const unsigned char std_ac_luminance_nrcodes[] = { 0,0,2,1,3,3,2,4,3,5,5,4,4,0,0,1,0x7d }; + static const unsigned char std_ac_luminance_values[] = { + 0x01,0x02,0x03,0x00,0x04,0x11,0x05,0x12,0x21,0x31,0x41,0x06,0x13,0x51,0x61,0x07,0x22,0x71,0x14,0x32,0x81,0x91,0xa1,0x08, + 0x23,0x42,0xb1,0xc1,0x15,0x52,0xd1,0xf0,0x24,0x33,0x62,0x72,0x82,0x09,0x0a,0x16,0x17,0x18,0x19,0x1a,0x25,0x26,0x27,0x28, + 0x29,0x2a,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4a,0x53,0x54,0x55,0x56,0x57,0x58,0x59, + 0x5a,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6a,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7a,0x83,0x84,0x85,0x86,0x87,0x88,0x89, + 0x8a,0x92,0x93,0x94,0x95,0x96,0x97,0x98,0x99,0x9a,0xa2,0xa3,0xa4,0xa5,0xa6,0xa7,0xa8,0xa9,0xaa,0xb2,0xb3,0xb4,0xb5,0xb6, + 0xb7,0xb8,0xb9,0xba,0xc2,0xc3,0xc4,0xc5,0xc6,0xc7,0xc8,0xc9,0xca,0xd2,0xd3,0xd4,0xd5,0xd6,0xd7,0xd8,0xd9,0xda,0xe1,0xe2, + 0xe3,0xe4,0xe5,0xe6,0xe7,0xe8,0xe9,0xea,0xf1,0xf2,0xf3,0xf4,0xf5,0xf6,0xf7,0xf8,0xf9,0xfa + }; + static const unsigned char std_dc_chrominance_nrcodes[] = { 0,0,3,1,1,1,1,1,1,1,1,1,0,0,0,0,0 }; + static const unsigned char std_dc_chrominance_values[] = { 0,1,2,3,4,5,6,7,8,9,10,11 }; + static const unsigned char std_ac_chrominance_nrcodes[] = { 0,0,2,1,2,4,4,3,4,7,5,4,4,0,1,2,0x77 }; + static const unsigned char std_ac_chrominance_values[] = { + 0x00,0x01,0x02,0x03,0x11,0x04,0x05,0x21,0x31,0x06,0x12,0x41,0x51,0x07,0x61,0x71,0x13,0x22,0x32,0x81,0x08,0x14,0x42,0x91, + 0xa1,0xb1,0xc1,0x09,0x23,0x33,0x52,0xf0,0x15,0x62,0x72,0xd1,0x0a,0x16,0x24,0x34,0xe1,0x25,0xf1,0x17,0x18,0x19,0x1a,0x26, + 0x27,0x28,0x29,0x2a,0x35,0x36,0x37,0x38,0x39,0x3a,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4a,0x53,0x54,0x55,0x56,0x57,0x58, + 0x59,0x5a,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6a,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7a,0x82,0x83,0x84,0x85,0x86,0x87, + 0x88,0x89,0x8a,0x92,0x93,0x94,0x95,0x96,0x97,0x98,0x99,0x9a,0xa2,0xa3,0xa4,0xa5,0xa6,0xa7,0xa8,0xa9,0xaa,0xb2,0xb3,0xb4, + 0xb5,0xb6,0xb7,0xb8,0xb9,0xba,0xc2,0xc3,0xc4,0xc5,0xc6,0xc7,0xc8,0xc9,0xca,0xd2,0xd3,0xd4,0xd5,0xd6,0xd7,0xd8,0xd9,0xda, + 0xe2,0xe3,0xe4,0xe5,0xe6,0xe7,0xe8,0xe9,0xea,0xf2,0xf3,0xf4,0xf5,0xf6,0xf7,0xf8,0xf9,0xfa + }; + // Huffman tables + static const unsigned short YDC_HT[256][2] = { {0,2},{2,3},{3,3},{4,3},{5,3},{6,3},{14,4},{30,5},{62,6},{126,7},{254,8},{510,9} }; + static const unsigned short UVDC_HT[256][2] = { {0,2},{1,2},{2,2},{6,3},{14,4},{30,5},{62,6},{126,7},{254,8},{510,9},{1022,10},{2046,11} }; + static const unsigned short YAC_HT[256][2] = { + {10,4},{0,2},{1,2},{4,3},{11,4},{26,5},{120,7},{248,8},{1014,10},{65410,16},{65411,16},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0}, + {12,4},{27,5},{121,7},{502,9},{2038,11},{65412,16},{65413,16},{65414,16},{65415,16},{65416,16},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0}, + {28,5},{249,8},{1015,10},{4084,12},{65417,16},{65418,16},{65419,16},{65420,16},{65421,16},{65422,16},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0}, + {58,6},{503,9},{4085,12},{65423,16},{65424,16},{65425,16},{65426,16},{65427,16},{65428,16},{65429,16},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0}, + {59,6},{1016,10},{65430,16},{65431,16},{65432,16},{65433,16},{65434,16},{65435,16},{65436,16},{65437,16},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0}, + {122,7},{2039,11},{65438,16},{65439,16},{65440,16},{65441,16},{65442,16},{65443,16},{65444,16},{65445,16},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0}, + {123,7},{4086,12},{65446,16},{65447,16},{65448,16},{65449,16},{65450,16},{65451,16},{65452,16},{65453,16},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0}, + {250,8},{4087,12},{65454,16},{65455,16},{65456,16},{65457,16},{65458,16},{65459,16},{65460,16},{65461,16},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0}, + {504,9},{32704,15},{65462,16},{65463,16},{65464,16},{65465,16},{65466,16},{65467,16},{65468,16},{65469,16},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0}, + {505,9},{65470,16},{65471,16},{65472,16},{65473,16},{65474,16},{65475,16},{65476,16},{65477,16},{65478,16},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0}, + {506,9},{65479,16},{65480,16},{65481,16},{65482,16},{65483,16},{65484,16},{65485,16},{65486,16},{65487,16},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0}, + {1017,10},{65488,16},{65489,16},{65490,16},{65491,16},{65492,16},{65493,16},{65494,16},{65495,16},{65496,16},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0}, + {1018,10},{65497,16},{65498,16},{65499,16},{65500,16},{65501,16},{65502,16},{65503,16},{65504,16},{65505,16},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0}, + {2040,11},{65506,16},{65507,16},{65508,16},{65509,16},{65510,16},{65511,16},{65512,16},{65513,16},{65514,16},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0}, + {65515,16},{65516,16},{65517,16},{65518,16},{65519,16},{65520,16},{65521,16},{65522,16},{65523,16},{65524,16},{0,0},{0,0},{0,0},{0,0},{0,0}, + {2041,11},{65525,16},{65526,16},{65527,16},{65528,16},{65529,16},{65530,16},{65531,16},{65532,16},{65533,16},{65534,16},{0,0},{0,0},{0,0},{0,0},{0,0} + }; + static const unsigned short UVAC_HT[256][2] = { + {0,2},{1,2},{4,3},{10,4},{24,5},{25,5},{56,6},{120,7},{500,9},{1014,10},{4084,12},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0}, + {11,4},{57,6},{246,8},{501,9},{2038,11},{4085,12},{65416,16},{65417,16},{65418,16},{65419,16},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0}, + {26,5},{247,8},{1015,10},{4086,12},{32706,15},{65420,16},{65421,16},{65422,16},{65423,16},{65424,16},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0}, + {27,5},{248,8},{1016,10},{4087,12},{65425,16},{65426,16},{65427,16},{65428,16},{65429,16},{65430,16},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0}, + {58,6},{502,9},{65431,16},{65432,16},{65433,16},{65434,16},{65435,16},{65436,16},{65437,16},{65438,16},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0}, + {59,6},{1017,10},{65439,16},{65440,16},{65441,16},{65442,16},{65443,16},{65444,16},{65445,16},{65446,16},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0}, + {121,7},{2039,11},{65447,16},{65448,16},{65449,16},{65450,16},{65451,16},{65452,16},{65453,16},{65454,16},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0}, + {122,7},{2040,11},{65455,16},{65456,16},{65457,16},{65458,16},{65459,16},{65460,16},{65461,16},{65462,16},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0}, + {249,8},{65463,16},{65464,16},{65465,16},{65466,16},{65467,16},{65468,16},{65469,16},{65470,16},{65471,16},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0}, + {503,9},{65472,16},{65473,16},{65474,16},{65475,16},{65476,16},{65477,16},{65478,16},{65479,16},{65480,16},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0}, + {504,9},{65481,16},{65482,16},{65483,16},{65484,16},{65485,16},{65486,16},{65487,16},{65488,16},{65489,16},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0}, + {505,9},{65490,16},{65491,16},{65492,16},{65493,16},{65494,16},{65495,16},{65496,16},{65497,16},{65498,16},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0}, + {506,9},{65499,16},{65500,16},{65501,16},{65502,16},{65503,16},{65504,16},{65505,16},{65506,16},{65507,16},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0}, + {2041,11},{65508,16},{65509,16},{65510,16},{65511,16},{65512,16},{65513,16},{65514,16},{65515,16},{65516,16},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0}, + {16352,14},{65517,16},{65518,16},{65519,16},{65520,16},{65521,16},{65522,16},{65523,16},{65524,16},{65525,16},{0,0},{0,0},{0,0},{0,0},{0,0}, + {1018,10},{32707,15},{65526,16},{65527,16},{65528,16},{65529,16},{65530,16},{65531,16},{65532,16},{65533,16},{65534,16},{0,0},{0,0},{0,0},{0,0},{0,0} + }; + static const int YQT[] = { 16,11,10,16,24,40,51,61,12,12,14,19,26,58,60,55,14,13,16,24,40,57,69,56,14,17,22,29,51,87,80,62,18,22, + 37,56,68,109,103,77,24,35,55,64,81,104,113,92,49,64,78,87,103,121,120,101,72,92,95,98,112,100,103,99 }; + static const int UVQT[] = { 17,18,24,47,99,99,99,99,18,21,26,66,99,99,99,99,24,26,56,99,99,99,99,99,47,66,99,99,99,99,99,99, + 99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99 }; + static const float aasf[] = { 1.0f * 2.828427125f, 1.387039845f * 2.828427125f, 1.306562965f * 2.828427125f, 1.175875602f * 2.828427125f, + 1.0f * 2.828427125f, 0.785694958f * 2.828427125f, 0.541196100f * 2.828427125f, 0.275899379f * 2.828427125f }; + + int row, col, i, k, subsample; + float fdtbl_Y[64], fdtbl_UV[64]; + unsigned char YTable[64], UVTable[64]; + + if (!data || !width || !height || comp > 4 || comp < 1) { + return 0; + } + + quality = quality ? quality : 90; + subsample = quality <= 90 ? 1 : 0; + quality = quality < 1 ? 1 : quality > 100 ? 100 : quality; + quality = quality < 50 ? 5000 / quality : 200 - quality * 2; + + for (i = 0; i < 64; ++i) { + int uvti, yti = (YQT[i] * quality + 50) / 100; + YTable[stbiw__jpg_ZigZag[i]] = (unsigned char)(yti < 1 ? 1 : yti > 255 ? 255 : yti); + uvti = (UVQT[i] * quality + 50) / 100; + UVTable[stbiw__jpg_ZigZag[i]] = (unsigned char)(uvti < 1 ? 1 : uvti > 255 ? 255 : uvti); + } + + for (row = 0, k = 0; row < 8; ++row) { + for (col = 0; col < 8; ++col, ++k) { + fdtbl_Y[k] = 1 / (YTable[stbiw__jpg_ZigZag[k]] * aasf[row] * aasf[col]); + fdtbl_UV[k] = 1 / (UVTable[stbiw__jpg_ZigZag[k]] * aasf[row] * aasf[col]); + } + } + + // Write Headers + { + static const unsigned char head0[] = { 0xFF,0xD8,0xFF,0xE0,0,0x10,'J','F','I','F',0,1,1,0,0,1,0,1,0,0,0xFF,0xDB,0,0x84,0 }; + static const unsigned char head2[] = { 0xFF,0xDA,0,0xC,3,1,0,2,0x11,3,0x11,0,0x3F,0 }; + const unsigned char head1[] = { 0xFF,0xC0,0,0x11,8,(unsigned char)(height >> 8),STBIW_UCHAR(height),(unsigned char)(width >> 8),STBIW_UCHAR(width), + 3,1,(unsigned char)(subsample ? 0x22 : 0x11),0,2,0x11,1,3,0x11,1,0xFF,0xC4,0x01,0xA2,0 }; + s->func(s->context, (void*)head0, sizeof(head0)); + s->func(s->context, (void*)YTable, sizeof(YTable)); + stbiw__putc(s, 1); + s->func(s->context, UVTable, sizeof(UVTable)); + s->func(s->context, (void*)head1, sizeof(head1)); + s->func(s->context, (void*)(std_dc_luminance_nrcodes + 1), sizeof(std_dc_luminance_nrcodes) - 1); + s->func(s->context, (void*)std_dc_luminance_values, sizeof(std_dc_luminance_values)); + stbiw__putc(s, 0x10); // HTYACinfo + s->func(s->context, (void*)(std_ac_luminance_nrcodes + 1), sizeof(std_ac_luminance_nrcodes) - 1); + s->func(s->context, (void*)std_ac_luminance_values, sizeof(std_ac_luminance_values)); + stbiw__putc(s, 1); // HTUDCinfo + s->func(s->context, (void*)(std_dc_chrominance_nrcodes + 1), sizeof(std_dc_chrominance_nrcodes) - 1); + s->func(s->context, (void*)std_dc_chrominance_values, sizeof(std_dc_chrominance_values)); + stbiw__putc(s, 0x11); // HTUACinfo + s->func(s->context, (void*)(std_ac_chrominance_nrcodes + 1), sizeof(std_ac_chrominance_nrcodes) - 1); + s->func(s->context, (void*)std_ac_chrominance_values, sizeof(std_ac_chrominance_values)); + s->func(s->context, (void*)head2, sizeof(head2)); + } + + // Encode 8x8 macroblocks + { + static const unsigned short fillBits[] = { 0x7F, 7 }; + int DCY = 0, DCU = 0, DCV = 0; + int bitBuf = 0, bitCnt = 0; + // comp == 2 is grey+alpha (alpha is ignored) + int ofsG = comp > 2 ? 1 : 0, ofsB = comp > 2 ? 2 : 0; + const unsigned char* dataR = (const unsigned char*)data; + const unsigned char* dataG = dataR + ofsG; + const unsigned char* dataB = dataR + ofsB; + int x, y, pos; + if (subsample) { + for (y = 0; y < height; y += 16) { + for (x = 0; x < width; x += 16) { + float Y[256], U[256], V[256]; + for (row = y, pos = 0; row < y + 16; ++row) { + // row >= height => use last input row + int clamped_row = (row < height) ? row : height - 1; + int base_p = (stbi__flip_vertically_on_write ? (height - 1 - clamped_row) : clamped_row) * width * comp; + for (col = x; col < x + 16; ++col, ++pos) { + // if col >= width => use pixel from last input column + int p = base_p + ((col < width) ? col : (width - 1)) * comp; + float r = dataR[p], g = dataG[p], b = dataB[p]; + Y[pos] = +0.29900f * r + 0.58700f * g + 0.11400f * b - 128; + U[pos] = -0.16874f * r - 0.33126f * g + 0.50000f * b; + V[pos] = +0.50000f * r - 0.41869f * g - 0.08131f * b; + } + } + DCY = stbiw__jpg_processDU(s, &bitBuf, &bitCnt, Y + 0, 16, fdtbl_Y, DCY, YDC_HT, YAC_HT); + DCY = stbiw__jpg_processDU(s, &bitBuf, &bitCnt, Y + 8, 16, fdtbl_Y, DCY, YDC_HT, YAC_HT); + DCY = stbiw__jpg_processDU(s, &bitBuf, &bitCnt, Y + 128, 16, fdtbl_Y, DCY, YDC_HT, YAC_HT); + DCY = stbiw__jpg_processDU(s, &bitBuf, &bitCnt, Y + 136, 16, fdtbl_Y, DCY, YDC_HT, YAC_HT); + + // subsample U,V + { + float subU[64], subV[64]; + int yy, xx; + for (yy = 0, pos = 0; yy < 8; ++yy) { + for (xx = 0; xx < 8; ++xx, ++pos) { + int j = yy * 32 + xx * 2; + subU[pos] = (U[j + 0] + U[j + 1] + U[j + 16] + U[j + 17]) * 0.25f; + subV[pos] = (V[j + 0] + V[j + 1] + V[j + 16] + V[j + 17]) * 0.25f; + } + } + DCU = stbiw__jpg_processDU(s, &bitBuf, &bitCnt, subU, 8, fdtbl_UV, DCU, UVDC_HT, UVAC_HT); + DCV = stbiw__jpg_processDU(s, &bitBuf, &bitCnt, subV, 8, fdtbl_UV, DCV, UVDC_HT, UVAC_HT); + } + } + } + } + else { + for (y = 0; y < height; y += 8) { + for (x = 0; x < width; x += 8) { + float Y[64], U[64], V[64]; + for (row = y, pos = 0; row < y + 8; ++row) { + // row >= height => use last input row + int clamped_row = (row < height) ? row : height - 1; + int base_p = (stbi__flip_vertically_on_write ? (height - 1 - clamped_row) : clamped_row) * width * comp; + for (col = x; col < x + 8; ++col, ++pos) { + // if col >= width => use pixel from last input column + int p = base_p + ((col < width) ? col : (width - 1)) * comp; + float r = dataR[p], g = dataG[p], b = dataB[p]; + Y[pos] = +0.29900f * r + 0.58700f * g + 0.11400f * b - 128; + U[pos] = -0.16874f * r - 0.33126f * g + 0.50000f * b; + V[pos] = +0.50000f * r - 0.41869f * g - 0.08131f * b; + } + } + + DCY = stbiw__jpg_processDU(s, &bitBuf, &bitCnt, Y, 8, fdtbl_Y, DCY, YDC_HT, YAC_HT); + DCU = stbiw__jpg_processDU(s, &bitBuf, &bitCnt, U, 8, fdtbl_UV, DCU, UVDC_HT, UVAC_HT); + DCV = stbiw__jpg_processDU(s, &bitBuf, &bitCnt, V, 8, fdtbl_UV, DCV, UVDC_HT, UVAC_HT); + } + } + } + + // Do the bit alignment of the EOI marker + stbiw__jpg_writeBits(s, &bitBuf, &bitCnt, fillBits); + } + + // EOI + stbiw__putc(s, 0xFF); + stbiw__putc(s, 0xD9); + + return 1; +} + +STBIWDEF int stbi_write_jpg_to_func(stbi_write_func* func, void* context, int x, int y, int comp, const void* data, int quality) +{ + stbi__write_context s = { 0 }; + stbi__start_write_callbacks(&s, func, context); + return stbi_write_jpg_core(&s, x, y, comp, (void*)data, quality); +} + + +#ifndef STBI_WRITE_NO_STDIO +STBIWDEF int stbi_write_jpg(char const* filename, int x, int y, int comp, const void* data, int quality) +{ + stbi__write_context s = { 0 }; + if (stbi__start_write_file(&s, filename)) { + int r = stbi_write_jpg_core(&s, x, y, comp, data, quality); + stbi__end_write_file(&s); + return r; + } + else + return 0; +} +#endif + +#endif // STB_IMAGE_WRITE_IMPLEMENTATION + +/* Revision history + 1.14 (2020-02-02) updated JPEG writer to downsample chroma channels + 1.13 + 1.12 + 1.11 (2019-08-11) + + 1.10 (2019-02-07) + support utf8 filenames in Windows; fix warnings and platform ifdefs + 1.09 (2018-02-11) + fix typo in zlib quality API, improve STB_I_W_STATIC in C++ + 1.08 (2018-01-29) + add stbi__flip_vertically_on_write, external zlib, zlib quality, choose PNG filter + 1.07 (2017-07-24) + doc fix + 1.06 (2017-07-23) + writing JPEG (using Jon Olick's code) + 1.05 ??? + 1.04 (2017-03-03) + monochrome BMP expansion + 1.03 ??? + 1.02 (2016-04-02) + avoid allocating large structures on the stack + 1.01 (2016-01-16) + STBIW_REALLOC_SIZED: support allocators with no realloc support + avoid race-condition in crc initialization + minor compile issues + 1.00 (2015-09-14) + installable file IO function + 0.99 (2015-09-13) + warning fixes; TGA rle support + 0.98 (2015-04-08) + added STBIW_MALLOC, STBIW_ASSERT etc + 0.97 (2015-01-18) + fixed HDR asserts, rewrote HDR rle logic + 0.96 (2015-01-17) + add HDR output + fix monochrome BMP + 0.95 (2014-08-17) + add monochrome TGA output + 0.94 (2014-05-31) + rename private functions to avoid conflicts with stb_image.h + 0.93 (2014-05-27) + warning fixes + 0.92 (2010-08-01) + casts to unsigned char to fix warnings + 0.91 (2010-07-17) + first public release + 0.90 first internal release +*/ + +/* +------------------------------------------------------------------------------ +This software is available under 2 licenses -- choose whichever you prefer. +------------------------------------------------------------------------------ +ALTERNATIVE A - MIT License +Copyright (c) 2017 Sean Barrett +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +------------------------------------------------------------------------------ +ALTERNATIVE B - Public Domain (www.unlicense.org) +This is free and unencumbered software released into the public domain. +Anyone is free to copy, modify, publish, use, compile, sell, or distribute this +software, either in source code form or as a compiled binary, for any purpose, +commercial or non-commercial, and by any means. +In jurisdictions that recognize copyright laws, the author or authors of this +software dedicate any and all copyright interest in the software to the public +domain. We make this dedication for the benefit of the public at large and to +the detriment of our heirs and successors. We intend this dedication to be an +overt act of relinquishment in perpetuity of all present and future rights to +this software under copyright law. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +------------------------------------------------------------------------------ +*/ \ No newline at end of file diff --git a/src/stb_rect_pack.h b/src/stb_rect_pack.h new file mode 100644 index 0000000..2d78e9f --- /dev/null +++ b/src/stb_rect_pack.h @@ -0,0 +1,633 @@ +// stb_rect_pack.h - v1.00 - public domain - rectangle packing +// Sean Barrett 2014 +// +// Useful for e.g. packing rectangular textures into an atlas. +// Does not do rotation. +// +// Not necessarily the awesomest packing method, but better than +// the totally naive one in stb_truetype (which is primarily what +// this is meant to replace). +// +// Has only had a few tests run, may have issues. +// +// More docs to come. +// +// No memory allocations; uses qsort() and assert() from stdlib. +// Can override those by defining STBRP_SORT and STBRP_ASSERT. +// +// This library currently uses the Skyline Bottom-Left algorithm. +// +// Please note: better rectangle packers are welcome! Please +// implement them to the same API, but with a different init +// function. +// +// Credits +// +// Library +// Sean Barrett +// Minor features +// Martins Mozeiko +// github:IntellectualKitty +// +// Bugfixes / warning fixes +// Jeremy Jaussaud +// Fabian Giesen +// +// Version history: +// +// 1.00 (2019-02-25) avoid small space waste; gracefully fail too-wide rectangles +// 0.99 (2019-02-07) warning fixes +// 0.11 (2017-03-03) return packing success/fail result +// 0.10 (2016-10-25) remove cast-away-const to avoid warnings +// 0.09 (2016-08-27) fix compiler warnings +// 0.08 (2015-09-13) really fix bug with empty rects (w=0 or h=0) +// 0.07 (2015-09-13) fix bug with empty rects (w=0 or h=0) +// 0.06 (2015-04-15) added STBRP_SORT to allow replacing qsort +// 0.05: added STBRP_ASSERT to allow replacing assert +// 0.04: fixed minor bug in STBRP_LARGE_RECTS support +// 0.01: initial release +// +// LICENSE +// +// See end of file for license information. + +////////////////////////////////////////////////////////////////////////////// +// +// INCLUDE SECTION +// + +#ifndef STB_INCLUDE_STB_RECT_PACK_H +#define STB_INCLUDE_STB_RECT_PACK_H + +#define STB_RECT_PACK_VERSION 1 + +#ifdef STBRP_STATIC +#define STBRP_DEF static +#else +#define STBRP_DEF extern +#endif + +#ifdef __cplusplus +extern "C" { +#endif + + typedef struct stbrp_context stbrp_context; + typedef struct stbrp_node stbrp_node; + typedef struct stbrp_rect stbrp_rect; + +#ifdef STBRP_LARGE_RECTS + typedef int stbrp_coord; +#else + typedef unsigned short stbrp_coord; +#endif + + STBRP_DEF int stbrp_pack_rects(stbrp_context* context, stbrp_rect* rects, int num_rects); + // Assign packed locations to rectangles. The rectangles are of type + // 'stbrp_rect' defined below, stored in the array 'rects', and there + // are 'num_rects' many of them. + // + // Rectangles which are successfully packed have the 'was_packed' flag + // set to a non-zero value and 'x' and 'y' store the minimum location + // on each axis (i.e. bottom-left in cartesian coordinates, top-left + // if you imagine y increasing downwards). Rectangles which do not fit + // have the 'was_packed' flag set to 0. + // + // You should not try to access the 'rects' array from another thread + // while this function is running, as the function temporarily reorders + // the array while it executes. + // + // To pack into another rectangle, you need to call stbrp_init_target + // again. To continue packing into the same rectangle, you can call + // this function again. Calling this multiple times with multiple rect + // arrays will probably produce worse packing results than calling it + // a single time with the full rectangle array, but the option is + // available. + // + // The function returns 1 if all of the rectangles were successfully + // packed and 0 otherwise. + + struct stbrp_rect + { + // reserved for your use: + int id; + + // input: + stbrp_coord w, h; + + // output: + stbrp_coord x, y; + int was_packed; // non-zero if valid packing + + }; // 16 bytes, nominally + + + STBRP_DEF void stbrp_init_target(stbrp_context* context, int width, int height, stbrp_node* nodes, int num_nodes); + // Initialize a rectangle packer to: + // pack a rectangle that is 'width' by 'height' in dimensions + // using temporary storage provided by the array 'nodes', which is 'num_nodes' long + // + // You must call this function every time you start packing into a new target. + // + // There is no "shutdown" function. The 'nodes' memory must stay valid for + // the following stbrp_pack_rects() call (or calls), but can be freed after + // the call (or calls) finish. + // + // Note: to guarantee best results, either: + // 1. make sure 'num_nodes' >= 'width' + // or 2. call stbrp_allow_out_of_mem() defined below with 'allow_out_of_mem = 1' + // + // If you don't do either of the above things, widths will be quantized to multiples + // of small integers to guarantee the algorithm doesn't run out of temporary storage. + // + // If you do #2, then the non-quantized algorithm will be used, but the algorithm + // may run out of temporary storage and be unable to pack some rectangles. + + STBRP_DEF void stbrp_setup_allow_out_of_mem(stbrp_context* context, int allow_out_of_mem); + // Optionally call this function after init but before doing any packing to + // change the handling of the out-of-temp-memory scenario, described above. + // If you call init again, this will be reset to the default (false). + + + STBRP_DEF void stbrp_setup_heuristic(stbrp_context* context, int heuristic); + // Optionally select which packing heuristic the library should use. Different + // heuristics will produce better/worse results for different data sets. + // If you call init again, this will be reset to the default. + + enum + { + STBRP_HEURISTIC_Skyline_default = 0, + STBRP_HEURISTIC_Skyline_BL_sortHeight = STBRP_HEURISTIC_Skyline_default, + STBRP_HEURISTIC_Skyline_BF_sortHeight + }; + + + ////////////////////////////////////////////////////////////////////////////// + // + // the details of the following structures don't matter to you, but they must + // be visible so you can handle the memory allocations for them + + struct stbrp_node + { + stbrp_coord x, y; + stbrp_node* next; + }; + + struct stbrp_context + { + int width; + int height; + int align; + int init_mode; + int heuristic; + int num_nodes; + stbrp_node* active_head; + stbrp_node* free_head; + stbrp_node extra[2]; // we allocate two extra nodes so optimal user-node-count is 'width' not 'width+2' + }; + +#ifdef __cplusplus +} +#endif + +#endif + +////////////////////////////////////////////////////////////////////////////// +// +// IMPLEMENTATION SECTION +// + +#ifdef STB_RECT_PACK_IMPLEMENTATION +#ifndef STBRP_SORT +#include +#define STBRP_SORT qsort +#endif + +#ifndef STBRP_ASSERT +#include +#define STBRP_ASSERT assert +#endif + +#ifdef _MSC_VER +#define STBRP__NOTUSED(v) (void)(v) +#else +#define STBRP__NOTUSED(v) (void)sizeof(v) +#endif + +enum +{ + STBRP__INIT_skyline = 1 +}; + +STBRP_DEF void stbrp_setup_heuristic(stbrp_context* context, int heuristic) +{ + switch (context->init_mode) { + case STBRP__INIT_skyline: + STBRP_ASSERT(heuristic == STBRP_HEURISTIC_Skyline_BL_sortHeight || heuristic == STBRP_HEURISTIC_Skyline_BF_sortHeight); + context->heuristic = heuristic; + break; + default: + STBRP_ASSERT(0); + } +} + +STBRP_DEF void stbrp_setup_allow_out_of_mem(stbrp_context* context, int allow_out_of_mem) +{ + if (allow_out_of_mem) + // if it's ok to run out of memory, then don't bother aligning them; + // this gives better packing, but may fail due to OOM (even though + // the rectangles easily fit). @TODO a smarter approach would be to only + // quantize once we've hit OOM, then we could get rid of this parameter. + context->align = 1; + else { + // if it's not ok to run out of memory, then quantize the widths + // so that num_nodes is always enough nodes. + // + // I.e. num_nodes * align >= width + // align >= width / num_nodes + // align = ceil(width/num_nodes) + + context->align = (context->width + context->num_nodes - 1) / context->num_nodes; + } +} + +STBRP_DEF void stbrp_init_target(stbrp_context* context, int width, int height, stbrp_node* nodes, int num_nodes) +{ + int i; +#ifndef STBRP_LARGE_RECTS + STBRP_ASSERT(width <= 0xffff && height <= 0xffff); +#endif + + for (i = 0; i < num_nodes - 1; ++i) + nodes[i].next = &nodes[i + 1]; + nodes[i].next = NULL; + context->init_mode = STBRP__INIT_skyline; + context->heuristic = STBRP_HEURISTIC_Skyline_default; + context->free_head = &nodes[0]; + context->active_head = &context->extra[0]; + context->width = width; + context->height = height; + context->num_nodes = num_nodes; + stbrp_setup_allow_out_of_mem(context, 0); + + // node 0 is the full width, node 1 is the sentinel (lets us not store width explicitly) + context->extra[0].x = 0; + context->extra[0].y = 0; + context->extra[0].next = &context->extra[1]; + context->extra[1].x = (stbrp_coord)width; +#ifdef STBRP_LARGE_RECTS + context->extra[1].y = (1 << 30); +#else + context->extra[1].y = 65535; +#endif + context->extra[1].next = NULL; +} + +// find minimum y position if it starts at x1 +static int stbrp__skyline_find_min_y(stbrp_context* c, stbrp_node* first, int x0, int width, int* pwaste) +{ + stbrp_node* node = first; + int x1 = x0 + width; + int min_y, visited_width, waste_area; + + STBRP__NOTUSED(c); + + STBRP_ASSERT(first->x <= x0); + +#if 0 + // skip in case we're past the node + while (node->next->x <= x0) + ++node; +#else + STBRP_ASSERT(node->next->x > x0); // we ended up handling this in the caller for efficiency +#endif + + STBRP_ASSERT(node->x <= x0); + + min_y = 0; + waste_area = 0; + visited_width = 0; + while (node->x < x1) { + if (node->y > min_y) { + // raise min_y higher. + // we've accounted for all waste up to min_y, + // but we'll now add more waste for everything we've visted + waste_area += visited_width * (node->y - min_y); + min_y = node->y; + // the first time through, visited_width might be reduced + if (node->x < x0) + visited_width += node->next->x - x0; + else + visited_width += node->next->x - node->x; + } + else { + // add waste area + int under_width = node->next->x - node->x; + if (under_width + visited_width > width) + under_width = width - visited_width; + waste_area += under_width * (min_y - node->y); + visited_width += under_width; + } + node = node->next; + } + + *pwaste = waste_area; + return min_y; +} + +typedef struct +{ + int x, y; + stbrp_node** prev_link; +} stbrp__findresult; + +static stbrp__findresult stbrp__skyline_find_best_pos(stbrp_context* c, int width, int height) +{ + int best_waste = (1 << 30), best_x, best_y = (1 << 30); + stbrp__findresult fr; + stbrp_node** prev, * node, * tail, ** best = NULL; + + // align to multiple of c->align + width = (width + c->align - 1); + width -= width % c->align; + STBRP_ASSERT(width % c->align == 0); + + // if it can't possibly fit, bail immediately + if (width > c->width || height > c->height) { + fr.prev_link = NULL; + fr.x = fr.y = 0; + return fr; + } + + node = c->active_head; + prev = &c->active_head; + while (node->x + width <= c->width) { + int y, waste; + y = stbrp__skyline_find_min_y(c, node, node->x, width, &waste); + if (c->heuristic == STBRP_HEURISTIC_Skyline_BL_sortHeight) { // actually just want to test BL + // bottom left + if (y < best_y) { + best_y = y; + best = prev; + } + } + else { + // best-fit + if (y + height <= c->height) { + // can only use it if it first vertically + if (y < best_y || (y == best_y && waste < best_waste)) { + best_y = y; + best_waste = waste; + best = prev; + } + } + } + prev = &node->next; + node = node->next; + } + + best_x = (best == NULL) ? 0 : (*best)->x; + + // if doing best-fit (BF), we also have to try aligning right edge to each node position + // + // e.g, if fitting + // + // ____________________ + // |____________________| + // + // into + // + // | | + // | ____________| + // |____________| + // + // then right-aligned reduces waste, but bottom-left BL is always chooses left-aligned + // + // This makes BF take about 2x the time + + if (c->heuristic == STBRP_HEURISTIC_Skyline_BF_sortHeight) { + tail = c->active_head; + node = c->active_head; + prev = &c->active_head; + // find first node that's admissible + while (tail->x < width) + tail = tail->next; + while (tail) { + int xpos = tail->x - width; + int y, waste; + STBRP_ASSERT(xpos >= 0); + // find the left position that matches this + while (node->next->x <= xpos) { + prev = &node->next; + node = node->next; + } + STBRP_ASSERT(node->next->x > xpos && node->x <= xpos); + y = stbrp__skyline_find_min_y(c, node, xpos, width, &waste); + if (y + height <= c->height) { + if (y <= best_y) { + if (y < best_y || waste < best_waste || (waste == best_waste && xpos < best_x)) { + best_x = xpos; + STBRP_ASSERT(y <= best_y); + best_y = y; + best_waste = waste; + best = prev; + } + } + } + tail = tail->next; + } + } + + fr.prev_link = best; + fr.x = best_x; + fr.y = best_y; + return fr; +} + +static stbrp__findresult stbrp__skyline_pack_rectangle(stbrp_context* context, int width, int height) +{ + // find best position according to heuristic + stbrp__findresult res = stbrp__skyline_find_best_pos(context, width, height); + stbrp_node* node, * cur; + + // bail if: + // 1. it failed + // 2. the best node doesn't fit (we don't always check this) + // 3. we're out of memory + if (res.prev_link == NULL || res.y + height > context->height || context->free_head == NULL) { + res.prev_link = NULL; + return res; + } + + // on success, create new node + node = context->free_head; + node->x = (stbrp_coord)res.x; + node->y = (stbrp_coord)(res.y + height); + + context->free_head = node->next; + + // insert the new node into the right starting point, and + // let 'cur' point to the remaining nodes needing to be + // stiched back in + + cur = *res.prev_link; + if (cur->x < res.x) { + // preserve the existing one, so start testing with the next one + stbrp_node* next = cur->next; + cur->next = node; + cur = next; + } + else { + *res.prev_link = node; + } + + // from here, traverse cur and free the nodes, until we get to one + // that shouldn't be freed + while (cur->next && cur->next->x <= res.x + width) { + stbrp_node* next = cur->next; + // move the current node to the free list + cur->next = context->free_head; + context->free_head = cur; + cur = next; + } + + // stitch the list back in + node->next = cur; + + if (cur->x < res.x + width) + cur->x = (stbrp_coord)(res.x + width); + +#ifdef _DEBUG + cur = context->active_head; + while (cur->x < context->width) { + STBRP_ASSERT(cur->x < cur->next->x); + cur = cur->next; + } + STBRP_ASSERT(cur->next == NULL); + + { + int count = 0; + cur = context->active_head; + while (cur) { + cur = cur->next; + ++count; + } + cur = context->free_head; + while (cur) { + cur = cur->next; + ++count; + } + STBRP_ASSERT(count == context->num_nodes + 2); + } +#endif + + return res; +} + +static int rect_height_compare(const void* a, const void* b) +{ + const stbrp_rect* p = (const stbrp_rect*)a; + const stbrp_rect* q = (const stbrp_rect*)b; + if (p->h > q->h) + return -1; + if (p->h < q->h) + return 1; + return (p->w > q->w) ? -1 : (p->w < q->w); +} + +static int rect_original_order(const void* a, const void* b) +{ + const stbrp_rect* p = (const stbrp_rect*)a; + const stbrp_rect* q = (const stbrp_rect*)b; + return (p->was_packed < q->was_packed) ? -1 : (p->was_packed > q->was_packed); +} + +#ifdef STBRP_LARGE_RECTS +#define STBRP__MAXVAL 0xffffffff +#else +#define STBRP__MAXVAL 0xffff +#endif + +STBRP_DEF int stbrp_pack_rects(stbrp_context* context, stbrp_rect* rects, int num_rects) +{ + int i, all_rects_packed = 1; + + // we use the 'was_packed' field internally to allow sorting/unsorting + for (i = 0; i < num_rects; ++i) { + rects[i].was_packed = i; + } + + // sort according to heuristic + STBRP_SORT(rects, num_rects, sizeof(rects[0]), rect_height_compare); + + for (i = 0; i < num_rects; ++i) { + if (rects[i].w == 0 || rects[i].h == 0) { + rects[i].x = rects[i].y = 0; // empty rect needs no space + } + else { + stbrp__findresult fr = stbrp__skyline_pack_rectangle(context, rects[i].w, rects[i].h); + if (fr.prev_link) { + rects[i].x = (stbrp_coord)fr.x; + rects[i].y = (stbrp_coord)fr.y; + } + else { + rects[i].x = rects[i].y = STBRP__MAXVAL; + } + } + } + + // unsort + STBRP_SORT(rects, num_rects, sizeof(rects[0]), rect_original_order); + + // set was_packed flags and all_rects_packed status + for (i = 0; i < num_rects; ++i) { + rects[i].was_packed = !(rects[i].x == STBRP__MAXVAL && rects[i].y == STBRP__MAXVAL); + if (!rects[i].was_packed) + all_rects_packed = 0; + } + + // return the all_rects_packed status + return all_rects_packed; +} +#endif + +/* +------------------------------------------------------------------------------ +This software is available under 2 licenses -- choose whichever you prefer. +------------------------------------------------------------------------------ +ALTERNATIVE A - MIT License +Copyright (c) 2017 Sean Barrett +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +------------------------------------------------------------------------------ +ALTERNATIVE B - Public Domain (www.unlicense.org) +This is free and unencumbered software released into the public domain. +Anyone is free to copy, modify, publish, use, compile, sell, or distribute this +software, either in source code form or as a compiled binary, for any purpose, +commercial or non-commercial, and by any means. +In jurisdictions that recognize copyright laws, the author or authors of this +software dedicate any and all copyright interest in the software to the public +domain. We make this dedication for the benefit of the public at large and to +the detriment of our heirs and successors. We intend this dedication to be an +overt act of relinquishment in perpetuity of all present and future rights to +this software under copyright law. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +------------------------------------------------------------------------------ +*/ \ No newline at end of file diff --git a/test_bild_text.bmp b/test_bild_text.bmp new file mode 100644 index 0000000000000000000000000000000000000000..201448dd5895f3b7aa1225a8841858621152b125 GIT binary patch literal 786486 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

Z3qv4_`{LOUP0zM>qiIy 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 II;_C|2UU3CAOHXW literal 0 HcmV?d00001