Commit Graph

1605 Commits

Author SHA1 Message Date
John Cupitt 385f8a167f notes 2016-03-21 11:36:15 +00:00
John Cupitt 05156edd15 add orc path for reducev
works, but still not quite right, see some banding
2016-03-18 17:41:51 +00:00
John Cupitt c20eb9dca0 remove old unrolled case for reduce
not used any more
2016-03-15 17:34:31 +00:00
John Cupitt ff88087a28 try making the reduce mask larger with residual 2016-03-15 14:59:59 +00:00
John Cupitt 45c3fea6ac more resize tuning 2016-03-15 09:49:30 +00:00
John Cupitt 773b474116 Merge branch 'master' of github.com:jcupitt/libvips 2016-03-14 13:35:47 +00:00
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 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 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 e9728e389b first commit 2016-03-09 12:56:30 +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 b197773095 oop, overflow in sharpen
plus another tweak of the defaults
2016-02-28 11:24:35 +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 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 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
John Cupitt 0dbd64a122 fix gifload memleak 2016-02-12 17:53:15 +00:00
John Cupitt b10f332404 very close now
just a leak to nail down and some small stuff
2016-02-12 17:30:56 +00:00
John Cupitt 9262d672b7 almost done
a valgrind failure still
2016-02-12 10:53:04 +00:00
John Cupitt 4a63e961ea much faster is_a_svg 2016-02-09 14:42:27 +00:00
John Cupitt 56e45545d3 fix load from buffer 2016-02-09 11:58:43 +00:00
John Cupitt 153886d2eb add svgload
load from bubffer is not working though, strange ... it seems to be
generating a 16-biit image?
2016-02-09 11:01:12 +00:00
John Cupitt 8ffbe98a29 note svg and gif loader needs 2016-02-08 21:47:12 +00:00
John Cupitt 5ca90dc2be final polish 2016-02-08 21:40:44 +00:00
John Cupitt 676d35ed74 add pdfload tests 2016-02-08 20:39:39 +00:00
John Cupitt 991cc4f88b rename as pdfload 2016-02-08 20:25:03 +00:00
John Cupitt bff4157773 add load pdf from buffer 2016-02-08 17:48:18 +00:00
John Cupitt b7030d004a add file type sniffing 2016-02-08 17:04:31 +00:00
John Cupitt 5db2c64d90 add @scale option
and set xres/yres
2016-02-08 16:57:37 +00:00
John Cupitt adfd25a5ed byteswap popplerload
and better path absoluteization
2016-02-08 16:37:47 +00:00
John Cupitt be574be539 popplerload hacking
metadata, relative filenames
2016-02-08 14:41:57 +00:00
John Cupitt a7192ce8c6 update notes 2016-02-08 10:00:18 +00:00
John Cupitt a41a1d5c33 popplerload seems to work
though it's not been tested much
2016-02-08 09:30:33 +00:00
John Cupitt 8da4e706dd start adding poppler support 2016-02-07 23:33:43 +00:00
John Cupitt 8cffd136e9 finish reduce
and fix up bicubic a bit, it works better on int32 images now
2016-02-07 17:41:39 +00:00
John Cupitt 39e6963033 start tests 2016-01-29 17:55:54 +00:00
John Cupitt 67f3ecfd8d wire up to resize / similarity
still need tests
2016-01-29 15:23:00 +00:00
John Cupitt fbe010b80a in-line reduceh as well 2016-01-29 15:01:54 +00:00
John Cupitt dd7b30bd00 in-line reducev
bit quicker
2016-01-29 13:16:00 +00:00
John Cupitt 3bb24f2567 some tinkering
still not very quick
2016-01-28 09:33:32 +00:00
John Cupitt 4d18300560 add VIPS_FABS/MAX/MIN/CLIP
macros which use the gcc __builtin_fabs() etc. functions when they can
2016-01-26 12:26:21 +00:00
John Cupitt d3f87c5f44 notes 2016-01-20 11:58:59 +00:00
John Cupitt dbf9a5ed1c fix dzsave tile-width default
was wrong for google / zoomify layouts

revise tests too
2015-12-30 11:23:33 +00:00
John Cupitt 1593b23fc4 allow smaller rowsperstrip
and some other tiny things
2015-12-13 14:55:56 +00:00
John Cupitt 5916e25c31 rename python bandjoin as ibandjoin
oh argh class and instance methods are in the same namespace, so we have
to rename the instance one as ibandjoin

