Commit Graph

1699 Commits

Author SHA1 Message Date
John Cupitt
f5200dd4a0 Merge branch 'master' of github.com:jcupitt/libvips 2014-06-13 11:44:27 +01:00
John Cupitt
000d77e994 final clean-up 2014-06-13 10:52:07 +01:00
John Cupitt
6e48c47533 stop image abuse in labelregions
we were marking as image as changing by calling vips_image_readwrite(),
but the cache system didn't uncache it
2014-06-13 09:44:58 +01:00
John Cupitt
7bc0ca7283 update notes 2014-06-12 14:35:38 +01:00
John Cupitt
d7bad8fd5b cache drops operations on invalidate
we can now enable the vips8 operation cache in nip2, woo!
2014-06-12 13:40:00 +01:00
John Cupitt
1769840b44 merge notes 2014-06-12 11:39:49 +01:00
John Cupitt
a8d04a7dd1 add op invalidate stuff
still need to test and link to cache
2014-06-12 09:22:28 +01:00
John Cupitt
cbc60722fc skipahead is back
thanks to a new threadpool idea, see

https://github.com/jcupitt/libvips/issues/117
2014-06-10 17:44:31 +01:00
John Cupitt
30eff079f1 hide VipsFormat and VipsWrap7 classes 2014-06-10 14:43:46 +01:00
John Cupitt
1d74aaecc3 require libgsf-1 1.14.27 or later
1.14.21 is known bad, 1.14.27 is fine, not sure about inbetween versions

1.14.30 works too
2014-06-10 14:14:44 +01:00
John Cupitt
c85dd26627 oops, better filename set on foreign load
we were setting the filename in the wrong place
2014-06-10 13:46:05 +01:00
John Cupitt
72dc2e6371 Ooops 2014-06-10 13:02:37 +01:00
John Cupitt
9dea549063 oops savers were not setting filename
when we added all the buffer loaders, we cul dno longer set filename in
VipsForeign, it's now the responsibility of each load class
2014-06-10 11:26:09 +01:00
John Cupitt
0f33123dbf add vips_image_write_to_memory() 2014-06-09 14:03:45 +01:00
John Cupitt
e373fbd0af update notes 2014-06-09 08:38:39 +01:00
John Cupitt
35533a54cf finish reviding the fixed-up image load/save API 2014-06-08 11:16:58 +01:00
John Cupitt
d426abdcd8 stage1 seems to work 2014-06-07 16:47:53 +01:00
John Cupitt
339712fb13 hackey hack 2014-06-06 15:03:12 +01:00
John Cupitt
b394948cd1 start hacking in better new from file 2014-06-06 13:46:26 +01:00
John Cupitt
3f021abe2d TODO notes 2014-06-06 10:58:57 +01:00
John Cupitt
5b19fc4f8d update notes 2014-06-05 14:49:27 +01:00
John Cupitt
f1f6bde680 option to trace all orc calls
used to generate the program here:

https://bugzilla.gnome.org/show_bug.cgi?id=731227
2014-06-04 18:51:53 +01:00
John Cupitt
23911afb1c add more orc debugging 2014-06-04 15:05:23 +01:00
John Cupitt
5ffa46ebac sync 2014-05-29 14:33:44 +01:00
John Cupitt
e7743ddc3c finish mosaicing rewrite 2014-05-29 09:35:17 +01:00
John Cupitt
8a38cb1946 fix up global balance names
track mosaic-name now
2014-05-28 23:00:41 +01:00
John Cupitt
170efb1452 redo im_*merge1() as classes 2014-05-28 18:15:20 +01:00
John Cupitt
adfda3cf14 redo im_*mosaic1() as classes 2014-05-28 15:15:06 +01:00
John Cupitt
b8886fc209 wrap im_remosaic() as a class 2014-05-27 15:18:19 +01:00
John Cupitt
781a7d4dc9 wrap im_global_balance*() as a class 2014-05-26 15:02:15 +01:00
John Cupitt
e2cda919ea match works 2014-05-26 14:20:38 +01:00
John Cupitt
246525e649 more hackery 2014-05-26 11:24:46 +01:00
John Cupitt
4f3b37ad04 wrap im_match*() as a class 2014-05-23 13:46:38 +01:00
John Cupitt
de409ecac8 vips_mosaic() outputs mosaic params 2014-05-23 12:37:10 +01:00
John Cupitt
ab12cd1c3d wrap im_*mosaic() as classes 2014-05-22 18:14:40 +01:00
John Cupitt
98012d7613 im_*merge() class wrapper works 2014-05-22 16:32:09 +01:00
John Cupitt
496d523750 wrap im_*merge() as a class 2014-05-22 14:53:18 +01:00
John Cupitt
3a4569e99b longer stall time for ahead-threads
we must stall for AGES occasionally, really the stall time is about
enforcing a certain thread ordering
2014-05-22 13:40:06 +01:00
John Cupitt
c3caa595a2 complex lut was broken 2014-05-21 17:34:53 +01:00
John Cupitt
011fd99a1a start fixing up the auto-decode stuff 2014-05-19 14:53:47 +01:00
John Cupitt
4993ff15d6 add Travis CI config
thanks Lovell
2014-05-19 12:54:04 +01:00
John Cupitt
dc22d9c4c8 add hough_circle() to vipsCC and python
now exposed to Python and C++
2014-05-17 22:00:36 +01:00
John Cupitt
22d525d54f export a better cache operator for nip2 2014-05-10 14:00:01 +01:00
John Cupitt
4d17ebb3b4 add im_tile_cache() to vips7 op db
try using this from nip2 instead of im_cache()

im_cache() uses vips_sink_screen() and is probably quite a bit slower
2014-05-09 14:56:44 +01:00
John Cupitt
ccead97c05 set Type on memory strip
we need to set Type on memory strips so we can convert to the output
format correctly, thanks philipgiuliani

see https://github.com/jcupitt/libvips/issues/120
2014-05-08 14:24:22 +01:00
John Cupitt
f6f7d4eeed oops, don't treat RGB16 as sRGB in colourspace
we still had code to treat RGB16 inputs as sRGB even though we now have
a special set of RGB16 paths

vips copy 16bitRGB.tif x.jpg

now works
2014-05-08 14:13:40 +01:00
John Cupitt
ff71a69827 Merge branch 'dzsave-gsf' 2014-05-08 12:15:55 +01:00
John Cupitt
0f1ba2c0b1 Merge branch 'dzsave-gsf'
Conflicts:
	libvips/include/vips/vips.h
2014-05-06 22:03:13 +01:00
John Cupitt
1a3c62851e move some junk to deprecated/ 2014-05-06 22:01:20 +01:00
John Cupitt
5478a9bb81 update dzsave docs 2014-05-06 14:38:24 +01:00
John Cupitt
249c87906a TODO notes 2014-05-06 14:30:28 +01:00
John Cupitt
30808f70a5 sort out dzsave paths, auto-enable zip
rationalised output paths for dzsave

enable zip automatically if output name ends in .zip
2014-05-06 14:28:41 +01:00
John Cupitt
1384f9d4e0 Merge branch 'master' into dzsave-gsf
Conflicts:
	ChangeLog
2014-05-04 17:32:42 +01:00
John Cupitt
c81a12ee00 vips_system() now uses g_spawn_command_line_sync()
helps stop stray command windows appearing on Windows, better error msg
too
2014-05-03 18:04:25 +01:00
John Cupitt
ba2f764435 sync 2014-04-30 14:14:29 +01:00
John Cupitt
02a685f1e5 oops fix non-zip output 2014-04-29 09:24:31 +01:00
John Cupitt
e21c6f236e Merge branch 'master' into dzsave-gsf 2014-04-28 16:34:45 +01:00
John Cupitt
5ec80bf163 fix an orc bug 2014-04-28 14:02:35 +01:00
John Cupitt
8f6e959133 include oops 2014-04-28 12:59:19 +01:00
John Cupitt
ee88271d06 use VIPS_ prefix for env vars
stuff
2014-04-26 19:59:20 +01:00
John Cupitt
034df70866 sync 2014-04-26 16:53:29 +01:00
John Cupitt
2fd551efc1 sync 2014-04-26 11:30:00 +01:00
John Cupitt
fd495d3617 cleaned up foreign.c
need to actually interpret the filename, oops

