Commit Graph

411 Commits (61428d4526bccce3e268ac3b1aebce27397b2f42)

Author SHA1 Message Date
Sean Barrett 1208730e1e Merge branch 'resample' of http://github.com/bsvino/stb into resample 2014-09-11 01:15:09 -07:00
Jorge Rodriguez 793818d1af Skip zero-coefficient contributors, a fairly decent speedup. 2014-09-10 20:26:14 -07:00
Jorge Rodriguez 46dc8f84fb Use vertical pixel width for the ring buffer. 2014-09-10 20:12:38 -07:00
Jorge Rodriguez 953a637841 Use a carefully shaped trapezoid instead of a box filter to avoid jumps between pixel values. 2014-09-10 19:08:11 -07:00
Sean Barrett 671f04bd7e debugging truetype crash 2014-09-10 15:35:06 -07:00
Sean Barrett 4e580cf9ed fix compile 2014-09-10 15:11:35 -07:00
Jorge Rodriguez 6922628106 Use an even smaller epsilon. Allow the user to avoid the epsilon business if they want to preserve their alpha values. 2014-09-10 15:03:55 -07:00
nothings 057f29f813 update version number 2014-09-10 11:03:49 -07:00
nothings 87b7e3db41 update version number 2014-09-10 11:03:26 -07:00
nothings 5db8a8bc36 Merge pull request #42 from rygorous/master
stb_textedit: Add support for alternative keyboard shortcuts for text/line start/end.
2014-09-10 11:02:04 -07:00
Fabian Giesen 40cc1c59b2 Add support for alternative keyboard shortcuts for text/line start/end. 2014-09-10 10:54:22 -07:00
Jorge Rodriguez c9d67446d2 Reverse allocation routines parameter order so that the context is at the back. 2014-09-09 22:57:15 -07:00
Jorge Rodriguez 17b931047c Add the epsilon value into the alpha instead of using an if statement. It's a tiny bit faster and it can be removed afterwards. 2014-09-09 22:47:53 -07:00
Jorge Rodriguez 1d5c902e2e These minor optimizations were probably already done by the compiler but they can't hurt. 2014-09-09 22:07:40 -07:00
Jorge Rodriguez 41e6aad693 Avoid repeated adds and ensure correct round-trip result. 2014-09-09 21:57:46 -07:00
Jorge Rodriguez f2102d906f Use the info structure to keep track of our memory block sizes to reduce duplicated code and cut down on errors. 2014-09-09 20:58:19 -07:00
Jorge Rodriguez 969ff7c850 Make sure calculate_memory matches with the allocations. Fix some errant asserts. 2014-09-09 20:51:29 -07:00
Jorge Rodriguez 8355ea1184 Use height, not width, for correct progress report. 2014-09-09 18:41:28 -07:00
Jorge Rodriguez 4b69c0637e If alpha is zero then sneakily replace it with a very small nonzero so that the color data is preserved.
Pre-process n1 so that we don't have to do it later on. Can't do n0 since it's used to find the coefficient index.
2014-09-09 18:38:05 -07:00
Jorge Rodriguez d510d70b6a Report downsample progress by when we empty the ring buffer, it's more accurate that way. 2014-09-09 16:35:00 -07:00
Jorge Rodriguez 084baed15c Replace premul test with better premul test that doesn't require visual inspection. 2014-09-09 16:30:06 -07:00
Jorge Rodriguez 497eab8339 Normalize downsample coefficients. 2014-09-09 15:22:29 -07:00
Jorge Rodriguez 43fbc1d5e3 Rearrange the algebra on two of the filters to avoid repeating decimals which cause precision loss. Use int32 to test filters because it's more accurate. 2014-09-09 14:10:14 -07:00
Jorge Rodriguez ca241daefa Use rounding to try to preserve the original value. Fix test case. 2014-09-09 12:16:23 -07:00
Jorge Rodriguez 145690788c Use input_h + pixel_margin * 2 to prevent progress report from ever going above 1. Always report a 0 before and a 1 at the end of each resize. 2014-09-09 10:58:01 -07:00
Jorge Rodriguez 118f28557e Tests to ensure images of a solid color stay the same solid color after resampling. 2014-09-07 16:47:02 -07:00
Jorge Rodriguez e6c47ec657 Fix kernel lookup for downsampling. 2014-09-07 12:57:53 -07:00
Jorge Rodriguez 8cc6a3abfc If there's no context we're using the simple API functions - fall back to malloc and free. 2014-09-07 10:02:51 -07:00
Sean Barrett 36db03f390 tighten bounds on filter normalization test 2014-09-07 05:31:40 -07:00
Sean Barrett 7f8ac35e42 check whether filter kernels are normalized 2014-09-07 05:29:43 -07:00
Sean Barrett 7da729bfce restore correct definition of box 2014-09-07 04:07:07 -07:00
Sean Barrett 08ca345839 Merge branch 'resample2' into resample 2014-09-07 03:36:16 -07:00
Sean Barrett cd1fbacbb6 rename NEAREST to BOX
write test for BOX
2014-09-07 03:19:18 -07:00
Jorge Rodriguez 586e84087c Correctly specify alpha channels. 2014-09-06 21:50:28 -07:00
Jorge Rodriguez 38ce5494bc Clarify some comments. Make stbir__resize_arbitrary an internal function. Update test cases to use actual API functions. 2014-09-06 20:17:19 -07:00
Sean Barrett 41555b5d53 update test cases to work on things other than barbara.png 2014-09-06 14:58:32 -07:00
Jorge Rodriguez fb059fcece Progress report. 2014-09-06 10:57:21 -07:00
Jorge Rodriguez 75bdd2da83 Fix malloc context and whitespace. 2014-09-06 08:48:46 -07:00
Jorge Rodriguez ce7aed0fb7 Merge pull request #3 from nothings/resample
Resample
2014-09-05 16:52:49 -07:00
nothings 2572f3177a Merge pull request #38 from lgvz/comments
Fix comments that got search-and-replaced incorrectly
2014-09-05 09:14:53 -07:00
Tero Hänninen a5f1cb5657 Fix comments 2014-09-05 18:38:39 +03:00
Sean Barrett 952c26e626 inline stbir__encode_pixel into stbir__encode_scanline 2014-09-01 19:29:28 -07:00
Sean Barrett aee30095c7 refactor internal interfaces to avoid passing things multiple times;
finish prepping 'stbir__info' even before calculate_memory;
get rid of 'noinfo' functions since now calculate_memory doesn't need 'em;
add new binary-searched sRGB function (untested)
2014-09-01 16:52:04 -07:00
Sean Barrett 24c540e1b0 rename alpha gamma flag 2014-08-31 10:00:54 -07:00
Sean Barrett 07c35180f7 tweak new API 2014-08-31 09:45:29 -07:00
Sean Barrett 84520de6c4 finish STBI_EDGE_ZERO, untested 2014-08-31 09:32:17 -07:00
Sean Barrett 9a1d34843e STBIR_EDGE_ZERO 2014-08-31 09:10:49 -07:00
Sean Barrett 732fec68ee tweak new API, get it partly working 2014-08-31 08:55:41 -07:00
Sean Barrett 664d8961f5 new API partially in-use 2014-08-31 08:34:05 -07:00
Sean Barrett bbd4e2ee9a new API "finished" but untested 2014-08-31 07:32:10 -07:00