also, start adding a test for arrayjoin
2015-12-12 12:29:20 +00:00
John Cupitt 18baf40b1a fix mapim typo
oops! typo ... also an off-by-one issue for larger stencils

more error checking in interpolators

fix rounding in nohalo/lbb ... they were rounding to nearest in the
interpolator, rather than using floor. This broke assumptions about
stencil position elsewhere. The right way to do centre convention is to offset
the whole input by 0.5 pixels.
2015-11-22 10:29:45 +00:00
John Cupitt 16c4eeabad python does auto complx/uncomplx
this is a bit ugly :-(
2015-11-20 16:29:43 +00:00
John Cupitt a8b78371f8 better run_cmplx()
ready to go into Vips.py
2015-11-20 14:55:28 +00:00
John Cupitt 32f6f5ed22 fix atan() for -ve angles 2015-11-20 14:45:51 +00:00
John Cupitt 8506ff13a6 try to improve vips_resize() quality
small improvements to vips_resize() quality:

* turn down the anti-alias filter a little so we don't smudge out texture
* don't do the final sharpening pass if we skipped the anti-alias filter
* fix a >/>= mixup which meant we didn't sharpen for small resizes
2015-11-19 15:22:23 +00:00
John Cupitt 40173838d1 use atan2 and hypot more
might be a little quicker
2015-11-19 14:34:03 +00:00
John Cupitt 743b21e83e fix off by 1 error 2015-11-19 13:25:52 +00:00
John Cupitt d27bbd6803 add mapim test
and a python mapim example
2015-11-19 11:44:58 +00:00
John Cupitt e47b631105 add notes 2015-11-19 09:55:03 +00:00
John Cupitt 8e6ed3ef30 compiles 2015-11-16 14:58:51 +00:00
John Cupitt d88304a297 sync 2015-11-12 09:15:31 +00:00
John Cupitt 03a4e54649 slightly less stupid float->int mask
still not quite right
2015-11-11 16:51:08 +00:00
John Cupitt f32ab06a1c fix test suite 2015-11-11 15:00:15 +00:00
John Cupitt d94a2807c9 smarter cache sizing for vips_resize
see comment in code, should now account for max delay possible
2015-11-11 10:23:50 +00:00
John Cupitt aedb174537 note 2015-11-11 08:33:41 +00:00
John Cupitt ca51b46e9a docs, c++, all done 2015-11-07 20:54:00 +00:00
John Cupitt 295b18585a python uses bandjoin_const when possible
added a test case, speedup seems worthwhile
2015-11-07 20:34:56 +00:00
John Cupitt 9cb2674a77 now works woo
python interface plus test and benchmark to go

update c++ too I guess

oh docs as well sigh
2015-11-07 18:47:02 +00:00
John Cupitt 2f98f38d8a started bandjoinconst 2015-11-06 14:58:32 +00:00
John Cupitt de65da85b9 smarter conversion of float masks to int
we were just rint()ing masks going from float -> int, but this could
give bad results in some cases, with output images becoming darker
or lighter, as individual elemets moved up or down

now we adjust the output scale to try to keep the overall brightness
the same, if we can

see: https://github.com/jcupitt/libvips/issues/344
2015-11-06 14:29:23 +00:00
John Cupitt d38a78d0ea notes 2015-11-05 12:40:03 +00:00
John Cupitt 82d96fb73e notes 2015-11-04 21:19:31 +00:00
John Cupitt 30a3d2f7fa fix shrink with non-int args
fix a silly bug, add a test
2015-11-04 12:00:49 +00:00
John Cupitt d126a733a0 better rgb16/grey16 conversion
things like float tagged as rgb16 did not save well as png ... new
conversion rules should help

see https://github.com/jcupitt/libvips/issues/344
2015-11-04 11:34:52 +00:00
John Cupitt 11ce13d43d enable new shrink code
2x faster, much lower memuse
2015-10-31 12:15:48 +00:00
John Cupitt 582a7f1810 shrink2 now done
big mem saving, still a bit slower though
2015-10-31 10:43:08 +00:00
John Cupitt da8f236f95 try a split shrink
not quite done yet
2015-10-30 18:15:14 +00:00
John Cupitt 07ca974273 note on IM link problems
vips won't build against current imagemagick

seems to be a change in IM, see:

	http://www.imagemagick.org/discourse-server/viewtopic.php?f=3&t=28603

see also:

https://github.com/jcupitt/libvips/issues/343
2015-10-30 14:53:35 +00:00
John Cupitt ceb1b96d06 note that quadratic is unfinished 2015-10-08 17:40:37 +01:00
John Cupitt e62df8c573 fix more cppcheck warnings
cppcheck now passes, with a few false positives

see https://github.com/jcupitt/libvips/issues/331
2015-09-29 09:23:01 +01:00
John Cupitt 6ec2364f84 TODO note 2015-09-09 16:08:03 +01:00
John Cupitt c4206536ee ping travis 2015-07-25 04:52:26 +01:00
John Cupitt d459b2f95d update notes 2015-07-21 16:06:18 +01:00
John Cupitt 4dec42a9e5 oops 2015-07-17 13:20:08 +01:00
John Cupitt 83cd265e7d one strange issue left 2015-07-16 15:40:11 +01:00
John Cupitt 69fc2c1b7c getting closer ...
fix RefString handling, add a test case
2015-07-16 11:14:33 +01:00
John Cupitt 6ffdc6a7b7 better sanity checking for input profiles
previously it could get RGBA and CMYK images mixed up, see:

https://github.com/lovell/sharp/issues/237
2015-06-26 11:07:00 +01:00
John Cupitt 17bace3483 fix corrupt test image 2015-06-22 06:52:02 +01:00
John Cupitt 230cc975fc Merge branch 'master' into add-hsv
Conflicts:
	TODO
2015-06-21 19:33:19 +01:00
John Cupitt 7077356496 another try at improving progress feedback 2015-06-21 19:28:10 +01:00
John Cupitt 12764053db note bug 2015-06-20 11:23:13 +01:00
John Cupitt 801cb67b6f notes 2015-06-20 11:17:04 +01:00
John Cupitt e4c53e59dd fix a compile error 2015-06-20 10:54:24 +01:00
John Cupitt 6fc3ec028c better progress feedback 2015-06-19 15:00:48 +01:00
John Cupitt e107dd11c0 test band fold/unfold factors 2015-06-11 12:49:11 +01:00
John Cupitt d7d8e03a86 add @factor to bandunfold 2015-06-11 09:45:14 +01:00
John Cupitt 65c343552c add @factor option to bandfold
how much to fold by
2015-06-10 14:57:50 +01:00
John Cupitt e83a3bbfd1 add a test for byteswap() 2015-06-07 16:24:52 +01:00
John Cupitt e9720afb18 add vips_bandfold()/vips_bandunfold()
was part of vips_copy(), but it was very ugly there
2015-06-05 14:52:05 +01:00
John Cupitt dbd852211e move bytw swapping out to vips_byteswap()
it was an option to vips_copy(), ugly!
2015-06-05 13:56:26 +01:00
John Cupitt e84b97038f add mono image -> many band column
or row ... handy for loading LUT images from CSV files
2015-06-04 16:02:41 +01:00
John Cupitt 5cb2239d7d try to support DOS ppm/csv files on linux
swap \r\n for \n in vips__fgetc()
2015-06-04 12:58:30 +01:00
John Cupitt a511221984 notes 2015-06-04 09:38:08 +01:00
John Cupitt c35e2e5427 add RefString getter
to python now unpacks VipsRefString on get_value()
2015-06-02 13:32:48 +01:00
John Cupitt baf78fc04a oops, fix base64 encode/decode padding
we were adding up to two bytes of null to the end of base64-encoded
binary data due to a signed/unsigned mixup

add a test for this, plus a test for vips file format
2015-05-31 18:17:26 +01:00
John Cupitt 98e80903e0 metadata was not being saved to vips files
broken by the rewind changes a few weeks ago

added a test too
2015-05-28 16:19:32 +01:00
John Cupitt 045678d438 vips_copy() can turn bands into width
handy for slicing up very large 3D arrays
2015-05-15 14:24:53 +01:00
John Cupitt 8566f3999a bug? 2015-05-14 21:50:12 +01:00
John Cupitt 29fc735f90 Merge branch 'master' of github.com:jcupitt/libvips
Conflicts:
	TODO
2015-05-11 13:30:35 +01:00
John Cupitt 25bf910f21 vipsthumbnail uses vips_premultiply() 2015-05-09 16:33:38 +01:00
John Cupitt ec52d1b922 change vips_flatten() alpha rules
now match vips_premultiply()

add tests

foreign knows about new logic
2015-05-09 12:10:42 +01:00
John Cupitt 9dda68f8cd final polish 2015-05-09 10:21:31 +01:00
John Cupitt ac800fd034 note on vipsthumbnail 2015-05-08 14:51:55 +01:00
John Cupitt 66c51b7d23 add an experimental premultiply operation 2015-05-07 23:42:02 +01:00
John Cupitt ad017dc56f add more C++ convenience functions
flipver() etc.
2015-04-24 10:10:44 +01:00
John Cupitt 9f0ecae95a better vips_warn() docs 2015-04-13 15:53:21 +01:00
John Cupitt 8d09db7cd4 found some old code we can remove 2015-03-05 14:49:13 +00:00
John Cupitt d20f0bf617 improve bandalike
better setting of interpretation in output
2015-03-05 12:10:26 +00:00
John Cupitt 339f268200 add some API for args, fix a docs messup 2015-03-02 22:02:33 +00:00
John Cupitt 094f690042 notes 2015-03-02 11:30:29 +00:00
John Cupitt e24fddc808 notes 2015-03-02 08:57:02 +00:00
John Cupitt 5ccb5ad70d add () overload to python
for vips_getpoint()
2015-03-01 12:15:48 +00:00
John Cupitt ded01df512 c++: add [], change ()
() used to return element zero, just return a vector

add [] overload
2015-03-01 10:43:02 +00:00
John Cupitt 367819b5cc oops 2015-02-28 22:56:09 +00:00
John Cupitt 5d912fdbbb add [] overload to python
index and slice image bands
2015-02-28 16:53:06 +00:00
John Cupitt a49e6772fd notes 2015-02-27 11:54:18 +00:00
John Cupitt fc5a4a917a make file format readers close fds early
we were using two fds per open image, now we just use one

jpg, magick, tiff, png
2015-02-26 14:09:01 +00:00
John Cupitt 2b9471b19d add note on tiff autorot 2015-02-24 14:04:04 +00:00
John Cupitt 78acd9b7a0 use a better name for the dzsave temp dir
see https://github.com/jcupitt/libvips/issues/242

dzsave with deepzoom layout and fs container writes a temp dir called
dzsave-temp-324857 or similar, and makes sure that this directory does
not exist

after write, the foo_files and foo.dzi files are picked out to the
current dir and the temp removed
2015-02-22 15:59:31 +00:00
John Cupitt 98b9214b4c add a note 2015-02-22 09:37:56 +00:00
John Cupitt 01d0a5f05e notes 2015-02-17 15:14:18 +00:00
John Cupitt 53c53006a6 add some more tests for the tiff saver 2015-02-17 15:04:15 +00:00
John Cupitt ed5c90175a final cleanup 2015-02-17 14:45:39 +00:00
John Cupitt 8f7c2c7110 sort out alpha going to and from 16-bit
rewritten sRGB <-> scRGB so that 16-bit alpha is scaled to float 8
2015-02-12 17:50:38 +00:00
John Cupitt 244ab301f7 start final push for vips 8 2015-02-11 17:01:02 +00:00
John Cupitt 5b90e36559 notes 2015-02-10 14:44:35 +00:00
John Cupitt 640477dc62 better python imageize
sets interpretation as well ... was causing problems with jpg save
colour transforms
2015-02-10 14:08:37 +00:00
John Cupitt 62177ad24e notes 2015-02-10 10:17:01 +00:00
John Cupitt 346a9e70c0 remove --disable-cxx flag
it was getting too hard to support :( automake now generates libtool
lines before configure runs, so it can't know we don't want a C++ link

see https://github.com/jcupitt/libvips/issues/231
2015-02-07 10:37:13 +00:00
John Cupitt d53e63e50f note 2015-02-05 14:55:40 +00:00
John Cupitt d6dbfea064 much faster RGB16 -> sRGB path 2015-02-04 16:48:25 +00:00