Jorge Rodriguez
|
41dc4c476c
|
In some situations with certain filter kernels with negative values it's possible to generate valid results > 1.0, so saturate it before we write it to make sure it doesn't overflow. Also fix incorrect filter radius while downsampling.
|
2014-07-26 22:49:56 -07:00 |
Jorge Rodriguez
|
af1ed58f51
|
Add wrap, fix reflect so it doesn't wrap.
|
2014-07-26 19:30:13 -07:00 |
Jorge Rodriguez
|
8723567439
|
Add edge reflect mode.
|
2014-07-26 19:11:02 -07:00 |
Jorge Rodriguez
|
6cd81d4dd5
|
Put the polynomials in horner form to save a multiplication.
|
2014-07-26 15:36:15 -07:00 |
Jorge Rodriguez
|
fb2f8df5cc
|
Add mitchell filter.
|
2014-07-26 15:06:31 -07:00 |
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.
|
2014-07-26 14:52:28 -07:00 |
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.
|
2014-07-26 13:56:23 -07:00 |
Jorge Rodriguez
|
155c71fb90
|
Reorder these loops because I think we get a cache win if we write the entire ring buffer entry at once.
|
2014-07-26 13:12:48 -07:00 |
Jorge Rodriguez
|
01fb58d6b4
|
Add a bicubic filter.
|
2014-07-26 13:07:04 -07:00 |
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.
|
2014-07-26 12:04:39 -07:00 |
Jorge Rodriguez
|
7abd4ccf34
|
Support for filters with larger support. Initial support for edge behavior.
|
2014-07-26 11:51:02 -07:00 |
Jorge Rodriguez
|
62ff271c7a
|
I put it in the to do list and now I can close my browser tab.
|
2014-07-25 00:08:23 -07:00 |
Jorge Rodriguez
|
81c1ddf110
|
Keeping a list of suggestions so I don't forget them.
|
2014-07-25 00:00:40 -07:00 |
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.
|
2014-07-24 23:50:14 -07:00 |
Jorge Rodriguez
|
666c025710
|
Fix non uniform scaling where out_w < in_w && out_h > in_h.
|
2014-07-24 23:32:25 -07:00 |
Jorge Rodriguez
|
736596ba09
|
Fix non uniform scaling where out_w > in_w && out_h < in_h.
|
2014-07-24 23:27:29 -07:00 |
Jorge Rodriguez
|
178e301ea4
|
Fix upsampling, avoid dereferencing in an inner loop.
|
2014-07-24 22:54:35 -07:00 |
Jorge Rodriguez
|
dbb7480f12
|
Fix nonuniform downsampling.
|
2014-07-24 22:30:35 -07:00 |
Jorge Rodriguez
|
fa69bc8551
|
Basic downsampling algorithm works for uniform sampling.
|
2014-07-24 22:09:08 -07:00 |
Jorge Rodriguez
|
297266b27b
|
Starting to implement downsampling.
|
2014-07-24 19:10:45 -07:00 |
Jorge Rodriguez
|
7d8faf5727
|
Remove unused functions.
|
2014-07-24 15:02:54 -07:00 |
Jorge Rodriguez
|
8ac052ac8a
|
Avoid gaps between box filter kernels.
|
2014-07-24 15:02:39 -07:00 |
Jorge Rodriguez
|
9e726bb3e4
|
The vertical resampling pass. Now all elements of the upscale algorithm are in place.
|
2014-07-24 14:20:18 -07:00 |
Jorge Rodriguez
|
152965f334
|
Decode enough scanlines into a ring buffer to make sure that we have enough source scanlines to do a vertical sampling.
|
2014-07-24 01:04:22 -07:00 |
Jorge Rodriguez
|
158effb62a
|
More accurate names. Smaller size for contributors memory, more accurate to what's needed.
|
2014-07-23 23:08:06 -07:00 |
Jorge Rodriguez
|
855fb207be
|
Merge remote-tracking branch 'remotes/nothings/master'
|
2014-07-23 22:24:59 -07:00 |
Jorge Rodriguez
|
55c5f0b3a0
|
Beginning of a more sophisticated resample algorithm, starting with calculating filter contributions per scan line.
|
2014-07-23 22:17:56 -07:00 |
Sean Barrett
|
ee8e926317
|
even more resampling notes
|
2014-07-22 12:45:24 -07:00 |
Sean Barrett
|
92b08aa98a
|
more resampling notes
|
2014-07-22 12:39:29 -07:00 |
Sean Barrett
|
6f779fb67a
|
whoops imageresampler link
|
2014-07-22 12:17:43 -07:00 |
Sean Barrett
|
9c9a68787d
|
imageresampler library reference
|
2014-07-22 12:16:11 -07:00 |
Sean Barrett
|
3e8a89cad1
|
more resampler notes
|
2014-07-22 11:57:46 -07:00 |
Sean Barrett
|
c27ccec436
|
resampler prototypes
|
2014-07-22 11:37:54 -07:00 |
Sean Barrett
|
63cce5c70a
|
created stb_resample_ideas.txt
|
2014-07-22 10:05:01 -07:00 |
Jorge Rodriguez
|
0155bd3ab6
|
We are going to support SRGB.
|
2014-07-21 19:51:11 -07:00 |
Jorge Rodriguez
|
ba861fa493
|
Allow specifying a stride.
|
2014-07-21 18:01:05 -07:00 |
Jorge Rodriguez
|
06b7b00696
|
It does nothing now but I want to support edge behavior in the future.
|
2014-07-21 16:14:32 -07:00 |
Jorge Rodriguez
|
c27c5b6fbe
|
There's really no point in returning the output buffer.
|
2014-07-21 15:36:43 -07:00 |
Jorge Rodriguez
|
d54e74092e
|
stb_resample initial implementation
|
2014-07-21 00:16:03 -07:00 |
Sean Barrett
|
bcefca10f7
|
fix bad fix in previous fix
|
2014-07-15 22:26:01 -07:00 |
Sean Barrett
|
75b9e9cc1b
|
update stb_image version number
|
2014-07-09 23:45:58 -07:00 |
Sean Barrett
|
b2cbed2634
|
Merge branch 'working'
|
2014-07-09 23:44:48 -07:00 |
Sean Barrett
|
1eb665906e
|
cdecl fixes
|
2014-07-09 23:41:40 -07:00 |
Sean Barrett
|
68b5ec9392
|
fix cdecl
|
2014-07-09 23:39:00 -07:00 |
Sean Barrett
|
e0d86b0f5c
|
STBI_ASSERT
|
2014-07-09 23:35:25 -07:00 |
Sean Barrett
|
3bf91543f4
|
revert img_n=0 initialization to original location
|
2014-07-09 23:26:03 -07:00 |
Sean Barrett
|
a2b9aa8d06
|
modifiy jpeg img_n fix
switch from fopen to fopen_s on later MSVCs
|
2014-07-09 23:23:48 -07:00 |
Sean Barrett
|
70de0adb28
|
Merge branch 'master' of https://github.com/LysanderGG/stb into working
|
2014-07-09 23:03:32 -07:00 |
Sean Barrett
|
932d485146
|
fix warnings in certain console compilers
|
2014-07-09 23:01:29 -07:00 |
Lysander
|
efd6b2698f
|
Fix crash when trying to load progressive jpeg due to uninitialized s->img_n
Proper pointer check before deleting
|
2014-07-09 22:41:22 +09:00 |