Sean Barrett
c4bbb6e75f
stb_image_resize2.h 2.00
ago%!(EXTRA string=2 years)
Sean Barrett
a0b521fcf2
no warnings when compiling /W3
...
compiling all test cases and compilers in test.sbm
Compilers:
32-bit:
VS2015
VS2013
VS2008
VC6 (1998)
clang-cl 9.0.1
64-bit
VS2015
clang-cl 9.0.1
ago%!(EXTRA string=6 years)
Jorge Rodriguez
a99bc0ca32
Fix a bunch of warnings under Apple's clang-800.0.42.1
ago%!(EXTRA string=8 years)
Sean Barrett
4ff6723a6d
make resample_test work in VC6
ago%!(EXTRA string=9 years)
Jorge Rodriguez
831b2d2fa6
Fix a merge gone wrong, add some more test cases.
ago%!(EXTRA string=10 years)
Jorge Rodriguez
a1ef3a1060
Fix the calculation of the input image shift when using subpixel regions
ago%!(EXTRA string=10 years)
Jorge Rodriguez
cf6f69cdc9
Fix the calculation of the input image shift when using subpixel regions. Includes some more tests which had incorrect results before and now work fine.
ago%!(EXTRA string=10 years)
Sean Barrett
0fc13e997b
optimization attempts, no meaningful changes
ago%!(EXTRA string=11 years)
Jorge Rodriguez
cbf5ebbd35
Install ryg's float -> uint8 sRGB conversion code, which is much faster.
ago%!(EXTRA string=11 years)
Jorge Rodriguez
600d80387e
Make a guess at the value before doing the binary search, cuts the number of conditionals by half. Not as much gain as I hoped but something.
ago%!(EXTRA string=11 years)
Sean Barrett
dd28033b34
don't encode alpha channel twice when alpha is different colorspace from other channels
ago%!(EXTRA string=11 years)
Sean Barrett
9f66b441bd
new quickstart docs;
...
reformat docs;
new simple uint32 test
ago%!(EXTRA string=11 years)
Jorge Rodriguez
f0ba7f5f7e
Get rid of old perf tests.
ago%!(EXTRA string=11 years)
Sean Barrett
f711fdcb0f
disable performance test in test code, back to regression test path
ago%!(EXTRA string=11 years)
Sean Barrett
9a6af9a8d3
replace int(floor()) with int(), since that produces same results for non-negative values and is much faster on 32-bit x86
ago%!(EXTRA string=11 years)
Sean Barrett
1dcca19ae0
because of we divide by /255 not /256, we lose numerical precision, so can't guarantee that box filter results round to same results as naive
ago%!(EXTRA string=11 years)
Sean Barrett
972456cb63
explicit performance tests variants
ago%!(EXTRA string=11 years)
Sean Barrett
c9600c012f
unroll channel loops in downsampler
ago%!(EXTRA string=11 years)
Sean Barrett
0fa5b5c66f
rename cubic to cubicbspline;
...
tweak filter type documentation
ago%!(EXTRA string=11 years)
Sean Barrett
29b36b3dea
rename filters, document them
ago%!(EXTRA string=11 years)
Sean Barrett
da2aa8f6b7
checkboard test to verify srgb
ago%!(EXTRA string=11 years)
Sean Barrett
a9778b8dbd
tweak docs; fix compile error in UNUSED_PARAM stuff
ago%!(EXTRA string=11 years)
Sean Barrett
7a4f1f4665
update with new tests for srgb conversion
ago%!(EXTRA string=11 years)
Sean Barrett
16d68d14f8
fix stbir__linear_to_srgb_uchar:
...
1. table stored threshhold of transition from i to i+1, but wants to be i-1 to i
2. table was computed by dividing uchar by 256.0 instead of 255.0, causing it to be 100% wrong
ago%!(EXTRA string=11 years)
Sean Barrett
30c7a981ec
compile as C;
...
fix some unsigned/signed comparisons;
avoid round() since it's not in pre-C99 C;
remove MAX_CHANNELS since I never ended up needing it;
rename STBIR_EPSILON to STBIR_ALPHA_EPSILON;
don't use STBIR_ALPHA_EPSILON on float input (can't remove it properly due to numeric precision, and they can do it themselves);
optimize subtraction of STBIR_ALPHA_EPSILON;
sorry i forgot to commit these separately!;
ago%!(EXTRA string=11 years)
Jorge Rodriguez
953a637841
Use a carefully shaped trapezoid instead of a box filter to avoid jumps between pixel values.
ago%!(EXTRA string=11 years)
Sean Barrett
4e580cf9ed
fix compile
ago%!(EXTRA string=11 years)
Jorge Rodriguez
c9d67446d2
Reverse allocation routines parameter order so that the context is at the back.
ago%!(EXTRA string=11 years)
Jorge Rodriguez
41e6aad693
Avoid repeated adds and ensure correct round-trip result.
ago%!(EXTRA string=11 years)
Jorge Rodriguez
969ff7c850
Make sure calculate_memory matches with the allocations. Fix some errant asserts.
ago%!(EXTRA string=11 years)
Jorge Rodriguez
4b69c0637e
If alpha is zero then sneakily replace it with a very small nonzero so that the color data is preserved.
...
Pre-process n1 so that we don't have to do it later on. Can't do n0 since it's used to find the coefficient index.
ago%!(EXTRA string=11 years)
Jorge Rodriguez
084baed15c
Replace premul test with better premul test that doesn't require visual inspection.
ago%!(EXTRA string=11 years)
Jorge Rodriguez
497eab8339
Normalize downsample coefficients.
ago%!(EXTRA string=11 years)
Jorge Rodriguez
43fbc1d5e3
Rearrange the algebra on two of the filters to avoid repeating decimals which cause precision loss. Use int32 to test filters because it's more accurate.
ago%!(EXTRA string=11 years)
Jorge Rodriguez
ca241daefa
Use rounding to try to preserve the original value. Fix test case.
ago%!(EXTRA string=11 years)
Jorge Rodriguez
118f28557e
Tests to ensure images of a solid color stay the same solid color after resampling.
ago%!(EXTRA string=11 years)
Jorge Rodriguez
e6c47ec657
Fix kernel lookup for downsampling.
ago%!(EXTRA string=11 years)
Jorge Rodriguez
8cc6a3abfc
If there's no context we're using the simple API functions - fall back to malloc and free.
ago%!(EXTRA string=11 years)
Sean Barrett
36db03f390
tighten bounds on filter normalization test
ago%!(EXTRA string=11 years)
Sean Barrett
7f8ac35e42
check whether filter kernels are normalized
ago%!(EXTRA string=11 years)
Sean Barrett
7da729bfce
restore correct definition of box
ago%!(EXTRA string=11 years)
Sean Barrett
cd1fbacbb6
rename NEAREST to BOX
...
write test for BOX
ago%!(EXTRA string=11 years)
Jorge Rodriguez
586e84087c
Correctly specify alpha channels.
ago%!(EXTRA string=11 years)
Jorge Rodriguez
38ce5494bc
Clarify some comments. Make stbir__resize_arbitrary an internal function. Update test cases to use actual API functions.
ago%!(EXTRA string=11 years)
Sean Barrett
41555b5d53
update test cases to work on things other than barbara.png
ago%!(EXTRA string=11 years)
Jorge Rodriguez
fb059fcece
Progress report.
ago%!(EXTRA string=11 years)
Jorge Rodriguez
75bdd2da83
Fix malloc context and whitespace.
ago%!(EXTRA string=11 years)
Sean Barrett
aee30095c7
refactor internal interfaces to avoid passing things multiple times;
...
finish prepping 'stbir__info' even before calculate_memory;
get rid of 'noinfo' functions since now calculate_memory doesn't need 'em;
add new binary-searched sRGB function (untested)
ago%!(EXTRA string=11 years)
Sean Barrett
732fec68ee
tweak new API, get it partly working
ago%!(EXTRA string=11 years)
Sean Barrett
664d8961f5
new API partially in-use
ago%!(EXTRA string=11 years)