Commit Graph

4247 Commits

Author SHA1 Message Date
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
John Cupitt
0a4991cbc0 oops, put the flags test on a subclass 2016-02-18 19:12:00 +00:00
John Cupitt
6f94cb5ed4 don't cache progressive jpg images
progressive jpg images need loads of memory, we shouldn't cache them by
default ... our called can hold a ref if they want to keep the image
around

see https://github.com/jcupitt/libvips/issues/387
2016-02-18 19:00:19 +00:00
John Cupitt
307895eb41 fix page select in magickload
need to set ->scenes as well
2016-02-18 14:55:53 +00:00
John Cupitt
0b263f7255 phew, working
found the right set of info fields by trial and error
2016-02-18 12:46:44 +00:00
John Cupitt
de59ff0e5a Merge branch 'master' into add-magickload-page 2016-02-18 11:28:09 +00:00
John Cupitt
04dad55e49 faster and safer isprefix 2016-02-16 09:56:14 +00:00
John Cupitt
ef6d8f5979 make test for matlab files more specific
Previously vips just called Mat_Open() to test if a file was a Matlab
save file, but this is rather unreliable. For example, some JPEG files
can crash libmatio, and it can incorrectly think that at least some JP2
files are Matlab save files.

Instead, look for "MATLAB 5.0" at the start of the file. This is really too
specific, the first 116 bytes of a Matlab save file are freeform text,
but in practice all Matlab writers use the first few bytes to record the
file type.

See https://github.com/jcupitt/libvips/issues/385
2016-02-16 09:53:04 +00:00
John Cupitt
8e667fbb3e still not quite there
works, but is no faster, how odd

john@kiwi:~/pics$ time vips magickload nipguide.pdf[40] x.tif
real	0m0.244s
user	0m0.212s
sys	0m0.040s

$ time vips magickload nipguide.pdf x.tif --page 40
real	0m7.035s
user	0m6.900s
sys	0m0.152s

both give same result
2016-02-15 08:53:23 +00:00
John Cupitt
f131aaa082 fix up magickload test again 2016-02-13 14:27:41 +00:00
John Cupitt
789e154cd7 phew, done 2016-02-13 14:04:29 +00:00
John Cupitt
fdf0c349ae almost there
seeing transparency tags when we shouldn't, strange
2016-02-13 11:51:50 +00:00
John Cupitt
c2be771342 fix load from buffer, update APIs 2016-02-12 20:04:46 +00:00