John Cupitt
dd5a108854
fix up new seq mode stuff
...
seems to work
2017-03-05 21:59:53 +00:00
John Cupitt
55840cf131
try setting a seq meta
...
and only caching in shrinkv if we see the tag
2017-03-05 21:59:01 +00:00
John Cupitt
20f99b62cf
more ideas
2017-03-05 21:59:01 +00:00
John Cupitt
e6b20cbd0f
Revert "remove stalling"
...
This reverts commit 959f412380
.
2017-02-27 10:26:32 +00:00
John Cupitt
e7ae10ef68
Revert "more UNBUF fixes"
...
This reverts commit a4d3c2a754
.
2017-02-27 10:25:41 +00:00
John Cupitt
6cbda61ec1
fix thumbnail crop on rotated images
...
crop after rotate so we don't need to rotate the crop box
thanks ElHeineken!
see https://github.com/jcupitt/libvips/issues/608
2017-02-23 20:26:59 +00:00
John Cupitt
a4d3c2a754
more UNBUF fixes
...
try to keep compat better, remove the single-thread-first-tile idea
2017-02-21 16:53:48 +00:00
John Cupitt
959f412380
remove stalling
2017-02-21 15:03:15 +00:00
John Cupitt
646960077d
fix cache hint for shrink
...
shrink had UNBUFFERED as a cache hint, but for non-int shrinks it used
affine, so you could get out of order reads
set regular SEQ as the cache hint, and switch to reduce for the final
resize in the non-int case
see https://github.com/jcupitt/libvips/issues/596
2017-02-09 09:10:03 +00:00
John Cupitt
b140c18a37
various tweaks to calm coverity
...
passes cleanly now
2017-01-20 08:55:13 +00:00
John Cupitt
fb88d037fc
Merge branch 'master' into add-thumbnail-geometry
2017-01-17 11:51:10 +00:00
John Cupitt
6b325145e4
use new hints and prepare everywhere
2017-01-12 14:36:44 +00:00
John Cupitt
c5e675f7db
fix --vips-cache-max etc.
...
--vips-cache-max, --vips-cache-max-memory and --vips-cache-max-files were not
working and probably hadn't been for a while
vipsthumbnail.c turns off the operation cache, it's not useful for
the same operation repeated across many files
2017-01-10 14:12:24 +00:00
John Cupitt
2fa3736722
all done, I think
2017-01-06 13:43:43 +00:00
John Cupitt
2be0b97dce
switch to g_warning()_/g_info()
...
we had vips_warn() and vips_info(), but they are a bit crappy ... switch
to g_warning() and g_info() instead
see https://github.com/jcupitt/libvips/issues/544
2017-01-03 15:52:27 +00:00
John Cupitt
5644296b1c
expand intro to resample
2016-11-21 13:10:06 +00:00
John Cupitt
7d0c821a6e
add tests for thumbnail
2016-11-02 13:51:09 +00:00
John Cupitt
0faedcd088
docs done
2016-11-02 11:19:08 +00:00
John Cupitt
d4b4eb44a3
works!
2016-11-02 11:07:30 +00:00
John Cupitt
efe824ec13
compiles!
2016-11-02 09:29:19 +00:00
John Cupitt
b7dd72e166
start hacking
2016-10-31 11:14:54 +00:00
John Cupitt
d3cafb3a9f
seems to work
...
add @centre option for downsampling, see
https://github.com/jcupitt/libvips/issues/504
2016-09-10 10:31:33 +01:00
John Cupitt
1e9cdef615
try centre sampling option
2016-09-09 14:51:45 +01:00
John Cupitt
271d8656e9
use round() rather than rint() where appropriate
...
rint() rounds to nearest even, rather than nearest ... in some cases,
like geometry transforms, we want strict nearest
2016-08-20 12:59:41 +01:00
John Cupitt
1f403a4add
first attempt
...
seems to all work, test it a bit more
see https://github.com/jcupitt/libvips/issues/491
2016-08-15 15:45:26 +01:00
John Cupitt
2e8f14c6a5
Merge branch 'master' into rewrite-convf
2016-08-01 15:08:45 +01:00
John Cupitt
b6768a7e0f
small speedup for reduceh
2016-08-01 12:04:15 +01:00
John Cupitt
23d9bad581
doc improvements
2016-07-13 09:24:41 +01:00
John Cupitt
097ecd07c1
doc improvements
2016-07-13 07:06:43 +01:00
John Cupitt
0c2259d34b
improve similarity docs
...
rotation direction was wrong, add type comments
https://github.com/jcupitt/libvips/issues/475
2016-06-28 17:07:14 +01:00
John Cupitt
bd7bad1916
almost done vector path
2016-06-28 11:07:20 +01:00
John Cupitt
65105a9442
upsize with something other than nearest
...
vips_resize() uses to just use nearest when upsizing, following standard
practice in repro. This is often unfortunate for image processing, where
small nearest upsizes will produce obvious aliasing.
It now picks a VipsInterpolate which corresponds (roughly) to the
selected VipsKernel and uses that with affine for any upsizing.
2016-06-22 10:33:08 +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
a5bef08d4a
better reducev multiplication
...
more accurate, no slower
add more tests too
2016-06-15 13:56:19 +01:00
John Cupitt
948d1103d4
note more webp tests needed
2016-05-07 19:53:00 +01:00
John Cupitt
1ae92bb15f
make optional args into bullets
...
make docs easier to read
2016-05-02 10:12:37 +01:00
John Cupitt
02821ae9e3
expose @kernel setting for vips_resize()
...
a new optional arg lets you pick the downsizing kernel
2016-05-01 12:33:49 +01:00
John Cupitt
c2d1de9a26
allow mixed zoom and shrink in resize
...
vips_resize() now allows >1 on one axis, <1 on the other ... previously,
although you could have non-square ratios, you couldn't mix zoom and
shrink
2016-05-01 12:03:13 +01:00
John Cupitt
65b9ced6e9
improve arg order
...
more consistent
2016-04-11 13:23:25 +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
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
3115310bb7
fix no-orc builds
2016-03-26 10:45:31 +00:00
John Cupitt
2ab14a3590
better rounding in vector reducev
...
add before downshift to round to nearest on 16->8 fixed-point conversion
2016-03-25 06:07:58 +00:00
John Cupitt
ec5cdf4fff
Merge branch '8.2'
2016-03-24 16:09:44 +00:00
John Cupitt
72ea91fecc
fix nohalo, vsqbs interpolators
...
we were getting occasional memory access problems in nohalo and vsqbs
interpolators ... the previous fix was not enough
version bump
2016-03-24 16:06:31 +00:00
John Cupitt
36e0b60ffa
put the resize cache back again
...
stops overcomputation on vips_shrink()
2016-03-22 14:35:44 +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
c2035eb0f0
similarity uses reduce more often
2016-03-21 14:18:01 +00:00
John Cupitt
063706f300
notes
2016-03-21 11:11:27 +00:00
John Cupitt
ba3ae9e671
finished!
...
fix up preciscion and signedness issues, simpler inner loop
2016-03-21 11:08:38 +00:00
John Cupitt
57cba39607
switch to 2.6 bits
...
almost working
2016-03-20 22:29:25 +00:00
John Cupitt
74984f1049
off by one error
...
didn't always write the output
2016-03-19 10:37:02 +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
46a18118c6
works!
2016-03-15 16:46:18 +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
ac4e5ce059
return of shrink-less-affine-more
...
though a bit less extreme
2016-03-14 14:58:02 +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
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
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
013102de01
finish hl3 version
...
vl3 nest
2016-03-10 08:43:50 +00:00
John Cupitt
a26291a426
reducehl3 is done
...
sort of anyway, tinkering with optimization
2016-03-09 22:47:02 +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
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
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
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
4b2349323c
all working
...
though not as quick as hoped :(
2016-01-27 21:59:07 +00:00
John Cupitt
991349c9a7
add cubicv, reducev
...
untested
2016-01-27 15:01:54 +00:00
John Cupitt
3e78bdb6a9
reduceh is working!
2016-01-27 14:34:06 +00:00
John Cupitt
8b09c86492
add cubich interp., start reduceh
2016-01-27 11:12:36 +00:00
John Cupitt
1f93efd65d
fix more compiler warnings
2016-01-26 16:41:03 +00:00
John Cupitt
db20d70495
fix some more compiler warnings
...
and a bit of formatting
2016-01-26 15:10:46 +00:00
John Cupitt
07a1903390
use g_assert_not_reached()
...
we were using g_assert(0) ... g_assert_not_reached() makes the
intention clearer
2016-01-24 13:21:53 +00:00
John Cupitt
31e4168718
clip bicubic output range from int
...
The output range of the bicubic interpolator is outside the input range,
we must clip from a larger type.
See https://github.com/jcupitt/libvips/pull/372
2016-01-23 10:09:11 +00:00
John Cupitt
0dd7f14ada
put interpolate param back
...
Although no current interpolators use the interpolate param, having it
there makes it possible for other (perhaps user-defined) interpolators
to be parameterised.
For example, you could write:
vips affine in.v out.v "2 0 0 2" --interpolate sharp[2]
and `sharp` could do a bicubic and sharpen by 2 in a single operation.
See https://github.com/jcupitt/libvips/pull/372
2016-01-23 09:57:27 +00:00
John Cupitt
a7d889df06
use builtin floor / ceil
...
get rid of FAST_PSEUDO_FLOOR, add VIPS_FLOOR and VIPS_CEIL, use them
everywhere
see https://github.com/jcupitt/libvips/pull/372
2016-01-23 09:50:57 +00:00
Lovell Fuller
25eeb82de6
Consolidate FAST_PSEUDO_FLOOR macros, prefer __builtin_floor if available
...
Use of vips_interpolate_get_method avoids need to pass interpolate instance
Remove an unnecessary temp variable to help prevent register starvation
5% less time in vips_interpolate_bicubic_interpolate
10% less time in vips_affine_gen
2016-01-22 22:26:29 +00:00
John Cupitt
9b968491d3
unroll shrinkh inner loop
...
use VIPS_UNROLL for the inner loop, another 5% or so
2016-01-22 10:21:38 +00:00
John Cupitt
dce70c82a5
vectorise vips_shrinkh()
...
add special paths for 1, 3 and 4 bands so we can vectorise
see https://github.com/jcupitt/libvips/pull/369
2016-01-22 09:49:20 +00:00
John Cupitt
2e5880b69c
speed up for vips_shrinkh()
...
remove the sum buffer, we can just use a local, about 5% faster
see https://github.com/jcupitt/libvips/pull/369
2016-01-22 09:15:38 +00:00
Lovell Fuller
572354b793
Allow compiler to vectorise vips_shrinkh
...
Reduce for-loop count in shrinkh macros
Don't access loop variable outside loop
Remove unnecessary use of ceil from integer
2016-01-21 20:18:56 +00:00
John Cupitt
4512400a3c
better rounding in new bilinear interp
...
was off by 0.5
2016-01-14 13:13:08 +00:00
John Cupitt
e40a3d166e
oops
2015-12-17 13:49:39 +00:00
John Cupitt
fb084ef6a6
working
2015-12-17 13:43:34 +00:00
John Cupitt
7068fbb20b
new bilinear interpolator
2015-12-16 14:48:00 +00:00
John Cupitt
3570f61f3d
Merge branch 'master' of github.com:jcupitt/libvips
2015-12-04 07:28:52 +00:00
John Cupitt
848adca836
fix an off-by-one error in mapim
2015-12-02 16:09:39 +00:00
John Cupitt
d42caca820
Merge branch 'master' of github.com:jcupitt/libvips
2015-11-24 14:54:29 +00:00
John Cupitt
c79e77438f
add restrict tags
2015-11-24 14:53:40 +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
2620f3b8c9
allow non-square vips_resize()
...
in a very crude way
2015-11-19 17:09:18 +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
743b21e83e
fix off by 1 error
2015-11-19 13:25:52 +00:00
John Cupitt
cdccf01c46
rename as mapim
2015-11-16 20:32:48 +00:00
John Cupitt
c858066fe0
works, but needs testing
2015-11-16 20:09:27 +00:00
John Cupitt
8e6ed3ef30
compiles
2015-11-16 14:58:51 +00:00
John Cupitt
d32bc97ccb
start hacking it in
2015-11-16 11:08:10 +00:00
John Cupitt
4c51f5b36d
tune cache sizes a bit more
2015-11-11 13:00:25 +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
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
ceb1b96d06
note that quadratic is unfinished
2015-10-08 17:40:37 +01:00
John Cupitt
d88dd1ab72
fix a few coverity issues
...
a couple of minor bugs, and a lot of warnings
2015-09-30 09:54:50 +01:00
John Cupitt
24084aed85
Merge branch 'add-copy-to-memory'
2015-04-19 11:13:15 +01:00
John Cupitt
54c37e7e0d
add copy-to-memory
...
try to make a threadsafe vips_image_wio_input()
2015-04-19 09:45:20 +01:00
John Cupitt
a345a517c1
add docs note
...
note that when resizing, xres/yres need to be updated by the application
2015-02-25 08:47:45 +00:00
John Cupitt
ffbb259c86
C++ oops, see
...
346a9e70c0
2015-02-09 18:56:47 +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
57196ee702
fix an operation cache bug
...
when testing two operations for equality, need to check that both had an
optional arg set before testing the value
2015-01-29 13:47:14 +00:00
Lovell Fuller
8fbe8c36fa
Resize builder uses 7 temp images
...
Prevents memory leak and possible segfault
2015-01-22 13:27:52 +00:00
John Cupitt
d9709119fa
oop, leak in vips_resize()
...
see https://github.com/jcupitt/libvips/issues/217
2015-01-21 13:17:39 +00:00
John Cupitt
0eca68a088
fix vips_resize() C API
...
oops, see https://github.com/jcupitt/libvips/issues/223
2015-01-21 09:05:36 +00:00
John Cupitt
7b76120d78
oop, fix leak in affine
...
see: https://github.com/jcupitt/libvips/issues/217
2015-01-13 10:05:27 +00:00
John Cupitt
a7a025707a
fix default interpolator in similarity
...
was not defaulting correctly
2014-12-10 17:32:56 +00:00
John Cupitt
384a5e05dc
change parameters of vips_gaussblur()
...
sorry :-(
The old param (passing sigma*2 as an int) were just too confusing
coming from other packages. This new behaviour matches ImageMagick, and
almost everyone else in the world.
A new optional param lets you set the minimum amplitude as well.
2014-11-19 12:27:26 +00:00
John Cupitt
2a4f56ff9f
notes
2014-11-19 09:51:52 +00:00
John Cupitt
77d5bd8d08
add sharpening step to vips_resize()
2014-11-18 21:39:29 +00:00
John Cupitt
589e15b8a4
better vips_resize()
2014-11-18 18:37:19 +00:00
John Cupitt
394149e9e8
fix all docs warnings
2014-11-17 10:32:40 +00:00
John Cupitt
be4ffa6d8a
more pyvips8 docs
...
and cleanups of various small doc markup errors
2014-11-07 14:49:18 +00:00
John Cupitt
927b2d7954
remove cimg and gmic
...
move this to a plugin, it's too big for the core library
2014-10-08 17:51:07 +01:00
John Cupitt
6f8b5c6745
bring the rest of the API into python
2014-09-05 23:18:16 +01:00
John Cupitt
31f969abec
oops, fix without-cxx compilation
...
see
https://github.com/jcupitt/libvips/issues/155
thanks Andrea
2014-08-17 18:12:48 +01:00
John Cupitt
2e2809a6b4
Merge remote-tracking branch 'origin/7.40'
...
Conflicts:
ChangeLog
2014-08-17 10:00:03 +01:00
John Cupitt
0b896119d4
fix similarity rotate + scale
...
thanks Topochicho
see https://github.com/jcupitt/libvips/issues/154
2014-08-13 17:44:29 +01:00
John Cupitt
fe7bd9bdcc
add vips_resize()
...
a wrapper over affine that just scales ... much faster from the
command-line, since it can set SEQ mode
2014-08-13 13:57:52 +01:00
John Cupitt
b24cbb492c
Merge remote-tracking branch 'origin/7.40'
...
Conflicts:
ChangeLog
TODO
configure.ac
libvips/foreign/vipspng.c
2014-08-12 13:41:52 +01:00
John Cupitt
2b086cfe6e
add signed int bicubic path
...
better rounding for 8- and 16-bit signed int bicubic
2014-08-07 10:13:08 +01:00
John Cupitt
ebeee822bc
better rounding behaviour for bicubic
...
fixed-point bicubic was not rounding to nearest, introducing some noise
in flat areas
2014-08-05 10:02:11 +01:00
John Cupitt
e4996d8dce
don't set shrink too low
2014-08-04 21:25:19 +01:00
John Cupitt
ecd771cde7
Merge branch 'affine-bug'
...
Conflicts:
libvips/resample/transform.c
2014-08-01 16:35:59 +01:00
John Cupitt
274e6c1b2b
revise affine, yet again
...
how can this be so hard
the tougher self-tests in nip2/test/extras now all pass
2014-08-01 16:34:09 +01:00
John Cupitt
0bb8a218bb
exit() in fewer cases
...
we now only exit() when we know the stack has been trashed, just warn in
other cases
2014-07-29 15:23:27 +01:00
John Cupitt
32a8fe117e
start working on --disable-deprecated
...
need to move im_conv() etc to classes to finish this
2014-07-25 18:06:52 +01:00
John Cupitt
1a8dd2f299
fix affine identity transform with clipping
2014-07-08 17:09:42 +01:00
John Cupitt
0e68067a82
oops dropped a patch
2014-06-18 14:08:41 +01:00
John Cupitt
84d65c1727
Merge branch '7.38'
...
Conflicts:
libvips/resample/affine.c
2014-06-18 13:48:08 +01:00
John Cupitt
5e57c13af7
fix affine in a better way
...
argh this time
2014-06-18 12:34:20 +01:00
John Cupitt
d01beb5411
fix coordinate error in affine
...
see https://github.com/jcupitt/libvips/issues/131
2014-06-17 14:22:55 +01:00
John Cupitt
131b78ad67
forgot to turn off DEBUG
2014-06-17 14:21:31 +01:00
John Cupitt
519898a7ac
oop, affine coordinate error
...
we were offsetting the input image incorrectly, compare
the way the transform is set up in vips_affine_build() and
im__affinei()
see https://github.com/jcupitt/libvips/issues/131
2014-06-17 14:18:12 +01:00
John Cupitt
e2cda919ea
match works
2014-05-26 14:20:38 +01:00
John Cupitt
fb489bad53
move vips_image_decode() into the public API
2014-02-03 14:29:57 +00:00
John Cupitt
4167bdf0e6
small operation description fixes
...
more consistency, fix a couple of missing ones
2014-02-03 09:25:09 +00:00
John Cupitt
13a6ed1457
Merge remote-tracking branch 'origin/7.38'
...
Conflicts:
ChangeLog
configure.ac
libvips/conversion/falsecolour.c
libvips/resample/affine.c
2014-01-23 15:25:09 +00:00
John Cupitt
d059431867
more auto-decode stuff
...
more to do though
2014-01-22 14:53:48 +00:00
John Cupitt
4ac08bc2d6
add some auto unpack stuff
...
so RAD etc get unpacked automatically
2014-01-22 13:26:59 +00:00
John Cupitt
bf9fc7f855
auto-unpack RAD in affine
2014-01-22 10:02:38 +00:00
John Cupitt
cd7fcf5cfe
redo im_rank() as a class
2014-01-17 14:44:25 +00:00
John Cupitt
0bb052414a
use plain "restrict"
...
configure changes this to __restrict__ for us, if the compiler supports
it
2013-12-03 08:53:36 +00:00
John Cupitt
29eed7b2b5
remove repack code from affine
...
just done in compat wrapper now
2013-11-29 23:20:32 +00:00
John Cupitt
e0b9b3cd5c
more polishing
...
and instrument stuff for vipsthumbnail
2013-11-28 14:56:19 +00:00
John Cupitt
dec76f566d
Merge remote-tracking branch 'origin/master' into rot45
2013-10-25 12:58:17 +01:00
John Cupitt
3dce5951c2
reverse similarity rotation direction convention
...
The rest of vips uses +ve-is-clockwise convention, like almost all image
processing packages. The new similarity operator was mistakenly using the
mathematical +ve-is-anticlockwise convention, oops.
2013-10-25 12:56:24 +01:00
John Cupitt
12cf71a6a9
combin copy_fields and demand_hint
...
We had two API calls, vips_image_copy_fields() and vips_demand_hint().
They are now combined in the single vips_image_pipeline() call.
All operations are now slightly smaller and simpler.
2013-10-22 09:29:40 +01:00
John Cupitt
439522a254
add vips_similarity()
...
simple wrapper over vips_affine() that lets you give the matrix as scale
+ angle.
2013-10-03 11:56:35 +01:00
John Cupitt
440b3a3362
fix up -DVIPS_DEBUG build
2013-07-15 10:49:49 +01:00
John Cupitt
7312fd4ed4
more array->matrix renaming
2013-07-03 09:22:04 +01:00
John Cupitt
9278498623
add vips_matrixload(), vips_matrixsave()
...
read and write vips mat format to and from VipsImage
also fix a leak with vips_check_matrix()
2013-07-02 12:08:46 +01:00
John Cupitt
2fd2fd58f7
fix up gtk-doc
...
fix various problems:
- out of date IGNORE in doc/reference/Makefile.am
- name clashes between private .h and public
2013-06-17 20:16:20 +01:00
John Cupitt
038015a971
Merge remote-tracking branch 'origin/7.32'
2013-06-14 09:04:01 +01:00
John Cupitt
216d286065
fix --disable-cxx build
...
quadratic.c was missing from the list of non-C++ sources, thanks Michael
2013-06-14 09:01:18 +01:00
John Cupitt
bd5c4757e8
fix vips_shrink() seq again
...
perhaps properly this time
2013-06-06 12:08:26 +01:00
John Cupitt
0c6da0c330
fix demand hints for shrink
...
"vips shrink" was broken due to wonky demand hints, thanks Jan
2013-04-08 13:08:24 +01:00
Benjamin Gilbert
8cc76a6ba3
Update address for Free Software Foundation
...
Also update LGPLv2.1 license text from the copy currently on the GNU
website.
2013-03-07 00:40:19 -05:00
John Cupitt
90709538e6
update configure system
2013-01-23 10:17:51 +00:00
John Cupitt
c570bf902e
revert recent changes to nohalo/vsqbs
...
revert the changes to nohalo/vsqbs that were suppoed to switch to corner
convention, they broke addressing
this needs rethinking
2013-01-16 11:50:34 +00:00
John Cupitt
1ae19e896f
Merge remote-tracking branch 'origin/7.30'
...
Conflicts:
libvips/conversion/sequential.c
libvips/conversion/tilecache.c
libvips/deprecated/im_tile_cache.c
libvips/deprecated/vips7compat.c
po/vips7.pot
2013-01-15 13:47:48 +00:00
John Cupitt
ac405862ba
argh
2013-01-11 14:51:12 +00:00
John Cupitt
da0b890e84
argh
2013-01-10 14:46:20 +00:00
John Cupitt
05324ca33c
fix up affine
...
now passes valgrind with both vips7 and vips8 interfaces
2013-01-02 12:52:36 +00:00
John Cupitt
0951e2faa4
still segving with labq
2012-12-19 14:50:01 +00:00
John Cupitt
dbdf9c8d83
deprecate vips7 resample dispatch
2012-12-18 13:43:46 +00:00
John Cupitt
e6eb08173f
can now displace affine input space
...
so hopefully that means you can change corner vs. centre convention
easily
2012-12-18 13:08:18 +00:00
John Cupitt
1fc10d56a8
half-way through expanding transform
...
started putting in input displacement
2012-12-17 09:59:04 +00:00
John Cupitt
40bb7a2eb3
im_affine*() compat functions work too
2012-12-14 15:09:11 +00:00
John Cupitt
f441e3c566
now passes valgrind
2012-12-14 14:58:17 +00:00
John Cupitt
27b9b92c60
now runs!
2012-12-14 14:17:53 +00:00
John Cupitt
4c82d45463
redo im_affine as a class
2012-12-14 12:33:47 +00:00
John Cupitt
43d69e74e7
use corner convention everywhere
...
all interpolators use corner convention
2012-12-13 14:10:52 +00:00
John Cupitt
7a202cf95e
Merge remote-tracking branch 'origin/master' into newmaxmin
...
Conflicts:
TODO
2012-12-04 12:49:04 +00:00
John Cupitt
1aee7b73d5
start new max hacking
2012-12-03 14:53:10 +00:00
John Cupitt
6f22c00df4
NN now rounds down rather than to nearest
...
nearest-neighbour interpolation now strictly rounds down rather than
rounding to nearest
round to nearest caused strange half-pixels along top/left image edges
during enlargement, and extra 1.5 sized pixels everywhere else
instead we should fix the thing that round to nearest was supposed to fix by
adding an extra pair of params to the affine transform which displace in
input space (dx/dy displace in output space)
2012-11-30 21:35:12 +00:00
John Cupitt
fcc33020bd
better exif handling
...
- track ifd numbers for each item of exif
- be more careful about which ones we update
- don't update xres/yres in vips_shrink()
2012-11-16 10:03:31 +00:00
John Cupitt
b6a1c87d9c
vips_quadratic() uses an interpolator
2012-11-09 14:53:32 +00:00
John Cupitt
8f364a8b51
rename some _get funcs
...
all the _get_ funcs that returned a bool have become _isthing()
functions, eg.
vips_object_argument_get_assigned() ->
vips_object_argument_isset()
2012-11-09 13:08:59 +00:00
John Cupitt
d5a1d65183
mostly working
...
still some strange things with order3, not initing ddx correctly?
2012-11-08 22:01:39 +00:00
John Cupitt
8df32c84c1
more work on vips_quadratic
2012-11-08 13:34:37 +00:00
John Cupitt
e951668e45
started adding im_transform()
2012-11-07 14:54:50 +00:00
John Cupitt
26f2105e5b
make everything LGPL2.1+
...
some files were incorrectly tagged as GPL, thanks Dmitry
2012-09-17 11:52:32 +01:00
John Cupitt
39b05f5172
tuning, sort out demand hints
...
and disable extract_area seq mode
2012-08-24 12:46:10 +01:00
John Cupitt
fa5677abd7
works!
2012-08-23 13:49:21 +01:00
John Cupitt
f5f0dda551
experiment with thread stalling
2012-08-21 16:18:25 +01:00
John Cupitt
643dc28950
turn on seq mode automatically in cli
...
cli operations turn on seq mode automatically when they can
vips_operation_get_flags() added: lets you attach a set of flags to an
operation
flags for now are "nocache" (replacing the old nocache system) and "seqential"
if vips_object_set_argument_from_string() from string sees "seq" flag on the
object for which it is setting the arg, it enables sequential mode
all operations which can run sequentially have been tagged
the operation printer knows about flags and can display them
2012-07-10 10:51:40 +01:00
John Cupitt
a94ce8957e
Merge remote-tracking branch 'origin/7.28'
2012-07-01 11:08:02 +01:00
John Cupitt
ec53b1af74
remove refs to bicubic in docs
2012-07-01 11:06:42 +01:00
John Cupitt
7a51b59016
some vips_shrink() tuning
...
tried an int coordinate path for vips_shrink(), no significant speedup
2012-06-21 13:11:35 +01:00
John Cupitt
7061f0f00b
put the shrink line cache back
...
so we can use THINSTRIP for the vips_shrink() operation
2012-06-18 09:19:31 +01:00
John Cupitt
f07fb25ab5
fix write RGBA as JPG
...
it was saving RGBA as CMYK JPG, with comical results (thanks Tobias)
2012-06-17 22:16:20 +01:00
John Cupitt
fdd3b0a387
remove im_rightshift_size()
...
there's a deprecated wrapper now
2012-06-15 18:21:25 +01:00
John Cupitt
c12bf31c12
oops proto
2012-06-15 14:21:33 +01:00
John Cupitt
0a74a34096
remove logging, fix shrink hint
...
vipsthumbnail works again now
2012-06-15 09:28:57 +01:00
John Cupitt
c3ae8dafc0
remove the old im_shrink()
...
too much debugging still on though argh
2012-06-14 14:50:37 +01:00
John Cupitt
e286737042
vips_shrink done
2012-06-13 09:31:05 +01:00
John Cupitt
e9504c28f1
start moving im_shrink() to a class
2012-06-12 14:52:49 +01:00
John Cupitt
2dde7ce256
Merge remote-tracking branch 'origin/7.28'
...
Conflicts:
libvips/foreign/vips2tiff.c
po/vips7.pot
2012-06-08 19:37:03 +01:00
John Cupitt
fc3d4192d7
tiff loader always offers thinstrip
...
the tiff loader now always offers thinstrip ... later stages can then
pick any demand style they like (thanks Diuming)
2012-06-03 11:44:03 +01:00
John Cupitt
ffb34c943c
nearest0neighbor now rounds to nearest
...
before it just truncated x/y downs, now it rounds to nearest ... this
removes a 0.5 shift compared to the other interpolators
thanks Nicolas
2012-03-26 09:35:22 +01:00
John Cupitt
8b5b3288b4
fix im_shrink()
2012-02-10 13:17:19 +00:00
John Cupitt
24e86ae458
better im_shrink()
...
faster, lower memuse, simpler
2012-02-10 10:00:39 +00:00
John Cupitt
5fd317941d
rationalise the dumpers
2012-01-16 14:54:29 +00:00
John Cupitt
d0ec401a12
hackery to get goi working
2011-12-31 18:22:42 +00:00
John Cupitt
0983b50905
Merge remote-tracking branch 'origin/gobject-introspection' into goi-merge
...
Conflicts:
TODO
libvips/arithmetic/im_recomb.c
libvips/arithmetic/im_stats.c
libvips/deprecated/im_measure.c
libvips/include/vips/header.h
libvips/include/vips/image.h
libvips/include/vips/object.h
libvips/iofuncs/header.c
libvips/iofuncs/image.c
libvips/iofuncs/object.c
2011-12-24 17:36:55 +00:00
John Cupitt
a2ed2edb5d
fix --without-tiff etc.
2011-12-13 13:19:20 +00:00
Nicolas Robidoux
6c4ae0239c
nohalo comments clean up
2011-11-22 20:09:51 -05:00
Nicolas Robidoux
9b971ae8c2
comment clean up for nohalo
2011-11-22 19:58:02 -05:00
Nicolas Robidoux
b8d3c179f0
actually, revert to the smooth limiter in LBB, which is best overall
2011-11-22 15:18:04 -05:00
Nicolas Robidoux
b36717a070
use the new slope limiters in LBB
2011-11-22 11:37:55 -05:00
Nicolas Robidoux
b6dd1e0af1
remove LBB options
2011-11-22 10:42:39 -05:00
John Cupitt
b400918541
omit static objs from leak test
2011-11-14 11:51:15 +00:00
John Cupitt
ae8faf6597
remove dmalloc support
...
we never used it and valgrind etc. is better anyway
2011-09-23 17:12:47 +01:00
John Cupitt
580536e412
indent class lists
...
"vips list classes" now indents the class lists by structure
2011-07-16 11:26:24 +01:00
John Cupitt
53492613bd
merge change from aturcotte
2011-06-23 10:55:02 +01:00
John Cupitt
f69168fc04
gobject-introspection compiles
...
we now mostly compile cleanly, woo
2011-06-22 12:17:43 +01:00
John Cupitt
3126e5100d
get interpolate new from string working
...
vips_type_map() has to see abstract types now so we can get the
baseclass for interpolate. interpolate class has to set the nickname.
2011-06-21 11:08:56 +01:00
John Cupitt
cba1ea0024
vipsobject fallback for new_from_string() as well
2011-05-25 13:43:53 +01:00
John Cupitt
3f1c855177
vipsinterpolate uses new_from_string() vfunc system
2011-05-25 13:25:18 +01:00
John Cupitt
3378c2ba2c
small nohalo improvement
...
Commented out the CHEAP option for nohalo, it gets slightly better
without it and there's not much difference to runtime.
2011-02-24 12:54:56 +00:00