nothings
4b87ba76fe
Update README.md
2014-12-06 23:22:14 -08:00
nothings
539dc3996b
Update README.md
2014-12-06 23:21:11 -08:00
nothings
19b24bba1a
Update README.md
2014-12-06 23:19:25 -08:00
nothings
c6e1ec0cec
Create README.md
2014-12-06 23:17:44 -08:00
Sean Barrett
22dbcffef7
stbtt_Pack* documentation
...
oversample test tweaks
2014-12-06 23:00:59 -08:00
Sean Barrett
f03e352093
stb_rect_pack: fix LARGE_RECT bug
...
stb_truetype: oversampling, including oversampling demo app
2014-12-06 12:28:46 -08:00
Sean Barrett
b6f8358f47
various fixes for compilation test
2014-12-02 03:00:08 -08:00
Sean Barrett
d97c160e4a
tilemap editor 0.30
2014-10-19 21:18:07 -07:00
Sean Barrett
17647014b3
fix c++ compilation
2014-09-23 17:56:03 -07:00
Sean Barrett
17e82a4080
Merge branch 'master' into working
2014-09-18 07:10:18 -07:00
Sean Barrett
37faf29f69
Merge branch 'resample'
2014-09-17 07:10:40 -07:00
Sean Barrett
0fc13e997b
optimization attempts, no meaningful changes
2014-09-17 06:24:40 -07:00
Jorge Rodriguez
cbf5ebbd35
Install ryg's float -> uint8 sRGB conversion code, which is much faster.
2014-09-16 10:36:19 -07:00
Jorge Rodriguez
600d80387e
Make a guess at the value before doing the binary search, cuts the number of conditionals by half. Not as much gain as I hoped but something.
2014-09-15 14:01:11 -07:00
Sean Barrett
dd28033b34
don't encode alpha channel twice when alpha is different colorspace from other channels
2014-09-15 07:23:22 -07:00
Sean Barrett
9f66b441bd
new quickstart docs;
...
reformat docs;
new simple uint32 test
2014-09-14 14:55:23 -07:00
Jorge Rodriguez
f0ba7f5f7e
Get rid of old perf tests.
2014-09-13 13:42:50 -07:00
Sean Barrett
385d7a417c
delete some unused functions;
...
get rid of stbir__inline for some functions that don't need it
2014-09-13 08:50:10 -07:00
Sean Barrett
f711fdcb0f
disable performance test in test code, back to regression test path
2014-09-13 08:22:15 -07:00
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
2014-09-13 08:12:37 -07:00
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
2014-09-13 08:06:39 -07:00
Sean Barrett
972456cb63
explicit performance tests variants
2014-09-13 06:53:53 -07:00
Sean Barrett
c9600c012f
unroll channel loops in downsampler
2014-09-13 06:23:07 -07:00
Sean Barrett
0fa5b5c66f
rename cubic to cubicbspline;
...
tweak filter type documentation
2014-09-13 05:52:19 -07:00
Sean Barrett
29b36b3dea
rename filters, document them
2014-09-12 05:28:24 -07:00
Sean Barrett
da2aa8f6b7
checkboard test to verify srgb
2014-09-12 05:04:38 -07:00
Sean Barrett
a9778b8dbd
tweak docs; fix compile error in UNUSED_PARAM stuff
2014-09-12 04:46:41 -07:00
Sean Barrett
7a4f1f4665
update with new tests for srgb conversion
2014-09-11 02:10:37 -07:00
Sean Barrett
16d68d14f8
fix stbir__linear_to_srgb_uchar:
...
1. table stored threshhold of transition from i to i+1, but wants to be i-1 to i
2. table was computed by dividing uchar by 256.0 instead of 255.0, causing it to be 100% wrong
2014-09-11 02:05:53 -07:00
Sean Barrett
30c7a981ec
compile as C;
...
fix some unsigned/signed comparisons;
avoid round() since it's not in pre-C99 C;
remove MAX_CHANNELS since I never ended up needing it;
rename STBIR_EPSILON to STBIR_ALPHA_EPSILON;
don't use STBIR_ALPHA_EPSILON on float input (can't remove it properly due to numeric precision, and they can do it themselves);
optimize subtraction of STBIR_ALPHA_EPSILON;
sorry i forgot to commit these separately!;
2014-09-11 01:47:50 -07:00
Sean Barrett
1208730e1e
Merge branch 'resample' of http://github.com/bsvino/stb into resample
2014-09-11 01:15:09 -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
c9d67446d2
Reverse allocation routines parameter order so that the context is at the back.
2014-09-09 22:57:15 -07:00
Jorge Rodriguez
41e6aad693
Avoid repeated adds and ensure correct round-trip result.
2014-09-09 21:57:46 -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
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
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
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
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
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
2549d8156e
in-progress refactoring
2014-08-31 07:23:34 -07:00
Sean Barrett
5dfa79fb31
stride doesn't have to be multiples of pixels
2014-08-18 10:18:59 -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
Sean Barrett
14e8b66119
fix broken map generation
2014-08-17 21:08:43 -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
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
a0537bfd04
Allow compiling as C pre-C99 (don't rely on declare-anywhere)
2014-08-11 01:56:47 -07:00
Jorge Rodriguez
d75488b0e8
Do the multiply inline, it should be a tad faster and not corrupt our data.
2014-07-31 19:00:48 -07:00
Jorge Rodriguez
13acfca829
I had the whole premultiply thing backwards.
2014-07-31 18:46:00 -07:00
Jorge Rodriguez
21c7c8f5d9
Another stab at the api, offering classes of functions for different common tasks.
2014-07-31 18:04:57 -07:00
Jorge Rodriguez
8063ea0952
Specify a channel as having premultiplied alpha and use it to un-premultiply all other channels before resampling.
2014-07-31 17:20:00 -07:00
Jorge Rodriguez
daf325dc03
Sub pixel source area test cases. No problems.
2014-07-31 16:31:45 -07:00
Jorge Rodriguez
aae1c7ca41
ZOOM AND ENHANCE!
2014-07-31 15:16:36 -07:00
Jorge Rodriguez
35cb95b803
Allow for specifying a sub-region of the source image to use. Downsampling only, currently.
2014-07-31 00:39:33 -07:00
Jorge Rodriguez
fdc979e48b
Some minor ports for Linux. No idea how it worked at all in Windows with STB_RESIZE_IMPLEMENTATION instead of STB_RESAMPLE_IMPLEMENTATION.
2014-07-30 17:30:25 -07:00
Jorge Rodriguez
c5de2f3298
Test channels.
2014-07-30 09:42:12 -07:00
Jorge Rodriguez
985ac75251
When doing a perfect po2 nearest neighbor downsample don't allow -0.5 and 0.5 to both contribute to a texel or you'll get a double tap.
2014-07-30 09:27:42 -07:00
Jorge Rodriguez
c2449acc3e
Tests for edge behavior
2014-07-30 09:14:38 -07:00
Jorge Rodriguez
59cb71ea18
Fix float conversion.
2014-07-30 08:47:55 -07:00
Jorge Rodriguez
6625259959
Try to keep integer precision by briefly casting to double while decoding and encoding.
2014-07-30 01:18:23 -07:00
Jorge Rodriguez
11897fbf96
More fixing shorts.
2014-07-30 00:34:25 -07:00
Jorge Rodriguez
1fcbe0daaf
Fix shorts. Add test cases for shorts.
2014-07-30 00:16:13 -07:00
Jorge Rodriguez
7ead9a748d
Fix. Ring buffers are a height value.
2014-07-29 23:09:41 -07:00
Jorge Rodriguez
043fa28c11
Same deal with height.
2014-07-29 23:02:56 -07:00
Jorge Rodriguez
ebe0473d8b
Add a test suite to do a bunch of different resizes to find problems. One problem found was an incorrect calculation of texel support how many margin texels needed when downsampling. When downsampling we need to spread out the support of each contributing texel, so to compensate you need more margin texels.
2014-07-29 22:50:06 -07:00
Jorge Rodriguez
68f93b72d5
Update documentation and add helper functions.
2014-07-29 20:18:28 -07:00
Jorge Rodriguez
5b40906271
My perf testing code.
2014-07-29 17:44:45 -07:00
Jorge Rodriguez
6c8cac0a66
Support for sRGB color space.
2014-07-26 23:44:45 -07:00
Jorge Rodriguez
01fb58d6b4
Add a bicubic filter.
2014-07-26 13:07:04 -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
297266b27b
Starting to implement downsampling.
2014-07-24 19:10:45 -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
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
d54e74092e
stb_resample initial implementation
2014-07-21 00:16:03 -07:00
Sean Barrett
e454b82a78
remove tabs
2014-07-07 07:46:39 -07:00
Sean Barrett
816f31e9bc
fixes and tests
2014-07-07 04:54:52 -07:00
Sean Barrett
4b590c0a62
first pass at stb-izing complete, now need to debug
2014-07-04 09:34:57 -07:00
Sean Barrett
88c99e47fb
initial commit
2014-07-04 08:06:36 -07:00
Sean Barrett
b000f920ac
update stb_image version number
2014-06-22 11:21:11 -07:00
Sean Barrett
2452f0002f
Merge branch 'textedit'
2014-06-19 20:21:32 -07:00
Sean Barrett
d4d046be09
update version number
2014-06-19 20:21:08 -07:00
Sean Barrett
44c37c51c0
add testing project for stb_c_lexer.h
2014-06-19 19:56:11 -07:00
Sean Barrett
f5dfba0b8b
Update stb_image test code to test loading with all channel counts (including 0),
...
to avoid missing bugs like the recent TGA bug in the future. Doesn't check the
*results*, but tests that it doesn't crash or fail.
2014-06-15 13:17:04 -07:00
Sean Barrett
2684499fce
tweak textedit sample fix
2014-06-06 23:59:38 -07:00
Scott Graham
885b1b7ded
fix textedit_sample a bit
2014-06-06 23:08:51 -07:00
Sean Barrett
c28ffbbf0d
Change byte casts in stb_image.h that intentionally truncate to do so explicitly for MSVC runtime check compatibility
2014-06-06 10:15:30 -07:00
Sean Barrett
f54bc09e4f
make header files visible in file list
2014-06-04 17:57:42 -07:00
Sean Barrett
b96edc012c
Merge branch 'headerify'
...
Conflicts:
tests/stretch_test.dsp
2014-06-03 08:51:40 -07:00
Sean Barrett
334cec8d8c
Fix handling of iphone-procesed image to not accidentally appear corrupt (instead they just load wrong).
...
Add a proper testing path to image test
2014-06-03 08:45:34 -07:00
Sean Barrett
a57dfc50fc
fix bugs in new stretchy buffer code, add stretchy buffer tests
2014-06-01 08:01:01 -07:00
Sean Barrett
037491ca45
Merge branch 'working'
2014-05-31 23:43:47 -07:00
Sean Barrett
4e8cade2cf
move image_test into main tests directory
2014-05-31 13:46:13 -07:00
Sean Barrett
2bf4326350
cleanup runtime output/error detection of stb.h unit tests
2014-05-31 13:39:00 -07:00
Sean Barrett
666596ed89
untested rewrite of stretchy_buffer relying on implicit cast from void*
2014-05-31 13:00:39 -07:00
Sean Barrett
a7691e1510
check-in missing project file updates for stb_image.h usage
2014-05-31 06:31:27 -07:00
Sean Barrett
2514fbc2c7
more renaming
2014-05-31 05:38:26 -07:00
Sean Barrett
927b455d85
start converting stb_image.c to a .h file
2014-05-31 04:49:43 -07:00
Sean Barrett
7ed3bb26bb
Merge branch 'working'
2014-05-30 14:25:49 -07:00
Sean Barrett
fcfcb9bb3f
generate README.md in part by parsing libraries so that version numbers are in sync
2014-05-30 14:15:51 -07:00
Sean Barrett
9e566c8b31
trailing newline
2014-05-28 11:05:17 -07:00
Sean Barrett
42bd3e253b
rename test files to be more meaningful
2014-05-27 23:13:34 -07:00
Sean Barrett
e63b3e0702
fix some stuff that used RAD types and so were totally broken, add a compile test/sample
2014-05-27 22:56:57 -07:00
Sean Barrett
1d2770394a
rest of image-test case
2014-05-27 21:56:42 -07:00
Sean Barrett
fc0bfd1b71
fix some typos, add image test program
2014-05-27 21:38:43 -07:00
Sean Barrett
a8fbfd2cb3
stb_divide.h
2014-05-25 21:54:59 -07:00
Sean Barrett
eb62c741ea
fixed warnings for stb_truetype (fixes all outstanding bug reports)
2014-05-25 20:56:24 -07:00
Sean Barrett
31897dfd7f
compile tests for everything except textedit, both C and C++
2014-05-25 20:10:17 -07:00
Sean Barrett
dc6adca82f
vc6 project files for testing stb.h
2014-05-25 13:35:50 -07:00
Sean Barrett
e2caccb811
initial checkin
2014-05-25 10:18:03 -07:00