$ vips copy wtc.jpg x.jpg[Q=100]
$ ls -l x.jpg\[Q\=100\]
-rw-rw-r-- 1 john john 15133033 Apr 25 14:50 x.jpg[Q=100]
$ vips copy wtc.jpg x.jpg[Q=1]
$ ls -l x.jpg\[Q\=1\]
-rw-rw-r-- 1 john john 15133033 Apr 25 14:50 x.jpg[Q=1]
2014-04-25 14:50:58 +01:00
John Cupitt
3dc708d2b6 add @container option to dzsave 2014-04-25 10:26:23 +01:00
John Cupitt
95971fb77a can pass options to vips_foreign_save_buffer()
embedded in @suffix
2014-04-24 18:29:20 +01:00
John Cupitt
c03d9440cb added vips_object_set_from_string() 2014-04-23 12:57:49 +01:00
John Cupitt
5baf0dfdcd small fixes for buffer save 2014-04-23 09:26:44 +01:00
John Cupitt
61891865bf add vips_foreign_save_buffer() 2014-04-22 19:42:13 +01:00
John Cupitt
1640f18bb7 docs update 2014-04-22 19:20:24 +01:00
John Cupitt
5c751fb364 sdd TODO note 2014-04-19 10:19:02 +01:00
John Cupitt
dd35d6ffc7 add "%%" escape 2014-04-11 22:51:39 +01:00
John Cupitt
44b4830ceb sync 2014-04-11 18:26:41 +01:00
John Cupitt
3fe5d437ac support 16-bits per sample palette tiffs 2014-04-09 15:28:47 +01:00
John Cupitt
daf075112d fix possible memleak
fix tiny leak if output options failed
2014-04-09 11:52:32 +01:00
John Cupitt
a17ef9b7c8 vips_system() allows many input images
you can change the image argument order too, with %Ns

added postbuild signal
2014-04-09 11:42:03 +01:00
John Cupitt
9d5fbe3935 sync 2014-04-04 13:57:07 +01:00
John Cupitt
fb24bc84d3 normalise hough_circle output
correct for number of pixels in circumference
2014-04-01 19:39:10 +01:00
John Cupitt
9d3311468c TODO notes 2014-04-01 13:57:10 +01:00
John Cupitt
ee53b01886 vips_hough_circle() added 2014-04-01 12:27:15 +01:00
John Cupitt
a7e6c6e009 finish revising draw_line 2014-03-31 16:28:00 +01:00
John Cupitt
a1e3a9e5cf clean up draw_circle
we now have a simple iterator
2014-03-31 14:03:45 +01:00
John Cupitt
15ba4a7be2 add a direct path for draw_mask
and get draw_circle ready for draw-along-circle
2014-03-29 17:16:37 +00:00
John Cupitt
4c1d07f53a vips_hough uses vips_draw_image() to accumulate
rather than vips_sum() ... 2x faster
2014-03-28 14:11:05 +00:00
John Cupitt
9b13188fc1 add "mode" to vips_draw_image() 2014-03-28 13:55:56 +00:00
John Cupitt
b522fd79a9 start to extend draw_image 2014-03-27 15:00:29 +00:00
John Cupitt
7752eb89e0 add vips_draw_add()
and start vips_hough_circle()
2014-03-26 20:33:31 +00:00
John Cupitt
66d0e28dc2 remove the embedded thumbnail reader
remove the embedded thumbnail reader, embedded thumbnails are too unlike
the main image wrt. rotation / colour / etc.
2014-03-07 16:57:20 +00:00
John Cupitt
40a15b3aa0 move orientation tag from vipsthumbnail output 2014-03-06 23:24:46 +00:00
John Cupitt
fce4f2d1ef more vipsthumbnail --rotate work
now needs some changes to jpegsave
2014-03-06 22:41:56 +00:00
John Cupitt
ffed43dffe add basic auto-rotate support to vipsthumbnail 2014-03-06 19:39:18 +00:00
John Cupitt
4be4f9f0ff vipsthumbnail copies metadata to embedded thumb
when working from the embedded thumbnail, vipsthumbnail now copies the
metadata from the main image onto the thumbnail

see

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

thanks ottob
2014-03-04 14:36:49 +00:00
John Cupitt
499b977043 back out the complex linear stuff
needs cooking for a while longer in a branch
2014-03-04 14:32:43 +00:00
John Cupitt
7460f6ee20 note ottob bug 2014-02-28 13:29:52 +00:00
John Cupitt
86031879a0 notes 2014-02-25 13:25:37 +00:00
John Cupitt
1002d4da52 vips__vector_to_ink() has an imag parameter 2014-02-22 16:26:42 +00:00
John Cupitt
a562f46e69 VipsLinear allows complex constants 2014-02-22 16:08:46 +00:00
John Cupitt
3bceb5286b better usage message
more sensible output for "vips max" or "vips getpoint"
2014-02-20 19:52:36 +00:00
John Cupitt
c758c7f379 notes 2014-02-20 14:31:23 +00:00
John Cupitt
c3def93361 ban size == 0 for max/min 2014-02-19 17:13:12 +00:00
John Cupitt
36c6654374 improve direct path for flood 2014-02-17 19:42:58 +00:00
John Cupitt
c5a48effa2 flood direct path fixed
but still too slow
2014-02-14 13:55:55 +00:00
John Cupitt
3277e26e65 add a direct path to flood for labelregions 2014-02-14 10:29:09 +00:00
John Cupitt
1380f59e89 add an operation name -> gtype lookup hash 2014-02-14 09:41:19 +00:00
John Cupitt
eaa8bbe729 fix up labelregions 2014-02-12 10:33:31 +00:00
John Cupitt
3c1815ea67 fix vector_to_ink
was failing if called on an im under construction
2014-02-11 19:27:25 +00:00
John Cupitt
025e56c894 im_label_regions() is a class 2014-02-11 14:55:31 +00:00
John Cupitt
487e6ed95e break ink out to a draw subclass 2014-02-11 13:57:28 +00:00
John Cupitt
f4e970fb72 im_draw_smudge() done 2014-02-11 13:28:13 +00:00
John Cupitt
25fbe71c74 do im_read_point() / im_draw_point() 2014-02-10 21:54:54 +00:00
John Cupitt
33551fbf4c im_draw_rect() is a class 2014-02-10 11:07:00 +00:00
John Cupitt
495a6c7af1 im_draw_image() is a class 2014-02-09 19:38:53 +00:00
John Cupitt
268fe3c38c add line_user ... helps vips7 compat
so we now have a working im_draw_line_user() wrapper for the nip2
paintbox
2014-02-09 11:00:45 +00:00
John Cupitt
78b20891f9 fix a ref count thing 2014-02-06 12:53:16 +00:00
John Cupitt
3c087fc902 replace im_circle()/im_flood() with wrappers 2014-02-06 09:52:45 +00:00
John Cupitt
fb489bad53 move vips_image_decode() into the public API 2014-02-03 14:29:57 +00:00
John Cupitt
b72818a2b8 add VIPS_OPERATION_DEPRECATED
and fix a tiny problem in vipswrap7
2014-02-03 13:23:58 +00:00
John Cupitt
9f2169748b sync 2014-02-03 11:26:15 +00:00
John Cupitt
874511470f add source_space to vips_colourspace()
you can now specify the source colourspace, if you want
2014-02-03 09:33:15 +00:00
John Cupitt
9cb152596c bg render thread quits on shutdown
fixes a small memleak
2014-01-29 09:07:58 +00:00
John Cupitt
54f19a00e5 update valgrind supp 2014-01-28 14:51:30 +00:00
John Cupitt
16830d6937 vips_sink_screen() now invalidates for you
clients no longer need to call vips_image_invalidate_all()
2014-01-28 13:08:02 +00:00
John Cupitt
e7efa8e6f2 more auto-decode 2014-01-23 16:51:32 +00:00
John Cupitt
affb274d85 more auto unpack hacking 2014-01-23 13:19:37 +00:00
John Cupitt
c3b16d6ff2 Merge branch 'master' of github.com:jcupitt/libvips
Conflicts:
	TODO
2014-01-23 09:59:58 +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
c8c532a068 version bump for new cycle 2014-01-21 19:34:40 +00:00
John Cupitt
cffe3bf965 pack Radiance images to and from 0-1
so this now works:

