Commit Graph

168 Commits

Author SHA1 Message Date
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
Sean Barrett 82ca643ef3 change previous explicitly-sized realloc support to be new API and unbreak old API 2016-01-16 09:47:22 -08:00
Sean Barrett 853fda6132 Merge branch 'alt_realloc' of https://github.com/romigrou/stb into working 2016-01-16 09:38:13 -08:00
Sean Barrett c8e50127c5 contributor list 2016-01-16 09:37:34 -08:00
Sean Barrett 32d5e7ca7f Merge branch '16bit-tga' of https://github.com/DanielGibson/stb into working 2016-01-16 08:15:58 -08:00
Sean Barrett 9cb29b6b39 update and reorganize contributor list 2016-01-16 08:13:55 -08:00
Sean Barrett 5746aa023a Merge branch 'stbi_hdr_info_overread' of https://github.com/baldurk/stb into working 2016-01-16 08:05:51 -08:00
Sean Barrett e30b75af8b update contributor list 2016-01-16 08:05:40 -08:00
Sean Barrett c7e24f4c4c Merge branch 'master' of https://github.com/svdijk/stb into working 2016-01-16 08:03:22 -08:00
Sean Barrett 1964d53d70 update version number and version history with everything committed to date 2016-01-16 08:01:42 -08:00
Romain Bailly 7e741ffc1e Added the old size as argument to the STBI_REALLOC() and STBIW_REALLOC() macros 2016-01-14 10:34:30 +01:00
Daniel Gibson 87a0396922 stb_image.h: 16 bit TGAs don't really have an alpha channel
I claimed that if the most significant bit of a 16bit pixel is set,
it should be opaque (as is suggested by some sources on the internet),
but implemented the opposite.
If implemented "correctly", lots of 16bit TGAs become invisible.. so I
guess 16bit TGAs aren't really supposed to have an alpha-channel, or at
least most 16bit TGAs (despite having set an "alpha-bit" in the "image
descriptor byte") in the wild don't seem to work like that.

So just assume 16bit non-greyscale TGAs are always STBI_rgb without
an alpha channel.
2015-12-06 05:47:47 +01:00
Daniel Gibson d235049322 stb_image.h: Fix TGA colormap support
* Calculate correct stb format (incl. proper 16bit support) also when
  using a colormap (palette)
* Create colormap with tga_comp, to correctly support 16bit RGB
  (instead of using tga_palette_bits/8 and just copying the data)
* For TGAs with colormap, the TGA bits per pixel field specifies the
  size of an index to the colormap - the "real" color depth
  of the image is saved in the color map specification's bits per pixel
  field. I think only 8 and 16bit indices make sense (16 should be
  supported, otherwise the colormap length could be u8 instead of u16),
  so I added support for both.
* Helper functions stbi__tga_get_comp() to calculate stb pixelformat and
  stbi__tga_read_rgb16() to read one 16bit pixel and convert it to
  24/32bit RGB(A) - for less duplicate code
2015-12-06 04:33:37 +01:00
Daniel Gibson 57409c3d15 stb_image.h: Improve stbi__tga_info() and stbi__tga_test()
* for paletted images, .._info()'s comp should be based on the palette's
  bits per pixel, not the images bits per pixel (which describes the
  size of an index into the palette and is also checked now)
* make sure the color (map) type and the image type fields of the header
  are consistent (=> if TGA color type is 1 for paletted, the TGA image
  type must be 1 or 9)
* .._test() does some more checks and uses stbi__get16le() instead of
  stbi__get16be() - TGA is little endian.
* .._test() now always rewinds (sometimes it used to do only return 0;
  without rewinding)
* remove "error check" at the beginning of stbi__tga_load(), because
  all that is already tested in stbi__tga_test()
2015-12-06 04:33:30 +01:00
Daniel Gibson 7453e1bfa4 stb_image.h: Support 15/16bit per pixel RGB(A) TGAs
stbi__tga_* assumed that 16bit TGAs were Grayscale + Alpha.
However, if the TGA imagetype is not one of the gray ones, it's 16Bit
RGB data, with 5 Bits per channel. If the TGA image descriptor field
has alpha bits (the 3 least significant ones) set, the pixel's most
significant bit is for alpha: 1 for opaque and 0 for translucent.
Furthermore people claim that TGAs can also pretend to have 15bpp,
which is the same as 16bpp but definitely without alpha.

So 15/16bpp TGAs are now decoded to STBI_rgb(_alpha).
2015-12-06 00:25:22 +01:00
baldurk 4337345c5d Prevent HDR info function from trashing stbi context by over-reading 2015-11-14 13:14:26 +01:00
Sean Barrett 297ff62859 change bmp info to use common header parser 2015-11-08 13:09:16 -08:00
Sean Barrett 876aea3dbe refactor bmp header parser for sharing with stbi_info 2015-11-08 01:22:30 -08:00
Sean Barrett 0615df6c9b allows comments in pgm/ppm headers 2015-11-08 00:45:17 -08:00
svdijk 9f1a587d22 stb_image.h: Fix/add some comments. 2015-11-05 23:34:44 +01:00
svdijk 8603c6e809 stb_image.h: Only define stbi__l2h_{gamme,scale} when needed.
This fixes a (well, actually the only) compiler warning.
2015-11-05 23:32:40 +01:00
Sean Barrett 6b8938124e Merge branch 'fix-vs2015-warnings' of https://github.com/Reedbeta/stb into working 2015-09-13 11:09:23 -07:00
Sean Barrett d5b8af12cb fix missing "defined" in #if defined(STBI_NO_foo);
fix incorrect initialization of alpha channel for RGB PSD
2015-09-13 11:08:40 -07:00
Nathan Reed 36574182c0 Fix new VS2015 warnings in stb_image 2.07
- conversion from int to stbi_uc
- unused parameter
2015-09-13 11:00:46 -07:00
Sean Barrett 90dc93a1cc fix bug where we couldn't rewind a file that reached EOF, which can happen with < 92-byte PIC,PNM,HDR,TGA 2015-09-13 05:41:21 -07:00
Sean Barrett 28a29dd0f1 credit for michaelangel007 patch 2015-09-13 05:15:09 -07:00
Sean Barrett ddd05479e9 Merge branch 'master' of https://github.com/Michaelangel007/stb into working 2015-09-13 05:13:57 -07:00
Sean Barrett 0eb5da55a7 er, fix typo in the fix-rmitton checkin 2015-09-13 05:12:53 -07:00
Sean Barrett 082289b528 Merge branch 'master' of https://github.com/rmitton/stb into working 2015-09-13 05:12:35 -07:00
Sean Barrett 5607c25cf4 tweak rmitton 16-bit psd patch;
adjust credits
2015-09-13 05:11:51 -07:00
Sean Barrett 69d6fd573c Merge branch 'psd16' of https://github.com/rmitton/stb into working 2015-09-13 04:58:48 -07:00
Sean Barrett 1ea670e0a5 Merge branch 'urraka-gif-patch' of https://github.com/urraka/stb into working 2015-09-13 04:49:04 -07:00
Sean Barrett 52d400741c detect all 0-alpha bmp and replace with all-255;
fix bug in reedbeta patch
2015-09-13 04:46:50 -07:00
Sean Barrett fee80f3d83 tweaks to patch from reedbeta 2015-09-13 04:27:24 -07:00
Nathan Reed 26c98260b6 Fix warnings about "conversion to a greater size" that appear in VS2015 in x64 with /W4.
The warning concerns the return value of stbi_err, which is an int, being converted to a pointer. In VS2015 it seems casting directly from a 32-bit int to a 64-bit pointer triggers this warning. Worked around by first converting to a 64-bit int (here size_t) and then to a pointer.
2015-09-10 01:20:35 -07:00
Nathan Reed 6d613ed8ce Fix variable-shadowing warnings that appear in VS2015 on /W4 2015-09-10 01:13:54 -07:00
Sean Barrett 7ac0f9c9b0 fix typo in accidentally-checked-in stb_image.h 2015-09-03 22:55:01 -07:00
Sean Barrett 60939ec653 fix some more signed shifts 2015-09-03 11:18:40 -07:00
urraka 23dfb8c06b GIF loading improvements.
- Fixed possible memory leak.
- Fix for transparent backgrounds.
- Adapted internal function to allow proper animation loading.
2015-08-03 22:59:16 -03:00
Sean Barrett c9859afcf9 reverse some of the public-domain-license changes that I didn't
actually want
2015-08-01 23:53:49 -07:00
Ryan Whitworth f0e456b809 Added public domain license text 2015-08-01 14:52:12 -04:00
rmitton 6645ea5915 Fixed stupid endianness bug.
Incorrect endianness hilariously doesn't manifest _if_ the original
image was upconverted from 8-bit to 16-bit.
2015-07-24 12:00:09 -07:00
rmitton 608cbec1f5 Fixed overflow for high values.
0xffff would accidentally round to 0x10000.
2015-07-07 15:47:37 -07:00
rmitton a371b204f5 Added support for 16-bit PSD loading.
This extends the current PSD loader to add support for 16-bit images, by
quantizing them down to 8-bit upon load.
2015-07-07 15:15:38 -07:00
rmitton fcfa17b847 Fixed double-free in JPEG allocation
It was incorrectly setting the wrong field to NULL, causing it to get
freed again later.
2015-07-06 13:32:40 -07:00
Michaelangel007 c11532b872 Cleanup unused functions 2015-06-30 08:54:14 -06:00
Michaelangel007 2762b410fe Fix unused vars warning in stbi_is_hdr_from_file stbi_is_hdr_from_callbacks 2015-06-30 08:02:24 -06:00
Sean Barrett aa89970d6b stb_image.h: fix *comp value when loading PSDs
stb_voxel_render.h: fix STBVOX_CONFIG_OPTIMIZED_VHEIGHT
2015-05-28 22:11:45 -07:00