Commit Graph

419 Commits

Author SHA1 Message Date
ocornut 1be86b37d6 Documentation 2014-09-26 00:06:30 +01:00
ocornut 50d9752612 Removing tabs and using 3-spaces indents to match local coding style 2014-09-26 00:01:45 +01:00
ocornut 09a1ab87a0 Fix for interlaced and small images + cleanup 2014-09-25 23:52:24 +01:00
ocornut 3b3e2996e7 Unpack 1/2/4 bpp into 8 bpp scanline buffer + support grayscale 1/2/4 bpp 2014-09-25 21:59:50 +01:00
ocornut f2b3ebd470 Support for 1/2/4-bit palettized PNG 2014-09-25 19:30:47 +01:00
Sean Barrett 655d24552a tiny bit of documentation 2014-09-23 18:02:49 -07:00
Sean Barrett 17647014b3 fix c++ compilation 2014-09-23 17:56:03 -07:00
Sean Barrett 43fb9942de Merge branch 'master' of https://github.com/nothings/stb 2014-09-23 17:22:52 -07:00
Sean Barrett 8252a94f02 add stb_tilemap_editor.h 2014-09-23 17:19:25 -07:00
nothings 891f6d7720 Removing bitpacking warning for srgb conversion 2014-09-18 12:52:11 -07:00
nothings 941ace7f22 Delete stb_resample_ideas.txt 2014-09-18 08:34:57 -07:00
Sean Barrett b49d5180ca version numbers 2014-09-18 07:14:33 -07:00
Sean Barrett c32d5c40d2 update version number & contributors 2014-09-18 07:13:57 -07:00
Sean Barrett 69d4c6738b Merge branch 'master' of http://github.com/rygorous/stb into working 2014-09-18 07:10:43 -07:00
Sean Barrett 17e82a4080 Merge branch 'master' into working 2014-09-18 07:10:18 -07:00
Fabian Giesen f36b7116e2 Fix a few bugs with subpixel shifts, shift_y in particular.
1. In the presence of nonzero shift_x / shift_y,
   stbtt_GetGlyphBitmapBoxSubpixel would return a nonzero-sized bounding
   box for empty glyphs (e.g. spaces). Since such glyphs don't have any
   outlines, the rasterizer wouldn't do anything, resulting in a 1x1-pixel
   image with uninitialized memory.
2. GetGlyphBitmapBoxSubpixel added shift_y then flipped the y axis,
   whereas the rasterizer flipped the y axis then added shift_y.
   Consistently flip-then-add in both places. This also makes the pattern
   of floors/ceils in GetGlyphBitmapBoxSubpixel simpler.
3. The rasterizer added shift_y after multiplying by the vertical
   oversampling factor, instead of before.

Vertical shifts now work much better, in my tests anyway.
2014-09-17 22:54:16 -07:00
Sean Barrett dea604b896 add stb_image_resize 2014-09-17 07:11:56 -07:00
Sean Barrett 37faf29f69 Merge branch 'resample' 2014-09-17 07:10:40 -07:00
Sean Barrett 7c0ae19a42 documentation, release data 2014-09-17 07:10:21 -07:00
Sean Barrett 0fc13e997b optimization attempts, no meaningful changes 2014-09-17 06:24:40 -07:00
Sean Barrett 8024673461 switch srgb convert to second ryg method, which is a bit faster (8% total speedup on upsampling test);
remove extra table in slowpath
2014-09-17 06:07:16 -07:00
Jorge Rodriguez a12d3dedf0 Some todo notes. 2014-09-16 10:50:41 -07:00
Jorge Rodriguez cbf5ebbd35 Install ryg's float -> uint8 sRGB conversion code, which is much faster. 2014-09-16 10:36:19 -07:00
Jorge Rodriguez 600d80387e Make a guess at the value before doing the binary search, cuts the number of conditionals by half. Not as much gain as I hoped but something. 2014-09-15 14:01:11 -07:00
Jorge Rodriguez 7602c99e77 Quick formatting fix. 2014-09-15 11:29:40 -07:00
Sean Barrett dd28033b34 don't encode alpha channel twice when alpha is different colorspace from other channels 2014-09-15 07:23:22 -07:00
Sean Barrett bdbf1e0ef4 uint32 images need to round with uint32 cast, not int cast 2014-09-14 15:01:10 -07:00
Sean Barrett 9f66b441bd new quickstart docs;
reformat docs;
new simple uint32 test
2014-09-14 14:55:23 -07:00
Jorge Rodriguez 3c261481a6 Add a very quick guide. 2014-09-13 14:33:13 -07:00
Jorge Rodriguez f0ba7f5f7e Get rid of old perf tests. 2014-09-13 13:42:50 -07:00
Jorge Rodriguez a0d4f79074 Merge pull request #7 from nothings/resample
Resample
2014-09-13 12:31:18 -07:00
Sean Barrett 385d7a417c delete some unused functions;
get rid of stbir__inline for some functions that don't need it
2014-09-13 08:50:10 -07:00
Sean Barrett f711fdcb0f disable performance test in test code, back to regression test path 2014-09-13 08:22:15 -07:00
Sean Barrett 8849501a3f add documentation explaining why even a 64K table for srgb_to_uint8 would be inaccurate 2014-09-13 08:21:14 -07:00
Sean Barrett 9a6af9a8d3 replace int(floor()) with int(), since that produces same results for non-negative values and is much faster on 32-bit x86 2014-09-13 08:12:37 -07:00
Sean Barrett 1dcca19ae0 because of we divide by /255 not /256, we lose numerical precision, so can't guarantee that box filter results round to same results as naive 2014-09-13 08:06:39 -07:00
Sean Barrett adbbe8dabd move x loop inside switch in horizontal_downsample 2014-09-13 07:46:09 -07:00
Sean Barrett 7a8c9196d1 unroll vertical_upsample inner loop, and reverse loop nesting to minimize work 2014-09-13 07:41:39 -07:00
Sean Barrett 9c2ae9bdb8 cache filter-width derived computations that use floor/ceil because those were showing up like crazy on VC6 profile despite only being per-scanline-ish?!?
unroll inner loop in horizontal_resample
2014-09-13 07:29:04 -07:00
Sean Barrett 972456cb63 explicit performance tests variants 2014-09-13 06:53:53 -07:00
Sean Barrett c9600c012f unroll channel loops in downsampler 2014-09-13 06:23:07 -07:00
Sean Barrett 3ee97c221f compile as C 2014-09-13 06:12:40 -07:00
Sean Barrett 59898db411 tweak grammar 2014-09-13 06:05:00 -07:00
Sean Barrett a2f1cadde8 convert tabs to spaces so it's consistent with other stb libs 2014-09-13 06:03:48 -07:00
Sean Barrett 60064f9803 add stb_image_resize.h to readme 2014-09-13 05:56:06 -07:00
Sean Barrett 0fa5b5c66f rename cubic to cubicbspline;
tweak filter type documentation
2014-09-13 05:52:19 -07:00
Sean Barrett 29b36b3dea rename filters, document them 2014-09-12 05:28:24 -07:00
Sean Barrett da2aa8f6b7 checkboard test to verify srgb 2014-09-12 05:04:38 -07:00
Sean Barrett a9778b8dbd tweak docs; fix compile error in UNUSED_PARAM stuff 2014-09-12 04:46:41 -07:00
Sean Barrett 99f3b78bbd Merge branch 'resample' of http://github.com/bsvino/stb into resample 2014-09-12 03:54:17 -07:00