$ vips copy uffizi_probe.hdr x.jpg
$ eog x.jpg
$ vips copy x.jpg x.hdr
$ vips copy x.hdr x2.jpg
$ eog x2.jpg
2014-01-19 17:30:56 +00:00
John Cupitt
e1affa9916 sync 2014-01-17 18:17:25 +00:00
John Cupitt
e489d2e099 add --uchar option to vips_linear() 2014-01-14 19:31:19 +00:00
John Cupitt
112ca9ec21 add B_W as a source / target for vips_colourspace() 2014-01-12 18:41:49 +00:00
John Cupitt
74dc3cf6ef sync 2014-01-10 14:49:03 +00:00
John Cupitt
cc8e06db0b fix a race in buffer.c 2014-01-07 21:31:00 +00:00
John Cupitt
3dcf138fc4 more freq_dispatch to deprecated 2014-01-07 09:14:53 +00:00
John Cupitt
f5b0722a13 redo im_phasecor_fft() a s aclass 2014-01-07 09:06:02 +00:00
John Cupitt
4bc67b8bee redo im_disp_ps() as a class 2014-01-04 13:00:43 +00:00
John Cupitt
f8b9645bd8 move im_freqflt() to a class
and move im_freq_mask() to deprecated
2014-01-03 23:22:07 +00:00
John Cupitt
9f150e3063 rename freq_filt package as freqfilt 2014-01-03 17:19:45 +00:00
John Cupitt
54b6ef4e87 rename ffilter as mask
ffilter was annoying to type
2014-01-03 09:55:21 +00:00
John Cupitt
dde6e4508a rewrite (most of) the freq mask builders
all classes now, except gauss band filter
2014-01-02 18:29:59 +00:00
John Cupitt
6059b0deb8 sync 2014-01-02 09:25:16 +00:00
John Cupitt
5dc22091de update man pages 2013-12-18 14:38:27 +00:00
John Cupitt
bbf899eb35 add --crop to vipsthumbnail 2013-12-18 14:23:39 +00:00
John Cupitt
9c30242745 fix erroneous leak report from vipsprofile 2013-12-18 12:50:22 +00:00
John Cupitt
a9f85e1fd9 vipsprofile speed problems fixed
moved to O(n) layout
2013-12-18 11:10:13 +00:00
John Cupitt
2c5ee332f0 make the buffer recycle list per image
so now recycle lists are short, scale with pipeline complexity, and
buffers are always appropriately sized for the image instead of being
slowly sized up to the max size for the pipeline

before:

$ vips sharpen k2.jpg x.jpg --radius 20
memory: high-water mark 38.99 MB

after:

$ vips sharpen k2.jpg x.jpg --radius 20
memory: high-water mark 29.46 MB
2013-12-18 09:54:26 +00:00
John Cupitt
5780b33506 vipsprofile progress feedback
rather crude
2013-12-17 16:58:16 +00:00
John Cupitt
0d79221853 memuse improvements
- conv is now SMALLTILE
- more instrumentation
- better buffer recycling
- quicker buf freeing
2013-12-17 15:21:21 +00:00
John Cupitt
d6c1dd910c sync 2013-12-16 09:46:27 +00:00
John Cupitt
a9fd318712 run over memuse for sharpen 2013-12-16 09:22:05 +00:00
John Cupitt
bd3b3e04f9 sync 2013-12-13 17:34:38 +00:00
John Cupitt
c782150a6d fix sharing detection (again) 2013-12-13 12:20:05 +00:00
John Cupitt
ffd04bce91 sync 2013-12-12 09:51:55 +00:00
John Cupitt
9167767179 sync 2013-12-10 14:12:02 +00:00
John Cupitt
dc229765ed sync 2013-12-10 10:31:11 +00:00
John Cupitt
f606f038eb more restrict use 2013-12-03 14:25:22 +00:00
John Cupitt
4aedd7cd16 put the ORC stuff back in arithmetic
ready to use on linear.c
2013-12-03 12:39:13 +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
0f7e938aef sync 2013-12-02 18:53:56 +00:00
John Cupitt
7c43e3d332 remove the orc stuff from arithmetic
no faster than gcc auto vec
2013-12-02 11:22:08 +00:00
John Cupitt
a44377f03e sync 2013-11-30 13:56:48 +00:00
John Cupitt
dccc5d5180 add __restrict__ markup to loop pointers
helps auto-vec

also remove a couple of if()s from inner loops, again, helps auto-vec
2013-11-30 13:55:10 +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
223cb02305 fix im_benchmark() 2013-11-29 22:30:20 +00:00
John Cupitt
b619a8cc04 sync 2013-11-29 22:00:13 +00:00
John Cupitt
b77b4fba0f sync 2013-11-29 15:10:16 +00:00
John Cupitt
45c8be3db6 small polish 2013-11-29 09:40:54 +00:00
John Cupitt
e0b9b3cd5c more polishing
and instrument stuff for vipsthumbnail
2013-11-28 14:56:19 +00:00
John Cupitt
730d7d0bd6 sync 2013-11-28 09:22:39 +00:00
John Cupitt
0bf5ee12fd more calcs in output 2013-11-26 17:53:44 +00:00
John Cupitt
9b9d940148 parse profile output 2013-11-19 10:13:38 +00:00
John Cupitt
693ed09edd add --vips-profile
only added a few gates so far, try a visualiser next
2013-11-18 18:31:49 +00:00
John Cupitt
42e5d3dd80 sync notes 2013-11-15 12:42:44 +00:00
John Cupitt
5e0a9f941f added vips_gaussblur() 2013-11-15 12:37:26 +00:00
John Cupitt
82f680484c vips_colourspace() could fail
for images with alpha channels
2013-11-14 13:55:23 +00:00
John Cupitt
a01e2e3e13 finish vips_sharpen()
does any image type, any number of bands
2013-11-14 12:09:42 +00:00
John Cupitt
8db331b4b5 started sharpen.c 2013-11-13 14:54:43 +00:00
John Cupitt
c1e7bbab29 add "no-subsample" option to jpeg save
turns off chroma subsampling
2013-11-13 12:59:56 +00:00
John Cupitt
0444effb8e sync 2013-11-13 09:59:56 +00:00
John Cupitt
ad723ade5a move --strip into save base class
was in jpegsave, now in save

need to add support to png writer, maybe vips as well, tiff could not
attach ICC profiles I guess
2013-11-13 09:00:47 +00:00
John Cupitt
3c4cd55d54 todo sync 2013-11-12 22:00:28 +00:00
John Cupitt
a7b9783036 move vipsthumbnail to vips_conv() 2013-11-12 20:51:16 +00:00
John Cupitt
53e86e71f4 fix up XYZ PCS and vipsthumbnail
fix import and export scaling, get vipsthumbnail to use it in --linear
mode
2013-11-12 17:18:41 +00:00
John Cupitt
98d708a2d9 todo sync 2013-11-12 10:12:05 +00:00
John Cupitt
8dfe4611d2 add a --linear option to vipsthumbnail
thanks to Nicolas for the prodding
2013-11-12 09:53:41 +00:00
John Cupitt
bc0c4f60d6 oops fix build 2013-11-11 17:38:34 +00:00
John Cupitt
b1f01af01b add vips_crop()
a synonym for vips_extract_area()
2013-11-11 14:31:41 +00:00
John Cupitt
0200e229c7 fix wrapmany compat 2013-11-11 14:08:51 +00:00
John Cupitt
608e1007e8 todo notes 2013-11-11 11:32:47 +00:00
John Cupitt
f0d4760560 redo correlation funcs as classes
im_fastcor()
im_spcor()
im_gradcor()

