Commit Graph

684 Commits

Author SHA1 Message Date
Jorge Rodriguez
c9caec1123 Refactoring to reduce duplicated code. 2014-08-12 13:50:17 -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
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
Jean-Sbastien Guay
ebc2d23d47 realized the 2 colorbytes case is impossible.
also updated the comment at the top of the file to reflect stbi_write_tga's new capabilities.
2014-08-09 09:16:57 -04:00
Jean-Sbastien Guay
26a71f67fe comment was wrong way around... code was right. 2014-08-09 01:08:43 -04:00
Jean-Sbastien Guay
b8b364c301 stbi_write_tga can now write 1 and 2 channel (grayscale and grayscale-alpha) images. 2014-08-09 00:34:49 -04:00
Michał Cichoń
10def9b150 fix MSVC-ARM internal compiler error by wrapping malloc
For some reason Microsoft CL compiler for ARM is unable to compile malloc when parameter is an expression. malloc(x * y) will cause internal compiler error, malloc(x) is however fine.
2014-08-08 00:46:45 +02: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