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
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
Fabian Giesen
0f3bf1564b
stb_image: JPEG resampler func for NEON
2014-12-21 12:46:57 +01:00
Sean Barrett
9ad85cc8d2
tweak release docs
...
tweak credits
tweak revision history
remove trailing whitespace
2014-12-20 06:22:17 -08:00
Sean Barrett
b4e526d7cf
PNM cleanup
...
fix a few old error messages
2014-12-20 06:09:23 -08:00
Sean Barrett
97949493fb
Merge branch 'master' of https://github.com/kennethdmiller3/stb into ppm
2014-12-20 05:49:19 -08:00
Sean Barrett
ba5e333faf
STBI_MALLOC etc.
...
some documentation cleanup
2014-12-20 05:46:13 -08:00
Sean Barrett
bd6b78f268
finalize scalar YCbCr conversion back-ported from SSE version;
...
add missing STBIDEFs to a few functions;
update documentation with full 1.49 info even though most isn't implemented yet
2014-12-20 05:13:25 -08:00
Sean Barrett
f259bf27e9
VC6:
...
support using inline asm for cpuid
YCbCr:
switch SSE code to constants that match old C;
create C version that is same as SSE;
tiny optimization(?) of SSE
2014-12-19 04:39:04 -08:00
Fabian Giesen
b082091bcb
stb_image: GCC fix for new SIMD stuff.
2014-12-18 08:31:03 -08:00
Fabian Giesen
42bb08b10b
stb_image: Add SSE2 h2v2 resampling kernel.
2014-12-18 08:11:05 -08:00
Fabian Giesen
c625d24197
stb_image: First-pass stbi__sse2_available for GCC
2014-12-18 07:52:44 -08:00
Fabian Giesen
aabf2c5c49
stb_image: SSE2 YCbCr->RGB kernel
2014-12-18 07:41:41 -08:00
Fabian Giesen
d95f7acb32
stb_image: Remove old installable IDCT path.
2014-12-18 07:25:41 -08:00
Fabian Giesen
e5db25f637
stb_image: Add SSE2 IDCT for JPEG decoder.
...
Also add SSE2 detection for MSVC++. Detection on GCC will follow
later.
2014-12-18 07:22:42 -08:00
Fabian Giesen
fb2c841bb8
stb_image: Add more of the SSE2 skeleton.
2014-12-18 07:03:21 -08:00
Fabian Giesen
c6a3235995
stb_image: IDCT kernel func ptr in stbi__jpeg
...
I want to support SSE2 kernels that auto-detect. If implemented
using globals, this would trigger thread race checkers if stb_image
was used in multiple threads. Just make the kernels be explicitly
per-stbi__jpeg to avoid this.
(This commit is the first step in replacing existing STBI_SIMD
functionality.)
2014-12-18 06:49:41 -08:00
Fabian Giesen
518306517c
stb_image: JPEG dequant in decode_block not IDCT.
...
Inside decode_block, we're still sparse, and we can use that
sparsity pattern without doing extra work to discover it.
2014-12-18 06:31:53 -08:00
Fabian Giesen
1d5652044d
stb_image: JPEG fast_ac table - decode entire AC at once.
2014-12-18 06:30:42 -08:00
Fabian Giesen
a1bd1f7f1f
stb_image: Faster stbi__extend_receive.
2014-12-18 06:25:42 -08:00
Ken Miller
bdc918751d
Merge branch 'master' of https://github.com/nothings/stb
2014-12-15 01:09:59 -06:00
Sean Barrett
f547761c15
Fix assert() that should be STBI_ASSERT()
2014-12-14 18:14:14 -08:00
Sean Barrett
91255cb1cd
update stb_image version & changelog
2014-12-14 02:06:33 -08:00
Sean Barrett
f9e593c25c
Merge branch 'optimize' of https://github.com/rygorous/stb into working
...
Conflicts:
stb_image.h
Also disable VC6 automatic precompiled headers which were enabled in some projects.
2014-12-14 01:57:22 -08:00
Sean Barrett
8ac015c03f
fix 1/2/4-bit png to filter bytes before decoding to pixels;
...
rename pngsuite/part1 to pngsuite/primary;
check in pngsuite
2014-12-14 01:43:23 -08:00
Sean Barrett
8679ce08b7
fix incorrect img_n variable for interlaced files, caused files to be totally incorrect if forcing channel count
2014-12-13 23:35:55 -08:00
Fabian Giesen
1996a019ac
stb_image: Guess decoded image size before zlib decode to avoid unnecessary reallocs.
2014-12-13 19:15:38 -08:00
Fabian Giesen
3d6dccf0c4
stb_image: Make 'fast' table contain code size and value directly.
2014-12-13 18:48:37 -08:00
Fabian Giesen
007de5eb6e
stb_image: Extract zhuffman_decode slow path into own function.
2014-12-13 18:18:36 -08:00
Fabian Giesen
cdc230598e
stb_image: Fast path for matches with dist=1 (runs) in stbi__parse_huffman_block.
2014-12-13 18:07:00 -08:00
Fabian Giesen
92b9e262b7
stb_image: Keep zout in a local var during stbi__parse_huffman_block.
2014-12-13 17:58:36 -08:00
Fabian Giesen
8188e842e2
stb_image: Add 'static' for some internal funcs, STBIDEF for external ones.
2014-12-13 17:31:51 -08:00
Fabian Giesen
61428d4526
stb_image: Trivial optimizations for filter path when img_n==out_n.
2014-12-13 17:22:57 -08:00
ocornut
1be86b37d6
Documentation
2014-09-26 00:06:30 +01:00
ocornut
50d9752612
Removing tabs and using 3-spaces indents to match local coding style
2014-09-26 00:01:45 +01:00
ocornut
09a1ab87a0
Fix for interlaced and small images + cleanup
2014-09-25 23:52:24 +01:00
ocornut
3b3e2996e7
Unpack 1/2/4 bpp into 8 bpp scanline buffer + support grayscale 1/2/4 bpp
2014-09-25 21:59:50 +01:00
ocornut
f2b3ebd470
Support for 1/2/4-bit palettized PNG
2014-09-25 19:30:47 +01:00
Ken Miller
8e91cb2b7d
treat vertical tab and form feed characters as whitespace
2014-09-07 00:48:48 -05:00
Ken Miller
e003c66498
support PGM and PPM formats
2014-09-07 00:38:18 -05:00
Tero Hänninen
a5f1cb5657
Fix comments
2014-09-05 18:38:39 +03:00
Sean Barrett
a14339a019
fix handling of tRNS chunk in PNG (used wrong variable for output channels)
2014-08-26 13:39:53 -07:00
Sean Barrett
b36f9908ce
Merge branch 'master' of https://github.com/thedmd/stb into working
...
Conflicts:
stb_image.h
2014-08-16 13:45:32 -07:00
Michał Cichoń
10def9b150
fix MSVC-ARM internal compiler error by wrapping malloc
...
For some reason Microsoft CL compiler for ARM is unable to compile malloc when parameter is an expression. malloc(x * y) will cause internal compiler error, malloc(x) is however fine.
2014-08-08 00:46:45 +02:00
Sean Barrett
29f59c0460
update version number
2014-08-07 04:44:17 -07:00
Ronny Chevalier
b8b6e7c31a
stb_image: fix unused parameter
2014-08-07 03:26:20 -07:00
Ronny Chevalier
893ef013b2
stb_image: fix undefined preprocessor definition
2014-08-07 03:26:08 -07:00
Sean Barrett
bcefca10f7
fix bad fix in previous fix
2014-07-15 22:26:01 -07:00
Sean Barrett
75b9e9cc1b
update stb_image version number
2014-07-09 23:45:58 -07:00
Sean Barrett
e0d86b0f5c
STBI_ASSERT
2014-07-09 23:35:25 -07:00
Sean Barrett
3bf91543f4
revert img_n=0 initialization to original location
2014-07-09 23:26:03 -07:00
Sean Barrett
a2b9aa8d06
modifiy jpeg img_n fix
...
switch from fopen to fopen_s on later MSVCs
2014-07-09 23:23:48 -07:00
Sean Barrett
70de0adb28
Merge branch 'master' of https://github.com/LysanderGG/stb into working
2014-07-09 23:03:32 -07:00
Sean Barrett
932d485146
fix warnings in certain console compilers
2014-07-09 23:01:29 -07:00
Lysander
efd6b2698f
Fix crash when trying to load progressive jpeg due to uninitialized s->img_n
...
Proper pointer check before deleting
2014-07-09 22:41:22 +09:00
Sean Barrett
df29024046
fix old stb_image.h search&replace that screwed up comments
2014-06-25 15:29:29 -07:00
Sean Barrett
b000f920ac
update stb_image version number
2014-06-22 11:21:11 -07:00
johan
52f1a7614d
remove gcc4.9.0 / c++11 warnings
...
corrected annoying warnings about 'missing initializer'. The memset
version is not better, but gcc like it more.
2014-06-22 19:47:17 +02:00
Sean Barrett
23a775cc13
update release notes at end of file
2014-06-15 13:11:10 -07:00
Sean Barrett
5753c13f25
Merge branch 'load-bmp-v5-header' of https://github.com/saitoha/stb into working
...
Update version number
2014-06-15 13:08:12 -07:00
Sean Barrett
fa30cdba89
Merge branch 'rewind-after-bmp-testing' of https://github.com/saitoha/stb into working
2014-06-15 13:01:11 -07:00
Sean Barrett
d0c33a77f9
TGA loader fix to new optimized path by Jerry Jansson
2014-06-15 13:00:00 -07:00
Sean Barrett
2fb6df190b
fix accidental stb__skip renames in comments
2014-06-15 12:49:32 -07:00
Hayaki Saito
cd6819374c
Make sure to rewind after BMP test, to fix broken GIF test
2014-06-15 13:57:03 +09:00
Hayaki Saito
381ae02955
Add support for loading BMP v5 header
2014-06-15 13:47:41 +09:00
Sean Barrett
3557e66362
fix accidental rename of 'skip'
2014-06-06 12:17:39 -07:00
Sean Barrett
47a34c1723
stb_image.h version number increase
2014-06-06 10:17:32 -07:00
Sean Barrett
c28ffbbf0d
Change byte casts in stb_image.h that intentionally truncate to do so explicitly for MSVC runtime check compatibility
2014-06-06 10:15:30 -07:00
Sean Barrett
df3dcb5d0d
remove duplicate typedef of stbi_uc
2014-06-04 17:56:18 -07:00
Sean Barrett
334cec8d8c
Fix handling of iphone-procesed image to not accidentally appear corrupt (instead they just load wrong).
...
Add a proper testing path to image test
2014-06-03 08:45:34 -07:00
Sean Barrett
236004f573
finished renaming all private functions & globals with stbi__ prefix
2014-05-31 06:55:48 -07:00
Sean Barrett
d5272d32e4
renaming completed through png decoder
2014-05-31 06:27:37 -07:00
Sean Barrett
9549e83e5d
renaming completed through jpeg decoder
2014-05-31 05:40:05 -07:00
Sean Barrett
2514fbc2c7
more renaming
2014-05-31 05:38:26 -07:00
Sean Barrett
927b455d85
start converting stb_image.c to a .h file
2014-05-31 04:49:43 -07:00