though gradcor we just deprecate, it's complex and hardly used ...
rework later is anyone complains
2013-11-08 14:09:42 +00:00
John Cupitt
9a06b2cea7 small rad cleanups 2013-11-05 14:51:24 +00:00
John Cupitt
20410b79ef rewrite rad write 2013-11-05 11:19:51 +00:00
John Cupitt
ae71229cf5 rewritten radiance load is much faster
the old rad code, from radiance.c, was using getc in a loop
2013-11-05 10:36:14 +00:00
John Cupitt
ad94488734 deprecate im_contrast_surface()
slower than calling conv a few times
2013-11-03 12:24:46 +00:00
John Cupitt
9b72a57511 sync 2013-10-28 15:59:25 +00:00
John Cupitt
4b0bcd311b deprecate im_addgnoise()
it's just noise + add now.
2013-10-25 14:52:58 +01:00
John Cupitt
68c5f1909a redo im_convsep() as a class
and im_convsep_f()
2013-10-25 14:37:43 +01:00
John Cupitt
2e3d7db0e6 switch to new im_compass()
plus im_linedet() and im_gradient()
2013-10-25 13:46:17 +01:00
John Cupitt
e74a0b71d9 almost done compass 2013-10-24 14:46:08 +01:00
John Cupitt
4d724c0023 started compass 2013-10-24 08:33:59 +01:00
John Cupitt
5475cabbf2 redo im_dilate()/erode() as classes
just a thin wrapper over the vips7 operations for now
2013-10-23 13:15:31 +01:00
John Cupitt
29a0c398aa todo 2013-10-23 08:49:44 +01:00
John Cupitt
dd4a8435bf sync 2013-10-22 14:43:27 +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
8299bea984 todo updates 2013-10-21 13:13:34 +01:00
John Cupitt
30e6c27fd5 toto update 2013-10-20 16:56:42 +01:00
John Cupitt
f7f061d265 vips_init() does ABI checking
just checks sizeof(VipsObject) for now
2013-10-20 16:46:55 +01:00
John Cupitt
aa107b1bf7 remove old 45 degree mask rotate code
just a wrapper now
2013-10-20 12:30:54 +01:00
John Cupitt
ece34465f0 fix compiler warnings
13.10 produces a few new ones
2013-10-18 09:13:24 +01:00
John Cupitt
8ef91f8df9 version bump ready for 7.36 2013-10-03 13:02:20 +01:00
John Cupitt
aaa418ee22 revise TODO 2013-10-03 08:59:46 +01:00
John Cupitt
57b6622690 track local mem allocs for debugging 2013-10-02 21:20:41 +01:00
John Cupitt
d329fb165d im_ismonotonic() becomes a class 2013-10-02 10:16:46 +01:00
John Cupitt
45a9e417f4 start vips_conv() 2013-10-01 14:26:13 +01:00
John Cupitt
dfe2ddf6c5 oops anotehr vipsthumbnail fix
since "strategy" is now named "access"
2013-10-01 11:23:42 +01:00
John Cupitt
440b800e0e add a new unbuffered seq mode
things like

	vips copy huge.png x.v

now run with only a small line cache
2013-09-29 11:04:11 +01:00
John Cupitt
e5ba019942 start adding unbuffered sequential mode 2013-09-27 14:47:04 +01:00
John Cupitt
608170f00e alloc larger tiles for tiff read 2013-09-26 21:50:06 +01:00
John Cupitt
d28fe365a6 todo update 2013-09-26 13:12:04 +01:00
John Cupitt
d435a5c14d todo update 2013-09-25 18:25:11 +01:00
John Cupitt
111a82c06e possible fix for tiff write assert fail 2013-09-25 12:57:36 +01:00
John Cupitt
6641d70652 debugging notes 2013-09-25 09:49:12 +01:00
John Cupitt
aeaafe568b better sanity check for buffer sizing 2013-09-24 11:38:17 +01:00
John Cupitt
a19a8ba9cb todo notes 2013-09-23 15:00:14 +01:00
John Cupitt
326365ab6c redo im_mpercent*() as a class 2013-09-21 16:19:51 +01:00
John Cupitt
481a4445fb add vips_image_new_matrixv() 2013-09-20 22:06:59 +01:00
John Cupitt
a51681f490 start vips_ismonotonic() 2013-09-20 14:50:34 +01:00
John Cupitt
d029461bc0 redo im_tone_build*() as classes
start vips_hist_percent() as well
2013-09-20 14:33:34 +01:00
John Cupitt
04701ad7d5 big tiff reader cleanup 2013-09-18 12:43:03 +01:00
John Cupitt
8fe0814775 todo notes 2013-09-18 11:04:27 +01:00
John Cupitt
5ffe42cec6 Merge branch 'webp'
Conflicts:
	ChangeLog
	TODO
2013-09-17 10:32:44 +01:00
John Cupitt
8ccb5bbe6d support greyscale tiff with alpha
thanks Robert for pointing out this omission
2013-09-16 15:25:02 +01:00
John Cupitt
2088e3d111 im_project() becomes a class 2013-09-16 12:19:48 +01:00
John Cupitt
d78b417c3a im_lhisteq() -> a class 2013-09-05 13:50:47 +01:00
John Cupitt
7a5e04ba00 redo im_invertlut() as a class 2013-09-05 09:11:23 +01:00
John Cupitt
333d15aed0 new hist class structure 2013-09-03 14:49:57 +01:00
John Cupitt
e2215bd04c redo im_histnD() as a class 2013-08-17 16:59:28 +01:00
John Cupitt
eea3cbf180 small cleanups 2013-08-12 13:30:30 +01:00
John Cupitt
6855770362 rename vips_diag() as vips_info()
plus a command-line flag to turn it on
2013-08-07 09:22:24 +01:00
John Cupitt
44a0a876ba sync 2013-08-06 21:59:35 +01:00
John Cupitt
ddc5f6977d read webp input with mmap 2013-08-06 21:46:48 +01:00
John Cupitt
4a65af9196 add save functions 2013-08-06 18:15:18 +01:00
John Cupitt
addc48f70a TODO update 2013-08-05 21:27:25 +01:00
John Cupitt
9b6f96ed41 redo falsecolour, gammacorrect as classes 2013-08-02 09:41:11 +01:00
John Cupitt
226095c39d move im_maplut() to a class 2013-07-31 22:00:36 +01:00
John Cupitt
6b3dc259d1 more maplut hacking 2013-07-15 14:57:01 +01:00
John Cupitt
da47510e37 fix some typos 2013-07-11 14:37:53 +01:00
John Cupitt
d65b7b269a add multiscan jpg write? 2013-07-11 09:17:14 +01:00
John Cupitt
aadd7c1ee5 vipsthumbnail rewrite 2013-07-10 11:05:45 +01:00
John Cupitt
c936a86176 starting maplut 2013-07-06 11:49:27 +01:00
John Cupitt
27cec75cbd Merge remote-tracking branch 'origin/7.34'
Conflicts:
	ChangeLog
	TODO
	configure.ac
2013-07-03 11:38:15 +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
3338b51871 TODO update 2013-07-01 13:20:31 +01:00
John Cupitt
610f7aa0eb fix morph on non-uchar images 2013-06-28 14:50:39 +01:00
John Cupitt
de796417cb TODO note 2013-06-26 09:29:04 +01:00
John Cupitt
890d7b1205 tiny polish 2013-06-20 10:05:46 +01:00
John Cupitt
d461d082fa sync 2013-06-18 11:01:43 +01:00
John Cupitt
4c0ace34f0 docs cleanups 2013-06-17 14:54:11 +01:00
John Cupitt
dcd2dbb756 vips_pngload_buffer() works
fix a bug in vips_jpegload_buffer() too
2013-06-17 09:41:22 +01:00
John Cupitt
1dbff8f5c0 sync 2013-06-16 12:26:27 +01:00
John Cupitt
7bdc1e54f2 allow NULL out pointer for vips2buf*()
im_vips2bufjpeg() etc. needed a valid output IMAGE*, annoyingly
2013-06-16 10:24:56 +01:00
John Cupitt
a1a5d0b376 sync 2013-06-14 08:53:05 +01:00
John Cupitt
6031b40b8d move im_zone*() over to a class 2013-06-13 17:37:24 +01:00
John Cupitt
86f3d2b083 add vips_xyz() 2013-06-12 14:51:43 +01:00
John Cupitt
bd5c4757e8 fix vips_shrink() seq again
perhaps properly this time
2013-06-06 12:08:26 +01:00
John Cupitt
ad08389fbf seq debug notes 2013-06-05 09:29:12 +01:00
John Cupitt
dfd09a0285 redo im_text() as a class 2013-06-03 14:37:55 +01:00
John Cupitt
27b7332a60 im_msb() -> class
and some cleanups

add a --band option
2013-06-03 10:26:09 +01:00
John Cupitt
69136b1d8c auto rshift to 8 bits for 8-bit save 2013-05-28 10:32:37 +01:00
John Cupitt
b0c5a9340e sync 2013-05-21 09:06:18 +01:00
John Cupitt
f80bf594ce sharpen param to vipsthumbnail 2013-05-03 13:56:38 +01:00
John Cupitt
f290b92e47 sync 2013-04-08 10:15:11 +01:00
John Cupitt
9cb1403b9b better error msg on unknown action
$ vips fred --n

