Commit Graph

8152 Commits

Author SHA1 Message Date
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
Kleis Auke Wolthuizen
aef030e78a
cplusplus: add missing argc check in resize example (#3200) 2022-11-30 00:04:27 +00:00