Commit Graph

4057 Commits

Author SHA1 Message Date
John Cupitt
82cecf3d9f bilinear interp. supports complex types
in line with cubic etc.
2016-03-14 10:06:45 +00:00
John Cupitt
fba2ac2f85 fix sizing issues with new reduce code
a couple of bugs and some changed conventions
2016-03-13 17:44:24 +00:00
John Cupitt
f12fef4aa9 fix compile 2016-03-13 11:35:35 +00:00
John Cupitt
dc7902b12f Merge branch 'master' into add-lanczos3 2016-03-13 11:23:03 +00:00
John Cupitt
6368ab0649 add switches to disable rad, analyze and ppm
vips has built-in support for rad, analyze and ppm ... add configure
switches to disable these readers

useful to reduce the attack surface in some applications
2016-03-12 16:48:27 +00:00
John Cupitt
42224b6b0e Merge branch '8.2' 2016-03-12 15:12:56 +00:00
John Cupitt
abe4e70d02 make radload slightly more robust
stops some valgrind warnings
2016-03-12 15:10:52 +00:00
John Cupitt
70db9aa77b better rounding in resize 2016-03-12 13:14:34 +00:00
John Cupitt
493482c8a7 hey ho, line cache goes back too 2016-03-11 14:56:06 +00:00
John Cupitt
a832a0c254 notes 2016-03-11 14:42:12 +00:00
John Cupitt
4f41617d89 TODO notes 2016-03-11 13:47:19 +00:00
John Cupitt
08e8c27e38 moore vips_resize() tuning
put back the mild post-shrink sharpen, a little more anti-alias

see https://github.com/jcupitt/libvips/issues/404#issuecomment-195297607
2016-03-11 10:17:41 +00:00
John Cupitt
5d31d8e824 turn up anti-alias for small shrinks
a little more anti-alias for small reductions

see https://github.com/jcupitt/libvips/issues/404#issuecomment-195276154
2016-03-11 09:25:33 +00:00
John Cupitt
2ca7b29214 better gauss mat generation 2016-03-10 22:01:55 +00:00
John Cupitt
4974a1ed9c better rounding for vips_resize()
we were getting off by one size errors
2016-03-10 19:53:05 +00:00
John Cupitt
9209fb25c5 update notes 2016-03-10 17:40:19 +00:00
John Cupitt
d351e07a6b finish up 2016-03-10 17:33:34 +00:00
John Cupitt
e9bf936377 finish vl3
but it's still not producing identical results to reducev, seems to be
offset by one?
2016-03-10 12:16:21 +00:00
John Cupitt
4d10bd12f9 still trying to get reducevl3 to vectorise 2016-03-10 10:24:44 +00:00
John Cupitt
f58d941d99 Merge branch 'master' into add-lanczos3 2016-03-10 08:54:10 +00:00
John Cupitt
61d2aa6586 formatting 2016-03-10 08:53:54 +00:00
John Cupitt
013102de01 finish hl3 version
vl3 nest
2016-03-10 08:43:50 +00:00
John Cupitt
f9d7a8df48 Merge pull request #402 from lovell/defer-LabQ2sRGB-table-building
Performance: only build LAB to sRGB look-up tables if needed
2016-03-10 08:41:08 +00:00
John Cupitt
a26291a426 reducehl3 is done
sort of anyway, tinkering with optimization
2016-03-09 22:47:02 +00:00
Lovell Fuller
a40397c438 Build LAB to sRGB tables only when first needed
Reduces libvips start-up time by ~20ms
2016-03-09 19:20:57 +00:00
John Cupitt
dcd921d7bf silly travis 2016-03-09 13:06:03 +00:00
John Cupitt
e9728e389b first commit 2016-03-09 12:56:30 +00:00
John Cupitt
efa12029a6 add notes on new image format deps 2016-03-08 09:00:57 +00:00
John Cupitt
9201248623 Merge branch '8.2' 2016-03-06 18:05:12 +00:00
John Cupitt
acf5f5169a fix hist_entropy
there was a copy-paste error in the call to vips_log(), thanks Lovell

see https://github.com/lovell/sharp/issues/295
2016-03-06 18:02:59 +00:00
John Cupitt
2ea5c5f7e5 make python bandrank() work like bandjoin()
we had a custom wrapper for bandjoin(), but bandrank(), a function with
an almost identical interface, did not ... this was confusing