would confusingly complain about unknown option --n, rather than the
unknown acrion "fred"
2013-03-15 12:15:35 +00:00
John Cupitt
a731805344 sync 2013-03-05 14:46:08 +00:00
John Cupitt
3a188daa20 sync 2013-02-27 09:58:42 +00:00
John Cupitt
25a7b760d0 neater "header" output 2013-02-26 13:32:40 +00:00
John Cupitt
61875a4bca fix another dzsave corner case
better padding calculation fixes yet another corner case for dzsave,
thanks Martin
2013-02-26 12:32:01 +00:00
John Cupitt
144a95dc92 sync 2013-02-13 16:27:24 +00:00
John Cupitt
6fe6171973 remove a lot of the internal flag abbreviations
GOption doesn't seem to do anything clever with repeated flag
abbreviations. Remove most of the internal ones to stop clashes with
application flags.
2013-01-15 21:26:42 +00:00
John Cupitt
caa51245c7 improve the cond wait wrapper
by removing it, we don't want to restart the timer on every loop
2013-01-15 17:23:58 +00:00
John Cupitt
384842cd0a make a fresh test dist 2013-01-15 14:52:46 +00:00
John Cupitt
2b6e3797fe fix libtool version number
we are binary API changed since 7.30, but back compat
2013-01-02 14:11:30 +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
a8b077cb4f sync 2012-12-18 14:50:04 +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
43d69e74e7 use corner convention everywhere
all interpolators use corner convention
2012-12-13 14:10:52 +00:00
John Cupitt
823068a282 notes update 2012-12-13 13:08:52 +00:00
John Cupitt
c5a600b286 tag Radiance images as scRGB
They aren't always, but scRGB is also 0-1 range, so conveniently this
now works:

	vips copy car-stack-eighth.hdr x.jpg
2012-12-13 12:21:02 +00:00
John Cupitt
89ff89ebf8 remove sRGB2XYZ and back
now go via scRGB
2012-12-12 12:43:26 +00:00
John Cupitt
c341f0d134 add scRGB functions 2012-12-11 15:25:28 +00:00
John Cupitt
eba5f05649 vips_invert() only inverts real part 2012-12-07 11:37:00 +00:00
John Cupitt
ee8d11ec6b small cleanups 2012-12-07 11:32:33 +00:00
John Cupitt
3dc10831c1 added vips_bandbool() 2012-12-07 11:17:09 +00:00
John Cupitt
6602b0680a compat wrapper for cross_phase 2012-12-06 21:36:41 +00:00
John Cupitt
1de6c6bcc6 add binary complex ops
cross_phase is the only one atm
2012-12-06 14:52:51 +00:00
John Cupitt
a83da34355 more deprecations
im_point*() and im_linreg() this time
2012-12-06 14:10:43 +00:00
John Cupitt
797805f7e3 don't print output args on fail 2012-12-06 13:54:32 +00:00
John Cupitt
81158d5b34 clean up notes 2012-12-05 21:52:37 +00:00
John Cupitt
5b271d16ed deprecate im_maxpos_avg()
and add wrappers for im_maxpos_vec() / im_minpos_vec()
2012-12-05 21:44:41 +00:00
John Cupitt
4b9ca4cfce add compat stubs 2012-12-05 09:09:52 +00:00
John Cupitt
713ecf8252 compiles 2012-12-04 14:57:41 +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
c3ef2be4ab preserve jpeg ipct data
now copies over ipct data from app13, thanks Gary
2012-11-21 21:33:50 +00:00
John Cupitt
65b4056c84 jpeg read is less fussy about exif data
even read truncated exif
2012-11-21 18:34:20 +00:00
John Cupitt
ef54a06f80 clean up deprecated class list 2012-11-21 11:12:19 +00:00
John Cupitt
74f545fc6f keep exif rationals as a/b
we went via double before, which caused awful problems trying to
generate nice rationals again on save

keep everything as a/b as long as we can
2012-11-16 13:50:49 +00:00
John Cupitt
9abb7a1fd1 Merge remote-tracking branch 'origin/7.30'
Conflicts:
	ChangeLog
	configure.in
	libvips/conversion/tilecache.c
	po/vips7.pot
2012-11-14 14:52:27 +00:00
John Cupitt
fdaad16407 better --help output for vips driver prog
now lists possible actions
2012-11-13 12:51:58 +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
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
f3cec87f5f enable seq for colourspace 2012-11-07 10:46:43 +00:00
John Cupitt
26d1f76469 support rgb16 as a source / dest in colourspace
so

vips colourspace x.v x2.v rgb16

will try to make a 16-bit sRGB image
2012-11-06 19:27:15 +00:00
John Cupitt
e0b2919f16 add 16-bit sRGB export 2012-11-06 13:53:37 +00:00
John Cupitt
c17cd32ea1 sync 2012-11-05 17:16:19 +00:00
John Cupitt
faf6e03381 sync 2012-11-02 21:46:11 +00:00
John Cupitt
777d1ea554 better error domain names 2012-11-02 14:41:47 +00:00
John Cupitt
09789ebdfd add @depth option to dzsave
so you can ask for a 1 layer pyramid
2012-11-01 18:11:46 +00:00
John Cupitt
035cf44fe6 final cleanups 2012-11-01 15:59:46 +00:00
John Cupitt
4c5dd969bc rename colour_convert as colourspace
also rework im_icc_ac2rc
2012-11-01 14:59:20 +00:00
John Cupitt
8e72d25c9a better colourspace sniffing 2012-11-01 13:16:54 +00:00
John Cupitt
f5790be152 rename UCS as CMC 2012-11-01 10:21:55 +00:00
John Cupitt
63a06e5f81 faster and more accurate sRGB <-> XYZ
just use one table, since all colour channels are the same now
have more points in the float -> int direction, fewer in int -> float
faster out of range detection
2012-11-01 08:53:54 +00:00
John Cupitt
a2d4c15049 move dE00 to a class 2012-10-31 11:22:28 +00:00
John Cupitt
4901c9f6a5 clean out debugging code 2012-10-31 09:17:21 +00:00
John Cupitt
8e0de67f65 sync 2012-10-30 17:16:55 +00:00
John Cupitt
6e1e3d4be1 better cache trace, small fixes 2012-10-29 17:19:15 +00:00
John Cupitt
1e121f2da7 fixes to lcms2 support 2012-10-25 13:55:26 +01:00
John Cupitt
f8a160de44 Merge remote-tracking branch 'origin/master' into colour
Conflicts:
	ChangeLog
	configure.in
	po/vips7.pot
2012-10-21 12:24:08 +01:00
John Cupitt
d629e0cba7 merge parallel-read work 2012-10-17 00:19:24 +01:00
John Cupitt
3e1b30dbf9 TODO update 2012-10-09 11:11:05 +01:00
John Cupitt
2065317272 use new converter 2012-09-27 14:56:51 +01:00
John Cupitt
d56943f2c2 add vips_colour_convert()
generic thing to change colourspace
2012-09-26 21:53:02 +01:00
John Cupitt
52a188c3c5 new icc stuff now works 2012-09-26 14:53:14 +01:00
John Cupitt
e793d38aa7 new icc transformer compiles 2012-09-25 22:06:24 +01:00
John Cupitt
7130a74d0e redo rad2float / float2rad as classes 2012-09-20 15:13:44 +01:00
John Cupitt
496b4373a4 redo im_UCS2LCh() and im_LCh2UCS() as classes 2012-09-19 14:13:37 +01:00
John Cupitt
a38fa9302e redo im_Lab2XYZ() as a class 2012-09-18 14:14:08 +01:00
John Cupitt
3836faffcb Merge remote-tracking branch 'origin/master' into colour
Conflicts:
	ChangeLog
	TODO
	configure.in
2012-09-15 17:42:06 +01:00
John Cupitt
81b962c447 todo updates 2012-09-13 13:27:55 +01:00
John Cupitt
b3a8ff3378 linecache was oversized
the linecache resizer forgot to take the strip height into account when
growing, causing mem use to be higher than necessary
2012-09-13 13:25:23 +01:00
John Cupitt
5b03646799 Merge remote-tracking branch 'origin/master' into colour
Conflicts:
	ChangeLog
	TODO
	configure.in
2012-09-06 16:29:22 +01:00
John Cupitt
0c87863222 argh still deadlocks on example.rb 2012-09-04 14:56:22 +01:00
John Cupitt
30a0b4e1bc sync 2012-08-31 17:48:35 +01:00
John Cupitt
4ef825014d extract is sequential again
a hack in seq.c will skip ahead if the very first read is not at line 0
2012-08-24 17:03:09 +01:00
John Cupitt
70bde1dd1e more tuning 2012-08-23 22:01:52 +01:00
John Cupitt
65f679c7ac add a line cache
add vips_linecache() ... like tilecache, but caches scanlines and sizes
dynamically with request size
2012-08-23 14:51:57 +01:00
John Cupitt
45e3c0bd39 fix some warnings from jpeg write
jpeg write with a non-jpeg source could produce some warnings as it
tried to update exif that wasn't there
2012-08-14 14:31:08 +01:00
John Cupitt
368d3c2b8f test for gtk-doc in bootstrap 2012-08-14 11:00:23 +01:00
John Cupitt
4cb63cf1ba update the C++ binding
and the Python one
2012-08-06 22:02:34 +01:00
John Cupitt
3276c636f7 add support for VipsInterpolate to the C++ API
quick and ugly hack, this will be replaced in vips8

