Jorge Rodriguez
|
fb2f8df5cc
|
Add mitchell filter.
|
ago%!(EXTRA string=11 years) |
Jorge Rodriguez
|
69af963c42
|
Add catmull rom filter. Also, move the debug asserts for values <= 1 to the very end of the process. This will make these bugs a lot harder to find, but because some filter kernels have negative values it's possible for the buffers to have values > 1 up until the point where it's converted back to an int.
|
ago%!(EXTRA string=11 years) |
Jorge Rodriguez
|
12acf87eec
|
When downsampling start the buffer loop at -filter_texel_margin to make sure that all contributors get their taps in at the ring buffer.
|
ago%!(EXTRA string=11 years) |
Jorge Rodriguez
|
155c71fb90
|
Reorder these loops because I think we get a cache win if we write the entire ring buffer entry at once.
|
ago%!(EXTRA string=11 years) |
Jorge Rodriguez
|
01fb58d6b4
|
Add a bicubic filter.
|
ago%!(EXTRA string=11 years) |
Jorge Rodriguez
|
a95da9ee1d
|
Unroll the multiply-add loops. At the cost of a function pointer dereference we get a whole lot of conditionals eliminated. Should be a solid win once the debug asserts are gone.
|
ago%!(EXTRA string=11 years) |
Jorge Rodriguez
|
7abd4ccf34
|
Support for filters with larger support. Initial support for edge behavior.
|
ago%!(EXTRA string=11 years) |
Jorge Rodriguez
|
27926e78b8
|
Make consistent tests for whether we're doing upsampling or downsampling of width and height. Don't request memory for horizontal buffer or encode buffer if we don't need it.
|
ago%!(EXTRA string=11 years) |
Jorge Rodriguez
|
666c025710
|
Fix non uniform scaling where out_w < in_w && out_h > in_h.
|
ago%!(EXTRA string=11 years) |
Jorge Rodriguez
|
736596ba09
|
Fix non uniform scaling where out_w > in_w && out_h < in_h.
|
ago%!(EXTRA string=11 years) |
Jorge Rodriguez
|
178e301ea4
|
Fix upsampling, avoid dereferencing in an inner loop.
|
ago%!(EXTRA string=11 years) |
Jorge Rodriguez
|
dbb7480f12
|
Fix nonuniform downsampling.
|
ago%!(EXTRA string=11 years) |
Jorge Rodriguez
|
fa69bc8551
|
Basic downsampling algorithm works for uniform sampling.
|
ago%!(EXTRA string=11 years) |
Jorge Rodriguez
|
297266b27b
|
Starting to implement downsampling.
|
ago%!(EXTRA string=11 years) |
Jorge Rodriguez
|
7d8faf5727
|
Remove unused functions.
|
ago%!(EXTRA string=11 years) |
Jorge Rodriguez
|
8ac052ac8a
|
Avoid gaps between box filter kernels.
|
ago%!(EXTRA string=11 years) |
Jorge Rodriguez
|
9e726bb3e4
|
The vertical resampling pass. Now all elements of the upscale algorithm are in place.
|
ago%!(EXTRA string=11 years) |
Jorge Rodriguez
|
152965f334
|
Decode enough scanlines into a ring buffer to make sure that we have enough source scanlines to do a vertical sampling.
|
ago%!(EXTRA string=11 years) |
Jorge Rodriguez
|
158effb62a
|
More accurate names. Smaller size for contributors memory, more accurate to what's needed.
|
ago%!(EXTRA string=11 years) |
Jorge Rodriguez
|
55c5f0b3a0
|
Beginning of a more sophisticated resample algorithm, starting with calculating filter contributions per scan line.
|
ago%!(EXTRA string=11 years) |
Jorge Rodriguez
|
0155bd3ab6
|
We are going to support SRGB.
|
ago%!(EXTRA string=11 years) |
Jorge Rodriguez
|
ba861fa493
|
Allow specifying a stride.
|
ago%!(EXTRA string=11 years) |
Jorge Rodriguez
|
06b7b00696
|
It does nothing now but I want to support edge behavior in the future.
|
ago%!(EXTRA string=11 years) |
Jorge Rodriguez
|
c27c5b6fbe
|
There's really no point in returning the output buffer.
|
ago%!(EXTRA string=11 years) |
Jorge Rodriguez
|
d54e74092e
|
stb_resample initial implementation
|
ago%!(EXTRA string=11 years) |