Commit Graph

123 Commits (9c3e9d63ea700cec6b88df3ea32404050d0d7d4e)

Author SHA1 Message Date
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
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
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
Sean Barrett 947bdcd027 update version numbers & docs 2015-04-19 04:19:55 -07:00
Sean Barrett 8f9c8b682d Merge branch 'master' of https://github.com/nguillemot/stb 2015-04-19 04:17:21 -07:00
Sean Barrett ac5e25ae01 bump stb_image to version 2.05, tweak docs 2015-04-19 04:15:33 -07:00
Fabian Giesen f224bc2cdb stb_image: Progressive AC decoding - fix ZRL code.
The original AC decoding logic handled ZRL (runs of 16 zeros)
incorrectly.

The problem is that the original flow set r=16 and skipped the
final coeff write when s=0. This is not actually correct. The
problem is the intervening "refinement" bits.

With the original logic, even once we decrement r to 0, we keep
reading more refinement bits for subsequent coefficients until
we find the next currently-unsent AC in the current scan. That is,
it works as if it was trying to place 17 new AC values, and only
bails at the last minute from actually setting that 17th value.

This is wrong. Once we've found the 16th previously-unsent AC, we
need to stop reading refinement bits, otherwise we get out of sync
with the bit stream (which expects us to read a huffman code next).

The easiest fix is to just do what the JPEG standard implicitly
assumes anyway: treat ZRL as a run of 15 zeros followed by an
explicit magnitude-zero AC coeff. (That is, leave s=0 and actually
write s). So this is what this fix does.
2015-04-19 01:49:16 -07:00
Nicolas Guillemot 1894bede3f fix signed/unsignted compare warning 2015-04-18 21:23:34 -07:00
Sean Barrett d710ada2f9 try to re-enable SSE2 support by default on mingw 64-bit 2015-04-15 02:31:12 -07:00
Sean Barrett 66a75195dc rename STBI_X86_TARGET to STBI__X86_TARGET 2015-04-12 09:36:01 -07:00
Sean Barrett c83abb051a Merge branch 'mingwfix' of https://github.com/rygorous/stb into work2
Conflicts:
	stb_image.h
2015-04-12 09:33:26 -07:00
Sean Barrett e5fde30800 merge two x86/x64 tests into one; update credits 2015-04-12 09:30:05 -07:00
Sean Barrett c8852111cc Merge branch 'master' of https://github.com/pmj/stb into work2 2015-04-12 09:26:25 -07:00
Sean Barrett f22efc6151 update credits/docs 2015-04-12 09:26:16 -07:00
Sean Barrett 9d7499bca6 Merge branch 'master' of https://github.com/hpesoj/stb into work2 2015-04-12 09:23:07 -07:00
Sean Barrett 040df963c8 modifications to vertical flip API:
more consistent name,
 refactor stbi_load_main to preserve old code,
 support float HDR path,
 minor bugfix
2015-04-12 09:20:31 -07:00
Sean Barrett e3214d7ff7 Merge branch 'master' of https://github.com/nguillemot/stb into work2 2015-04-12 09:07:32 -07:00
Sean Barrett 24e50cbd5d remove asserts that are now run-time checks;
bump version and update credits;
minor whitespace changes;
2015-04-12 09:04:43 -07:00
Martins Mozeiko b2d440cfb5 Fixing various crashes when loading jpg, png and tga images. 2015-04-11 15:51:20 -07:00
Nicolas Guillemot c500a90375 added stbi_vertically_flip_on_load 2015-03-29 03:03:09 -07:00
Sean Barrett 0b05bde303 quick fixes w/o version updates 2015-02-22 14:26:21 -08:00
Joseph Thomson a60912f145 Avoid GCC sign-compare warning.
GCC 4.7 gave the warning "signed and unsigned type in conditional
expression" because the ternary operator mixes signed and unsigned
integers. Fixed by casting to unsigned inside the "if" branch instead
of casting the result of the entire conditional.
2015-02-20 10:15:08 +00:00
Fabian Giesen 4b0c6f6634 stb_image: NEON and SSE2 SIMD detection fixes.
This fixes two things. First, the logic to disable SSE2 on
GCC unless "-msse2" was not specific enough, and ended up
disabling SIMD support on NEON targets entirely. Shuffle
the detection logic around to make that bit x86-specific.

