@img/sharp-libvips-dev 1.2.4-rc.0 → 1.3.0-rc.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (55) hide show
  1. package/README.md +1 -1
  2. package/cplusplus/VError.cpp +1 -1
  3. package/cplusplus/VImage.cpp +66 -109
  4. package/cplusplus/vips-operators.cpp +172 -0
  5. package/include/archive.h +2 -2
  6. package/include/archive_entry.h +1 -1
  7. package/include/glib-2.0/gio/gdbusinterfaceskeleton.h +8 -1
  8. package/include/glib-2.0/gio/gfileinfo.h +7 -0
  9. package/include/glib-2.0/gio/gio-visibility.h +34 -0
  10. package/include/glib-2.0/girepository/gi-visibility.h +34 -0
  11. package/include/glib-2.0/glib/glib-visibility.h +34 -0
  12. package/include/glib-2.0/glib/gmacros.h +4 -0
  13. package/include/glib-2.0/glib/gmarkup.h +2 -0
  14. package/include/glib-2.0/glib/gtypes.h +46 -4
  15. package/include/glib-2.0/glib/gunicode.h +13 -1
  16. package/include/glib-2.0/glib/gversionmacros.h +9 -0
  17. package/include/glib-2.0/glib-unix.h +4 -0
  18. package/include/glib-2.0/gmodule/gmodule-visibility.h +34 -0
  19. package/include/glib-2.0/gobject/genums.h +2 -2
  20. package/include/glib-2.0/gobject/gobject-visibility.h +34 -0
  21. package/include/harfbuzz/hb-version.h +2 -2
  22. package/include/libpng16/png.h +7 -7
  23. package/include/libpng16/pngconf.h +1 -1
  24. package/include/libpng16/pnglibconf.h +1 -1
  25. package/include/librsvg-2.0/librsvg/rsvg-version.h +2 -2
  26. package/include/librsvg-2.0/librsvg/rsvg.h +6 -1
  27. package/include/png.h +7 -7
  28. package/include/pngconf.h +1 -1
  29. package/include/pnglibconf.h +1 -1
  30. package/include/ultrahdr_api.h +898 -0
  31. package/include/vips/VError8.h +17 -14
  32. package/include/vips/VImage8.h +235 -32
  33. package/include/vips/arithmetic.h +9 -9
  34. package/include/vips/basic.h +11 -1
  35. package/include/vips/colour.h +19 -2
  36. package/include/vips/conversion.h +8 -8
  37. package/include/vips/convolution.h +1 -1
  38. package/include/vips/create.h +2 -2
  39. package/include/vips/draw.h +1 -1
  40. package/include/vips/enumtypes.h +3 -0
  41. package/include/vips/foreign.h +74 -15
  42. package/include/vips/header.h +22 -0
  43. package/include/vips/image.h +8 -5
  44. package/include/vips/morphology.h +1 -1
  45. package/include/vips/operation.h +2 -1
  46. package/include/vips/private.h +5 -10
  47. package/include/vips/region.h +7 -1
  48. package/include/vips/resample.h +2 -2
  49. package/include/vips/semaphore.h +1 -5
  50. package/include/vips/threadpool.h +0 -1
  51. package/include/vips/version.h +8 -8
  52. package/include/zlib.h +5 -5
  53. package/package.json +1 -1
  54. package/versions.json +8 -8
  55. package/include/spng.h +0 -537
@@ -32,7 +32,7 @@
32
32
 
33
33
  #include <cstring>
34
34
  #include <ostream>
35
- #include <exception>
35
+ #include <stdexcept>
36
36
 
37
37
  #include <vips/vips.h>
38
38
 
@@ -42,36 +42,39 @@ VIPS_NAMESPACE_START
42
42
  * The libvips error class. It holds a single string containing an
43
43
  * internationalized error message in utf-8 encoding.
44
44
  */
