Commit Graph

270 Commits

Author SHA1 Message Date
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
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
Sean Barrett 2549d8156e in-progress refactoring 2014-08-31 07:23:34 -07:00
Sean Barrett 034674c142 Merge branch 'resample2' into resample
Conflicts:
	stb_image_resize.h
2014-08-31 07:23:22 -07:00
Sean Barrett 1bd9770e75 separate filter for horizontal and vertical 2014-08-31 06:47:45 -07:00
Sean Barrett c1b876768e in progress new API 2014-08-31 06:31:50 -07:00
Jorge Rodriguez b75eff36f8 Merge pull request #1 from nothings/resample
stb_resample updates
2014-08-18 11:29:19 -07:00
Sean Barrett 5dfa79fb31 stride doesn't have to be multiples of pixels 2014-08-18 10:18:59 -07:00
Sean Barrett 32b626859d remove most per-pixel switches, beginnings of removing encode_pixel switch 2014-08-18 10:02:00 -07:00
Sean Barrett 5eb0236d9d reverse default behavior of linear/gamma for alpha 2014-08-18 09:33:01 -07:00
Sean Barrett b9bb05b81c minor cleanups 2014-08-18 09:14:11 -07:00
Sean Barrett 6ef563d089 rename to stb_image_resize.h 2014-08-18 09:12:59 -07:00
Sean Barrett eb0781fda0 add comments describing the purpose of the s,t-rectangle tests 2014-08-18 09:01:33 -07:00
Sean Barrett 9ba3dc1fc5 make resample tests work in VC6 2014-08-18 08:56:44 -07:00
Jorge Rodriguez fc09a5d198 Don't saturate floats. 2014-08-12 14:15:05 -07:00
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