necessary to get affinei and affinei_all in Python
2012-08-06 16:06:17 +01:00
John Cupitt
dab22df75b fixes to deep zoom write
- shrink down to a 1x1 pixel tile, even for very long and thin images
- round image size up on shrink
- write a .dzi file with the pyramid params
- default tile size and overlap now matches the openslide writer

thanks to Benjamin Gilbert for pointing out the errors
2012-08-06 15:14:59 +01:00
John Cupitt
7ef115161d sync
finished ruby-vips testing
2012-07-20 15:04:49 +01:00
John Cupitt
a71fe51d2d support "rs" mode in im_open()
vips7 compat mode now supports "rs" mode --- sequential read

ruby-vips uses this to get :sequetial=>true working
2012-07-20 13:07:49 +01:00
John Cupitt
5778dfac1a remove the version numbers from the .pc files
we used to have minor version numbers in the pkg-confiog files, eg:

pkg-config vips-7.28 --cflags

The idea was to make working with multiple installed versions (something
I do a lot at least) easier. But it was also annoying and made upgrading
harder for downstream packages. And the benefits were very marginal.
2012-07-20 10:22:43 +01:00
John Cupitt
bb95b54679 oops vips7 png read was broken 2012-07-19 13:59:37 +01:00
John Cupitt
669babb177 sync 2012-07-13 13:51:31 +01:00
John Cupitt
3476e39c7e fix a leak in vips7 support
there was a ref cycle being created in file2vips ... fixed
2012-07-13 12:26:51 +01:00
John Cupitt
205f13eccb sync 2012-07-13 09:58:58 +01:00
John Cupitt
2c37e77dd8 small tiff save cleanups 2012-07-13 09:30:52 +01:00
John Cupitt
501fabccbe improvements to tiff/png load in vips7
same as we did for jpg

some work on pyramid save as well
2012-07-12 14:50:56 +01:00
John Cupitt
f780e2b211 sync 2012-07-12 09:34:27 +01:00
John Cupitt
25ad2b7a53 turn off seq mode in vips7
the new sequential mode readers for tiff/jpg/png were not working well
from the vips7 command-line: they either decompressed twice, or handed
over a sequential mode image

it should now work as well as it did pre-seq.
2012-07-12 09:05:14 +01:00
John Cupitt
17b2592883 sync 2012-07-10 21:50:28 +01:00
John Cupitt
2332e0bfc3 move the vips7 loaders away from VipsForeign
the vips7 loaders were a thin layer over the new VipsForeign system

however! VipsForeign does various "useful" things, like open via disc,
and this resulted in stuff like

	vips im_jpeg2vips huge.jpg x.v

decompressing to a temp file before copying to x.v

im_jpeg2vips() and friends now call the low-level loaders directly and
avoid the extra mechanisms in VipsForeign

"nip2 huge.jpg" was loading twice as well, for the same reason
2012-07-10 14:38:38 +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
af1f2b47c1 add "rs" image open mode 2012-07-09 21:35:53 +01:00
John Cupitt
911a1c7e71 move vips_operation_set_valist_optional() to obj
now a method on object, vips_object_set()
2012-07-09 14:51:37 +01:00
John Cupitt
3137ad983c sync 2012-07-09 09:03:12 +01:00
John Cupitt
89527b80eb fix odd tile height + no overlap
dzsave with zero overlap and odd height was broken

also, fix cache init
2012-07-08 10:37:35 +01:00
John Cupitt
b32b54d0eb TODO update 2012-07-02 10:10:40 +01:00
John Cupitt
3694a2edc5 add sequential mode to vips7
the tiff and jpg readers let you give :seq as well
2012-06-24 09:44:50 +01:00
John Cupitt
daac11b01c add "minimise" signal
on end of an image loop, send a "minimise" signal down the pipeline

tilecache listens for this signal on its output and drops the cache

helps reduce ruby memuse
2012-06-23 11:51:57 +01:00
John Cupitt
928827960a sync 2012-06-21 14:54:22 +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
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
0a74a34096 remove logging, fix shrink hint
vipsthumbnail works again now
2012-06-15 09:28:57 +01:00
John Cupitt
021ba9a01c sync 2012-06-14 09:31:05 +01:00
John Cupitt
a2c37d10f0 sync 2012-06-13 09:45:32 +01:00
John Cupitt
1f69943639 Merge remote-tracking branch 'origin/master' into colour 2012-05-17 21:36:12 +01:00
John Cupitt
d5bd8d0de0 improve resolution unit handling in tiff save
the deprecated tiff saver used to use pixels/mm in resolution
specification, rather than the user's suggested unit
2012-05-17 11:13:38 +01:00
John Cupitt
c394f54952 sync 2012-05-16 14:51:22 +01:00
John Cupitt
40f60c4b9e Merge remote-tracking branch 'origin/master' into colour
Conflicts:
	TODO
	libvips/colour/colour.c
2012-04-18 17:20:36 +01:00
John Cupitt
0231cdf134 Revert "add ARGB coding"
This reverts commit 78b5ad5883.

Conflicts:

	libvips/colour/im_rad2float.c
2012-04-04 17:18:32 +01:00
John Cupitt
3d514cc16f hackety hack 2012-04-04 09:39:09 +01:00
John Cupitt
78b5ad5883 add ARGB coding 2012-04-02 11:12:40 +01:00
John Cupitt
4595413e0d add ICC profile read/write for png 2012-03-13 14:22:13 +00:00
John Cupitt
3297400952 disable debug in production builds
by default all debug (including assert and cast checks) is disabled in
production builds
2012-03-02 14:19:32 +00:00
John Cupitt
5771be4186 xres/yres become double
we had them as float before to make load/save easier, but that means we
need lots of hacks to make properties work correctly

instead, convert to/from float on read/write and have them as double
internally
2012-03-02 12:54:50 +00:00
John Cupitt
792ff7f03d sync 2012-03-02 10:16:58 +00:00
John Cupitt
59c655683a relax assert() checks for foreign
load from buffer can have get_flags() but no get_flags_filename(),
remove assert test
2012-03-01 14:21:06 +00:00
John Cupitt
8344dbb808 complex ==, != was broken
argh the broken test suite was hiding some nasties
2012-03-01 14:09:52 +00:00
John Cupitt
58439e31fb fix filename display in "header" and friends 2012-02-29 13:49:48 +00:00
John Cupitt
6ab6ec410c cleanups 2012-02-28 14:17:02 +00:00
John Cupitt
6ba96b2333 fix hist normalisation
hist norm was broken due to the VipsStats width change
2012-02-28 12:05:25 +00:00
John Cupitt
ef19ecc923 win32 fixes
we had a dropped file and a mode_t in a va_get() that should have been
an int
2012-02-25 17:47:40 +00:00
John Cupitt
9fc3c381ba require openslide 3.2.5 or greater
3.2.4 and earlier have a horrible performance problem
2012-02-24 14:31:12 +00:00
John Cupitt
862cac1e4f avoid NaN in max/min, better double ranges 2012-02-24 13:57:50 +00:00
John Cupitt
d93f772f1f fix deadlock with generate failing
and better error msg from libpng
2012-02-23 12:42:21 +00:00
John Cupitt
d54c787e92 move COLLECT macros to object 2012-02-23 10:05:13 +00:00
John Cupitt
54e469ee38 sybc 2012-02-22 14:56:06 +00:00
John Cupitt
a7a5a69109 ignore complex /0
also rework TODO list ready for release push
2012-02-22 14:30:09 +00:00
John Cupitt
1a5b8df9be oop buffer size issue 2012-02-20 21:33:14 +00:00
John Cupitt
9ea1387a68 add FLAGS args 2012-02-20 21:02:37 +00:00
John Cupitt
8c6e3738dd fix up ordering issues in seq mode
read order should be guaranteed now, hopefully
2012-02-20 15:03:29 +00:00
John Cupitt
8af5522a96 sequential support for the jpg reader 2012-02-19 22:17:20 +00:00
John Cupitt
bbadb8d681 jpeg2vips now keeps a load struct about
so we are ready to add lazy read
2012-02-19 10:54:41 +00:00
John Cupitt
fa03bfb4cd tiff reader supports new sequential mode
good speedup for large tiffs

$ time ~/vips-7.26/bin/vips-7.26 vips im_copy wtc.tif x.v
real	0m12.728s
user	0m0.220s
sys	0m1.032s