45
- class VIPS_CPLUSPLUS_API VError : public std::exception {
46
- std::string _what;
47
-
45
+ class VIPS_CPLUSPLUS_API VError : public std::runtime_error {
48
46
  public:
49
- /**
50
- * Construct a VError, setting the error message.
51
- */
52
- VError(const std::string &what) : _what(what) {}
47
+ using std::runtime_error::runtime_error;
53
48
 
54
49
  /**
55
50
  * Construct a VError, fetching the error message from the libvips
56
51
  * error buffer.
57
52
  */
58
- VError() : _what(vips_error_buffer()) {}
59
-
60
- virtual ~VError() throw() {}
53
+ VError() : std::runtime_error(vips_error_buffer()) {}
61
54
 
62
55
  /**
63
56
  * Get a reference to the underlying C string.
57
+ * Note: this override must be preserved for ABI, removing it
58
+ * would also eliminate the `_ZNK4vips6VError4whatEv` symbol.
64
59
  */
65
- virtual const char *
66
- what() const throw()
60
+ const char *
61
+ what() const noexcept override
67
62
  {
68
- return _what.c_str();
63
+ return std::runtime_error::what();
69
64
  }
70
65
 
71
66
  /**
72
67
  * Print the error message to a stream.
73
68
  */
74
69
  void ostream_print(std::ostream &) const;
70
+
71
+ private:
72
+ /**
73
+ * ABI padding to preserve original VError size.
74
+ */
75
+ // TODO: Migrate to [[maybe_unused]] once we require C++17.
76
+ char _abi_padding[sizeof(std::exception) + sizeof(std::string) -
77
+ sizeof(std::runtime_error)] G_GNUC_UNUSED = {};
75
78
  };
76
79
 
77
80
  VIPS_NAMESPACE_END
@@ -548,6 +548,15 @@ public:
548
548
  return vips_image_get_filename(get_image());
549
549
  }
550
550
 
551
+ /**
552
+ * The associated gainmap image, if any.
553
+ */
554
+ VImage
555
+ gainmap() const
556
+ {
557
+ return VImage(vips_image_get_gainmap(get_image()));
558
+ }
559
+
551
560
  /**
552
561
  * Gets an VImage ready for an in-place operation, such as draw_circle().
553
562
  * After calling this function you can both read and write the image with
@@ -556,10 +565,10 @@ public:
556
565
  * This method is called for you by the draw operations,
557
566
  * there's no need to call it yourself.
558
567
  *
559
- * Since this function modifies the image, it is not thread-safe. Only call it on
560
- * images which you are sure have not been shared with another thread.
561
- * All in-place operations are inherently not thread-safe, so you need to take
562
- * great care in any case.
568
+ * Since this function modifies the image, it is not thread-safe. Only
569
+ * call it on images which you are sure have not been shared with another
570
+ * thread. All in-place operations are inherently not thread-safe, so
571
+ * you need to take great care in any case.
563
572
  */
564
573
  void
565
574
  inplace()
@@ -670,6 +679,15 @@ public:
670
679
  free_fn, data, length);
671
680
  }
672
681
 
682
+ /**
683
+ * Set the value of an image metadata item on an image.
684
+ */
685
+ void
686
+ set(const char *field, const VImage value)
687
+ {
688
+ vips_image_set_image(this->get_image(), field, value.get_image());
689
+ }
690
+
673
691
  /**
674
692
  * Return the GType of a metadata item, or 0 if the named item does not
675
693
  * exist.
@@ -2066,7 +2084,7 @@ public:
2066
2084
  * @param fd File descriptor to write to.
2067
2085
  * @param options Set of options.
2068
2086
  */
2069
- G_DEPRECATED_FOR(rawsave_target)
2087
+ [[deprecated("Use 'rawsave_target' instead")]]
2070
2088
  void rawsave_fd(int fd, VOption *options = nullptr) const;
2071
2089
 
2072
2090
  /* Automatically generated members.
@@ -2186,6 +2204,27 @@ public:
2186
2204
  */
2187
2205
  VImage LabS2LabQ(VOption *options = nullptr) const;
2188
2206
 
2207
+ /**
2208
+ * Transform oklab to oklch.
2209
+ * @param options Set of options.
2210
+ * @return Output image.
2211
+ */
2212
+ VImage Oklab2Oklch(VOption *options = nullptr) const;
2213
+
2214
+ /**
2215
+ * Transform oklab to xyz.
2216
+ * @param options Set of options.
2217
+ * @return Output image.
2218
+ */
2219
+ VImage Oklab2XYZ(VOption *options = nullptr) const;
2220
+
2221
+ /**
2222
+ * Transform oklch to oklab.
2223
+ * @param options Set of options.
2224
+ * @return Output image.
2225
+ */
2226
+ VImage Oklch2Oklab(VOption *options = nullptr) const;
2227
+
2189
2228
  /**
2190
2229
  * Transform xyz to cmyk.
2191
2230
  * @param options Set of options.
@@ -2204,6 +2243,13 @@ public:
2204
2243
  */
2205
2244
  VImage XYZ2Lab(VOption *options = nullptr) const;
2206
2245
 
2246
+ /**
2247
+ * Transform xyz to oklab.
2248
+ * @param options Set of options.
2249
+ * @return Output image.
2250
+ */
2251
+ VImage XYZ2Oklab(VOption *options = nullptr) const;
2252
+
2207
2253
  /**
2208
2254
  * Transform xyz to yxy.
2209
2255
  * @param options Set of options.
@@ -2714,7 +2760,6 @@ public:
2714
2760
  * - **memory** -- Force open via memory, bool.
2715
2761
  * - **access** -- Required access pattern for this file, VipsAccess.
2716
2762
  * - **fail_on** -- Error level to fail on, VipsFailOn.
2717
- * - **revalidate** -- Don't use a cached result for this operation, bool.
2718
2763
  *
2719
2764
  * @param source Source to load from.
2720
2765
  * @param options Set of options.
@@ -2776,6 +2821,53 @@ public:
2776
2821
  */