bandrank() now has a custom wrapper too ... this breaks API
unfortunately, but hopefully very few people were using this thing and
it's better to make this change as soon as possible
2016-03-01 12:12:51 +00:00
John Cupitt
25c3c49d1c better handling of cast+shift for non-int formats
before, im.cast(uchar, shift = true) where im was float and tagged as
rgb16 would not shift the image, since it's unclear how much to shift a float
type by

now we do two casts: first, we guess the numeric range from the
interpretation, so rgb16 would be ushort, so we cast float->ushort;
second, we cast to the target type and do the shift on the way

see https://github.com/jcupitt/libvips/issues/397

thanks apacheark
2016-03-01 11:31:54 +00:00
John Cupitt
ad7ddc4f24 more vips_resize() tuning
now we have better tuning for the anti-alias blur, we can increase the
amount we shrink by and reduce the amount we affine by

this gives a noticable speedup
2016-03-01 11:19:30 +00:00
John Cupitt
19a838470b add webp shrink-on-load
and vipsthumbnail knows about it too

see https://github.com/jcupitt/libvips/issues/398
2016-02-28 14:36:21 +00:00
John Cupitt
e582f13d13 tiny polish to hist_find
slightly faster again
2016-02-28 12:08:06 +00:00
John Cupitt
e46e2b7b28 Merge pull request #392 from lovell/hist-find-perf
vips_hist_find: ~30% performance improvement for 1-4 band uchar
2016-02-28 11:29:14 +00:00
John Cupitt
b197773095 oop, overflow in sharpen
plus another tweak of the defaults
2016-02-28 11:24:35 +00:00
John Cupitt
ee1874c5ca much better handling of arrayimage cli args
we were not setting the access hint on arrayimage args, so

arrayjoin "$(echo *.jpg)" x.tif[bigtiff] --across 10

would open all the jpg images to memory, usually, in random mode

now arrayimage args see the operation's access hint (seq in this case),
for much better behaviour

also, we allow any whitespace as an arg separator in arrayimage from
string
2016-02-27 20:37:20 +00:00
John Cupitt
35650c2244 reduce the number of copy() ops
reduce the number of copy() ops issued during colour conversion
2016-02-26 14:05:35 +00:00
John Cupitt
cc9517df20 make sharpen defaults better for screen work
the defaults were oriented towards print output, make them more suitable
for screen work
2016-02-26 14:04:54 +00:00
John Cupitt
609e639528 Merge branch '8.2' 2016-02-26 12:44:54 +00:00
John Cupitt
5a60dd26f9 fix parsing of filenames containing brackets
oops, missed part of a regexp in parse_token, see:

https://github.com/jcupitt/libvips/issues/395

thanks shilpi230
2016-02-26 12:41:48 +00:00
John Cupitt
c95bbe43b5 oops in sharpen 2016-02-26 12:26:12 +00:00
John Cupitt
d33306836f better rgb16 -> scrgb handling
helps new sharpen tests
2016-02-26 09:08:42 +00:00
John Cupitt
04cc13e321 notes 2016-02-25 11:47:53 +00:00
John Cupitt
c1f1a7c1b3 improve sharpen for screen work
it was a bit granular (since it was designed for offset work), make sharpen
easier to adjust for smaller effects

- new 'sigma' parameter
- greater parameter range
- more self-tests
2016-02-25 11:16:24 +00:00
John Cupitt
8911820d9e better handling of deprecated args in py
we now allow optional deprecated args to be set
2016-02-25 11:15:47 +00:00
Lovell Fuller
c49e882239 Improve performance of histogram generation for 1-4 band uchar.
The inner loop cannot be auto-vectorized by the compiler so
manually unroll for common cases to achieve a 2x-3x speed-up.
2016-02-23 19:31:19 +00:00
John Cupitt
840c3f2e63 oops typo
thanks Lovell
2016-02-22 14:08:36 +00:00
John Cupitt
01238a0fd5 more progressive jpg changes
- Remove the nocache stuff for prog jpg images. There was no saving in
  practice, since operations downstream could be cached.

  nocache is for objects that can change, not for memory saving

- Call _destroy on the decompress object much earlier, it frees a huge
  amount of memoey for prog jpg images.
2016-02-21 10:57:36 +00:00