John Cupitt
5569022dbd
use G_GNUC_* attribute system
...
Instead of our own compiler attr thing.
see https://github.com/libvips/libvips/issues/2871
2022-09-23 14:37:35 +01:00
Kleis Auke Wolthuizen
07edfe37b1
Improve symbol visibility ( #2688 )
...
* Improve symbol visibility
* Decorate required internal symbols with VIPS_API
* Remove a couple of stray header decls
* Incorporate review comment
- Ensure symbol visibility is also set on static libraries.
- Prefer to use `cc.has_function_attribute('visibility:hidden')`.
* Don't export internal deprecated symbols
* Move deprecated symbols to vips7compat.h
* `IM_FORMAT_H` -> `VIPS_FORMAT_H`
* Move `vips_window_ref` compat stub to `vips7compat.c`
* Disable deprecation warnings internally
* `vips_image_get_kill` -> `vips_image_iskilled`
* Ensure API compatibility
* Add missing include directives
* Move `vips__init` decl to vips7compat
* Move `vips__get_sizeof_vipsobject` to vips7compat
* Fix introspection build
* Fix 2 introspection warnings
* Ensure compatibility with vipsdisp
/usr/bin/ld: tilesource.o: in function `tile_source_new_from_source':
vipsdisp/tilesource.c:1627: undefined reference to `vips__region_no_ownership'
2022-04-16 10:58:55 +01:00
John Cupitt
eba9ec0dd7
Add a way to disable less well tested operations ( #2636 )
...
* quick proposal
warn on startup if untrusted operations might run
use vips_block_untrusted_set() to block untrusted operations, set an env
var or make a file to stop the warning
* mark fits, nifti and svg as untrusted
* remove the annoying "untrusted" warning message
better to warn on the download page
leave vips_block_untrusted_set() since it's obviously useful
* separate UNTRUSTED and BLOCKED
* typos
* add VIPS_BLOCK_UNTRUSTED env var
* move BLOCK_UNTRUSTED after plugin load
obviously, ooops
* add a test, disable *magick
although *magick is fuzzed, it's probably safer to disable it in
untrusted environments
* mark some more operations as untrusted
2022-04-11 11:32:32 +01:00
Corentin Noël
542dd06999
Refine header inclusion to allow better introspection generation ( #2654 )
...
The headers need to be self-contained for the introspection parser
to work correctly. The entry for external users remains vips/vips.h
2022-02-15 05:02:07 +00:00
John Cupitt
fc9322f71b
move concurrency_set into the public API
...
oops, it was off in threadpool and wasn't being scanned
2016-09-09 08:52:14 +01:00
John Cupitt
9c18f1b4d5
yet mmore doc fixes
...
classes are working again in gtk-doc, yay
2016-07-13 22:39:16 +01:00
John Cupitt
eb5fee5e65
add lower-level cache access
2015-02-01 17:56:48 +00:00
John Cupitt
266e120676
new C++ interface works!
...
phew
2014-10-27 12:57:28 +00:00
John Cupitt
952241a426
more cplusplus hackery
2014-10-21 14:55:38 +01:00
John Cupitt
904803510d
box/unbox hooks in C API
...
should help us pass C++ objects as args
2014-10-21 09:27:34 +01:00
John Cupitt
7608524f61
fix up gtk-doc comments
...
fewer warnings now, phew
2014-09-03 14:32:55 +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
a8d04a7dd1
add op invalidate stuff
...
still need to test and link to cache
2014-06-12 09:22:28 +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
b72818a2b8
add VIPS_OPERATION_DEPRECATED
...
and fix a tiny problem in vipswrap7
2014-02-03 13:23:58 +00:00
John Cupitt
eb3ad6d64f
add lots of instrumentation
...
also svg output
2013-11-26 14:57:56 +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
f8f61fedf3
operation flags were not disjoint
...
meaning CACHE / NOCACHE was not working correctly
2013-11-09 11:54:33 +00: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
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
26f2105e5b
make everything LGPL2.1+
...
some files were incorrectly tagged as GPL, thanks Dmitry
2012-09-17 11:52:32 +01:00
John Cupitt
17f6489c0e
Merge remote-tracking branch 'origin/7.28'
...
Conflicts:
ChangeLog
configure.in
libvips/deprecated/im_csv2vips.c
2012-07-18 10:39:29 +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
701ff1ae8d
oops fix build failure
2012-07-09 17:20:58 +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
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
352c88b0ce
clean up cache.c
2012-06-21 12:22:30 +01:00
John Cupitt
1ee48e4cd6
add nocache flag, use for sequential file ops
...
stop it caching sequential file read (eg. sequential tiff read), since
you can only read sequentially once
2012-06-06 19:33:11 +01:00
John Cupitt
5fd317941d
rationalise the dumpers
2012-01-16 14:54:29 +00:00
John Cupitt
1e3edd7b1e
mvoe vips7 wrap back to vips7 names
...
improve cache trace formatting too
2012-01-06 14:56:24 +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
6f82f1ad61
make the cache more goi-friendly
2012-01-03 16:02:52 +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
5e037e4c68
foreign uses the cache
2011-12-02 13:15:05 +00:00
John Cupitt
52c8678b23
flush on too many open files
...
start to drop cached operations when there are too many files open
also, CLI args to control the cache limit, and more informative
--vips-leak messages
2011-11-02 14:51:39 +00:00
John Cupitt
ed73e8cf08
add cache drop and trim
...
the operation cache now has drop and trim and can report stats
2011-09-22 14:07:12 +01:00
John Cupitt
4b2c8587b2
vips_malloc() size tracking
...
vips_malloc() now tracks allocation size and can report total mem use.
It seems to trigger quite a few nip2 bugs though, I guess we are
g_free()ing the result in places (or vice versa).
======= Backtrace: =========
/lib/x86_64-linux-gnu/libc.so.6(+0x78a8f)[0x2aae8e011a8f]
/lib/x86_64-linux-gnu/libc.so.6(cfree+0x73)[0x2aae8e0158e3]
/home/john/vips/lib/libvips.so.15(vips_free+0xc2)[0x2aae88f7717e]
/home/john/GIT/nip2/src/nip2[0x4c9ce2]
/home/john/GIT/nip2/src/nip2(path_map_exact+0x63)[0x4ca127]
/home/john/GIT/nip2/src/nip2[0x4b5381]
2011-09-19 16:44:51 +01:00
John Cupitt
edb28af67c
more cache fixups
2011-09-19 10:18:48 +01:00
John Cupitt
f94541ba64
more introspection hackery
2011-06-21 14:41:38 +01:00
John Cupitt
6cb6d2289b
new CLI done
...
the new cli interface is done, try "vips add a.jpg b.jpg out.jpg", or
"vips add".
2011-05-16 17:10:08 +01:00
John Cupitt
67df101545
more command-line interface
...
more hacker ... this time a better way to do optional args
2011-05-11 14:51:47 +01:00
John Cupitt
e3f18fb9d1
compiles phew
2011-04-05 17:02:12 +01:00
John Cupitt
75d209fd2c
hackery
...
ops, half-done
2011-04-05 14:46:17 +01:00
John Cupitt
db41b6ac4e
add VipsOperation
...
abstract base class for all operations goes in
2011-03-29 12:12:20 +01:00