Sean Barrett
22fa9a467a
rewrite HDR rle logic
2015-01-18 10:43:42 -08:00
Sean Barrett
5b53d20c68
Put progressive JPEG AC decode logic back the way I wrote it originally (I changed it to match jpgd when I was trying to figure out why it didn't work);
...
add STBI__ prefixes to internal SCAN_ enum;
strip unused function arguments for progressive funcs;
tweak release notes;
forget to git commit frequently so these would all be in their own commits;
2014-12-23 05:11:36 -08:00
Sean Barrett
16d9ed7211
return truetype test code to old path
2014-12-21 08:32:09 -08:00
Sean Barrett
53008c0922
default tests
2014-12-21 08:25:13 -08:00
Sean Barrett
33e24eafa0
in progress progressive stuff
2014-12-21 07:53:05 -08:00
Sean Barrett
ba5e333faf
STBI_MALLOC etc.
...
some documentation cleanup
2014-12-20 05:46:13 -08:00
Sean Barrett
bd6b78f268
finalize scalar YCbCr conversion back-ported from SSE version;
...
add missing STBIDEFs to a few functions;
update documentation with full 1.49 info even though most isn't implemented yet
2014-12-20 05:13:25 -08:00
Sean Barrett
f259bf27e9
VC6:
...
support using inline asm for cpuid
YCbCr:
switch SSE code to constants that match old C;
create C version that is same as SSE;
tiny optimization(?) of SSE
2014-12-19 04:39:04 -08:00
Sean Barrett
f547761c15
Fix assert() that should be STBI_ASSERT()
2014-12-14 18:14:14 -08:00
Sean Barrett
f9e593c25c
Merge branch 'optimize' of https://github.com/rygorous/stb into working
...
Conflicts:
stb_image.h
Also disable VC6 automatic precompiled headers which were enabled in some projects.
2014-12-14 01:57:22 -08:00
Sean Barrett
8ac015c03f
fix 1/2/4-bit png to filter bytes before decoding to pixels;
...
rename pngsuite/part1 to pngsuite/primary;
check in pngsuite
2014-12-14 01:43:23 -08:00
Sean Barrett
01d2c9d957
test program now verifies pngsuite tests against refererence versions
2014-12-14 00:01:50 -08:00
Sean Barrett
8679ce08b7
fix incorrect img_n variable for interlaced files, caused files to be totally incorrect if forcing channel count
2014-12-13 23:35:55 -08:00
Sean Barrett
26439254e8
fix use of stbrp_coord if no stb_rect_pack;
...
fix a few assert()s that weren't STBTT_asserts();
fix missing cast for C++
fix typo in C++ test compilation that prevented it from trying to compile stb_truetype
2014-12-10 00:27:11 -08:00
nothings
8ac41a413d
fix typo
2014-12-08 11:42:47 -08:00
nothings
3a5caacaae
Update README.md
2014-12-06 23:50:34 -08:00
nothings
49d5456de9
Update README.md
2014-12-06 23:49:29 -08:00
nothings
916800aae5
Update README.md
2014-12-06 23:48:10 -08:00
nothings
cd5b5a5684
Update README.md
2014-12-06 23:46:40 -08:00
nothings
b62bc08c34
Update README.md
2014-12-06 23:31:12 -08:00
nothings
ae5bc8dfe9
Update README.md
2014-12-06 23:30:46 -08:00
nothings
9b1e1c50c0
Update README.md
2014-12-06 23:28:28 -08:00
nothings
7d0cec62c8
Update README.md
2014-12-06 23:28:04 -08:00
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