$ time vips copy wtc.tif[sequential] x.v
real	0m4.328s
user	0m0.584s
sys	0m0.764s

new one was compiled with DEBUG, hence (partly) larger user time
2012-02-18 13:17:21 +00:00
John Cupitt
3dcd3729a0 fix interlaced png read
also remove old sinkmemory
2012-02-17 17:59:09 +00:00
John Cupitt
ff7d02a979 start a new sinkmemory 2012-02-17 10:45:58 +00:00
John Cupitt
b6c56e980c work on progressive png support 2012-02-15 17:19:42 +00:00
John Cupitt
05d31e0890 better arg parsing
oops in arg parse, better error messages
2012-02-15 16:24:10 +00:00
John Cupitt
7f94fb3597 break vips_sequential() out 2012-02-15 15:47:43 +00:00
John Cupitt
13a6c02c5c Merge remote-tracking branch 'origin/master' 2012-02-15 13:56:10 +00:00
John Cupitt
aee2999259 generic sequential read mode
moved sequential read stuff into VipsForeignLoad
2012-02-15 13:55:34 +00:00
John Cupitt
07cf2be29e fix png save 2012-02-14 10:53:39 +00:00
John Cupitt
71d55c4554 compat wrapper for bool was broken
oops it was calling relational instead
2012-02-10 14:50:46 +00:00
John Cupitt
8b5b3288b4 fix im_shrink() 2012-02-10 13:17:19 +00:00
John Cupitt
313ddda174 sync 2012-02-10 11:09:27 +00:00
John Cupitt
e0f31e3b4a vipsthumbnail knows about :seq mode for png
also im_open() knows about old-style embedded filename options
2012-02-08 13:33:19 +00:00
John Cupitt
b52785eef7 add a sequential read mode to pngload
helpful for thumbnailing
2012-02-07 14:30:54 +00:00
John Cupitt
b51faee8ca support many-returns ops in Python
add various %apply rules to move values returned via args into the result
2012-02-06 14:54:54 +00:00
John Cupitt
d38e7bea57 fix delayed write to foreign via "w"
also added vips_foreign_find_save_options()/
vips_foreign_find_load_options()
2012-02-02 15:08:57 +00:00
John Cupitt
2fed2f3490 sync 2012-02-01 14:55:12 +00:00
John Cupitt
1068ccc4eb much faster smudge
the new smudge based on im_conv() is just too slow ... back to the old
one, with some clean-ups
2012-01-30 10:18:06 +00:00
John Cupitt
710b69e273 oops abs(double) was broken 2012-01-28 14:09:18 +00:00
John Cupitt
d621cd1f38 remove old fftw2 path, reduce mem use 2012-01-28 11:27:16 +00:00
John Cupitt
bf10ec7432 oop abs(complex) was broken 2012-01-27 21:24:47 +00:00
John Cupitt
d1f5225e58 more robust char->enum
edvips has much safer char->enum conversion
2012-01-27 17:36:25 +00:00
John Cupitt
7330c244a4 remove the fft fallbacks
libvips had a set of fallback fft routines in case fftw was not
detected at configure time ... but they were terrible

remove them! we are fftw-only now
2012-01-27 14:48:28 +00:00
John Cupitt
b081f6a2fe oop we need im_setupout() after all
also fix the type hint setting for the fft functions
2012-01-27 14:25:52 +00:00
John Cupitt
95fc8190fa sync 2012-01-27 09:22:08 +00:00
John Cupitt
2b5963090f sync 2012-01-26 14:42:20 +00:00
John Cupitt
4311fa71da fix the magick loader
see
http://www.imagemagick.org/discourse-server/viewtopic.php?f=1&t=20017
2012-01-17 15:29:39 +00:00
John Cupitt
5fd317941d rationalise the dumpers 2012-01-16 14:54:29 +00:00
John Cupitt
f98dbceb60 add VIPS_IMAGE_N_PELS()
a macro to calculate the number of pels in an image, in 64 bits
2012-01-15 11:15:12 +00:00
John Cupitt
56bab17678 Merge remote-tracking branch 'origin/7.26'
Conflicts:
	ChangeLog
	TODO
	configure.in
	libvips/deprecated/dispatch_types.c
	libvips/foreign/tiff2vips.c
	libvips/include/vips/image.h
	libvips/iofuncs/header.c
	libvips/iofuncs/operation.c
	po/vips7.pot
2012-01-14 14:00:41 +00:00
John Cupitt
228784c52e fix a used before set warning 2012-01-14 13:45:00 +00:00
John Cupitt
a5b3eb2040 amke vips_cache() a vips8 operation 2012-01-13 13:15:56 +00:00
John Cupitt
5096031371 oops matlab load compat wrapper was broken 2012-01-12 14:14:54 +00:00
John Cupitt
b43f38997d small fixes 2012-01-11 15:00:37 +00:00
John Cupitt
774e2fe495 read jfif resolution
read jfif, if available, before we read exif resolution
2012-01-09 10:34:47 +00:00
John Cupitt
ae46447f5e silently truncate long strings in arg handling
we were assert()ing out before
2012-01-08 13:57:43 +00:00
John Cupitt
2dec30da2c better options parser
now only gets the options from the very end of a filename, so this
works:

"this should work (I hope!!).tif[compression=jpeg]"
2012-01-07 14:10:02 +00:00
John Cupitt
d5034b0485 add --vips-cache-trace
and rename cache-print as cache-dump
2012-01-06 09:36:04 +00:00
John Cupitt
c190c8e660 new Python binding
just a test thing for now, but seems to work OK

some small tweaks to help gobject-introspction
2012-01-05 13:26:25 +00:00
John Cupitt
2d12a91173 generic vips_call() is working 2012-01-04 14:38:22 +00:00
John Cupitt
a6dc0b6fea operation cache works from Python 2012-01-04 13:50:10 +00:00
John Cupitt
6f82f1ad61 make the cache more goi-friendly 2012-01-03 16:02:52 +00:00
John Cupitt
acd8ce277e just the cache to fix now 2012-01-02 15:50:41 +00:00
John Cupitt
405b89b000 get goi try.py going 2012-01-02 11:06:04 +00:00
John Cupitt
9fc55c3011 fix a segv with old-style interpolate CLI args
thanks Nicolas
2012-01-01 21:54:30 +00:00
John Cupitt
0ce08a2aa3 Merge branch 'goi-merge'
Conflicts:
	TODO
2012-01-01 12:07:16 +00:00
John Cupitt
7ae919e4f4 more hacking on gio warnings
all the serious ones seem to be fixed now
2012-01-01 12:04:46 +00:00
John Cupitt
46229cb796 sync 2011-12-31 20:41:05 +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
39e92f8f1b some work on the new Python binding 2011-12-23 15:20:54 +00:00
John Cupitt
73465109b7 sync 2011-12-22 17:48:50 +00:00
John Cupitt
6c33ec9ff2 foreign docs 2011-12-22 12:12:27 +00:00
John Cupitt
49d3542cc7 remove outchecks, again 2011-12-21 19:00:32 +00:00
John Cupitt
a62f5f8832 remove wio_output 2011-12-21 12:08:29 +00:00
John Cupitt
b4ae37819e rawsavefd -> rawsave_fd for consistency 2011-12-20 18:20:37 +00:00
John Cupitt
5a77fb4d1b fix a memleak in png buf write 2011-12-20 18:14:41 +00:00
John Cupitt
14734596a1 move VipsFormat to deprecated 2011-12-20 15:29:33 +00:00
John Cupitt
3e45e2cd6b move rad over to the new thing 2011-12-20 14:57:05 +00:00
John Cupitt
6864739351 move matio read to new system 2011-12-20 10:10:53 +00:00
John Cupitt
70bde4a90d move ppm read/write to new-style 2011-12-20 09:37:07 +00:00
John Cupitt
0377920764 mvoe png load/save over 2011-12-19 21:40:08 +00:00
John Cupitt
3015d7d7b8 move imagemagick load over to the new style 2011-12-19 08:58:04 +00:00
John Cupitt
7b4a6d07d4 fix analyze load, csv save, copy_swap 2011-12-17 11:03:08 +00:00
John Cupitt
3ee442ca6a move csv load/save to new style 2011-12-16 15:24:35 +00:00
John Cupitt
fb85eff4df sync 2011-12-15 11:33:32 +00:00
John Cupitt
65ed140ae3 move im_raw2vips() to a class 2011-12-14 22:51:14 +00:00
John Cupitt
25e42d1625 fix up new-style analyze load 2011-12-14 18:02:46 +00:00
John Cupitt
bf88439c0a "vips list" can show any class 2011-12-14 14:13:34 +00:00
John Cupitt
94fcf5f362 added object summaries 2011-12-14 14:03:30 +00:00
John Cupitt
7886180ae6 fixes to fits load/save 2011-12-14 13:18:50 +00:00
John Cupitt
0137186205 move fits read/write to new-style 2011-12-13 17:50:55 +00:00
John Cupitt
a2ed2edb5d fix --without-tiff etc. 2011-12-13 13:19:20 +00:00
John Cupitt
5789ca9421 openexr read becomes a new-style class 2011-12-13 10:20:22 +00:00
John Cupitt
5bc26b0b65 clean up options in image filenames
allow new-style options everywhere with the addition and use of
vips_foreign_write_options() and friends everywhere
2011-12-12 14:51:41 +00:00
John Cupitt
968c84e478 openslide needs suffs 2011-12-12 12:08:01 +00:00
John Cupitt
18d54ea3d2 final openslide cleanups 2011-12-12 11:58:36 +00:00
John Cupitt
05fbb6b3bc fix up openslideload
there was a problem with the tile cache ... plus some small tidies
2011-12-12 11:34:28 +00:00
John Cupitt
230e9ce63e move openslide to a new-style class 2011-12-11 22:01:39 +00:00
John Cupitt
7fe4843250 Merge remote-tracking branch 'origin/master' into format-hacking
also, start adding openslide.c to foreign

