Commit Graph

1444 Commits (28c28b0bd23534f405938e29505fb47780fadd3d)

Author SHA1 Message Date
Chris Forseth 28c28b0bd2 Per the contributor doc - added my name. Noticed urraka also did some work here, so hopefully didn't step on any toes.
- Fix an issue where the spec of the gif for restore to previous uses code 3, not 4.
- To get results that worked - made an assumption that "clear to background" meant "revert back to what was there before I drew", where mode 1 would revert back to the previous frame [slightly different].  If I clear to background color instead, I ended up with large opaque squares in gifs that changes their transparent colour each frame.
- Background color is supposed to be used only for pixels not rendered by the image, so took that to mean it only really affected the previous frame, or potentially any frame that used full disposal.  Since background color is allowed to be unspecified this is what lead me to believe I shouldn't use it for disposal.
- Oh, also upped the codes table to 8192 as 4096 ended up being too small for a few of my test cases.

Full disclaimer - I only read through the GIF format for this contribution, so competly could be misinterpreting the spec - but this gave me reuslts that matched Chrome.
2017-11-27 23:06:53 -06:00
Chris Forseth 87a3143fb4 GIF Loading - multiple frames;
- Allow loading a gif as multiple frames into a single buffer.  Each frame is a full image seperated by a (w * h * comp) stride.
- Optionally, can pass in a pointer to a int, which will be filled with an array layers long contain ms for each frame.
- Fix gif's not loading the initial transparent background
- I believe also fix disposal rules for subsequent frames (though being somewhat inefficient with memory to do so)
- Add a flip_vertical that takes into account slices as well.

Compiled using VS2017, but nothing else as I'm not really setup for it.  Apologies.
2017-11-27 22:41:51 -06:00
Sean Barrett 9d9f75eb68 update readme 2017-07-24 03:32:32 -07:00
Sean Barrett 961923b5a3 fix documentation 2017-07-24 03:32:20 -07:00
Sean Barrett dd039e8cc5 credits for mingw fixes in #444 2017-07-23 14:13:07 -07:00
Sean Barrett 3b232a3ff7 Merge branch 'master' of https://github.com/Infatum/stb into dev 2017-07-23 14:10:17 -07:00
Sean Barrett 555efbedfc Update version numbers 2017-07-23 14:09:39 -07:00
Fabian Giesen 0fbbda56fa stb_image: Account for tRNS chunk in non-paletted images.
So we report channels_in_file correctly.

Fixes #329.
2017-07-23 01:41:12 -07:00
Fabian Giesen 7725f8b9cd stb_leakcheck: Derp, I should free the right thing.
Fixes #307, this time for real.
2017-07-23 01:33:21 -07:00
Fabian Giesen 5a5cf7f9ba stb_leakcheck: Make stb_leakcheck_free actually free.
Fixes issue #307.
2017-07-22 20:44:27 -07:00
Fabian Giesen 5ebeb38edb stb_rect_pack: Remove unused rect_width_compare().
Fixes #416.
2017-07-22 20:25:57 -07:00
Fabian Giesen c59cb96874 Merge branch 'fix-issue-461' of https://github.com/rygorous/stb into dev 2017-07-22 19:44:05 -07:00
Fabian Giesen fedf03e774 Merge branch 'fix-issue-466' of https://github.com/rygorous/stb into dev 2017-07-22 19:42:52 -07:00
Fabian Giesen 282576fbfb Merge branch 'rygorous-fix-issue-276' into dev 2017-07-22 19:42:23 -07:00
Fabian Giesen 9b6652fe3a Merge branch 'rygorous-sprintf_reformat' into dev 2017-07-22 19:41:40 -07:00
Fabian Giesen b1d058e5c7 stb_truetype: Fix typo, as pointed out by oyvindjam.
Fixes #471.
2017-07-22 19:37:03 -07:00
Fabian Giesen 30c7c6b583 stb_truetype: Support reading OS/2 vertical metrics
...as present in MS TrueType files. Since this table is optional,
the new stbtt_GetFontVMetricsOS2 has a return value and can fail.
This is a replacement for pull request #463.

Fixes #463.
2017-07-22 19:24:41 -07:00
Fabian Giesen 49c7f1b397 stb_image: Optimise vertical flip.
This incorporates #462, but also factors everything into one
function that is shared between 8-bit integer, 16-bit integer, and
float pixels (vertical flip operates on rows of bytes and doesn't
really care), and finally always uses a 2k on-stack buffer without
dynamic memory allocation, doing multiple memcpys per row if
necessary. Not only does this remove an out-of-memory failure mode,
it is also preferable for large images, since it's more
L1-cache-firendly this way.

Fixes #462.
2017-07-22 18:43:36 -07:00
Fabian Giesen 501812f307 stb_leakcheck: Fix warnings.
1. const char* for __FILE__ (string literals are const)
2. Use %zd to print size_t where available; the only real problem
   here is Visual C++. Use long long on the VC++ vers that support
   64-bit targets but not %zd, int on the even older 32-bit-only
   VC++ vers that don't support "long long" either.

Fixes #459. I think. (It's hard to be sure since the issue doesn't
state the exact warning message.)
2017-07-22 18:03:52 -07:00
Fabian Giesen 931662ae6e stb_image_write: Warning fix. 2017-07-22 16:04:07 -07:00
Fabian Giesen 25a2596b2f stb_image: Fix rounding during unpremultiply.
This is the same method as in pull request #455, but using integer
arithmetic instead of converting to float.

