Commit Graph

83 Commits (40f43afe5609389fe581ff020ad733a070bf5564)

Author SHA1 Message Date
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