Conflicts:
	ChangeLog
	TODO
	libvips/iofuncs/image.c
2011-12-11 15:54:08 +00:00
John Cupitt
6c3b8ad96d add im_argb2rgba() for openslide
im_openslide2vips() now does not repack, we have a separate operator for
that
2011-12-11 11:58:50 +00:00
John Cupitt
c54bfddfee speed up openslide read
fix a problem with hints for lazy read
2011-12-10 21:48:34 +00:00
John Cupitt
cace9d5da8 try a tile cache for openslide read 2011-12-09 18:11:13 +00:00
John Cupitt
21781b9f0f sync 2011-12-09 14:54:54 +00:00
John Cupitt
e34b6b92e9 small cleanups
minor changed to openslide.c, use PEL everywhere as the pixel pointer
type
2011-12-09 14:30:45 +00:00
John Cupitt
b9747f5a06 various size_t->guint64 fixes
some platforms have off_t as 32-bits breaking large file support ...
make sure we use guint64 everywhere
2011-12-09 09:42:39 +00:00
John Cupitt
b9756d402a sync 2011-12-08 23:17:38 +00:00
John Cupitt
a7a3865375 make im_tiff2vips,c into a stub 2011-12-06 13:58:05 +00:00
John Cupitt
4367ccb177 fix a refleak 2011-12-06 12:34:40 +00:00
John Cupitt
e9e23536eb fix tiled tiff read 2011-12-05 21:41:57 +00:00
John Cupitt
0b8c31f85e make tiff2vips into a class 2011-12-05 17:39:11 +00:00
John Cupitt
b0eed26962 im_vips2tiff becomes a stub
also, make '=true' at the end of bool options optional
2011-12-04 11:06:21 +00:00
John Cupitt
c61ba6f481 small fixes 2011-12-03 11:50:09 +00:00
John Cupitt
24b3330487 tiff write works 2011-12-03 10:59:25 +00:00
John Cupitt
47fdd3ae6d new tiff writer builds 2011-12-02 18:21:55 +00:00
John Cupitt
0497fceb15 add new-style tiff writer 2011-12-02 14:48:37 +00:00
John Cupitt
ad099925d3 better usage messages 2011-12-02 13:30:37 +00:00
John Cupitt
5e037e4c68 foreign uses the cache 2011-12-02 13:15:05 +00:00
John Cupitt
30ec51699d sync 2011-12-02 09:10:11 +00:00
John Cupitt
89a65c81d2 fix up foreignflags 2011-12-01 21:59:21 +00:00
John Cupitt
878edcf4ea copy swap uses glib byte order macros
2x faster byte swapping by using the glib byte swap macros
2011-12-01 18:47:36 +00:00
John Cupitt
261af58e00 fix up byteswapping path (again) 2011-12-01 18:03:41 +00:00
John Cupitt
48763493e5 get byteswap working again 2011-12-01 14:52:49 +00:00
John Cupitt
9154e03715 better header/edvips
header is now terse by default, edvips has a flag to set the endianness
2011-12-01 13:17:40 +00:00
John Cupitt
8f1cf419d6 fix some reffing problems 2011-12-01 10:01:49 +00:00
John Cupitt
4fccf06e5d more work on refs 2011-11-30 22:06:52 +00:00
John Cupitt
588243c665 header command shows filenames 2011-11-30 14:56:57 +00:00
John Cupitt
a6da8c6935 sync 2011-11-30 11:55:38 +00:00
John Cupitt
4fd37502bc turn format/*jpeg* into stubs
the old im_vips2jpeg.c and im_jpeg2vips.c are now just stubs calling the
new foreign/ things
2011-11-30 11:51:01 +00:00
John Cupitt
f6ac8570dc use old VipsFormat system in old cmdline
the old CLI interface was using im_open() to open image files and
therefore got the new image option system ... add a thing to make it use
the old VipsFormat system instead
2011-11-30 10:28:30 +00:00
John Cupitt
40f6f5293b sync 2011-11-30 09:46:07 +00:00
John Cupitt
1f59fd7f10 add jpegsave_mime 2011-11-29 22:14:06 +00:00
John Cupitt
5bf5a3f2ba add load/save jpeg buffer 2011-11-29 18:13:14 +00:00
John Cupitt
9208afb8b2 Merge remote-tracking branch 'origin/format-hacking' into format-hacking
Conflicts:
	TODO
	libvips/file/jpegload.c
	libvips/foreign/foreign.c
	libvips/foreign/jpeg2vips.c
	libvips/foreign/jpegsave.c
	libvips/include/vips/file.h
2011-11-29 16:36:23 +00:00
John Cupitt
eeb4187ce3 sync 2011-11-29 16:08:19 +00:00
John Cupitt
c906b4aa66 sync 2011-11-29 14:53:25 +00:00
John Cupitt
935c713e71 sort out jpegload 2011-11-29 12:11:33 +00:00
John Cupitt
23a777127c new file systems works 2011-11-29 11:10:56 +00:00
John Cupitt
f7c34a369e revised jpeg binding works 2011-11-28 21:40:08 +00:00
John Cupitt
ee17946bf9 get ready for jpeg buffer 2011-11-28 14:54:55 +00:00
John Cupitt
5eb684bff7 sync 2011-11-28 09:39:20 +00:00
John Cupitt
b9db7249f4 new-style CLI save working 2011-11-27 21:31:21 +00:00
John Cupitt
d6240ac11a hooked up CLI input args to VipsFile
this now works woo

	$ vips copy babe.jpg{shrink=4} x2.v

output args next
2011-11-27 12:08:10 +00:00
John Cupitt
8ee5f36d4b new-style vips load/save works 2011-11-26 12:41:54 +00:00
John Cupitt
43587801f7 new-style vips load/save works
also image.c uses the new system instead of VipsFormat
2011-11-25 18:01:25 +00:00
John Cupitt
19b3c7eeb2 add new-style vips load and save 2011-11-25 14:55:43 +00:00
John Cupitt
dd14948652 new-style jpeg save works 2011-11-25 14:34:17 +00:00
John Cupitt
8e853b2857 start jpeg save 2011-11-24 22:02:49 +00:00
John Cupitt
ab0f72db62 new jpeg loader works 2011-11-24 21:53:40 +00:00
John Cupitt
2c641c6644 sync 2011-11-24 14:53:30 +00:00
John Cupitt
584e11e88d sync 2011-11-24 09:57:01 +00:00
John Cupitt
9cb602baa1 more new format stuff to VipsFile 2011-11-23 17:38:19 +00:00
John Cupitt
09aa42393a more format hacking 2011-11-23 14:53:19 +00:00
John Cupitt
f671088ff2 hackery on new format system 2011-11-23 14:03:11 +00:00
John Cupitt
5124856a20 move format.c to the vips_ prefix 2011-11-22 21:38:33 +00:00
John Cupitt
5f288314bb factor out some stuff into base classes 2011-11-22 12:00:32 +00:00
John Cupitt
c0150ea3c3 better CLI imagevec handling 2011-11-22 09:26:31 +00:00
John Cupitt
951dc0f83e fail for too many args on the CLI 2011-11-21 18:09:28 +00:00