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)
2014-09-01 16:52:04 -07:00
Sean Barrett
732fec68ee
tweak new API, get it partly working
2014-08-31 08:55:41 -07:00
Sean Barrett
664d8961f5
new API partially in-use
2014-08-31 08:34:05 -07:00
Sean Barrett
2549d8156e
in-progress refactoring
2014-08-31 07:23:34 -07:00
Sean Barrett
6ef563d089
rename to stb_image_resize.h
2014-08-18 09:12:59 -07:00
Sean Barrett
eb0781fda0
add comments describing the purpose of the s,t-rectangle tests
2014-08-18 09:01:33 -07:00
Sean Barrett
9ba3dc1fc5
make resample tests work in VC6
2014-08-18 08:56:44 -07:00
Jorge Rodriguez
1353909477
Allow user to force the alpha channel to be handled as a linear value even if the color channels are sRGB.
2014-08-12 13:37:06 -07:00
Jorge Rodriguez
bbc340d481
Support different edge behavior on vertical and horizontal axis.
2014-08-12 12:22:38 -07:00
Jorge Rodriguez
6ae729d61a
Four new tests of subpixel stuff.
2014-08-12 12:15:12 -07:00
Jorge Rodriguez
45fa6ec900
Update test cases for premul channel -1 meaning don't do any premul handling, fix another no-more-advanced.
2014-08-11 12:38:27 -07:00
Jorge Rodriguez
e75ed1d381
Update test cases for no more advanced API.
2014-08-11 12:21:55 -07:00
Jorge Rodriguez
d75488b0e8
Do the multiply inline, it should be a tad faster and not corrupt our data.
2014-07-31 19:00:48 -07:00
Jorge Rodriguez
13acfca829
I had the whole premultiply thing backwards.
2014-07-31 18:46:00 -07:00
Jorge Rodriguez
21c7c8f5d9
Another stab at the api, offering classes of functions for different common tasks.
2014-07-31 18:04:57 -07:00
Jorge Rodriguez
8063ea0952
Specify a channel as having premultiplied alpha and use it to un-premultiply all other channels before resampling.
2014-07-31 17:20:00 -07:00
Jorge Rodriguez
daf325dc03
Sub pixel source area test cases. No problems.
2014-07-31 16:31:45 -07:00
Jorge Rodriguez
aae1c7ca41
ZOOM AND ENHANCE!
2014-07-31 15:16:36 -07:00
Jorge Rodriguez
35cb95b803
Allow for specifying a sub-region of the source image to use. Downsampling only, currently.
2014-07-31 00:39:33 -07:00
Jorge Rodriguez
fdc979e48b
Some minor ports for Linux. No idea how it worked at all in Windows with STB_RESIZE_IMPLEMENTATION instead of STB_RESAMPLE_IMPLEMENTATION.
2014-07-30 17:30:25 -07:00
Jorge Rodriguez
c5de2f3298
Test channels.
2014-07-30 09:42:12 -07:00
Jorge Rodriguez
985ac75251
When doing a perfect po2 nearest neighbor downsample don't allow -0.5 and 0.5 to both contribute to a texel or you'll get a double tap.
2014-07-30 09:27:42 -07:00
Jorge Rodriguez
c2449acc3e
Tests for edge behavior
2014-07-30 09:14:38 -07:00
Jorge Rodriguez
59cb71ea18
Fix float conversion.
2014-07-30 08:47:55 -07:00
Jorge Rodriguez
6625259959
Try to keep integer precision by briefly casting to double while decoding and encoding.
2014-07-30 01:18:23 -07:00
Jorge Rodriguez
11897fbf96
More fixing shorts.
2014-07-30 00:34:25 -07:00
Jorge Rodriguez
1fcbe0daaf
Fix shorts. Add test cases for shorts.
2014-07-30 00:16:13 -07:00
Jorge Rodriguez
7ead9a748d
Fix. Ring buffers are a height value.
2014-07-29 23:09:41 -07:00
Jorge Rodriguez
043fa28c11
Same deal with height.
2014-07-29 23:02:56 -07:00
Jorge Rodriguez
ebe0473d8b
Add a test suite to do a bunch of different resizes to find problems. One problem found was an incorrect calculation of texel support how many margin texels needed when downsampling. When downsampling we need to spread out the support of each contributing texel, so to compensate you need more margin texels.
2014-07-29 22:50:06 -07:00
Jorge Rodriguez
68f93b72d5
Update documentation and add helper functions.
2014-07-29 20:18:28 -07:00
Jorge Rodriguez
5b40906271
My perf testing code.
2014-07-29 17:44:45 -07:00
Jorge Rodriguez
6c8cac0a66
Support for sRGB color space.
2014-07-26 23:44:45 -07:00
Jorge Rodriguez
01fb58d6b4
Add a bicubic filter.
2014-07-26 13:07:04 -07:00
Jorge Rodriguez
7abd4ccf34
Support for filters with larger support. Initial support for edge behavior.
2014-07-26 11:51:02 -07:00
Jorge Rodriguez
297266b27b
Starting to implement downsampling.
2014-07-24 19:10:45 -07:00
Jorge Rodriguez
55c5f0b3a0
Beginning of a more sophisticated resample algorithm, starting with calculating filter contributions per scan line.
2014-07-23 22:17:56 -07:00