2777
2822
  VImage dECMC(VImage right, VOption *options = nullptr) const;
2778
2823
 
2824
+ /**
2825
+ * Load raw camera files.
2826
+ *
2827
+ * **Optional parameters**
2828
+ * - **bitdepth** -- Number of bits per pixel, int.
2829
+ * - **memory** -- Force open via memory, bool.
2830
+ * - **access** -- Required access pattern for this file, VipsAccess.
2831
+ * - **fail_on** -- Error level to fail on, VipsFailOn.
2832
+ * - **revalidate** -- Don't use a cached result for this operation, bool.
2833
+ *
2834
+ * @param filename Filename to load from.
2835
+ * @param options Set of options.
2836
+ * @return Output image.
2837
+ */
2838
+ static VImage dcrawload(const char *filename, VOption *options = nullptr);
2839
+
2840
+ /**
2841
+ * Load raw camera files.
2842
+ *
2843
+ * **Optional parameters**
2844
+ * - **bitdepth** -- Number of bits per pixel, int.
2845
+ * - **memory** -- Force open via memory, bool.
2846
+ * - **access** -- Required access pattern for this file, VipsAccess.
2847
+ * - **fail_on** -- Error level to fail on, VipsFailOn.
2848
+ * - **revalidate** -- Don't use a cached result for this operation, bool.
2849
+ *
2850
+ * @param buffer Buffer to load from.
2851
+ * @param options Set of options.
2852
+ * @return Output image.
2853
+ */
2854
+ static VImage dcrawload_buffer(VipsBlob *buffer, VOption *options = nullptr);
2855
+
2856
+ /**
2857
+ * Load raw camera files.
2858
+ *
2859
+ * **Optional parameters**
2860
+ * - **bitdepth** -- Number of bits per pixel, int.
2861
+ * - **memory** -- Force open via memory, bool.
2862
+ * - **access** -- Required access pattern for this file, VipsAccess.
2863
+ * - **fail_on** -- Error level to fail on, VipsFailOn.
2864
+ *
2865
+ * @param source Source to load from.
2866
+ * @param options Set of options.
2867
+ * @return Output image.
2868
+ */
2869
+ static VImage dcrawload_source(VSource source, VOption *options = nullptr);
2870
+
2779
2871
  /**
2780
2872
  * Find image standard deviation.
2781
2873
  * @param options Set of options.
@@ -3075,7 +3167,6 @@ public:
3075
3167
  * - **memory** -- Force open via memory, bool.
3076
3168
  * - **access** -- Required access pattern for this file, VipsAccess.
3077
3169
  * - **fail_on** -- Error level to fail on, VipsFailOn.
3078
- * - **revalidate** -- Don't use a cached result for this operation, bool.
3079
3170
  *
3080
3171
  * @param source Source to load from.
3081
3172
  * @param options Set of options.
@@ -3258,7 +3349,6 @@ public:
3258
3349
  * - **memory** -- Force open via memory, bool.
3259
3350
  * - **access** -- Required access pattern for this file, VipsAccess.
3260
3351
  * - **fail_on** -- Error level to fail on, VipsFailOn.
3261
- * - **revalidate** -- Don't use a cached result for this operation, bool.
3262
3352
  *
3263
3353
  * @param source Source to load from.
3264
3354
  * @param options Set of options.
@@ -3431,7 +3521,6 @@ public:
3431
3521
  * - **memory** -- Force open via memory, bool.
3432
3522
  * - **access** -- Required access pattern for this file, VipsAccess.
3433
3523
  * - **fail_on** -- Error level to fail on, VipsFailOn.
3434
- * - **revalidate** -- Don't use a cached result for this operation, bool.
3435
3524
  *
3436
3525
  * @param source Source to load from.
3437
3526
  * @param options Set of options.
@@ -3450,6 +3539,7 @@ public:
3450
3539
  * - **effort** -- CPU effort, int.
3451
3540
  * - **subsample_mode** -- Select chroma subsample operation mode, VipsForeignSubsample.
3452
3541
  * - **encoder** -- Select encoder to use, VipsForeignHeifEncoder.
3542
+ * - **tune** -- Tuning parameters, const char *.
3453
3543
  * - **keep** -- Which metadata to retain, VipsForeignKeep.
3454
3544
  * - **background** -- Background value, std::vector<double>.
3455
3545
  * - **page_height** -- Set page height for multipage save, int.
@@ -3471,6 +3561,7 @@ public:
3471
3561
  * - **effort** -- CPU effort, int.
3472
3562
  * - **subsample_mode** -- Select chroma subsample operation mode, VipsForeignSubsample.
3473
3563
  * - **encoder** -- Select encoder to use, VipsForeignHeifEncoder.
3564
+ * - **tune** -- Tuning parameters, const char *.
3474
3565
  * - **keep** -- Which metadata to retain, VipsForeignKeep.
3475
3566
  * - **background** -- Background value, std::vector<double>.
3476
3567
  * - **page_height** -- Set page height for multipage save, int.
@@ -3492,6 +3583,7 @@ public:
3492
3583
  * - **effort** -- CPU effort, int.
3493
3584
  * - **subsample_mode** -- Select chroma subsample operation mode, VipsForeignSubsample.
3494
3585
  * - **encoder** -- Select encoder to use, VipsForeignHeifEncoder.
3586
+ * - **tune** -- Tuning parameters, const char *.
3495
3587
  * - **keep** -- Which metadata to retain, VipsForeignKeep.
3496
3588
  * - **background** -- Background value, std::vector<double>.
3497
3589
  * - **page_height** -- Set page height for multipage save, int.
@@ -3804,7 +3896,6 @@ public:
3804
3896
  * - **memory** -- Force open via memory, bool.
3805
3897
  * - **access** -- Required access pattern for this file, VipsAccess.
3806
3898
  * - **fail_on** -- Error level to fail on, VipsFailOn.
3807
- * - **revalidate** -- Don't use a cached result for this operation, bool.
3808
3899
  *
3809
3900
  * @param source Source to load from.
3810
3901
  * @param options Set of options.
@@ -3915,7 +4006,6 @@ public:
3915
4006
  * - **memory** -- Force open via memory, bool.
3916
4007
  * - **access** -- Required access pattern for this file, VipsAccess.
3917
4008
  * - **fail_on** -- Error level to fail on, VipsFailOn.
3918
- * - **revalidate** -- Don't use a cached result for this operation, bool.
3919
4009
  *
3920
4010
  * @param source Source to load from.
3921
4011
  * @param options Set of options.
@@ -3924,7 +4014,7 @@ public:
3924
4014
  static VImage jpegload_source(VSource source, VOption *options = nullptr);
3925
4015
 
3926
4016
  /**
3927
- * Save image to jpeg file.
4017
+ * Save as jpeg.
3928
4018
  *
3929
4019
  * **Optional parameters**
3930
4020
  * - **Q** -- Q factor, int.
@@ -3947,7 +4037,7 @@ public:
3947
4037
  void jpegsave(const char *filename, VOption *options = nullptr) const;
3948
4038
 
3949
4039
  /**
3950
- * Save image to jpeg buffer.
4040
+ * Save as jpeg.
3951
4041
  *
3952
4042
  * **Optional parameters**
3953
4043
  * - **Q** -- Q factor, int.
@@ -3992,7 +4082,7 @@ public:
3992
4082
  void jpegsave_mime(VOption *options = nullptr) const;
3993
4083
 
3994
4084
  /**
3995
- * Save image to jpeg target.
4085
+ * Save as jpeg.
3996
4086
  *
3997
4087
  * **Optional parameters**
3998
4088
  * - **Q** -- Q factor, int.
@@ -4057,7 +4147,6 @@ public:
4057
4147
  * - **memory** -- Force open via memory, bool.
4058
4148
  * - **access** -- Required access pattern for this file, VipsAccess.
4059
4149
  * - **fail_on** -- Error level to fail on, VipsFailOn.
4060
- * - **revalidate** -- Don't use a cached result for this operation, bool.
4061
4150
  *
4062
4151
  * @param source Source to load from.
4063
4152
  * @param options Set of options.
@@ -4074,6 +4163,7 @@ public:
4074
4163
  * - **effort** -- Encoding effort, int.
4075
4164
  * - **lossless** -- Enable lossless compression, bool.
4076
4165
  * - **Q** -- Quality factor, int.
4166
+ * - **bitdepth** -- Bit depth, int.
4077
4167
  * - **keep** -- Which metadata to retain, VipsForeignKeep.
4078
4168
  * - **background** -- Background value, std::vector<double>.
4079
4169
  * - **page_height** -- Set page height for multipage save, int.
@@ -4093,6 +4183,7 @@ public:
4093
4183
  * - **effort** -- Encoding effort, int.
4094
4184
  * - **lossless** -- Enable lossless compression, bool.
4095
4185
  * - **Q** -- Quality factor, int.
4186
+ * - **bitdepth** -- Bit depth, int.
4096
4187
  * - **keep** -- Which metadata to retain, VipsForeignKeep.
4097
4188
  * - **background** -- Background value, std::vector<double>.
4098
4189
  * - **page_height** -- Set page height for multipage save, int.
@@ -4112,6 +4203,7 @@ public:
4112
4203
  * - **effort** -- Encoding effort, int.
4113
4204
  * - **lossless** -- Enable lossless compression, bool.
4114
4205
  * - **Q** -- Quality factor, int.
4206
+ * - **bitdepth** -- Bit depth, int.
4115
4207
  * - **keep** -- Which metadata to retain, VipsForeignKeep.
4116
4208
  * - **background** -- Background value, std::vector<double>.
4117
4209
  * - **page_height** -- Set page height for multipage save, int.
@@ -4180,7 +4272,6 @@ public:
4180
4272
  * - **memory** -- Force open via memory, bool.
4181
4273
  * - **access** -- Required access pattern for this file, VipsAccess.
4182
4274
  * - **fail_on** -- Error level to fail on, VipsFailOn.
4183
- * - **revalidate** -- Don't use a cached result for this operation, bool.
4184
4275
  *
4185
4276
  * @param filename Filename to load from.
4186
4277
  * @param options Set of options.
@@ -4198,7 +4289,6 @@ public:
4198
4289
  * - **memory** -- Force open via memory, bool.
4199
4290
  * - **access** -- Required access pattern for this file, VipsAccess.
4200
4291
  * - **fail_on** -- Error level to fail on, VipsFailOn.
4201
- * - **revalidate** -- Don't use a cached result for this operation, bool.
4202
4292
  *
4203
4293
  * @param buffer Buffer to load from.
4204
4294
  * @param options Set of options.
@@ -4206,6 +4296,23 @@ public:
4206
4296
  */
