John Cupitt
ce0bddaf4f
update notes
2016-07-09 18:22:37 +01:00
John Cupitt
9d7667cbff
oop found a problem
2016-07-09 18:01:46 +01:00
John Cupitt
a9d1c654e2
fixes
2016-07-09 14:15:28 +01:00
John Cupitt
c0bffd53ad
use PingImage() etc
...
much faster now we have a proper header for libMagick
2016-07-09 13:12:31 +01:00
John Cupitt
3130b9b118
add note on Peter's CM work
2016-07-05 08:48:08 +01:00
John Cupitt
d2aeec56b5
convi done
2016-07-01 15:11:17 +01:00
John Cupitt
df81a6fe24
almost there
2016-06-30 14:59:20 +01:00
John Cupitt
1a5aa2125e
add convi
2016-06-24 12:48:08 +01:00
John Cupitt
e60e90b0da
im_conv_f rewrite done
2016-06-23 20:42:03 +01:00
John Cupitt
93a55310d3
compiles
2016-06-23 15:00:26 +01:00
John Cupitt
11b136b2df
pyvips8 can create new metadata
...
previously it tried to lookup the type of the field in set(), now if
OK if there's no field there already
2016-06-17 11:27:13 +01:00
John Cupitt
d56cd4dcb2
note py problem
2016-06-17 09:36:04 +01:00
John Cupitt
f3326c8126
better vips_resize() for cubic/linear/nearest
...
vips_resize() used to do most of a downsize with vips_shrink() and the
final 200 - 300% with vips_reduce(). This was correct for lanczos2/3,
but not right for linear/cubic, which need more shrink and less
reduce to avoid aliasing.
This patch makes vips_resize() leave the final 100 - 200% to
vips_reduce() for linear/cubic, and leave everything to reduce for
nearest.
2016-06-16 09:46:02 +01:00
John Cupitt
58be330714
oop problems found in reducev
2016-06-14 14:56:56 +01:00
John Cupitt
83b1c33441
add tests for C++ += etc
...
all seems to work!
2016-06-11 20:14:48 +01:00
John Cupitt
28efdf1695
working!
2016-06-11 17:36:06 +01:00
John Cupitt
6fa665d6de
notes
2016-06-10 14:45:33 +01:00
John Cupitt
b90145ca31
free pixel buffers on image close
...
We were freeing pixel buffers on thread exit. This was convenient, but
meant that main thread buffers were not freed until program exit. As a
result, long-running programs which created main thread buffers would
slowly fill the operation cache with useless junk, forcing everything else out.
This change also frees pixel buffers on image close. This makes the
cache work much better in long-running programs, and can substantially
reduce memory use.
See https://github.com/jcupitt/libvips/issues/466
2016-06-06 13:50:25 +01:00
John Cupitt
37131e5834
not working tests
2016-06-06 11:03:31 +01:00
John Cupitt
3c696d9a18
notes about sharp needs
2016-06-06 06:39:34 +01:00
John Cupitt
15878bffca
Revert "free main-thread pixel buffers"
...
This reverts commit 2a77301033
.
2016-06-06 06:38:18 +01:00
John Cupitt
2a77301033
free main-thread pixel buffers
...
threads keep pixel buffers in thread-private storage, and free these
buffers on thread exit ... this means buffers created by the main thread will
only be freed on program exit!
if your program creates any main-thread buffers, these buffers will
eventually fill the operation cache and force everything else out,
making the cache useless
this patch explicitly frees main-thread pixel buffers on image close
2016-06-05 16:59:07 +01:00
John Cupitt
cf56b43ebf
notes
2016-06-05 16:34:10 +01:00
John Cupitt
c5a4afbe40
support --strip for tiffsave
...
stops metadata save
2016-06-02 13:14:15 +01:00
John Cupitt
ff8f6364a4
update notes
2016-06-01 16:12:20 +01:00
John Cupitt
916e5b5589
set filename on file read for more types
...
the new loaders were missing the line to set the output filename, so
`vipsheader fred.pdf` was not displaying the filename correctly
2016-06-01 09:14:01 +01:00
John Cupitt
0012cefc25
improve orientation fetch
...
we were generating some annoying messages
2016-06-01 08:59:44 +01:00
John Cupitt
7a91eaa583
tiff save converts for jpg in jpg mode
...
when jpg compression is on, tiffsave now converts the input image for
jpg save ... previously, it would try to send a tiff-formatted image
(eg. perhaps with an alpha channel, or float data), which would fail
see https://github.com/jcupitt/libvips/issues/449
2016-05-31 22:04:07 +01:00
John Cupitt
93d0d15f88
Merge branch 'master' into add-tiff-orientation
2016-05-27 20:25:41 +01:00
John Cupitt
cefc4ce64d
all done
...
seems to all work and pass tests
2016-05-27 20:24:48 +01:00
John Cupitt
2590559e56
basic tests
2016-05-27 20:18:25 +01:00
John Cupitt
f0521d4b5d
all done!
...
a few more tests though
2016-05-27 16:53:25 +01:00
John Cupitt
23f4d9a235
todo notes
2016-05-27 09:56:11 +01:00
John Cupitt
094470c9c1
done, just a few things left
...
- tif->jpg copy seems to loose tag
- add tests
2016-05-27 09:48:08 +01:00
John Cupitt
5a9f2c787b
compiles
...
needs testing etc.
2016-05-26 14:58:04 +01:00
John Cupitt
ac2ce4228b
notes
2016-05-26 07:30:29 +01:00
John Cupitt
5f75e5363b
radsave_base should be abstract
...
now we can set suffs on it, but pick the actual saver from the subclass
2016-05-24 11:19:02 +01:00
John Cupitt
50468a07a2
clean up foreign
...
various cosmetic changes:
- pngsave_buffer now uses Write, not WriteBuf, same change for
radsave_buffer
- move C wrappers out to class defs from foreign.c
- use g_free() not vips_free() for buffer free from low-level savers
- fix var names in some comments
- various style changes for radiance.c
2016-05-24 10:57:02 +01:00
John Cupitt
493ac80890
intltool mystery solved
...
carefully removed 8 years ago, according to the logs
2016-05-18 19:54:27 +01:00
John Cupitt
c84f642d09
removed intltool again
...
and ignire more standard m4/ macros
2016-05-18 16:24:06 +01:00
John Cupitt
db11d3b973
allow nested [] in CLI args
...
this now works:
vips copy x y.dz[suffix=.jpg[Q=90]]
2016-05-16 11:09:47 +01:00
John Cupitt
2cfe4842d3
notes
2016-05-15 09:48:02 +01:00
John Cupitt
24a51098b1
compiler warning
2016-05-12 14:54:28 +01:00
John Cupitt
9fba3b5577
notes on TODO
2016-05-12 08:55:19 +01:00
John Cupitt
38fe936eee
Merge remote-tracking branch 'origin/8.3'
2016-05-08 11:09:28 +01:00
John Cupitt
379b69fda8
note on test suite failure
2016-05-08 10:02:34 +01:00
John Cupitt
948d1103d4
note more webp tests needed
2016-05-07 19:53:00 +01:00
John Cupitt
1f701a61ea
try signalling invalidate on load error
...
to knock load ops out of cache
2016-05-05 15:00:40 +01:00
John Cupitt
37c716be89
more webp doc improvements
2016-05-03 09:36:49 +01:00
John Cupitt
48ef215479
tiny fixups for the webp commit
...
just small formatting changes, plus an unneeded var
see
https://github.com/jcupitt/libvips/pull/430
2016-05-02 09:55:16 +01:00
John Cupitt
d46a57cf6b
update notes
2016-04-11 13:27:04 +01:00
John Cupitt
269cbb8641
better mask sizing for lanczos
2016-04-11 13:19:00 +01:00
John Cupitt
511a0a7da5
better rounding in reducev orc path
2016-04-10 17:52:51 +01:00
John Cupitt
bf1c8707c7
better draw docs
...
add a caching discussion to the start of draw
see https://github.com/jcupitt/libvips/issues/411
2016-04-06 10:26:53 +01:00
John Cupitt
8aa4566c87
update notes
2016-04-02 20:24:54 +01:00
John Cupitt
bc320f1090
much better int mask creation
...
removes some banding from the orc path for reducev
2016-04-02 18:46:10 +01:00
John Cupitt
5f24468dba
tiny code cleanup, note a bug
2016-04-02 11:25:27 +01:00
John Cupitt
95a74cbf28
tiny help polishing
2016-03-25 16:35:28 +00:00
John Cupitt
ddd7ab7459
doc fixups
2016-03-25 10:56:59 +00:00
John Cupitt
1a25c7a083
better rounding in vipsthumbnail
2016-03-25 10:42:21 +00:00
John Cupitt
2996947b0d
start fixing up test_thumbnail
...
since --interpolator no longer does anything
2016-03-25 06:11:01 +00:00
John Cupitt
213f9e23b4
count colour pixels
...
more overcomputation testing
2016-03-24 17:41:05 +00:00
John Cupitt
3c98ba78a0
small experiment
2016-03-22 14:19:32 +00:00
John Cupitt
e8b5cb6c23
add VIPS_COUNT_PIXELS, overcomputation tracking
...
added VIPS_COUNT_PIXELS(), use like this:
static int vips_shrinkh_gen( VipsRegion *or, ... )
{
VIPS_COUNT_PIXELS( or, "vips_shrinkh_gen" );
}
and on image close, if more than 100% of the pixels have been
calculated, you get a warning
only if you enable debugging, since this hurts perf slightly
2016-03-22 12:26:45 +00:00
John Cupitt
4f8aca3a93
sync
2016-03-21 16:40:55 +00:00
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