Commit Graph

215 Commits (0befbc3d78516029b22a8a8d7d340593a475a1fe)

Author SHA1 Message Date
Sean Barrett 0befbc3d78 Merge branch 'dequant-16-bits' of https://github.com/jeremysawicki/stb into working 2017-03-03 08:31:57 -08:00
Sean Barrett 014af7b78a Merge branch 'component-ids' of https://github.com/jeremysawicki/stb into working 2017-03-03 08:30:57 -08:00
Sean Barrett 786ac92daa tweak RGB-to-Y conversion 2017-03-03 08:30:49 -08:00
Sean Barrett 64e1799f24 Merge branch 'rgb-grayscale' of https://github.com/jeremysawicki/stb into working 2017-03-03 08:25:29 -08:00
Sean Barrett 8905cb9a8e Merge branch 'patch-1' of https://github.com/RufUsul/stb into working 2017-03-03 08:21:46 -08:00
Sean Barrett 47685c5f84 remove deprecated old-precision jpg path from stb_image.h
tweak license reference wording
2017-03-03 08:19:09 -08:00
Sean Barrett e248e30954 change license to public-domain AND mit (based on twitter vote) 2017-03-03 07:53:07 -08:00
Jeremy Sawicki e08d398671 stb_image: JPEG: Accept 16-bit quantization tables 2017-03-02 22:32:30 -08:00
Jeremy Sawicki 34fa37bbb4 stb_image: JPEG: Accept any component IDs 2017-03-02 21:40:40 -08:00
Jeremy Sawicki cb7ffb2408 stb_image: Update contributors 2017-03-02 18:19:21 -08:00
Jeremy Sawicki 552c548a0e stb_image: JPEG: Convert RGB to grayscale properly 2017-03-02 18:06:10 -08:00
themanagainstthetank 7e989db555 update stb_image.h
int raw_data[4] to 0, or the compiler bugs
2017-01-16 18:12:31 +08:00
Sean Barrett 96620a3a54 update version numbers 2017-01-16 00:51:24 -08:00
Sean Barrett dead3815e2 credits 2017-01-16 00:05:58 -08:00
Sean Barrett 28c24f7b83 Merge branch 'fix-truncation' of https://github.com/sammyhw/stb into working 2017-01-15 23:58:26 -08:00
Sean Barrett 48710234f2 credits; 1/2/4-bit png fix; easy font spacing; NO_STDIO in image_write 2017-01-15 23:57:53 -08:00
Thomas Ruf f07727a28a stb_image.h: large structures on the stack
more of "allocate large structures on the stack", this time in the forgotten stbi__jpeg_test
-> avoids the infamous _chkstk() when working with CRT
2016-12-28 14:16:45 +01:00
sammyhw ec9db6f84b allow for all 16 bits 2016-12-15 23:49:19 -05:00
Sean Barrett b61b7a74fa update version info 2016-12-04 05:40:21 -08:00
Sean Barrett 7bcaa93a76 Merge branch 'master' of https://github.com/Zelex/stb into merging
Also add more credits
Also fix linking multiple copies with STB_IMAGE_STATIC

Conflicts:
	stb_image.h
2016-12-04 05:38:47 -08:00
Sean Barrett 7759a2a93d fix "misleading indentation" gcc warning 2016-12-04 05:25:24 -08:00
Sean Barrett ae241feec4 Merge branch 'stb_img_overflows' of https://github.com/rygorous/stb into working
Conflicts:
	stb_image.h
2016-12-04 05:20:57 -08:00
Sean Barrett 7736399517 return 16-bit PSDs through 16-bit API (untested) 2016-12-04 05:13:58 -08:00
Sean Barrett e0700d8e2c 16-bit png changes 2016-11-29 04:13:17 -08:00
Sean Barrett 239a6718e1 rename stbi_load parameters to reduce confusion 2016-11-29 03:03:07 -08:00
jon 2a170daee5 warning fixes, more RGBE fix 2016-11-28 16:24:11 -06:00
jon a2defc3d7a added support for RGBE header HDR files 2016-11-28 16:05:39 -06:00
Fabian Giesen 6b66033e18 stb_image: Fix memory leak and missing out-of-mem check.
stbi__process_frame_header had two bugs when dealing with progressive
JPEGs:
1. when malloc failed allocating raw_data, previous components'
   raw_coeff didn't get freed
2. no out-of-memory check in raw_coeff allocation

