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.
ago%!(EXTRA string=10 years)
Laura Dennis-Jordan
abe81006db
Fixed bug where NEON code was #ifdef’d out on GCC/clang even where explicitly requested.
ago%!(EXTRA string=11 years)
Sean Barrett
5bad081711
fix incorrectly-named assert, attempt to fix (char) cast warning (tricky since char's signedness is unknown)
ago%!(EXTRA string=11 years)
Sean Barrett
5c121a9921
don't use SIMD on gcc if it's going to fail anyway
ago%!(EXTRA string=11 years)
Sean Barrett
6f3bda396d
credits, version number
ago%!(EXTRA string=11 years)
Sean Barrett
d673e85e94
update credits
ago%!(EXTRA string=11 years)
engin manap
50c5c8e8ca
remove unused variable "ha"
...
this variable was causing a warning while compiling with gcc.
ago%!(EXTRA string=11 years)
engin manap
1a9be15c1e
Fix dangling else warnings
ago%!(EXTRA string=11 years)
Sergio Gonzalez
a2df517a1a
Fix for warning 4244. Cast to short
ago%!(EXTRA string=11 years)
Sean Barrett
a7c8694d69
fix missing STBI_MALLOC
ago%!(EXTRA string=11 years)
Sean Barrett
6e0ae49f87
update version number, minor docs
ago%!(EXTRA string=11 years)
Fabian Giesen
febbc34a16
stb_image: Rename SSE2/NEON IDCTs to idct_simd.
ago%!(EXTRA string=11 years)
Fabian Giesen
d92ab86c65
stb_image: Fix PNG initial size guess for 1/2/4 bpc.
ago%!(EXTRA string=11 years)
Fabian Giesen
fb109abeaf
stb_image: Update comments.
ago%!(EXTRA string=11 years)
Sean Barrett
7f94e7e591
add #defines to allow disabling decoders for unwanted formats
ago%!(EXTRA string=11 years)
Sean Barrett
53ca163e85
cleanup merge of ARM NEON support
...
tweak docs
ago%!(EXTRA string=11 years)
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.
ago%!(EXTRA string=11 years)
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;
ago%!(EXTRA string=11 years)
Sean Barrett
6403f319f7
tweak documentation
...
stbi__ prefix on two functions that were missing it
ago%!(EXTRA string=11 years)
Sean Barrett
49d4d3193f
fix non-progressive jpegs (had commented out a line accidentally);
...
fix long-standing bug where gifs were just broken AFAICT
ago%!(EXTRA string=11 years)
Sean Barrett
33e24eafa0
in progress progressive stuff
ago%!(EXTRA string=11 years)
Fabian Giesen
a32d73dc3b
stb_image: NEON integer IDCT (not yet tested!)
ago%!(EXTRA string=11 years)
Fabian Giesen
0f3bf1564b
stb_image: JPEG resampler func for NEON
ago%!(EXTRA string=11 years)
Sean Barrett
9ad85cc8d2
tweak release docs
...
tweak credits
tweak revision history
remove trailing whitespace
ago%!(EXTRA string=11 years)
Sean Barrett
b4e526d7cf
PNM cleanup
...
fix a few old error messages
ago%!(EXTRA string=11 years)
Sean Barrett
ba5e333faf
STBI_MALLOC etc.
...
some documentation cleanup
ago%!(EXTRA string=11 years)
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
ago%!(EXTRA string=11 years)
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
ago%!(EXTRA string=11 years)
Fabian Giesen
b082091bcb
stb_image: GCC fix for new SIMD stuff.
ago%!(EXTRA string=11 years)
Fabian Giesen
42bb08b10b
stb_image: Add SSE2 h2v2 resampling kernel.
ago%!(EXTRA string=11 years)
Fabian Giesen
c625d24197
stb_image: First-pass stbi__sse2_available for GCC
ago%!(EXTRA string=11 years)
Fabian Giesen
aabf2c5c49
stb_image: SSE2 YCbCr->RGB kernel
ago%!(EXTRA string=11 years)
Fabian Giesen
d95f7acb32
stb_image: Remove old installable IDCT path.
ago%!(EXTRA string=11 years)
Fabian Giesen
e5db25f637
stb_image: Add SSE2 IDCT for JPEG decoder.
...
Also add SSE2 detection for MSVC++. Detection on GCC will follow
later.
ago%!(EXTRA string=11 years)
Fabian Giesen
fb2c841bb8
stb_image: Add more of the SSE2 skeleton.
ago%!(EXTRA string=11 years)
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.)
ago%!(EXTRA string=11 years)
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.
ago%!(EXTRA string=11 years)
Fabian Giesen
1d5652044d
stb_image: JPEG fast_ac table - decode entire AC at once.
ago%!(EXTRA string=11 years)
Fabian Giesen
a1bd1f7f1f
stb_image: Faster stbi__extend_receive.
ago%!(EXTRA string=11 years)
Sean Barrett
f547761c15
Fix assert() that should be STBI_ASSERT()
ago%!(EXTRA string=11 years)
Sean Barrett
91255cb1cd
update stb_image version & changelog
ago%!(EXTRA string=11 years)
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
ago%!(EXTRA string=11 years)
Sean Barrett
8679ce08b7
fix incorrect img_n variable for interlaced files, caused files to be totally incorrect if forcing channel count
ago%!(EXTRA string=11 years)
Fabian Giesen
1996a019ac
stb_image: Guess decoded image size before zlib decode to avoid unnecessary reallocs.
ago%!(EXTRA string=11 years)
Fabian Giesen
3d6dccf0c4
stb_image: Make 'fast' table contain code size and value directly.
ago%!(EXTRA string=11 years)
Fabian Giesen
007de5eb6e
stb_image: Extract zhuffman_decode slow path into own function.
ago%!(EXTRA string=11 years)
Fabian Giesen
cdc230598e
stb_image: Fast path for matches with dist=1 (runs) in stbi__parse_huffman_block.
ago%!(EXTRA string=11 years)
Fabian Giesen
92b9e262b7
stb_image: Keep zout in a local var during stbi__parse_huffman_block.
ago%!(EXTRA string=11 years)
Fabian Giesen
8188e842e2
stb_image: Add 'static' for some internal funcs, STBIDEF for external ones.
ago%!(EXTRA string=11 years)
Fabian Giesen
61428d4526
stb_image: Trivial optimizations for filter path when img_n==out_n.
ago%!(EXTRA string=11 years)