Commit Graph

86 Commits

Author SHA1 Message Date
Sean Barrett
d5ec7789bd stb_image_resize update 2017-01-02 14:08:58 -08:00
Aras Pranckevicius
21ea5487ff Fix crash when resizing large images (signed integer overflow, e.g. at image size of 24000x24000) 2016-06-30 21:46:17 +03:00
Sean Barrett
6e4154737c update version numbers, documentation, and contributors 2016-04-02 04:51:26 -07:00
Sean Barrett
814bb9b5dc remove STBIR__DEBUG_ASSERT because it requires defining/not-defining assert() in a warning-free way on all platforms independent of #include <assert.h>, which is too hard 2016-04-02 02:36:24 -07:00
Sean Barrett
c238cebe6a Merge branch 'master' of https://github.com/BSVino/stb into test 2016-04-02 01:46:09 -07:00
Craig Donner
ee6978cb68 Slightly modify the public domain license to keep it in the public domain, but make it clear that even when dedications might not be recognized that the code is still usable. Given that this isn't dual-licensing under a different license, I'm hoping this will be acceptable. 2016-02-25 12:55:44 -08:00
Jorge Rodriguez
831b2d2fa6 Fix a merge gone wrong, add some more test cases. 2015-11-10 13:41:53 -08:00
Jorge Rodriguez
c81f0c62bc Fix the calculation of the input image shift when using subpixel regions 2015-11-10 11:29:16 -08:00
Jorge Rodriguez
a1ef3a1060 Fix the calculation of the input image shift when using subpixel regions 2015-11-10 11:25:59 -08:00
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. 2015-11-08 16:40:32 -08:00
Ryan Whitworth
1d48782e1d Added public domain license text 2015-08-01 14:53:00 -04:00
nothings
891f6d7720 Removing bitpacking warning for srgb conversion 2014-09-18 12:52:11 -07:00
Sean Barrett
7c0ae19a42 documentation, release data 2014-09-17 07:10:21 -07:00
Sean Barrett
0fc13e997b optimization attempts, no meaningful changes 2014-09-17 06:24:40 -07:00
Sean Barrett
8024673461 switch srgb convert to second ryg method, which is a bit faster (8% total speedup on upsampling test);
remove extra table in slowpath
2014-09-17 06:07:16 -07:00
Jorge Rodriguez
a12d3dedf0 Some todo notes. 2014-09-16 10:50:41 -07:00
Jorge Rodriguez
cbf5ebbd35 Install ryg's float -> uint8 sRGB conversion code, which is much faster. 2014-09-16 10:36:19 -07:00
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. 2014-09-15 14:01:11 -07:00
Jorge Rodriguez
7602c99e77 Quick formatting fix. 2014-09-15 11:29:40 -07:00
Sean Barrett
dd28033b34 don't encode alpha channel twice when alpha is different colorspace from other channels 2014-09-15 07:23:22 -07:00
Sean Barrett
bdbf1e0ef4 uint32 images need to round with uint32 cast, not int cast 2014-09-14 15:01:10 -07:00
Sean Barrett
9f66b441bd new quickstart docs;
reformat docs;
new simple uint32 test
2014-09-14 14:55:23 -07:00
Jorge Rodriguez
3c261481a6 Add a very quick guide. 2014-09-13 14:33:13 -07:00
Sean Barrett
385d7a417c delete some unused functions;
get rid of stbir__inline for some functions that don't need it
2014-09-13 08:50:10 -07:00
Sean Barrett
8849501a3f add documentation explaining why even a 64K table for srgb_to_uint8 would be inaccurate 2014-09-13 08:21:14 -07:00
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 2014-09-13 08:12:37 -07:00
Sean Barrett
adbbe8dabd move x loop inside switch in horizontal_downsample 2014-09-13 07:46:09 -07:00
Sean Barrett
7a8c9196d1 unroll vertical_upsample inner loop, and reverse loop nesting to minimize work 2014-09-13 07:41:39 -07:00
Sean Barrett
9c2ae9bdb8 cache filter-width derived computations that use floor/ceil because those were showing up like crazy on VC6 profile despite only being per-scanline-ish?!?
unroll inner loop in horizontal_resample
2014-09-13 07:29:04 -07:00
Sean Barrett
c9600c012f unroll channel loops in downsampler 2014-09-13 06:23:07 -07:00
Sean Barrett
3ee97c221f compile as C 2014-09-13 06:12:40 -07:00
Sean Barrett
59898db411 tweak grammar 2014-09-13 06:05:00 -07:00
Sean Barrett
a2f1cadde8 convert tabs to spaces so it's consistent with other stb libs 2014-09-13 06:03:48 -07:00
Sean Barrett
0fa5b5c66f rename cubic to cubicbspline;
tweak filter type documentation
2014-09-13 05:52:19 -07:00
Sean Barrett
29b36b3dea rename filters, document them 2014-09-12 05:28:24 -07:00
Sean Barrett
a9778b8dbd tweak docs; fix compile error in UNUSED_PARAM stuff 2014-09-12 04:46:41 -07:00
Sean Barrett
99f3b78bbd Merge branch 'resample' of http://github.com/bsvino/stb into resample 2014-09-12 03:54:17 -07:00
Sean Barrett
df128b7995 update STBIR__UNUSED_PARAM to match stb_image.h version 2014-09-12 03:53:36 -07:00
Jorge Rodriguez
ca88b6fba6 Calculate and store vertical contributors first so that they can be normalized and optimized. 2014-09-11 12:45:18 -07:00
Jorge Rodriguez
a25c1d2bbd Merge remote-tracking branch 'remotes/nothings/resample' into resample 2014-09-11 10:00:57 -07:00
Jorge Rodriguez
36b417f6b4 Optimizations: Skip zero-coefficient contributions. Reduce the size of the coefficients array when downsampling. 2014-09-11 09:53:14 -07:00
Sean Barrett
27f26f8337 Documentation;
rename STBIR_FLAG_PREMULTIPLED_ALPHA to STBIR_FLAG_ALPHA_PREMULTIPLIED so that both flags have "ALPHA" first
2014-09-11 03:02:20 -07:00
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
2014-09-11 02:05:53 -07:00
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!;
2014-09-11 01:47:50 -07:00
Jorge Rodriguez
793818d1af Skip zero-coefficient contributors, a fairly decent speedup. 2014-09-10 20:26:14 -07:00
Jorge Rodriguez
46dc8f84fb Use vertical pixel width for the ring buffer. 2014-09-10 20:12:38 -07:00
Jorge Rodriguez
953a637841 Use a carefully shaped trapezoid instead of a box filter to avoid jumps between pixel values. 2014-09-10 19:08:11 -07:00
Jorge Rodriguez
6922628106 Use an even smaller epsilon. Allow the user to avoid the epsilon business if they want to preserve their alpha values. 2014-09-10 15:03:55 -07:00
Jorge Rodriguez
c9d67446d2 Reverse allocation routines parameter order so that the context is at the back. 2014-09-09 22:57:15 -07:00
Jorge Rodriguez
17b931047c Add the epsilon value into the alpha instead of using an if statement. It's a tiny bit faster and it can be removed afterwards. 2014-09-09 22:47:53 -07:00