@img/sharp-libvips-dev 1.2.4 → 1.3.0-rc.1
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.
- package/README.md +1 -1
- package/cplusplus/VError.cpp +1 -1
- package/cplusplus/VImage.cpp +66 -109
- package/cplusplus/vips-operators.cpp +172 -0
- package/include/archive.h +2 -2
- package/include/archive_entry.h +1 -1
- package/include/glib-2.0/gio/gdbusinterfaceskeleton.h +8 -1
- package/include/glib-2.0/gio/gfileinfo.h +7 -0
- package/include/glib-2.0/gio/gio-visibility.h +34 -0
- package/include/glib-2.0/girepository/gi-visibility.h +34 -0
- package/include/glib-2.0/glib/glib-visibility.h +34 -0
- package/include/glib-2.0/glib/gmacros.h +4 -0
- package/include/glib-2.0/glib/gmarkup.h +2 -0
- package/include/glib-2.0/glib/gtypes.h +46 -4
- package/include/glib-2.0/glib/gunicode.h +13 -1
- package/include/glib-2.0/glib/gversionmacros.h +9 -0
- package/include/glib-2.0/glib-unix.h +4 -0
- package/include/glib-2.0/gmodule/gmodule-visibility.h +34 -0
- package/include/glib-2.0/gobject/genums.h +2 -2
- package/include/glib-2.0/gobject/gobject-visibility.h +34 -0
- package/include/harfbuzz/hb-version.h +2 -2
- package/include/libpng16/png.h +7 -7
- package/include/libpng16/pngconf.h +1 -1
- package/include/libpng16/pnglibconf.h +1 -1
- package/include/librsvg-2.0/librsvg/rsvg-version.h +2 -2
- package/include/librsvg-2.0/librsvg/rsvg.h +6 -1
- package/include/png.h +7 -7
- package/include/pngconf.h +1 -1
- package/include/pnglibconf.h +1 -1
- package/include/ultrahdr_api.h +898 -0
- package/include/vips/VError8.h +17 -14
- package/include/vips/VImage8.h +235 -32
- package/include/vips/arithmetic.h +9 -9
- package/include/vips/basic.h +11 -1
- package/include/vips/colour.h +19 -2
- package/include/vips/conversion.h +8 -8
- package/include/vips/convolution.h +1 -1
- package/include/vips/create.h +2 -2
- package/include/vips/draw.h +1 -1
- package/include/vips/enumtypes.h +3 -0
- package/include/vips/foreign.h +74 -15
- package/include/vips/header.h +22 -0
- package/include/vips/image.h +8 -5
- package/include/vips/morphology.h +1 -1
- package/include/vips/operation.h +2 -1
- package/include/vips/private.h +5 -10
- package/include/vips/region.h +7 -1
- package/include/vips/resample.h +2 -2
- package/include/vips/semaphore.h +1 -5
- package/include/vips/threadpool.h +0 -1
- package/include/vips/version.h +8 -8
- package/include/zlib.h +5 -5
- package/package.json +1 -1
- package/versions.json +8 -8
- package/include/spng.h +0 -537
package/README.md
CHANGED
|
@@ -28,8 +28,8 @@ used under the terms of the following licences:
|
|
|
28
28
|
| libnsgif | MIT Licence |
|
|
29
29
|
| libpng | [libpng License](https://github.com/pnggroup/libpng/blob/master/LICENSE) |
|
|
30
30
|
| librsvg | LGPLv3 |
|
|
31
|
-
| libspng | [BSD 2-Clause, libpng License](https://github.com/randy408/libspng/blob/master/LICENSE) |
|
|
32
31
|
| libtiff | [libtiff License](https://gitlab.com/libtiff/libtiff/blob/master/LICENSE.md) (BSD-like) |
|
|
32
|
+
| libultrahdr | Apache-2.0 License |
|
|
33
33
|
| libvips | LGPLv3 |
|
|
34
34
|
| libwebp | New BSD License |
|
|
35
35
|
| libxml2 | MIT Licence |
|
package/cplusplus/VError.cpp
CHANGED
package/cplusplus/VImage.cpp
CHANGED
|
@@ -431,8 +431,7 @@ VOption::set_operation(VipsOperation *operation)
|
|
|
431
431
|
#ifdef VIPS_DEBUG_VERBOSE
|
|
432
432
|
printf("set_operation: ");
|
|
433
433
|
vips_object_print_name(VIPS_OBJECT(operation));
|
|
434
|
-
char *str_value =
|
|
435
|
-
g_strdup_value_contents(&(*i)->value);
|
|
434
|
+
char *str_value = g_strdup_value_contents(&(*i)->value);
|
|
436
435
|
printf(".%s = %s\n", (*i)->name, str_value);
|
|
437
436
|
g_free(str_value);
|
|
438
437
|
#endif /*VIPS_DEBUG_VERBOSE*/
|
|
@@ -452,14 +451,12 @@ VOption::get_operation(VipsOperation *operation)
|
|
|
452
451
|
if (!(*i)->input) {
|
|
453
452
|
const char *name = (*i)->name;
|
|
454
453
|
|
|
455
|
-
g_object_get_property(G_OBJECT(operation),
|
|
456
|
-
name, &(*i)->value);
|
|
454
|
+
g_object_get_property(G_OBJECT(operation), name, &(*i)->value);
|
|
457
455
|
|
|
458
456
|
#ifdef VIPS_DEBUG_VERBOSE
|
|
459
457
|
printf("get_operation: ");
|
|
460
458
|
vips_object_print_name(VIPS_OBJECT(operation));
|
|
461
|
-
char *str_value = g_strdup_value_contents(
|
|
462
|
-
&(*i)->value);
|
|
459
|
+
char *str_value = g_strdup_value_contents(&(*i)->value);
|
|
463
460
|
printf(".%s = %s\n", name, str_value);
|
|
464
461
|
g_free(str_value);
|
|
465
462
|
#endif /*VIPS_DEBUG_VERBOSE*/
|
|
@@ -469,9 +466,8 @@ VOption::get_operation(VipsOperation *operation)
|
|
|
469
466
|
|
|
470
467
|
if (type == VIPS_TYPE_IMAGE) {
|
|
471
468
|
// rebox object
|
|
472
|
-
VipsImage *image = VIPS_IMAGE(
|
|
473
|
-
|
|
474
|
-
*((*i)->vimage) = VImage(image);
|
|
469
|
+
VipsImage *image = VIPS_IMAGE(g_value_get_object(value));
|
|
470
|
+
*((*i)->vimage) = VImage(image, NOSTEAL);
|
|
475
471
|
}
|
|
476
472
|
else if (type == G_TYPE_INT)
|
|
477
473
|
*((*i)->vint) = g_value_get_int(value);
|
|
@@ -481,19 +477,15 @@ VOption::get_operation(VipsOperation *operation)
|
|
|
481
477
|
*((*i)->vdouble) = g_value_get_double(value);
|
|
482
478
|
else if (type == VIPS_TYPE_ARRAY_DOUBLE) {
|
|
483
479
|
int length;
|
|
484
|
-
double *array =
|
|
485
|
-
vips_value_get_array_double(value,
|
|
486
|
-
&length);
|
|
480
|
+
double *array = vips_value_get_array_double(value, &length);
|
|
487
481
|
|
|
488
482
|
((*i)->vvector)->resize(length);
|
|
489
483
|
for (int j = 0; j < length; j++)
|
|
490
484
|
(*((*i)->vvector))[j] = array[j];
|
|
491
485
|
}
|
|
492
|
-
else if (type == VIPS_TYPE_BLOB)
|
|
486
|
+
else if (type == VIPS_TYPE_BLOB)
|
|
493
487
|
// our caller gets a reference
|
|
494
|
-
*((*i)->vblob) =
|
|
495
|
-
(VipsBlob *) g_value_dup_boxed(value);
|
|
496
|
-
}
|
|
488
|
+
*((*i)->vblob) = (VipsBlob *) g_value_dup_boxed(value);
|
|
497
489
|
}
|
|
498
490
|
}
|
|
499
491
|
|
|
@@ -515,8 +507,7 @@ VImage::call_option_string(const char *operation_name,
|
|
|
515
507
|
* override things we set deliberately.
|
|
516
508
|
*/
|
|
517
509
|
if (option_string &&
|
|
518
|
-
vips_object_set_from_string(VIPS_OBJECT(operation),
|
|
519
|
-
option_string)) {
|
|
510
|
+
vips_object_set_from_string(VIPS_OBJECT(operation), option_string)) {
|
|
520
511
|
vips_object_unref_outputs(VIPS_OBJECT(operation));
|
|
521
512
|
g_object_unref(operation);
|
|
522
513
|
delete options;
|
|
@@ -540,15 +531,19 @@ VImage::call_option_string(const char *operation_name,
|
|
|
540
531
|
if (options)
|
|
541
532
|
options->get_operation(operation);
|
|
542
533
|
|
|
543
|
-
/*
|
|
534
|
+
/* Unref all unassigned outputs.
|
|
544
535
|
*/
|
|
545
|
-
|
|
536
|
+
vips_object_unref_outputs(VIPS_OBJECT(operation));
|
|
546
537
|
|
|
547
538
|
/* The operation we have built should now have been reffed by
|
|
548
539
|
* one of its arguments or have finished its work. Either
|
|
549
540
|
* way, we can unref.
|
|
550
541
|
*/
|
|
551
542
|
g_object_unref(operation);
|
|
543
|
+
|
|
544
|
+
/* We're done with options!
|
|
545
|
+
*/
|
|
546
|
+
delete options;
|
|
552
547
|
}
|
|
553
548
|
|
|
554
549
|
void
|
|
@@ -669,8 +664,7 @@ VImage::new_matrixv(int width, int height, ...)
|
|
|
669
664
|
va_start(ap, height);
|
|
670
665
|
for (int y = 0; y < height; y++)
|
|
671
666
|
for (int x = 0; x < width; x++)
|
|
672
|
-
*VIPS_MATRIX(vips_matrix, x, y) =
|
|
673
|
-
va_arg(ap, double);
|
|
667
|
+
*VIPS_MATRIX(vips_matrix, x, y) = va_arg(ap, double);
|
|
674
668
|
va_end(ap);
|
|
675
669
|
|
|
676
670
|
return matrix;
|
|
@@ -786,7 +780,10 @@ VImage::thumbnail_buffer(void *buf, size_t len, int width, VOption *options)
|
|
|
786
780
|
/* We don't take a copy of the data or free it.
|
|
787
781
|
*/
|
|
788
782
|
blob = vips_blob_new(nullptr, buf, len);
|
|
789
|
-
options = (options ? options : VImage::option())
|
|
783
|
+
options = (options ? options : VImage::option())
|
|
784
|
+
->set("buffer", blob)
|
|
785
|
+
->set("width", width)
|
|
786
|
+
->set("out", &out);
|
|
790
787
|
vips_area_unref(VIPS_AREA(blob));
|
|
791
788
|
|
|
792
789
|
call("thumbnail_buffer", options);
|
|
@@ -859,12 +856,11 @@ VImage::minpos(VOption *options) const
|
|
|
859
856
|
{
|
|
860
857
|
double x, y;
|
|
861
858
|
|
|
862
|
-
(void) min(
|
|
863
|
-
(
|
|
864
|
-
|
|
865
|
-
->set("y", &y));
|
|
859
|
+
(void) min((options ? options : VImage::option())
|
|
860
|
+
->set("x", &x)
|
|
861
|
+
->set("y", &y));
|
|
866
862
|
|
|
867
|
-
return
|
|
863
|
+
return {x, y};
|
|
868
864
|
}
|
|
869
865
|
|
|
870
866
|
std::complex<double>
|
|
@@ -872,12 +868,11 @@ VImage::maxpos(VOption *options) const
|
|
|
872
868
|
{
|
|
873
869
|
double x, y;
|
|
874
870
|
|
|
875
|
-
(void) max(
|
|
876
|
-
(
|
|
877
|
-
|
|
878
|
-
->set("y", &y));
|
|
871
|
+
(void) max((options ? options : VImage::option())
|
|
872
|
+
->set("x", &x)
|
|
873
|
+
->set("y", &y));
|
|
879
874
|
|
|
880
|
-
return
|
|
875
|
+
return {x, y};
|
|
881
876
|
}
|
|
882
877
|
|
|
883
878
|
// Operator overloads
|
|
@@ -1152,29 +1147,25 @@ operator<(const VImage a, const VImage b)
|
|
|
1152
1147
|
VImage
|
|
1153
1148
|
operator<(const double a, const VImage b)
|
|
1154
1149
|
{
|
|
1155
|
-
return b.relational_const(VIPS_OPERATION_RELATIONAL_MORE,
|
|
1156
|
-
to_vector(a));
|
|
1150
|
+
return b.relational_const(VIPS_OPERATION_RELATIONAL_MORE, to_vector(a));
|
|
1157
1151
|
}
|
|
1158
1152
|
|
|
1159
1153
|
VImage
|
|
1160
1154
|
operator<(const VImage a, const double b)
|
|
1161
1155
|
{
|
|
1162
|
-
return a.relational_const(VIPS_OPERATION_RELATIONAL_LESS,
|
|
1163
|
-
to_vector(b));
|
|
1156
|
+
return a.relational_const(VIPS_OPERATION_RELATIONAL_LESS, to_vector(b));
|
|
1164
1157
|
}
|
|
1165
1158
|
|
|
1166
1159
|
VImage
|
|
1167
1160
|
operator<(const std::vector<double> a, const VImage b)
|
|
1168
1161
|
{
|
|
1169
|
-
return b.relational_const(VIPS_OPERATION_RELATIONAL_MORE,
|
|
1170
|
-
a);
|
|
1162
|
+
return b.relational_const(VIPS_OPERATION_RELATIONAL_MORE, a);
|
|
1171
1163
|
}
|
|
1172
1164
|
|
|
1173
1165
|
VImage
|
|
1174
1166
|
operator<(const VImage a, const std::vector<double> b)
|
|
1175
1167
|
{
|
|
1176
|
-
return a.relational_const(VIPS_OPERATION_RELATIONAL_LESS,
|
|
1177
|
-
b);
|
|
1168
|
+
return a.relational_const(VIPS_OPERATION_RELATIONAL_LESS, b);
|
|
1178
1169
|
}
|
|
1179
1170
|
|
|
1180
1171
|
VImage
|
|
@@ -1186,29 +1177,25 @@ operator<=(const VImage a, const VImage b)
|
|
|
1186
1177
|
VImage
|
|
1187
1178
|
operator<=(const double a, const VImage b)
|
|
1188
1179
|
{
|
|
1189
|
-
return b.relational_const(VIPS_OPERATION_RELATIONAL_MOREEQ,
|
|
1190
|
-
to_vector(a));
|
|
1180
|
+
return b.relational_const(VIPS_OPERATION_RELATIONAL_MOREEQ, to_vector(a));
|
|
1191
1181
|
}
|
|
1192
1182
|
|
|
1193
1183
|
VImage
|
|
1194
1184
|
operator<=(const VImage a, const double b)
|
|
1195
1185
|
{
|
|
1196
|
-
return a.relational_const(VIPS_OPERATION_RELATIONAL_LESSEQ,
|
|
1197
|
-
to_vector(b));
|
|
1186
|
+
return a.relational_const(VIPS_OPERATION_RELATIONAL_LESSEQ, to_vector(b));
|
|
1198
1187
|
}
|
|
1199
1188
|
|
|
1200
1189
|
VImage
|
|
1201
1190
|
operator<=(const std::vector<double> a, const VImage b)
|
|
1202
1191
|
{
|
|
1203
|
-
return b.relational_const(VIPS_OPERATION_RELATIONAL_MOREEQ,
|
|
1204
|
-
a);
|
|
1192
|
+
return b.relational_const(VIPS_OPERATION_RELATIONAL_MOREEQ, a);
|
|
1205
1193
|
}
|
|
1206
1194
|
|
|
1207
1195
|
VImage
|
|
1208
1196
|
operator<=(const VImage a, const std::vector<double> b)
|
|
1209
1197
|
{
|
|
1210
|
-
return a.relational_const(VIPS_OPERATION_RELATIONAL_LESSEQ,
|
|
1211
|
-
b);
|
|
1198
|
+
return a.relational_const(VIPS_OPERATION_RELATIONAL_LESSEQ, b);
|
|
1212
1199
|
}
|
|
1213
1200
|
|
|
1214
1201
|
VImage
|
|
@@ -1220,29 +1207,25 @@ operator>(const VImage a, const VImage b)
|
|
|
1220
1207
|
VImage
|
|
1221
1208
|
operator>(const double a, const VImage b)
|
|
1222
1209
|
{
|
|
1223
|
-
return b.relational_const(VIPS_OPERATION_RELATIONAL_LESS,
|
|
1224
|
-
to_vector(a));
|
|
1210
|
+
return b.relational_const(VIPS_OPERATION_RELATIONAL_LESS, to_vector(a));
|
|
1225
1211
|
}
|
|
1226
1212
|
|
|
1227
1213
|
VImage
|
|
1228
1214
|
operator>(const VImage a, const double b)
|
|
1229
1215
|
{
|
|
1230
|
-
return a.relational_const(VIPS_OPERATION_RELATIONAL_MORE,
|
|
1231
|
-
to_vector(b));
|
|
1216
|
+
return a.relational_const(VIPS_OPERATION_RELATIONAL_MORE, to_vector(b));
|
|
1232
1217
|
}
|
|
1233
1218
|
|
|
1234
1219
|
VImage
|
|
1235
1220
|
operator>(const std::vector<double> a, const VImage b)
|
|
1236
1221
|
{
|
|
1237
|
-
return b.relational_const(VIPS_OPERATION_RELATIONAL_LESS,
|
|
1238
|
-
a);
|
|
1222
|
+
return b.relational_const(VIPS_OPERATION_RELATIONAL_LESS, a);
|
|
1239
1223
|
}
|
|
1240
1224
|
|
|
1241
1225
|
VImage
|
|
1242
1226
|
operator>(const VImage a, const std::vector<double> b)
|
|
1243
1227
|
{
|
|
1244
|
-
return a.relational_const(VIPS_OPERATION_RELATIONAL_MORE,
|
|
1245
|
-
b);
|
|
1228
|
+
return a.relational_const(VIPS_OPERATION_RELATIONAL_MORE, b);
|
|
1246
1229
|
}
|
|
1247
1230
|
|
|
1248
1231
|
VImage
|
|
@@ -1254,29 +1237,25 @@ operator>=(const VImage a, const VImage b)
|
|
|
1254
1237
|
VImage
|
|
1255
1238
|
operator>=(const double a, const VImage b)
|
|
1256
1239
|
{
|
|
1257
|
-
return b.relational_const(VIPS_OPERATION_RELATIONAL_LESSEQ,
|
|
1258
|
-
to_vector(a));
|
|
1240
|
+
return b.relational_const(VIPS_OPERATION_RELATIONAL_LESSEQ, to_vector(a));
|
|
1259
1241
|
}
|
|
1260
1242
|
|
|
1261
1243
|
VImage
|
|
1262
1244
|
operator>=(const VImage a, const double b)
|
|
1263
1245
|
{
|
|
1264
|
-
return a.relational_const(VIPS_OPERATION_RELATIONAL_MOREEQ,
|
|
1265
|
-
to_vector(b));
|
|
1246
|
+
return a.relational_const(VIPS_OPERATION_RELATIONAL_MOREEQ, to_vector(b));
|
|
1266
1247
|
}
|
|
1267
1248
|
|
|
1268
1249
|
VImage
|
|
1269
1250
|
operator>=(const std::vector<double> a, const VImage b)
|
|
1270
1251
|
{
|
|
1271
|
-
return b.relational_const(VIPS_OPERATION_RELATIONAL_LESSEQ,
|
|
1272
|
-
a);
|
|
1252
|
+
return b.relational_const(VIPS_OPERATION_RELATIONAL_LESSEQ, a);
|
|
1273
1253
|
}
|
|
1274
1254
|
|
|
1275
1255
|
VImage
|
|
1276
1256
|
operator>=(const VImage a, const std::vector<double> b)
|
|
1277
1257
|
{
|
|
1278
|
-
return a.relational_const(VIPS_OPERATION_RELATIONAL_MOREEQ,
|
|
1279
|
-
b);
|
|
1258
|
+
return a.relational_const(VIPS_OPERATION_RELATIONAL_MOREEQ, b);
|
|
1280
1259
|
}
|
|
1281
1260
|
|
|
1282
1261
|
VImage
|
|
@@ -1288,29 +1267,25 @@ operator==(const VImage a, const VImage b)
|
|
|
1288
1267
|
VImage
|
|
1289
1268
|
operator==(const double a, const VImage b)
|
|
1290
1269
|
{
|
|
1291
|
-
return b.relational_const(VIPS_OPERATION_RELATIONAL_EQUAL,
|
|
1292
|
-
to_vector(a));
|
|
1270
|
+
return b.relational_const(VIPS_OPERATION_RELATIONAL_EQUAL, to_vector(a));
|
|
1293
1271
|
}
|
|
1294
1272
|
|
|
1295
1273
|
VImage
|
|
1296
1274
|
operator==(const VImage a, const double b)
|
|
1297
1275
|
{
|
|
1298
|
-
return a.relational_const(VIPS_OPERATION_RELATIONAL_EQUAL,
|
|
1299
|
-
to_vector(b));
|
|
1276
|
+
return a.relational_const(VIPS_OPERATION_RELATIONAL_EQUAL, to_vector(b));
|
|
1300
1277
|
}
|
|
1301
1278
|
|
|
1302
1279
|
VImage
|
|
1303
1280
|
operator==(const std::vector<double> a, const VImage b)
|
|
1304
1281
|
{
|
|
1305
|
-
return b.relational_const(VIPS_OPERATION_RELATIONAL_EQUAL,
|
|
1306
|
-
a);
|
|
1282
|
+
return b.relational_const(VIPS_OPERATION_RELATIONAL_EQUAL, a);
|
|
1307
1283
|
}
|
|
1308
1284
|
|
|
1309
1285
|
VImage
|
|
1310
1286
|
operator==(const VImage a, const std::vector<double> b)
|
|
1311
1287
|
{
|
|
1312
|
-
return a.relational_const(VIPS_OPERATION_RELATIONAL_EQUAL,
|
|
1313
|
-
b);
|
|
1288
|
+
return a.relational_const(VIPS_OPERATION_RELATIONAL_EQUAL, b);
|
|
1314
1289
|
}
|
|
1315
1290
|
|
|
1316
1291
|
VImage
|
|
@@ -1322,29 +1297,25 @@ operator!=(const VImage a, const VImage b)
|
|
|
1322
1297
|
VImage
|
|
1323
1298
|
operator!=(const double a, const VImage b)
|
|
1324
1299
|
{
|
|
1325
|
-
return b.relational_const(VIPS_OPERATION_RELATIONAL_NOTEQ,
|
|
1326
|
-
to_vector(a));
|
|
1300
|
+
return b.relational_const(VIPS_OPERATION_RELATIONAL_NOTEQ, to_vector(a));
|
|
1327
1301
|
}
|
|
1328
1302
|
|
|
1329
1303
|
VImage
|
|
1330
1304
|
operator!=(const VImage a, const double b)
|
|
1331
1305
|
{
|
|
1332
|
-
return a.relational_const(VIPS_OPERATION_RELATIONAL_NOTEQ,
|
|
1333
|
-
to_vector(b));
|
|
1306
|
+
return a.relational_const(VIPS_OPERATION_RELATIONAL_NOTEQ, to_vector(b));
|
|
1334
1307
|
}
|
|
1335
1308
|
|
|
1336
1309
|
VImage
|
|
1337
1310
|
operator!=(const std::vector<double> a, const VImage b)
|
|
1338
1311
|
{
|
|
1339
|
-
return b.relational_const(VIPS_OPERATION_RELATIONAL_NOTEQ,
|
|
1340
|
-
a);
|
|
1312
|
+
return b.relational_const(VIPS_OPERATION_RELATIONAL_NOTEQ, a);
|
|
1341
1313
|
}
|
|
1342
1314
|
|
|
1343
1315
|
VImage
|
|
1344
1316
|
operator!=(const VImage a, const std::vector<double> b)
|
|
1345
1317
|
{
|
|
1346
|
-
return a.relational_const(VIPS_OPERATION_RELATIONAL_NOTEQ,
|
|
1347
|
-
b);
|
|
1318
|
+
return a.relational_const(VIPS_OPERATION_RELATIONAL_NOTEQ, b);
|
|
1348
1319
|
}
|
|
1349
1320
|
|
|
1350
1321
|
VImage
|
|
@@ -1356,15 +1327,13 @@ operator&(const VImage a, const VImage b)
|
|
|
1356
1327
|
VImage
|
|
1357
1328
|
operator&(const double a, const VImage b)
|
|
1358
1329
|
{
|
|
1359
|
-
return b.boolean_const(VIPS_OPERATION_BOOLEAN_AND,
|
|
1360
|
-
to_vector(a));
|
|
1330
|
+
return b.boolean_const(VIPS_OPERATION_BOOLEAN_AND, to_vector(a));
|
|
1361
1331
|
}
|
|
1362
1332
|
|
|
1363
1333
|
VImage
|
|
1364
1334
|
operator&(const VImage a, const double b)
|
|
1365
1335
|
{
|
|
1366
|
-
return a.boolean_const(VIPS_OPERATION_BOOLEAN_AND,
|
|
1367
|
-
to_vector(b));
|
|
1336
|
+
return a.boolean_const(VIPS_OPERATION_BOOLEAN_AND, to_vector(b));
|
|
1368
1337
|
}
|
|
1369
1338
|
|
|
1370
1339
|
VImage
|
|
@@ -1409,29 +1378,25 @@ operator|(const VImage a, const VImage b)
|
|
|
1409
1378
|
VImage
|
|
1410
1379
|
operator|(const double a, const VImage b)
|
|
1411
1380
|
{
|
|
1412
|
-
return b.boolean_const(VIPS_OPERATION_BOOLEAN_OR,
|
|
1413
|
-
to_vector(a));
|
|
1381
|
+
return b.boolean_const(VIPS_OPERATION_BOOLEAN_OR, to_vector(a));
|
|
1414
1382
|
}
|
|
1415
1383
|
|
|
1416
1384
|
VImage
|
|
1417
1385
|
operator|(const VImage a, const double b)
|
|
1418
1386
|
{
|
|
1419
|
-
return a.boolean_const(VIPS_OPERATION_BOOLEAN_OR,
|
|
1420
|
-
to_vector(b));
|
|
1387
|
+
return a.boolean_const(VIPS_OPERATION_BOOLEAN_OR, to_vector(b));
|
|
1421
1388
|
}
|
|
1422
1389
|
|
|
1423
1390
|
VImage
|
|
1424
1391
|
operator|(const std::vector<double> a, const VImage b)
|
|
1425
1392
|
{
|
|
1426
|
-
return b.boolean_const(VIPS_OPERATION_BOOLEAN_OR,
|
|
1427
|
-
a);
|
|
1393
|
+
return b.boolean_const(VIPS_OPERATION_BOOLEAN_OR, a);
|
|
1428
1394
|
}
|
|
1429
1395
|
|
|
1430
1396
|
VImage
|
|
1431
1397
|
operator|(const VImage a, const std::vector<double> b)
|
|
1432
1398
|
{
|
|
1433
|
-
return a.boolean_const(VIPS_OPERATION_BOOLEAN_OR,
|
|
1434
|
-
b);
|
|
1399
|
+
return a.boolean_const(VIPS_OPERATION_BOOLEAN_OR, b);
|
|
1435
1400
|
}
|
|
1436
1401
|
|
|
1437
1402
|
VImage &
|
|
@@ -1464,29 +1429,25 @@ operator^(const VImage a, const VImage b)
|
|
|
1464
1429
|
VImage
|
|
1465
1430
|
operator^(const double a, const VImage b)
|
|
1466
1431
|
{
|
|
1467
|
-
return b.boolean_const(VIPS_OPERATION_BOOLEAN_EOR,
|
|
1468
|
-
to_vector(a));
|
|
1432
|
+
return b.boolean_const(VIPS_OPERATION_BOOLEAN_EOR, to_vector(a));
|
|
1469
1433
|
}
|
|
1470
1434
|
|
|
1471
1435
|
VImage
|
|
1472
1436
|
operator^(const VImage a, const double b)
|
|
1473
1437
|
{
|
|
1474
|
-
return a.boolean_const(VIPS_OPERATION_BOOLEAN_EOR,
|
|
1475
|
-
to_vector(b));
|
|
1438
|
+
return a.boolean_const(VIPS_OPERATION_BOOLEAN_EOR, to_vector(b));
|
|
1476
1439
|
}
|
|
1477
1440
|
|
|
1478
1441
|
VImage
|
|
1479
1442
|
operator^(const std::vector<double> a, const VImage b)
|
|
1480
1443
|
{
|
|
1481
|
-
return b.boolean_const(VIPS_OPERATION_BOOLEAN_EOR,
|
|
1482
|
-
a);
|
|
1444
|
+
return b.boolean_const(VIPS_OPERATION_BOOLEAN_EOR, a);
|
|
1483
1445
|
}
|
|
1484
1446
|
|
|
1485
1447
|
VImage
|
|
1486
1448
|
operator^(const VImage a, const std::vector<double> b)
|
|
1487
1449
|
{
|
|
1488
|
-
return a.boolean_const(VIPS_OPERATION_BOOLEAN_EOR,
|
|
1489
|
-
b);
|
|
1450
|
+
return a.boolean_const(VIPS_OPERATION_BOOLEAN_EOR, b);
|
|
1490
1451
|
}
|
|
1491
1452
|
|
|
1492
1453
|
VImage &
|
|
@@ -1519,15 +1480,13 @@ operator<<(const VImage a, const VImage b)
|
|
|
1519
1480
|
VImage
|
|
1520
1481
|
operator<<(const VImage a, const double b)
|
|
1521
1482
|
{
|
|
1522
|
-
return a.boolean_const(VIPS_OPERATION_BOOLEAN_LSHIFT,
|
|
1523
|
-
to_vector(b));
|
|
1483
|
+
return a.boolean_const(VIPS_OPERATION_BOOLEAN_LSHIFT, to_vector(b));
|
|
1524
1484
|
}
|
|
1525
1485
|
|
|
1526
1486
|
VImage
|
|
1527
1487
|
operator<<(const VImage a, const std::vector<double> b)
|
|
1528
1488
|
{
|
|
1529
|
-
return a.boolean_const(VIPS_OPERATION_BOOLEAN_LSHIFT,
|
|
1530
|
-
b);
|
|
1489
|
+
return a.boolean_const(VIPS_OPERATION_BOOLEAN_LSHIFT, b);
|
|
1531
1490
|
}
|
|
1532
1491
|
|
|
1533
1492
|
VImage &
|
|
@@ -1560,15 +1519,13 @@ operator>>(const VImage a, const VImage b)
|
|
|
1560
1519
|
VImage
|
|
1561
1520
|
operator>>(const VImage a, const double b)
|
|
1562
1521
|
{
|
|
1563
|
-
return a.boolean_const(VIPS_OPERATION_BOOLEAN_RSHIFT,
|
|
1564
|
-
to_vector(b));
|
|
1522
|
+
return a.boolean_const(VIPS_OPERATION_BOOLEAN_RSHIFT, to_vector(b));
|
|
1565
1523
|
}
|
|
1566
1524
|
|
|
1567
1525
|
VImage
|
|
1568
1526
|
operator>>(const VImage a, const std::vector<double> b)
|
|
1569
1527
|
{
|
|
1570
|
-
return a.boolean_const(VIPS_OPERATION_BOOLEAN_RSHIFT,
|
|
1571
|
-
b);
|
|
1528
|
+
return a.boolean_const(VIPS_OPERATION_BOOLEAN_RSHIFT, b);
|
|
1572
1529
|
}
|
|
1573
1530
|
|
|
1574
1531
|
VImage &
|
|
@@ -170,6 +170,42 @@ VImage::LabS2LabQ(VOption *options) const
|
|
|
170
170
|
return out;
|
|
171
171
|
}
|
|
172
172
|
|
|
173
|
+
VImage
|
|
174
|
+
VImage::Oklab2Oklch(VOption *options) const
|
|
175
|
+
{
|
|
176
|
+
VImage out;
|
|
177
|
+
|
|
178
|
+
call("Oklab2Oklch", (options ? options : VImage::option())
|
|
179
|
+
->set("in", *this)
|
|
180
|
+
->set("out", &out));
|
|
181
|
+
|
|
182
|
+
return out;
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
VImage
|
|
186
|
+
VImage::Oklab2XYZ(VOption *options) const
|
|
187
|
+
{
|
|
188
|
+
VImage out;
|
|
189
|
+
|
|
190
|
+
call("Oklab2XYZ", (options ? options : VImage::option())
|
|
191
|
+
->set("in", *this)
|
|
192
|
+
->set("out", &out));
|
|
193
|
+
|
|
194
|
+
return out;
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
VImage
|
|
198
|
+
VImage::Oklch2Oklab(VOption *options) const
|
|
199
|
+
{
|
|
200
|
+
VImage out;
|
|
201
|
+
|
|
202
|
+
call("Oklch2Oklab", (options ? options : VImage::option())
|
|
203
|
+
->set("in", *this)
|
|
204
|
+
->set("out", &out));
|
|
205
|
+
|
|
206
|
+
return out;
|
|
207
|
+
}
|
|
208
|
+
|
|
173
209
|
VImage
|
|
174
210
|
VImage::XYZ2CMYK(VOption *options) const
|
|
175
211
|
{
|
|
@@ -194,6 +230,18 @@ VImage::XYZ2Lab(VOption *options) const
|
|
|
194
230
|
return out;
|
|
195
231
|
}
|
|
196
232
|
|
|
233
|
+
VImage
|
|
234
|
+
VImage::XYZ2Oklab(VOption *options) const
|
|
235
|
+
{
|
|
236
|
+
VImage out;
|
|
237
|
+
|
|
238
|
+
call("XYZ2Oklab", (options ? options : VImage::option())
|
|
239
|
+
->set("in", *this)
|
|
240
|
+
->set("out", &out));
|
|
241
|
+
|
|
242
|
+
return out;
|
|
243
|
+
}
|
|
244
|
+
|
|
197
245
|
VImage
|
|
198
246
|
VImage::XYZ2Yxy(VOption *options) const
|
|
199
247
|
{
|
|
@@ -845,6 +893,42 @@ VImage::dECMC(VImage right, VOption *options) const
|
|
|
845
893
|
return out;
|
|
846
894
|
}
|
|
847
895
|
|
|
896
|
+
VImage
|
|
897
|
+
VImage::dcrawload(const char *filename, VOption *options)
|
|
898
|
+
{
|
|
899
|
+
VImage out;
|
|
900
|
+
|
|
901
|
+
call("dcrawload", (options ? options : VImage::option())
|
|
902
|
+
->set("out", &out)
|
|
903
|
+
->set("filename", filename));
|
|
904
|
+
|
|
905
|
+
return out;
|
|
906
|
+
}
|
|
907
|
+
|
|
908
|
+
VImage
|
|
909
|
+
VImage::dcrawload_buffer(VipsBlob *buffer, VOption *options)
|
|
910
|
+
{
|
|
911
|
+
VImage out;
|
|
912
|
+
|
|
913
|
+
call("dcrawload_buffer", (options ? options : VImage::option())
|
|
914
|
+
->set("out", &out)
|
|
915
|
+
->set("buffer", buffer));
|
|
916
|
+
|
|
917
|
+
return out;
|
|
918
|
+
}
|
|
919
|
+
|
|
920
|
+
VImage
|
|
921
|
+
VImage::dcrawload_source(VSource source, VOption *options)
|
|
922
|
+
{
|
|
923
|
+
VImage out;
|
|
924
|
+
|
|
925
|
+
call("dcrawload_source", (options ? options : VImage::option())
|
|
926
|
+
->set("out", &out)
|
|
927
|
+
->set("source", source));
|
|
928
|
+
|
|
929
|
+
return out;
|
|
930
|
+
}
|
|
931
|
+
|
|
848
932
|
double
|
|
849
933
|
VImage::deviate(VOption *options) const
|
|
850
934
|
{
|
|
@@ -2002,6 +2086,18 @@ VImage::magickload_buffer(VipsBlob *buffer, VOption *options)
|
|
|
2002
2086
|
return out;
|
|
2003
2087
|
}
|
|
2004
2088
|
|
|
2089
|
+
VImage
|
|
2090
|
+
VImage::magickload_source(VSource source, VOption *options)
|
|
2091
|
+
{
|
|
2092
|
+
VImage out;
|
|
2093
|
+
|
|
2094
|
+
call("magickload_source", (options ? options : VImage::option())
|
|
2095
|
+
->set("out", &out)
|
|
2096
|
+
->set("source", source));
|
|
2097
|
+
|
|
2098
|
+
return out;
|
|
2099
|
+
}
|
|
2100
|
+
|
|
2005
2101
|
void
|
|
2006
2102
|
VImage::magicksave(const char *filename, VOption *options) const
|
|
2007
2103
|
{
|
|
@@ -3711,6 +3807,82 @@ VImage::transpose3d(VOption *options) const
|
|
|
3711
3807
|
return out;
|
|
3712
3808
|
}
|
|
3713
3809
|
|
|
3810
|
+
VImage
|
|
3811
|
+
VImage::uhdr2scRGB(VOption *options) const
|
|
3812
|
+
{
|
|
3813
|
+
VImage out;
|
|
3814
|
+
|
|
3815
|
+
call("uhdr2scRGB", (options ? options : VImage::option())
|
|
3816
|
+
->set("in", *this)
|
|
3817
|
+
->set("out", &out));
|
|
3818
|
+
|
|
3819
|
+
return out;
|
|
3820
|
+
}
|
|
3821
|
+
|
|
3822
|
+
VImage
|
|
3823
|
+
VImage::uhdrload(const char *filename, VOption *options)
|
|
3824
|
+
{
|
|
3825
|
+
VImage out;
|
|
3826
|
+
|
|
3827
|
+
call("uhdrload", (options ? options : VImage::option())
|
|
3828
|
+
->set("out", &out)
|
|
3829
|
+
->set("filename", filename));
|
|
3830
|
+
|
|
3831
|
+
return out;
|
|
3832
|
+
}
|
|
3833
|
+
|
|
3834
|
+
VImage
|
|
3835
|
+
VImage::uhdrload_buffer(VipsBlob *buffer, VOption *options)
|
|
3836
|
+
{
|
|
3837
|
+
VImage out;
|
|
3838
|
+
|
|
3839
|
+
call("uhdrload_buffer", (options ? options : VImage::option())
|
|
3840
|
+
->set("out", &out)
|
|
3841
|
+
->set("buffer", buffer));
|
|
3842
|
+
|
|
3843
|
+
return out;
|
|
3844
|
+
}
|
|
3845
|
+
|
|
3846
|
+
VImage
|
|
3847
|
+
VImage::uhdrload_source(VSource source, VOption *options)
|
|
3848
|
+
{
|
|
3849
|
+
VImage out;
|
|
3850
|
+
|
|
3851
|
+
call("uhdrload_source", (options ? options : VImage::option())
|
|
3852
|
+
->set("out", &out)
|
|
3853
|
+
->set("source", source));
|
|
3854
|
+
|
|
3855
|
+
return out;
|
|
3856
|
+
}
|
|
3857
|
+
|
|
3858
|
+
void
|
|
3859
|
+
VImage::uhdrsave(const char *filename, VOption *options) const
|
|
3860
|
+
{
|
|
3861
|
+
call("uhdrsave", (options ? options : VImage::option())
|
|
3862
|
+
->set("in", *this)
|
|
3863
|
+
->set("filename", filename));
|
|
3864
|
+
}
|
|
3865
|
+
|
|
3866
|
+
VipsBlob *
|
|
3867
|
+
VImage::uhdrsave_buffer(VOption *options) const
|
|
3868
|
+
{
|
|
3869
|
+
VipsBlob *buffer;
|
|
3870
|
+
|
|
3871
|
+
call("uhdrsave_buffer", (options ? options : VImage::option())
|
|
3872
|
+
->set("in", *this)
|
|
3873
|
+
->set("buffer", &buffer));
|
|
3874
|
+
|
|
3875
|
+
return buffer;
|
|
3876
|
+
}
|
|
3877
|
+
|
|
3878
|
+
void
|
|
3879
|
+
VImage::uhdrsave_target(VTarget target, VOption *options) const
|
|
3880
|
+
{
|
|
3881
|
+
call("uhdrsave_target", (options ? options : VImage::option())
|
|
3882
|
+
->set("in", *this)
|
|
3883
|
+
->set("target", target));
|
|
3884
|
+
}
|
|
3885
|
+
|
|
3714
3886
|
VImage
|
|
3715
3887
|
VImage::unpremultiply(VOption *options) const
|
|
3716
3888
|
{
|