4207
4297
  static VImage magickload_buffer(VipsBlob *buffer, VOption *options = nullptr);
4208
4298
 
4299
+ /**
4300
+ * Load source with imagemagick.
4301
+ *
4302
+ * **Optional parameters**
4303
+ * - **density** -- Canvas resolution for rendering vector formats like SVG, const char *.
4304
+ * - **page** -- First page to load, int.
4305
+ * - **n** -- Number of pages to load, -1 for all, int.
4306
+ * - **memory** -- Force open via memory, bool.
4307
+ * - **access** -- Required access pattern for this file, VipsAccess.
4308
+ * - **fail_on** -- Error level to fail on, VipsFailOn.
4309
+ *
4310
+ * @param source Source to load from.
4311
+ * @param options Set of options.
4312
+ * @return Output image.
4313
+ */
4314
+ static VImage magickload_source(VSource source, VOption *options = nullptr);
4315
+
4209
4316
  /**
4210
4317
  * Save file with imagemagick.
4211
4318
  *
@@ -4552,7 +4659,6 @@ public:
4552
4659
  * - **memory** -- Force open via memory, bool.
4553
4660
  * - **access** -- Required access pattern for this file, VipsAccess.
4554
4661
  * - **fail_on** -- Error level to fail on, VipsFailOn.
4555
- * - **revalidate** -- Don't use a cached result for this operation, bool.
4556
4662
  *
4557
4663
  * @param source Source to load from.
4558
4664
  * @param options Set of options.
@@ -4773,7 +4879,6 @@ public:
4773
4879
  * - **memory** -- Force open via memory, bool.
4774
4880
  * - **access** -- Required access pattern for this file, VipsAccess.
4775
4881
  * - **fail_on** -- Error level to fail on, VipsFailOn.
4776
- * - **revalidate** -- Don't use a cached result for this operation, bool.
4777
4882
  *
4778
4883
  * @param source Source to load from.
4779
4884
  * @param options Set of options.
@@ -4842,7 +4947,6 @@ public:
4842
4947
  * - **memory** -- Force open via memory, bool.
4843
4948
  * - **access** -- Required access pattern for this file, VipsAccess.
4844
4949
  * - **fail_on** -- Error level to fail on, VipsFailOn.
4845
- * - **revalidate** -- Don't use a cached result for this operation, bool.
4846
4950
  *
4847
4951
  * @param source Source to load from.
4848
4952
  * @param options Set of options.
@@ -4860,6 +4964,7 @@ public:
4860
4964
  * - **scale** -- Factor to scale by, double.
4861
4965
  * - **background** -- Background colour, std::vector<double>.
4862
4966
  * - **password** -- Password to decrypt with, const char *.
4967
+ * - **page_box** -- The region of the page to render, VipsForeignPdfPageBox.
4863
4968
  * - **memory** -- Force open via memory, bool.
4864
4969
  * - **access** -- Required access pattern for this file, VipsAccess.
4865
4970
  * - **fail_on** -- Error level to fail on, VipsFailOn.
@@ -4881,6 +4986,7 @@ public:
4881
4986
  * - **scale** -- Factor to scale by, double.
4882
4987
  * - **background** -- Background colour, std::vector<double>.
4883
4988
  * - **password** -- Password to decrypt with, const char *.
4989
+ * - **page_box** -- The region of the page to render, VipsForeignPdfPageBox.
4884
4990
  * - **memory** -- Force open via memory, bool.
4885
4991
  * - **access** -- Required access pattern for this file, VipsAccess.
4886
4992
  * - **fail_on** -- Error level to fail on, VipsFailOn.
@@ -4902,10 +5008,10 @@ public:
4902
5008
  * - **scale** -- Factor to scale by, double.
4903
5009
  * - **background** -- Background colour, std::vector<double>.
4904
5010
  * - **password** -- Password to decrypt with, const char *.
5011
+ * - **page_box** -- The region of the page to render, VipsForeignPdfPageBox.
4905
5012
  * - **memory** -- Force open via memory, bool.
4906
5013
  * - **access** -- Required access pattern for this file, VipsAccess.
4907
5014
  * - **fail_on** -- Error level to fail on, VipsFailOn.
4908
- * - **revalidate** -- Don't use a cached result for this operation, bool.
4909
5015
  *
4910
5016
  * @param source Source to load from.
4911
5017
  * @param options Set of options.
@@ -4984,7 +5090,6 @@ public:
4984
5090
  * - **memory** -- Force open via memory, bool.
4985
5091
  * - **access** -- Required access pattern for this file, VipsAccess.
4986
5092
  * - **fail_on** -- Error level to fail on, VipsFailOn.
4987
- * - **revalidate** -- Don't use a cached result for this operation, bool.
4988
5093
  *
4989
5094
  * @param source Source to load from.
4990
5095
  * @param options Set of options.
@@ -4998,7 +5103,7 @@ public:
4998
5103
  * **Optional parameters**
4999
5104
  * - **compression** -- Compression factor, int.
5000
5105
  * - **interlace** -- Interlace image, bool.
5001
- * - **filter** -- libspng row filter flag(s), VipsForeignPngFilter.
5106
+ * - **filter** -- libpng row filter flag(s), VipsForeignPngFilter.
5002
5107
  * - **palette** -- Quantise to 8bpp palette, bool.
5003
5108
  * - **Q** -- Quantisation quality, int.
5004
5109
  * - **dither** -- Amount of dithering, double.
@@ -5020,7 +5125,7 @@ public:
5020
5125
  * **Optional parameters**
5021
5126
  * - **compression** -- Compression factor, int.
5022
5127
  * - **interlace** -- Interlace image, bool.
5023
- * - **filter** -- libspng row filter flag(s), VipsForeignPngFilter.
5128
+ * - **filter** -- libpng row filter flag(s), VipsForeignPngFilter.
5024
5129
  * - **palette** -- Quantise to 8bpp palette, bool.
5025
5130
  * - **Q** -- Quantisation quality, int.
5026
5131
  * - **dither** -- Amount of dithering, double.
@@ -5042,7 +5147,7 @@ public:
5042
5147
  * **Optional parameters**
5043
5148
  * - **compression** -- Compression factor, int.
5044
5149
  * - **interlace** -- Interlace image, bool.
5045
- * - **filter** -- libspng row filter flag(s), VipsForeignPngFilter.
5150
+ * - **filter** -- libpng row filter flag(s), VipsForeignPngFilter.
5046
5151
  * - **palette** -- Quantise to 8bpp palette, bool.
5047
5152
  * - **Q** -- Quantisation quality, int.
5048
5153
  * - **dither** -- Amount of dithering, double.
@@ -5095,7 +5200,6 @@ public:
5095
5200
  * - **memory** -- Force open via memory, bool.
5096
5201
  * - **access** -- Required access pattern for this file, VipsAccess.
5097
5202
  * - **fail_on** -- Error level to fail on, VipsFailOn.
5098
- * - **revalidate** -- Don't use a cached result for this operation, bool.
5099
5203
  *
5100
5204
  * @param source Source to load from.
5101
5205
  * @param options Set of options.
@@ -5235,7 +5339,6 @@ public:
5235
5339
  * - **memory** -- Force open via memory, bool.
5236
5340
  * - **access** -- Required access pattern for this file, VipsAccess.
5237
5341
  * - **fail_on** -- Error level to fail on, VipsFailOn.
5238
- * - **revalidate** -- Don't use a cached result for this operation, bool.
5239
5342
  *
5240
5343
  * @param source Source to load from.
5241
5344
  * @param options Set of options.
@@ -5839,7 +5942,6 @@ public:
5839
5942
  * - **memory** -- Force open via memory, bool.
5840
5943
  * - **access** -- Required access pattern for this file, VipsAccess.
5841
5944
  * - **fail_on** -- Error level to fail on, VipsFailOn.
5842
- * - **revalidate** -- Don't use a cached result for this operation, bool.
5843
5945
  *
5844
5946
  * @param source Source to load from.
5845
5947
  * @param options Set of options.
@@ -5860,8 +5962,9 @@ public:
5860
5962
  *
5861
5963
  * **Optional parameters**
5862
5964
  * - **in** -- Array of input images, std::vector<VImage>.
5863
- * - **out_format** -- Format for output filename, const char *.
5864
5965
  * - **in_format** -- Format for input filename, const char *.
5966
+ * - **out_format** -- Format for output filename, const char *.
5967
+ * - **cache** -- Cache this call, bool.
5865
5968
  *
5866
5969
  * @param cmd_format Command to run.
5867
5970
  * @param options Set of options.
@@ -6026,7 +6129,6 @@ public:
6026
6129
  * - **memory** -- Force open via memory, bool.
6027
6130
  * - **access** -- Required access pattern for this file, VipsAccess.
6028
6131
  * - **fail_on** -- Error level to fail on, VipsFailOn.
6029
- * - **revalidate** -- Don't use a cached result for this operation, bool.
6030
6132
  *
6031
6133
  * @param source Source to load from.
6032
6134
  * @param options Set of options.
@@ -6183,6 +6285,105 @@ public:
6183
6285
  */
