Commit Graph

8153 Commits

Author SHA1 Message Date
sergiotarxz 7532223d3a Adding debug line. 2023-01-21 16:42:26 +01:00
Kleis Auke Wolthuizen 815b499076
Start a new changelog for 8.15 (#3283) 2023-01-16 11:46:03 +01:00
Lovell Fuller 7eba4ee43f
Introduce support for target_clones attribute (#3280)
This requires GLIBC 2.23+, plus either gcc 6+ or clang 14+.

- Provides build-time feature detection
- Use with (un)premultiply for ~10% perf gain on AVX CPUs
- Slightly increases binary size, so best to use sparingly
2023-01-16 10:45:37 +01:00
Kleis Auke Wolthuizen f8c06d8a36
Bump version to 8.15 for the next release cycle (#3281) 2023-01-15 17:13:11 +01:00
John Cupitt e788d96b6a note goi flag
see https://github.com/libvips/libvips/issues/3276
2023-01-14 06:18:46 +00:00
John Cupitt 7b7da7e022 fix up sponsor list 2023-01-14 06:00:38 +00:00
John Cupitt b00a4a80d6 Merge branch '8.14' 2023-01-09 11:08:03 +00:00
John Cupitt dc78c2c6e4 fix jpeg autorotate for orientation 3
we were not clearing the orientation tag if width and height were
unaltered by the orientation change

see https://github.com/libvips/libvips/discussions/3268

thanks zhifengzhuang
2023-01-09 10:11:45 +00:00
John Cupitt 0500feb465 Merge branch '8.14' of github.com:libvips/libvips into 8.14 2023-01-06 12:11:27 +00:00
John Cupitt a52b8e3681 fix mono fits write
we should write mono images as naxis=2

see https://github.com/libvips/libvips/issues/3265
2023-01-06 12:06:12 +00:00
Kleis Auke Wolthuizen bd45fbd25c
Minor GIR fixes (#3261)
* Ensure GIR file is aware of `create/` sources

It was missing the comments for the `VipsTextWrap` enum.

* Avoid new lines in enum members
2023-01-04 19:05:00 +00:00
John Cupitt 8ea519eab7 better wait names in vipsprofile 2023-01-04 18:26:41 +00:00
John Cupitt febb71dba1 vipsprofile outputs top 10 waits 2023-01-04 18:16:04 +00:00
John Cupitt 675143807a fix vips_worker_work_unit gate name 2023-01-04 16:08:57 +00:00
John Cupitt 2aea0ee22b update vipsprofile to py3 2023-01-04 14:00:12 +00:00
John Cupitt 43a83fcd18 a little more dbg output 2023-01-04 12:08:05 +00:00
John Cupitt 182a562d1a Merge branch '8.14' 2023-01-03 12:12:47 +00:00
John Cupitt e2c2866fc6 tweak docs, add changelog notes
and an assert for semaphore_down_timeout

see https://github.com/libvips/libvips/pull/3253
2023-01-03 12:09:24 +00:00
Kleis Auke Wolthuizen 848a119faa
threadset: stop idle threads after a regular timeout (#3253)
* Add `vips_semaphore_down_timeout` to public API

In preparation for the next commit.

* threadset: stop idle threads after a regular timeout

In line with the previous behaviour of GLib's threadpool.

* threadset: fix a small memory leak

* threadset: ensure idle threads are freed on exit

GLib threads are spawned with `ref_count == 2`, this reference is
decreased during thread exit and associated resources are freed
during `g_thread_join()`. However, idle threads that are stopped
after a regular timeout are not joined. To fix this, decrease the
reference count during `vips_threadset_add()` and increase it just
before joining the thread with `g_thread_join()`.

See:
2d5d990c6a/glib/gthread.c (L522)
2d5d990c6a/glib/gthread-posix.c (L1287)

* Deprecate `vips_g_thread_join()` in favor of `g_thread_join()`

* nit: remove extra semicolon
2023-01-03 12:00:35 +00:00
Kleis Auke Wolthuizen 60e18873fd
Fix version number in generated gtk-doc (#3259)
* Fix version number in generated gtk-doc

By using a separate XML file for the version number.

Resolves: #3255.

* Avoid newline in `version.xml.in`
2023-01-03 11:56:56 +00:00
Kleis Auke Wolthuizen 1b9a6397d7
Lower Meson version requirement to 0.55.x (#3257)
Allowing libvips to be compiled on RHEL 7 (and its derivatives).
2023-01-02 20:35:50 +00:00
John Cupitt 9419b3636f add missing vips_thread_isworker compat func
also bump to 8.14.1

see https://github.com/libvips/libvips/issues/3254

thanks remi
2023-01-02 11:57:05 +00:00
Lovell Fuller e0ecf61844
Ensure pthread_create suppression stack matches newer glibc (#3256) 2023-01-02 11:46:29 +00:00
John Cupitt feae09e9cd make arrayjoin much faster with large arrays
arrayjoin was making a region on every input image during startup, and
repeating for each thread (!!) so large arrays could be very expensive
to join.

Instead, make input regions on demand, and computre set of required
input images rather than searching for them.

See https://github.com/libvips/libvips/discussions/3247
2022-12-29 20:50:22 +00:00
John Cupitt a03e1ef75d reorder changelog items 2022-12-24 13:28:10 +00:00
John Cupitt 09c50bac60 tiny doc fix
see https://github.com/libvips/libvips/discussions/3239#discussioncomment-4490620
2022-12-24 13:03:20 +00:00
John Cupitt cd379a137a Merge branch 'master' into 8.14 2022-12-23 22:45:30 +00:00
John Cupitt 013cf38547 fix ppmload doc comment
ooops! RapidTransit

see https://github.com/libvips/libvips/discussions/3239
2022-12-23 22:44:12 +00:00
John Cupitt 13e619381c Merge branch 'master' into 8.14 2022-12-23 12:33:55 +00:00
Kleis Auke Wolthuizen 97720a1fb8
Minor doc improvements (#3236)
* doc: regenerate docbook after commit 5056f59

* cplusplus: update doc comments

Incorporates the improvements of commit ac4c2d2 and 6bb0b4d.
2022-12-23 12:33:26 +00:00
John Cupitt 530f286fde doc link 2022-12-23 11:50:07 +00:00
John Cupitt 34df78f778 revise changelog 2022-12-22 19:02:04 +00:00
John Cupitt ec98db2196 note release date for 8.14 2022-12-22 18:52:16 +00:00
John Cupitt 96946001c6 revise comment 2022-12-22 18:10:52 +00:00
John Cupitt a4c1919d69 Merge branch '8.13' 2022-12-16 11:37:18 +00:00
John Cupitt caed71af04 emit "finish" at the end of targetcustom write
In 8.13 we deprecated target_finish() (it did not have an error return)
to target_end() (now has an error return).

This PR makes target_end() also emit the "finish" signal for
compatibility with the previous API. ruby-vips, for example, looks for
on_finish() to close files.

See https://github.com/libvips/ruby-vips/issues/351

Thanks lucaskanashiro
2022-12-16 11:32:16 +00:00
John Cupitt 4a76c79426 Merge branch 'master' of github.com:libvips/libvips 2022-12-15 11:21:07 +00:00
John Cupitt 821e2165b9 add meson option to disable cplusplus api build 2022-12-15 11:20:10 +00:00
John Cupitt 43ab4bf886 tiny formatting changes 2022-12-15 11:15:01 +00:00
aliflux-omo 5056f59f51
Adding layout: IIIF and IIIF3 to documentation (#3209) 2022-12-15 11:09:49 +00:00
Daniel Löbl 6bb0b4dd1e
heifsave: make it possible to use a specific encoder (#3198)
* heifsave: make it possible to use a specific encoder

* argument label: switch to leading capital letter

Co-authored-by: Kleis Auke Wolthuizen <github@kleisauke.nl>

* add VipsForeignHeifEncoder enum

* correct type

* implement reviewer feedback

Co-authored-by: Kleis Auke Wolthuizen <github@kleisauke.nl>
2022-12-15 11:02:38 +00:00
Kleis Auke Wolthuizen 20a4d6029d
Allow libjxl 0.6 (#3223)
This partially reverts commit 0029b3c4.
2022-12-08 13:22:36 +00:00
John Cupitt ac4c2d2b3d
gifsave: deprecate reoptimise, add reuse (#3213)
see https://github.com/libvips/libvips/discussions/3211
2022-12-05 15:41:54 +00:00
John Cupitt a154b30d51 improve completion script 2022-11-30 19:06:07 +00:00
Kleis Auke Wolthuizen 0629a5de7f
Ensure consistent formatting of `->format_table` (#3199) 2022-11-30 09:41:05 +00:00
Kleis Auke Wolthuizen fb21c2483a
CI: disable `__tls_get_addr` interception in ASan (#3205)
It might be the cause of the intermittent ASan failures on CI.

See: https://github.com/google/sanitizers/issues/1322
2022-11-30 00:09:42 +00:00
Kleis Auke Wolthuizen fa03989b60
Minor doc improvements (#3202)
* doc: avoid use of GCC's old syntax (`-Wgnu-designator`)

* doc: highlight shell commands

* doc: point the C++ docs to v8.12

* doc: avoid highlight on output matching bash keywords
2022-11-30 00:07:57 +00:00
Kleis Auke Wolthuizen d6898e592b
Mark profiles.c as a generated file (#3201) 2022-11-30 00:07:42 +00:00
Kleis Auke Wolthuizen 464206fcda
Regenerate POTFILES.in (#3203) 2022-11-30 00:06:18 +00:00
Kleis Auke Wolthuizen 489ed5c0e8
Update C++ binding and function list (#3204) 2022-11-30 00:06:06 +00:00