Commit Graph

291 Commits

Author SHA1 Message Date
e6c47ec657 Fix kernel lookup for downsampling. 2014-09-07 12:57:53 -07:00
8cc6a3abfc If there's no context we're using the simple API functions - fall back to malloc and free. 2014-09-07 10:02:51 -07:00
36db03f390 tighten bounds on filter normalization test 2014-09-07 05:31:40 -07:00
7f8ac35e42 check whether filter kernels are normalized 2014-09-07 05:29:43 -07:00
7da729bfce restore correct definition of box 2014-09-07 04:07:07 -07:00
08ca345839 Merge branch 'resample2' into resample 2014-09-07 03:36:16 -07:00
cd1fbacbb6 rename NEAREST to BOX
write test for BOX
2014-09-07 03:19:18 -07:00
586e84087c Correctly specify alpha channels. 2014-09-06 21:50:28 -07:00
38ce5494bc Clarify some comments. Make stbir__resize_arbitrary an internal function. Update test cases to use actual API functions. 2014-09-06 20:17:19 -07:00
41555b5d53 update test cases to work on things other than barbara.png 2014-09-06 14:58:32 -07:00
fb059fcece Progress report. 2014-09-06 10:57:21 -07:00
75bdd2da83 Fix malloc context and whitespace. 2014-09-06 08:48:46 -07:00
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
732fec68ee tweak new API, get it partly working 2014-08-31 08:55:41 -07:00
664d8961f5 new API partially in-use 2014-08-31 08:34:05 -07:00
2549d8156e in-progress refactoring 2014-08-31 07:23:34 -07:00
5dfa79fb31 stride doesn't have to be multiples of pixels 2014-08-18 10:18:59 -07:00
6ef563d089 rename to stb_image_resize.h 2014-08-18 09:12:59 -07:00
eb0781fda0 add comments describing the purpose of the s,t-rectangle tests 2014-08-18 09:01:33 -07:00
9ba3dc1fc5 make resample tests work in VC6 2014-08-18 08:56:44 -07:00
14e8b66119 fix broken map generation 2014-08-17 21:08:43 -07:00
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
bbc340d481 Support different edge behavior on vertical and horizontal axis. 2014-08-12 12:22:38 -07:00
6ae729d61a Four new tests of subpixel stuff. 2014-08-12 12:15:12 -07:00
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
e75ed1d381 Update test cases for no more advanced API. 2014-08-11 12:21:55 -07:00
a0537bfd04 Allow compiling as C pre-C99 (don't rely on declare-anywhere) 2014-08-11 01:56:47 -07:00
d75488b0e8 Do the multiply inline, it should be a tad faster and not corrupt our data. 2014-07-31 19:00:48 -07:00
13acfca829 I had the whole premultiply thing backwards. 2014-07-31 18:46:00 -07:00
21c7c8f5d9 Another stab at the api, offering classes of functions for different common tasks. 2014-07-31 18:04:57 -07:00
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
daf325dc03 Sub pixel source area test cases. No problems. 2014-07-31 16:31:45 -07:00
aae1c7ca41 ZOOM AND ENHANCE! 2014-07-31 15:16:36 -07:00
35cb95b803 Allow for specifying a sub-region of the source image to use. Downsampling only, currently. 2014-07-31 00:39:33 -07:00
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
c5de2f3298 Test channels. 2014-07-30 09:42:12 -07:00
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
c2449acc3e Tests for edge behavior 2014-07-30 09:14:38 -07:00
59cb71ea18 Fix float conversion. 2014-07-30 08:47:55 -07:00
6625259959 Try to keep integer precision by briefly casting to double while decoding and encoding. 2014-07-30 01:18:23 -07:00
11897fbf96 More fixing shorts. 2014-07-30 00:34:25 -07:00
1fcbe0daaf Fix shorts. Add test cases for shorts. 2014-07-30 00:16:13 -07:00
7ead9a748d Fix. Ring buffers are a height value. 2014-07-29 23:09:41 -07:00
043fa28c11 Same deal with height. 2014-07-29 23:02:56 -07:00
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
68f93b72d5 Update documentation and add helper functions. 2014-07-29 20:18:28 -07:00
5b40906271 My perf testing code. 2014-07-29 17:44:45 -07:00
6c8cac0a66 Support for sRGB color space. 2014-07-26 23:44:45 -07:00
01fb58d6b4 Add a bicubic filter. 2014-07-26 13:07:04 -07:00
7abd4ccf34 Support for filters with larger support. Initial support for edge behavior. 2014-07-26 11:51:02 -07:00