Second, 32-bit MinGW assumes 16-byte aligned stacks, but this is
not in the Windows ABI and hence DLLs and callbacks don't
necessarily provide it. This caused a crash.

This can be fixed by providing the right command-line option,
which we have no control over. As a compromise, disable the SSE2
path on MinGW unless a specific #define explained in the comments
is set. That way, we default to safe (never-crashing) behavior
unless the user explicitly signals they know what they're doing.
2015-02-17 01:21:40 -08:00
Laura Dennis-Jordan abe81006db Fixed bug where NEON code was #ifdef’d out on GCC/clang even where explicitly requested. 2015-02-05 20:49:04 +01:00
Sean Barrett 5bad081711 fix incorrectly-named assert, attempt to fix (char) cast warning (tricky since char's signedness is unknown) 2015-01-19 05:18:37 -08:00
Sean Barrett 5c121a9921 don't use SIMD on gcc if it's going to fail anyway 2015-01-17 08:32:57 -08:00
Sean Barrett 6f3bda396d credits, version number 2015-01-17 08:25:08 -08:00
Sean Barrett 68c8e4851a Merge branch 'master' of https://github.com/enginmanap/stb 2015-01-17 08:22:28 -08:00
Sean Barrett d673e85e94 update credits 2015-01-17 08:22:19 -08:00
engin manap 50c5c8e8ca remove unused variable "ha"
this variable was causing a warning while compiling with gcc.
2015-01-12 11:41:00 +02:00
engin manap 1a9be15c1e Fix dangling else warnings 2015-01-12 11:34:48 +02:00
Sergio Gonzalez a2df517a1a Fix for warning 4244. Cast to short 2014-12-29 18:43:57 -06:00
Sean Barrett a7c8694d69 fix missing STBI_MALLOC 2014-12-25 11:11:59 -08:00
Sean Barrett 6e0ae49f87 update version number, minor docs 2014-12-25 01:40:04 -08:00
Fabian Giesen febbc34a16 stb_image: Rename SSE2/NEON IDCTs to idct_simd. 2014-12-24 10:53:31 +01:00
Fabian Giesen d92ab86c65 stb_image: Fix PNG initial size guess for 1/2/4 bpc. 2014-12-24 10:15:28 +01:00
Fabian Giesen fb109abeaf stb_image: Update comments. 2014-12-24 10:07:52 +01:00
Sean Barrett 7f94e7e591 add #defines to allow disabling decoders for unwanted formats 2014-12-23 21:36:20 -08:00
Sean Barrett 53ca163e85 cleanup merge of ARM NEON support
tweak docs
2014-12-23 20:58:22 -08:00
Sean Barrett de385bb6bb Merge branch 'fastjpeg' into working 2014-12-23 20:24:46 -08:00
Fabian Giesen fd987527f1 stb_image: NEON YCbCr->RGB kernel.
Also ran a bunch of test cases to make sure the IDCT and H2V2
resamplers were correct.
2014-12-24 01:38:59 +01:00
Fabian Giesen 7d32f74d8a Merge branch 'fastjpeg' of https://github.com/nothings/stb into fastjpeg
Conflicts:
	stb_image.h
2014-12-23 23:52:12 +01:00
Sean Barrett 5b53d20c68 Put progressive JPEG AC decode logic back the way I wrote it originally (I changed it to match jpgd when I was trying to figure out why it didn't work);
add STBI__ prefixes to internal SCAN_ enum;
strip unused function arguments for progressive funcs;
tweak release notes;
forget to git commit frequently so these would all be in their own commits;
2014-12-23 05:11:36 -08:00
Sean Barrett 6403f319f7 tweak documentation
stbi__ prefix on two functions that were missing it
2014-12-21 08:30:27 -08:00
Sean Barrett e4fb737f66 Merge branch 'ppm' into working
Conflicts:
	stb_image.h
2014-12-21 08:23:34 -08:00
Sean Barrett 49d4d3193f fix non-progressive jpegs (had commented out a line accidentally);
fix long-standing bug where gifs were just broken AFAICT
2014-12-21 08:21:17 -08:00
Sean Barrett 33e24eafa0 in progress progressive stuff 2014-12-21 07:53:05 -08:00
Fabian Giesen a32d73dc3b stb_image: NEON integer IDCT (not yet tested!) 2014-12-21 12:55:50 +01:00