Fix both and share a bit more cleanup code in general.
2016-10-22 00:29:37 -07:00
Fabian Giesen 62f372754f stb_image: Fix HDR/PSD RLE decoders.
Runs need to be bounds checked.

Fixes issues #315, #317.
2016-10-22 00:29:37 -07:00
Fabian Giesen 02190634c2 stb_image: Overflow checking for image allocs.
Adds some helpers that check whether a product of multiple
factors (that need to be non-negative: this is enforced)
summed with another non-negative value overflows when
performed as int. Since stb_image mostly works in ints,
this seems like the safest route. Limits size of images
to 2GB but several of the decoders already enforce this
limit (or even lower ones).

Also adds wrappers for malloc that combine a mul-add-with-
overflow-check with the actual malloc, and return NULL
on failure. Then use them when allocating something that
is the product of multiple factors.

For image formats, also add a top-level "is this too big?"
check that gives a more useful error message; otherwise,
the failed mallocs result in an "out of memory" error.
The idea is that the top-level checks should be the primary
way to catch these bugs (and produce a useful error message).
But a misleading error message is still vastly preferable to
a buffer overflow exploit.

Fixes issues #310, #313, #314, #318. (Verified with the
provided test images)

Along the way, this fixes a previously unnoticed bug in
ldr_to_hdr / hdr_to_ldr (missing NULL check); these functions
are called with the result of an image decoder, so NULLs can
definitely happen.

Another bug noticed along the way is that handling of
interlaced 16-bit PNGs was incorrect. Fixing this (along
with the previous modifications) fixes issue #311.

Yet another bug noticed during this change is that reduce_png
did not check the right pointer during its out of memory
check. Fix that too.
2016-10-22 00:29:37 -07:00
Fabian Giesen 8c8d735eb7 stb_image: More input validation in deflate decoder
Fixes issue #312.
2016-10-22 00:29:37 -07:00
Sean Barrett fdca443892 fix crash in 2.11 2016-04-02 07:29:34 -07:00
Sean Barrett 6e4154737c update version numbers, documentation, and contributors 2016-04-02 04:51:26 -07:00
Sean Barrett 7a694bdcca re-enable SSE2 code on x64 except with gcc 2016-04-02 04:01:59 -07:00
Sean Barrett 201af99d9f return correct # of channels for PNG 2016-04-02 03:49:46 -07:00
Sean Barrett 591c7f8cb3 remove white matting when loading transparent PSD 2016-04-02 03:44:50 -07:00
Sean Barrett c03f4b3c2f Merge branch 'patch-1' of https://github.com/kinetiknz/stb 2016-04-02 02:57:34 -07:00
Sean Barrett 097a70ae38 Merge branch 'master' of https://github.com/tulrich/stb 2016-04-02 02:56:39 -07:00
Sean Barrett a013c036f3 initialize bmp mr/mg/mb/ma properly 2016-04-02 02:54:25 -07:00
Sean Barrett 406d537b41 Merge branch 'initial_png_16bpc' of https://github.com/socks-the-fox/stb into working 2016-04-02 02:41:16 -07:00
Sean Barrett efdfbb3c7c Merge branch 'master' into working 2016-04-01 21:43:22 -07:00
Sean Barrett 50479cb07c stb_image: allow jpegs that are rgb not YCrCb 2016-03-26 15:46:59 -07:00
Matthew Gregan 94f2ceac15 Fix typo in stbi__parse_uncompressed_block 2016-03-12 01:55:59 +13:00
Thatcher Ulrich 7e1ee2d386 Allocate large structure using malloc instead of stack. 2016-03-02 15:56:53 -05:00
Thatcher Ulrich 291ad22e84 Replace large stack allocations with dynamic allocations. 2016-03-02 15:31:07 -05:00
Craig Donner ee6978cb68 Slightly modify the public domain license to keep it in the public domain, but make it clear that even when dedications might not be recognized that the code is still usable. Given that this isn't dual-licensing under a different license, I'm hoping this will be acceptable. 2016-02-25 12:55:44 -08:00
Socks the Fox eb84b2179b Initial 16 bit per channel PNG support 2016-01-22 12:42:40 -06:00
Sean Barrett 30015ef464 attempt to fix unused var warnings in stb_image 2.09 2016-01-22 04:06:28 -08:00
Sean Barrett 472c4c82a4 update version history 2016-01-16 10:00:19 -08:00
Sean Barrett ac748cba9b update contributor list, version history, version number 2016-01-16 09:57:04 -08:00