6184
6286
  VImage transpose3d(VOption *options = nullptr) const;
6185
6287
 
6288
+ /**
6289
+ * Transform uhdr to scrgb.
6290
+ * @param options Set of options.
6291
+ * @return Output image.
6292
+ */
6293
+ VImage uhdr2scRGB(VOption *options = nullptr) const;
6294
+
6295
+ /**
6296
+ * Load a uhdr image.
6297
+ *
6298
+ * **Optional parameters**
6299
+ * - **shrink** -- Shrink factor on load, int.
6300
+ * - **memory** -- Force open via memory, bool.
6301
+ * - **access** -- Required access pattern for this file, VipsAccess.
6302
+ * - **fail_on** -- Error level to fail on, VipsFailOn.
6303
+ * - **revalidate** -- Don't use a cached result for this operation, bool.
6304
+ *
6305
+ * @param filename Filename to load from.
6306
+ * @param options Set of options.
6307
+ * @return Output image.
6308
+ */
6309
+ static VImage uhdrload(const char *filename, VOption *options = nullptr);
6310
+
6311
+ /**
6312
+ * Load a uhdr image.
6313
+ *
6314
+ * **Optional parameters**
6315
+ * - **shrink** -- Shrink factor on load, int.
6316
+ * - **memory** -- Force open via memory, bool.
6317
+ * - **access** -- Required access pattern for this file, VipsAccess.
6318
+ * - **fail_on** -- Error level to fail on, VipsFailOn.
6319
+ * - **revalidate** -- Don't use a cached result for this operation, bool.
6320
+ *
6321
+ * @param buffer Buffer to load from.
6322
+ * @param options Set of options.
6323
+ * @return Output image.
6324
+ */
6325
+ static VImage uhdrload_buffer(VipsBlob *buffer, VOption *options = nullptr);
6326
+
6327
+ /**
6328
+ * Load a uhdr image.
6329
+ *
6330
+ * **Optional parameters**
6331
+ * - **shrink** -- Shrink factor on load, int.
6332
+ * - **memory** -- Force open via memory, bool.
6333
+ * - **access** -- Required access pattern for this file, VipsAccess.
6334
+ * - **fail_on** -- Error level to fail on, VipsFailOn.
6335
+ *
6336
+ * @param source Source to load from.
6337
+ * @param options Set of options.
6338
+ * @return Output image.
6339
+ */
6340
+ static VImage uhdrload_source(VSource source, VOption *options = nullptr);
6341
+
6342
+ /**
6343
+ * Save image in ultrahdr format.
6344
+ *
6345
+ * **Optional parameters**
6346
+ * - **Q** -- Q factor, int.
6347
+ * - **keep** -- Which metadata to retain, VipsForeignKeep.
6348
+ * - **background** -- Background value, std::vector<double>.
6349
+ * - **page_height** -- Set page height for multipage save, int.
6350
+ * - **profile** -- Filename of ICC profile to embed, const char *.
6351
+ *
6352
+ * @param filename Filename to save to.
6353
+ * @param options Set of options.
6354
+ */
6355
+ void uhdrsave(const char *filename, VOption *options = nullptr) const;
6356
+
6357
+ /**
6358
+ * Save image in ultrahdr format.
6359
+ *
6360
+ * **Optional parameters**
6361
+ * - **Q** -- Q factor, int.
6362
+ * - **keep** -- Which metadata to retain, VipsForeignKeep.
6363
+ * - **background** -- Background value, std::vector<double>.
6364
+ * - **page_height** -- Set page height for multipage save, int.
6365
+ * - **profile** -- Filename of ICC profile to embed, const char *.
6366
+ *
6367
+ * @param options Set of options.
6368
+ * @return Buffer to save to.
6369
+ */
6370
+ VipsBlob *uhdrsave_buffer(VOption *options = nullptr) const;
6371
+
6372
+ /**
6373
+ * Save image in ultrahdr format.
6374
+ *
6375
+ * **Optional parameters**
6376
+ * - **Q** -- Q factor, int.
6377
+ * - **keep** -- Which metadata to retain, VipsForeignKeep.
6378
+ * - **background** -- Background value, std::vector<double>.
6379
+ * - **page_height** -- Set page height for multipage save, int.
6380
+ * - **profile** -- Filename of ICC profile to embed, const char *.
6381
+ *
6382
+ * @param target Target to save to.
6383
+ * @param options Set of options.
6384
+ */
6385
+ void uhdrsave_target(VTarget target, VOption *options = nullptr) const;
6386
+
6186
6387
  /**
6187
6388
  * Unpremultiply image alpha.
6188
6389
  *
@@ -6217,7 +6418,6 @@ public:
6217
6418
  * - **memory** -- Force open via memory, bool.
6218
6419
  * - **access** -- Required access pattern for this file, VipsAccess.
6219
6420
  * - **fail_on** -- Error level to fail on, VipsFailOn.
6220
- * - **revalidate** -- Don't use a cached result for this operation, bool.
6221
6421
  *
6222
6422
  * @param source Source to load from.
6223
6423
  * @param options Set of options.
@@ -6299,7 +6499,6 @@ public:
6299
6499
  * - **memory** -- Force open via memory, bool.
6300
6500
  * - **access** -- Required access pattern for this file, VipsAccess.
6301
6501
  * - **fail_on** -- Error level to fail on, VipsFailOn.
6302
- * - **revalidate** -- Don't use a cached result for this operation, bool.
6303
6502
  *
6304
6503
  * @param source Source to load from.
6305
6504
  * @param options Set of options.
@@ -6313,6 +6512,7 @@ public:
6313
6512
  * **Optional parameters**
6314
6513
  * - **Q** -- Q factor, int.
6315
6514
  * - **lossless** -- Enable lossless compression, bool.
6515
+ * - **exact** -- Preserve color values from transparent pixels, bool.
6316
6516
  * - **preset** -- Preset for lossy compression, VipsForeignWebpPreset.
6317
6517
  * - **smart_subsample** -- Enable high quality chroma subsampling, bool.
6318
6518
  * - **near_lossless** -- Enable preprocessing in lossless mode (uses Q), bool.
@@ -6341,6 +6541,7 @@ public:
6341
6541
  * **Optional parameters**
6342
6542
  * - **Q** -- Q factor, int.
6343
6543
  * - **lossless** -- Enable lossless compression, bool.
6544
+ * - **exact** -- Preserve color values from transparent pixels, bool.
6344
6545
  * - **preset** -- Preset for lossy compression, VipsForeignWebpPreset.
6345
6546
  * - **smart_subsample** -- Enable high quality chroma subsampling, bool.
6346
6547
  * - **near_lossless** -- Enable preprocessing in lossless mode (uses Q), bool.
@@ -6369,6 +6570,7 @@ public:
6369
6570
  * **Optional parameters**
6370
6571
  * - **Q** -- Q factor, int.
6371
6572
  * - **lossless** -- Enable lossless compression, bool.
6573
+ * - **exact** -- Preserve color values from transparent pixels, bool.
6372
6574
  * - **preset** -- Preset for lossy compression, VipsForeignWebpPreset.
6373
6575
  * - **smart_subsample** -- Enable high quality chroma subsampling, bool.
6374
6576
  * - **near_lossless** -- Enable preprocessing in lossless mode (uses Q), bool.
@@ -6396,6 +6598,7 @@ public:
6396
6598
  * **Optional parameters**
6397
6599
  * - **Q** -- Q factor, int.
6398
6600
  * - **lossless** -- Enable lossless compression, bool.
6601
+ * - **exact** -- Preserve color values from transparent pixels, bool.
6399
6602
  * - **preset** -- Preset for lossy compression, VipsForeignWebpPreset.
6400
6603
  * - **smart_subsample** -- Enable high quality chroma subsampling, bool.
6401
6604
  * - **near_lossless** -- Enable preprocessing in lossless mode (uses Q), bool.