Commit Graph

226 Commits

Author SHA1 Message Date
Jorge Rodriguez 419a5ba10f Fix stbr__type_size for updated stbr_type 2014-08-12 11:55:27 -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
Sean Barrett 6ade66182c allow alpha channel to be channel #0 2014-08-11 02:34:50 -07:00
Sean Barrett f502cae91a rename everything to do with premultiplied alpha since the whole
point is that this is for handling *non*-premultiplied alpha (since
correct handling of premultiplied alpha requires doing nothing)
2014-08-11 02:32:07 -07:00
Sean Barrett 42556fec82 don't require manual synchronization of STBR_MAX_COLORSPACES/MAX_TYPES 2014-08-11 02:26:17 -07:00
Sean Barrett 392585130c Get rid of "advanced" API with explicit temp memory because the STBR_MALLOC interface is sufficient 2014-08-11 02:23:39 -07:00
Sean Barrett 259c92b550 replace "texel" with "pixel" in identifiers 2014-08-11 02:17:40 -07:00
Sean Barrett fc4ca11a52 Fix places in previous commits where tabs got replaced with spaces 2014-08-11 02:16:23 -07:00
Sean Barrett 25fae8c67c Avoid divides in encode_scanline if not doing unpremultiply.
Rename stb__encode_scanline to stb__encode_pixel
2014-08-11 02:13:26 -07:00
Sean Barrett a0537bfd04 Allow compiling as C pre-C99 (don't rely on declare-anywhere) 2014-08-11 01:56:47 -07:00
Sean Barrett 3077bf5023 wrap long data lines 2014-08-11 01:50:16 -07:00
Sean Barrett 94ecd81abe Merge branch 'master' of http://github.com/BSVino/stb into resample 2014-08-11 01:47:12 -07:00
Sean Barrett aaea13b71c version numbers 2014-08-07 04:46:29 -07:00
Sean Barrett c8a3522a5f version number 2014-08-07 04:46:13 -07:00
Sean Barrett 29f59c0460 update version number 2014-08-07 04:44:17 -07:00
Sean Barrett d26beed67d comments/ version update for platformID = Unicode 2014-08-07 04:41:02 -07:00
Sean Barrett 0adfac0abe Merge branch 'master' of https://github.com/HouQiming/stb into working 2014-08-07 04:35:51 -07:00
Sean Barrett 85c39da625 Merge branch 'rc/const' of https://github.com/ronnychevalier/stb into working 2014-08-07 04:25:12 -07:00
Ronny Chevalier 2119c17ae9 stb_vorbis: fix unused variables
Conflicts:
	stb_vorbis.c
2014-08-07 04:23:33 -07:00
Sean Barrett 260741ed33 vorbis warnings from ronny chevalier
I manually made these changes because they
disabled some substantial amounts of code,
and I wanted to make sure this wasn't due to
original code having bugs or deviating from
the specification
2014-08-07 04:20:58 -07:00
Ronny Chevalier 758c165d2c stb_vorbis: fix unused functions 2014-08-07 03:26:27 -07:00
Ronny Chevalier b8b6e7c31a stb_image: fix unused parameter 2014-08-07 03:26:20 -07:00
Ronny Chevalier 422e29017c stb_vorbis: fix signed/unsigned comparison 2014-08-07 03:26:14 -07:00
Ronny Chevalier 893ef013b2 stb_image: fix undefined preprocessor definition 2014-08-07 03:26:08 -07:00
Ronny Chevalier c28e92e856 stb_vorbis: use const char* when appropriate 2014-08-03 23:43:54 +02:00
Jorge Rodriguez e05ebdbf1e My guess is people who care about premultiply also care about color space. 2014-07-31 19:37:42 -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 a32fa8b4df This to-do item done. 2014-07-31 16:36:09 -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 1b2d104e00 Some error conditions. 2014-07-31 00:52:03 -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 52ac93225a C<99 ports 2014-07-30 17:33:47 -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