6ade66182c
allow alpha channel to be channel #0
2014-08-11 02:34:50 -07:00
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
42556fec82
don't require manual synchronization of STBR_MAX_COLORSPACES/MAX_TYPES
2014-08-11 02:26:17 -07:00
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
259c92b550
replace "texel" with "pixel" in identifiers
2014-08-11 02:17:40 -07:00
fc4ca11a52
Fix places in previous commits where tabs got replaced with spaces
2014-08-11 02:16:23 -07:00
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
a0537bfd04
Allow compiling as C pre-C99 (don't rely on declare-anywhere)
2014-08-11 01:56:47 -07:00
3077bf5023
wrap long data lines
2014-08-11 01:50:16 -07:00
94ecd81abe
Merge branch 'master' of http://github.com/BSVino/stb into resample
2014-08-11 01:47:12 -07:00
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
26a71f67fe
comment was wrong way around... code was right.
2014-08-09 01:08:43 -04:00
b8b364c301
stbi_write_tga can now write 1 and 2 channel (grayscale and grayscale-alpha) images.
2014-08-09 00:34:49 -04:00
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
aaea13b71c
version numbers
2014-08-07 04:46:29 -07:00
c8a3522a5f
version number
2014-08-07 04:46:13 -07:00
29f59c0460
update version number
2014-08-07 04:44:17 -07:00
d26beed67d
comments/ version update for platformID = Unicode
2014-08-07 04:41:02 -07:00
0adfac0abe
Merge branch 'master' of https://github.com/HouQiming/stb into working
2014-08-07 04:35:51 -07:00
85c39da625
Merge branch 'rc/const' of https://github.com/ronnychevalier/stb into working
2014-08-07 04:25:12 -07:00
2119c17ae9
stb_vorbis: fix unused variables
...
Conflicts:
stb_vorbis.c
2014-08-07 04:23:33 -07:00
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
758c165d2c
stb_vorbis: fix unused functions
2014-08-07 03:26:27 -07:00
b8b6e7c31a
stb_image: fix unused parameter
2014-08-07 03:26:20 -07:00
422e29017c
stb_vorbis: fix signed/unsigned comparison
2014-08-07 03:26:14 -07:00
893ef013b2
stb_image: fix undefined preprocessor definition
2014-08-07 03:26:08 -07:00
c28e92e856
stb_vorbis: use const char* when appropriate
2014-08-03 23:43:54 +02:00
e05ebdbf1e
My guess is people who care about premultiply also care about color space.
2014-07-31 19:37:42 -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
a32fa8b4df
This to-do item done.
2014-07-31 16:36:09 -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
1b2d104e00
Some error conditions.
2014-07-31 00:52:03 -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
52ac93225a
C<99 ports
2014-07-30 17:33:47 -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