73 Commits (f711fdcb0f019fdaacc24c9315e5bffd115a9ed3)

Author SHA1 Message Date
Sean Barrett f711fdcb0f disable performance test in test code, back to regression test path ago%!(EXTRA string=11 years)
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 ago%!(EXTRA string=11 years)
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 ago%!(EXTRA string=11 years)
Sean Barrett 972456cb63 explicit performance tests variants ago%!(EXTRA string=11 years)
Sean Barrett c9600c012f unroll channel loops in downsampler ago%!(EXTRA string=11 years)
Sean Barrett 0fa5b5c66f rename cubic to cubicbspline; ago%!(EXTRA string=11 years)
Sean Barrett 29b36b3dea rename filters, document them ago%!(EXTRA string=11 years)
Sean Barrett da2aa8f6b7 checkboard test to verify srgb ago%!(EXTRA string=11 years)
Sean Barrett a9778b8dbd tweak docs; fix compile error in UNUSED_PARAM stuff ago%!(EXTRA string=11 years)
Sean Barrett 7a4f1f4665 update with new tests for srgb conversion ago%!(EXTRA string=11 years)
Sean Barrett 16d68d14f8 fix stbir__linear_to_srgb_uchar: ago%!(EXTRA string=11 years)
Sean Barrett 30c7a981ec compile as C; ago%!(EXTRA string=11 years)
Jorge Rodriguez 953a637841 Use a carefully shaped trapezoid instead of a box filter to avoid jumps between pixel values. ago%!(EXTRA string=11 years)
Sean Barrett 4e580cf9ed fix compile ago%!(EXTRA string=11 years)
Jorge Rodriguez c9d67446d2 Reverse allocation routines parameter order so that the context is at the back. ago%!(EXTRA string=11 years)
Jorge Rodriguez 41e6aad693 Avoid repeated adds and ensure correct round-trip result. ago%!(EXTRA string=11 years)
Jorge Rodriguez 969ff7c850 Make sure calculate_memory matches with the allocations. Fix some errant asserts. ago%!(EXTRA string=11 years)
Jorge Rodriguez 4b69c0637e If alpha is zero then sneakily replace it with a very small nonzero so that the color data is preserved. ago%!(EXTRA string=11 years)
Jorge Rodriguez 084baed15c Replace premul test with better premul test that doesn't require visual inspection. ago%!(EXTRA string=11 years)
Jorge Rodriguez 497eab8339 Normalize downsample coefficients. ago%!(EXTRA string=11 years)
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. ago%!(EXTRA string=11 years)
Jorge Rodriguez ca241daefa Use rounding to try to preserve the original value. Fix test case. ago%!(EXTRA string=11 years)
Jorge Rodriguez 118f28557e Tests to ensure images of a solid color stay the same solid color after resampling. ago%!(EXTRA string=11 years)
Jorge Rodriguez e6c47ec657 Fix kernel lookup for downsampling. ago%!(EXTRA string=11 years)
Jorge Rodriguez 8cc6a3abfc If there's no context we're using the simple API functions - fall back to malloc and free. ago%!(EXTRA string=11 years)
Sean Barrett 36db03f390 tighten bounds on filter normalization test ago%!(EXTRA string=11 years)
Sean Barrett 7f8ac35e42 check whether filter kernels are normalized ago%!(EXTRA string=11 years)
Sean Barrett 7da729bfce restore correct definition of box ago%!(EXTRA string=11 years)
Sean Barrett cd1fbacbb6 rename NEAREST to BOX ago%!(EXTRA string=11 years)
Jorge Rodriguez 586e84087c Correctly specify alpha channels. ago%!(EXTRA string=11 years)
Jorge Rodriguez 38ce5494bc Clarify some comments. Make stbir__resize_arbitrary an internal function. Update test cases to use actual API functions. ago%!(EXTRA string=11 years)
Sean Barrett 41555b5d53 update test cases to work on things other than barbara.png ago%!(EXTRA string=11 years)
Jorge Rodriguez fb059fcece Progress report. ago%!(EXTRA string=11 years)
Jorge Rodriguez 75bdd2da83 Fix malloc context and whitespace. ago%!(EXTRA string=11 years)
Sean Barrett aee30095c7 refactor internal interfaces to avoid passing things multiple times; ago%!(EXTRA string=11 years)
Sean Barrett 732fec68ee tweak new API, get it partly working ago%!(EXTRA string=11 years)
Sean Barrett 664d8961f5 new API partially in-use ago%!(EXTRA string=11 years)
Sean Barrett 2549d8156e in-progress refactoring ago%!(EXTRA string=11 years)
Sean Barrett 6ef563d089 rename to stb_image_resize.h ago%!(EXTRA string=11 years)
Sean Barrett eb0781fda0 add comments describing the purpose of the s,t-rectangle tests ago%!(EXTRA string=11 years)
Sean Barrett 9ba3dc1fc5 make resample tests work in VC6 ago%!(EXTRA string=11 years)
Jorge Rodriguez 1353909477 Allow user to force the alpha channel to be handled as a linear value even if the color channels are sRGB. ago%!(EXTRA string=11 years)
Jorge Rodriguez bbc340d481 Support different edge behavior on vertical and horizontal axis. ago%!(EXTRA string=11 years)
Jorge Rodriguez 6ae729d61a Four new tests of subpixel stuff. ago%!(EXTRA string=11 years)
Jorge Rodriguez 45fa6ec900 Update test cases for premul channel -1 meaning don't do any premul handling, fix another no-more-advanced. ago%!(EXTRA string=11 years)
Jorge Rodriguez e75ed1d381 Update test cases for no more advanced API. ago%!(EXTRA string=11 years)
Jorge Rodriguez d75488b0e8 Do the multiply inline, it should be a tad faster and not corrupt our data. ago%!(EXTRA string=11 years)
Jorge Rodriguez 13acfca829 I had the whole premultiply thing backwards. ago%!(EXTRA string=11 years)
Jorge Rodriguez 21c7c8f5d9 Another stab at the api, offering classes of functions for different common tasks. ago%!(EXTRA string=11 years)
Jorge Rodriguez 8063ea0952 Specify a channel as having premultiplied alpha and use it to un-premultiply all other channels before resampling. ago%!(EXTRA string=11 years)