Fixes #455.
2017-07-22 15:59:41 -07:00
Fabian Giesen 463dd85f1f Merge branch 'Reedbeta-fix-vs2015-warnings' into dev 2017-07-22 15:51:28 -07:00
Fabian Giesen 3ef1cb174e Merge branch 'fix-vs2015-warnings' of https://github.com/Reedbeta/stb into Reedbeta-fix-vs2015-warnings 2017-07-22 15:51:14 -07:00
Fabian Giesen 69ef103721 Merge branch 'poppolopoppo-load_16_variants' into dev 2017-07-22 15:42:58 -07:00
Fabian Giesen 4868b5283b stb_dxt: Update contributors list. 2017-07-22 15:40:27 -07:00
Fabian Giesen 316571b395 stb_image: 3-char indent and other minor formatting issues. 2017-07-22 15:38:56 -07:00
Fabian Giesen b226e71ce6 Merge branch 'load_16_variants' of https://github.com/poppolopoppo/stb into poppolopoppo-load_16_variants 2017-07-22 15:35:32 -07:00
Fabian Giesen 31f8c2109b Merge branch 'ppiastucki-bc4' into dev 2017-07-22 15:29:50 -07:00
Fabian Giesen e9b8f7ea35 Merge branch 'bc4' of https://github.com/ppiastucki/stb into ppiastucki-bc4 2017-07-22 15:28:27 -07:00
Fabian Giesen 14c2993310 Merge branch 'realitix-robustify' into dev 2017-07-22 15:23:14 -07:00
Fabian Giesen b53457130d Merge branch 'robustify' of https://github.com/realitix/stb into realitix-robustify 2017-07-22 15:22:57 -07:00
Fabian Giesen 7a6251689f Merge branch 'h-s-c-stb_dxt_static' into dev 2017-07-22 15:13:13 -07:00
Fabian Giesen 99df133ae4 Merge branch 'stb_dxt_static' of https://github.com/h-s-c/stb into h-s-c-stb_dxt_static 2017-07-22 15:12:10 -07:00
Fabian Giesen 897e6e8314 Merge branch 'h-s-c-stbi_no_stdio-fix' into dev 2017-07-22 15:11:03 -07:00
Fabian Giesen b119e6d1d2 Merge branch 'stbi_no_stdio-fix' of https://github.com/h-s-c/stb into h-s-c-stbi_no_stdio-fix 2017-07-22 15:10:44 -07:00
Fabian Giesen 24f2522e00 Merge branch 'h-s-c-stb_dxt-freestanding' into dev 2017-07-22 15:08:40 -07:00
Fabian Giesen e1f17c3c6c Merge branch 'stb_dxt-freestanding' of https://github.com/h-s-c/stb into h-s-c-stb_dxt-freestanding 2017-07-22 15:08:33 -07:00
Fabian Giesen aaa793350e Merge branch 'cdwfs-stbtt_const_fontdata' into dev 2017-07-22 15:06:09 -07:00
Fabian Giesen 530c05ee61 Merge branch 'stbtt_const_fontdata' of https://github.com/cdwfs/stb into cdwfs-stbtt_const_fontdata 2017-07-22 15:05:56 -07:00
Fabian Giesen 3870b2fe3b Merge branch 'DanielGibson-write-jpg' into dev 2017-07-22 15:04:22 -07:00
Fabian Giesen 526ed469e2 Merge branch 'write-jpg' of https://github.com/DanielGibson/stb into DanielGibson-write-jpg 2017-07-22 15:03:35 -07:00
Fabian Giesen 2da81a6433 stb_vorbis: MinGW has alloca defined in malloc.h.
Fixes issue #461.
2017-07-22 14:39:52 -07:00
Fabian Giesen cc7f1d1e6d stb_image: Documentation fixes.
req_comp is now desired_channels and *comp is *channels_in_file.

Fixes issue #466.
2017-07-21 22:35:01 -07:00
Fabian Giesen 0674660451 stb_image: Relax raw_len validation for non-interlaced PNGs.
We used to require exact match between img_len and raw_len for
non-interlaced PNGs, but the PNG in issue #276 has extra bytes
(all zeros) at the end of the compressed DEFLATE stream.

The PNG spec doesn't have anything to say about it (that I
can tell), and if libpng accepts this, who are we to judge.

Fixes issue #276.
2017-07-21 21:55:37 -07:00
Fabian Giesen 481db7501c stb_sprintf: Remove some gratuitous gotos 2017-07-21 20:31:58 -07:00
Fabian Giesen 7b8955bfaa stb_sprintf: More whitespace cleanups post clang-format 2017-07-21 20:23:50 -07:00
Fabian Giesen cccbc3f5a9 stb_sprintf: Clean up the mess with clang-format 2017-07-21 20:17:34 -07:00
Sean Barrett 423298e071 fix SDF documentation and add example code 2017-07-12 09:27:04 -07:00
Sean Barrett 38479bc58c stb_truetype version number 2017-07-12 07:25:20 -07:00
Sean Barrett 9a2e92e818 SDF documentation 2017-07-12 07:10:13 -07:00