@cpp.js/package-webp 1.0.0-beta.24 → 1.0.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 (129) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/README.md +1 -1
  3. package/dist/prebuilt/Android-arm64-v8a/include/webp/encode.h +5 -4
  4. package/dist/prebuilt/Android-arm64-v8a/include/webp/sharpyuv/sharpyuv.h +14 -5
  5. package/dist/prebuilt/Android-arm64-v8a/include/webp/sharpyuv/sharpyuv_csp.h +5 -0
  6. package/dist/prebuilt/Android-arm64-v8a/include/webp/types.h +2 -2
  7. package/dist/prebuilt/Android-arm64-v8a/lib/libsharpyuv.la +1 -1
  8. package/dist/prebuilt/Android-arm64-v8a/lib/libsharpyuv.so +0 -0
  9. package/dist/prebuilt/Android-arm64-v8a/lib/libwebp.la +1 -1
  10. package/dist/prebuilt/Android-arm64-v8a/lib/libwebp.so +0 -0
  11. package/dist/prebuilt/Android-arm64-v8a/lib/libwebpdemux.la +1 -1
  12. package/dist/prebuilt/Android-arm64-v8a/lib/libwebpdemux.so +0 -0
  13. package/dist/prebuilt/Android-arm64-v8a/lib/libwebpmux.la +1 -1
  14. package/dist/prebuilt/Android-arm64-v8a/lib/libwebpmux.so +0 -0
  15. package/dist/prebuilt/Android-arm64-v8a/lib/pkgconfig/libsharpyuv.pc +1 -1
  16. package/dist/prebuilt/Android-arm64-v8a/lib/pkgconfig/libwebp.pc +1 -1
  17. package/dist/prebuilt/Android-arm64-v8a/lib/pkgconfig/libwebpdemux.pc +1 -1
  18. package/dist/prebuilt/Android-arm64-v8a/lib/pkgconfig/libwebpmux.pc +1 -1
  19. package/dist/prebuilt/Android-arm64-v8a/share/man/man1/cwebp.1 +16 -9
  20. package/dist/prebuilt/Android-arm64-v8a/share/man/man1/dwebp.1 +14 -7
  21. package/dist/prebuilt/Android-arm64-v8a/share/man/man1/img2webp.1 +26 -10
  22. package/dist/prebuilt/Android-arm64-v8a/share/man/man1/webpinfo.1 +14 -7
  23. package/dist/prebuilt/Android-arm64-v8a/share/man/man1/webpmux.1 +14 -7
  24. package/dist/prebuilt/Android-x86_64/include/webp/encode.h +5 -4
  25. package/dist/prebuilt/Android-x86_64/include/webp/sharpyuv/sharpyuv.h +14 -5
  26. package/dist/prebuilt/Android-x86_64/include/webp/sharpyuv/sharpyuv_csp.h +5 -0
  27. package/dist/prebuilt/Android-x86_64/include/webp/types.h +2 -2
  28. package/dist/prebuilt/Android-x86_64/lib/libsharpyuv.la +1 -1
  29. package/dist/prebuilt/Android-x86_64/lib/libsharpyuv.so +0 -0
  30. package/dist/prebuilt/Android-x86_64/lib/libwebp.la +1 -1
  31. package/dist/prebuilt/Android-x86_64/lib/libwebp.so +0 -0
  32. package/dist/prebuilt/Android-x86_64/lib/libwebpdemux.la +1 -1
  33. package/dist/prebuilt/Android-x86_64/lib/libwebpdemux.so +0 -0
  34. package/dist/prebuilt/Android-x86_64/lib/libwebpmux.la +1 -1
  35. package/dist/prebuilt/Android-x86_64/lib/libwebpmux.so +0 -0
  36. package/dist/prebuilt/Android-x86_64/lib/pkgconfig/libsharpyuv.pc +1 -1
  37. package/dist/prebuilt/Android-x86_64/lib/pkgconfig/libwebp.pc +1 -1
  38. package/dist/prebuilt/Android-x86_64/lib/pkgconfig/libwebpdemux.pc +1 -1
  39. package/dist/prebuilt/Android-x86_64/lib/pkgconfig/libwebpmux.pc +1 -1
  40. package/dist/prebuilt/Android-x86_64/share/man/man1/cwebp.1 +16 -9
  41. package/dist/prebuilt/Android-x86_64/share/man/man1/dwebp.1 +14 -7
  42. package/dist/prebuilt/Android-x86_64/share/man/man1/img2webp.1 +26 -10
  43. package/dist/prebuilt/Android-x86_64/share/man/man1/webpinfo.1 +14 -7
  44. package/dist/prebuilt/Android-x86_64/share/man/man1/webpmux.1 +14 -7
  45. package/dist/prebuilt/Emscripten-x86_64/include/webp/encode.h +5 -4
  46. package/dist/prebuilt/Emscripten-x86_64/include/webp/sharpyuv/sharpyuv.h +14 -5
  47. package/dist/prebuilt/Emscripten-x86_64/include/webp/sharpyuv/sharpyuv_csp.h +5 -0
  48. package/dist/prebuilt/Emscripten-x86_64/include/webp/types.h +2 -2
  49. package/dist/prebuilt/Emscripten-x86_64/lib/libsharpyuv.a +0 -0
  50. package/dist/prebuilt/Emscripten-x86_64/lib/libsharpyuv.la +1 -1
  51. package/dist/prebuilt/Emscripten-x86_64/lib/libwebp.a +0 -0
  52. package/dist/prebuilt/Emscripten-x86_64/lib/libwebp.la +1 -1
  53. package/dist/prebuilt/Emscripten-x86_64/lib/libwebpdemux.a +0 -0
  54. package/dist/prebuilt/Emscripten-x86_64/lib/libwebpdemux.la +1 -1
  55. package/dist/prebuilt/Emscripten-x86_64/lib/libwebpmux.a +0 -0
  56. package/dist/prebuilt/Emscripten-x86_64/lib/libwebpmux.la +1 -1
  57. package/dist/prebuilt/Emscripten-x86_64/lib/pkgconfig/libsharpyuv.pc +1 -1
  58. package/dist/prebuilt/Emscripten-x86_64/lib/pkgconfig/libwebp.pc +1 -1
  59. package/dist/prebuilt/Emscripten-x86_64/lib/pkgconfig/libwebpdemux.pc +1 -1
  60. package/dist/prebuilt/Emscripten-x86_64/lib/pkgconfig/libwebpmux.pc +1 -1
  61. package/dist/prebuilt/Emscripten-x86_64/share/man/man1/cwebp.1 +16 -9
  62. package/dist/prebuilt/Emscripten-x86_64/share/man/man1/dwebp.1 +14 -7
  63. package/dist/prebuilt/Emscripten-x86_64/share/man/man1/img2webp.1 +26 -10
  64. package/dist/prebuilt/Emscripten-x86_64/share/man/man1/webpinfo.1 +14 -7
  65. package/dist/prebuilt/Emscripten-x86_64/share/man/man1/webpmux.1 +14 -7
  66. package/dist/prebuilt/iOS-iphoneos/include/webp/encode.h +5 -4
  67. package/dist/prebuilt/iOS-iphoneos/include/webp/sharpyuv/sharpyuv.h +14 -5
  68. package/dist/prebuilt/iOS-iphoneos/include/webp/sharpyuv/sharpyuv_csp.h +5 -0
  69. package/dist/prebuilt/iOS-iphoneos/include/webp/types.h +2 -2
  70. package/dist/prebuilt/iOS-iphoneos/lib/libsharpyuv.a +0 -0
  71. package/dist/prebuilt/iOS-iphoneos/lib/libsharpyuv.la +1 -1
  72. package/dist/prebuilt/iOS-iphoneos/lib/libwebp.a +0 -0
  73. package/dist/prebuilt/iOS-iphoneos/lib/libwebp.la +1 -1
  74. package/dist/prebuilt/iOS-iphoneos/lib/libwebpdemux.a +0 -0
  75. package/dist/prebuilt/iOS-iphoneos/lib/libwebpdemux.la +1 -1
  76. package/dist/prebuilt/iOS-iphoneos/lib/libwebpmux.a +0 -0
  77. package/dist/prebuilt/iOS-iphoneos/lib/libwebpmux.la +1 -1
  78. package/dist/prebuilt/iOS-iphoneos/lib/pkgconfig/libsharpyuv.pc +1 -1
  79. package/dist/prebuilt/iOS-iphoneos/lib/pkgconfig/libwebp.pc +1 -1
  80. package/dist/prebuilt/iOS-iphoneos/lib/pkgconfig/libwebpdemux.pc +1 -1
  81. package/dist/prebuilt/iOS-iphoneos/lib/pkgconfig/libwebpmux.pc +1 -1
  82. package/dist/prebuilt/iOS-iphoneos/share/man/man1/cwebp.1 +16 -9
  83. package/dist/prebuilt/iOS-iphoneos/share/man/man1/dwebp.1 +14 -7
  84. package/dist/prebuilt/iOS-iphoneos/share/man/man1/img2webp.1 +26 -10
  85. package/dist/prebuilt/iOS-iphoneos/share/man/man1/webpinfo.1 +14 -7
  86. package/dist/prebuilt/iOS-iphoneos/share/man/man1/webpmux.1 +14 -7
  87. package/dist/prebuilt/iOS-iphonesimulator/include/webp/encode.h +5 -4
  88. package/dist/prebuilt/iOS-iphonesimulator/include/webp/sharpyuv/sharpyuv.h +14 -5
  89. package/dist/prebuilt/iOS-iphonesimulator/include/webp/sharpyuv/sharpyuv_csp.h +5 -0
  90. package/dist/prebuilt/iOS-iphonesimulator/include/webp/types.h +2 -2
  91. package/dist/prebuilt/iOS-iphonesimulator/lib/libsharpyuv.a +0 -0
  92. package/dist/prebuilt/iOS-iphonesimulator/lib/libsharpyuv.la +1 -1
  93. package/dist/prebuilt/iOS-iphonesimulator/lib/libwebp.a +0 -0
  94. package/dist/prebuilt/iOS-iphonesimulator/lib/libwebp.la +1 -1
  95. package/dist/prebuilt/iOS-iphonesimulator/lib/libwebpdemux.a +0 -0
  96. package/dist/prebuilt/iOS-iphonesimulator/lib/libwebpdemux.la +1 -1
  97. package/dist/prebuilt/iOS-iphonesimulator/lib/libwebpmux.a +0 -0
  98. package/dist/prebuilt/iOS-iphonesimulator/lib/libwebpmux.la +1 -1
  99. package/dist/prebuilt/iOS-iphonesimulator/lib/pkgconfig/libsharpyuv.pc +1 -1
  100. package/dist/prebuilt/iOS-iphonesimulator/lib/pkgconfig/libwebp.pc +1 -1
  101. package/dist/prebuilt/iOS-iphonesimulator/lib/pkgconfig/libwebpdemux.pc +1 -1
  102. package/dist/prebuilt/iOS-iphonesimulator/lib/pkgconfig/libwebpmux.pc +1 -1
  103. package/dist/prebuilt/iOS-iphonesimulator/share/man/man1/cwebp.1 +16 -9
  104. package/dist/prebuilt/iOS-iphonesimulator/share/man/man1/dwebp.1 +14 -7
  105. package/dist/prebuilt/iOS-iphonesimulator/share/man/man1/img2webp.1 +26 -10
  106. package/dist/prebuilt/iOS-iphonesimulator/share/man/man1/webpinfo.1 +14 -7
  107. package/dist/prebuilt/iOS-iphonesimulator/share/man/man1/webpmux.1 +14 -7
  108. package/package.json +3 -3
  109. package/sharpyuv.xcframework/ios-arm64_arm64e/Headers/webp/encode.h +5 -4
  110. package/sharpyuv.xcframework/ios-arm64_arm64e/Headers/webp/sharpyuv/sharpyuv.h +14 -5
  111. package/sharpyuv.xcframework/ios-arm64_arm64e/Headers/webp/sharpyuv/sharpyuv_csp.h +5 -0
  112. package/sharpyuv.xcframework/ios-arm64_arm64e/Headers/webp/types.h +2 -2
  113. package/sharpyuv.xcframework/ios-arm64_arm64e/libsharpyuv.a +0 -0
  114. package/sharpyuv.xcframework/ios-arm64_arm64e_x86_64-simulator/Headers/webp/encode.h +5 -4
  115. package/sharpyuv.xcframework/ios-arm64_arm64e_x86_64-simulator/Headers/webp/sharpyuv/sharpyuv.h +14 -5
  116. package/sharpyuv.xcframework/ios-arm64_arm64e_x86_64-simulator/Headers/webp/sharpyuv/sharpyuv_csp.h +5 -0
  117. package/sharpyuv.xcframework/ios-arm64_arm64e_x86_64-simulator/Headers/webp/types.h +2 -2
  118. package/sharpyuv.xcframework/ios-arm64_arm64e_x86_64-simulator/libsharpyuv.a +0 -0
  119. package/webp.xcframework/Info.plist +5 -5
  120. package/webp.xcframework/ios-arm64_arm64e/Headers/webp/encode.h +5 -4
  121. package/webp.xcframework/ios-arm64_arm64e/Headers/webp/sharpyuv/sharpyuv.h +14 -5
  122. package/webp.xcframework/ios-arm64_arm64e/Headers/webp/sharpyuv/sharpyuv_csp.h +5 -0
  123. package/webp.xcframework/ios-arm64_arm64e/Headers/webp/types.h +2 -2
  124. package/webp.xcframework/ios-arm64_arm64e/libwebp.a +0 -0
  125. package/webp.xcframework/ios-arm64_arm64e_x86_64-simulator/Headers/webp/encode.h +5 -4
  126. package/webp.xcframework/ios-arm64_arm64e_x86_64-simulator/Headers/webp/sharpyuv/sharpyuv.h +14 -5
  127. package/webp.xcframework/ios-arm64_arm64e_x86_64-simulator/Headers/webp/sharpyuv/sharpyuv_csp.h +5 -0
  128. package/webp.xcframework/ios-arm64_arm64e_x86_64-simulator/Headers/webp/types.h +2 -2
  129. package/webp.xcframework/ios-arm64_arm64e_x86_64-simulator/libwebp.a +0 -0
@@ -38,11 +38,11 @@ typedef long long int int64_t;
38
38
 
39
39
  #ifndef WEBP_NODISCARD
40
40
  #if defined(WEBP_ENABLE_NODISCARD) && WEBP_ENABLE_NODISCARD
41
- #if (defined(__cplusplus) && __cplusplus >= 201700L) || \
41
+ #if (defined(__cplusplus) && __cplusplus >= 201703L) || \
42
42
  (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 202311L)
43
43
  #define WEBP_NODISCARD [[nodiscard]]
44
44
  #else
45
- // gcc's __has_attribute does not work for enums.
45
+ // gcc's __attribute__((warn_unused_result)) does not work for enums.
46
46
  #if defined(__clang__) && defined(__has_attribute)
47
47
  #if __has_attribute(warn_unused_result)
48
48
  #define WEBP_NODISCARD __attribute__((warn_unused_result))
@@ -20,7 +20,7 @@
20
20
  extern "C" {
21
21
  #endif
22
22
 
23
- #define WEBP_ENCODER_ABI_VERSION 0x020f // MAJOR(8b) + MINOR(8b)
23
+ #define WEBP_ENCODER_ABI_VERSION 0x0210 // MAJOR(8b) + MINOR(8b)
24
24
 
25
25
  // Note: forward declaring enumerations is not allowed in (strict) C and C++,
26
26
  // the types are left here for reference.
@@ -145,7 +145,7 @@ struct WebPConfig {
145
145
  // RGB information for better compression. The default
146
146
  // value is 0.
147
147
 
148
- int use_delta_palette; // reserved for future lossless feature
148
+ int use_delta_palette; // reserved
149
149
  int use_sharp_yuv; // if needed, use sharp (and slow) RGB->YUV conversion
150
150
 
151
151
  int qmin; // minimum permissible quality factor
@@ -224,14 +224,15 @@ struct WebPAuxStats {
224
224
  uint32_t lossless_features; // bit0:predictor bit1:cross-color transform
225
225
  // bit2:subtract-green bit3:color indexing
226
226
  int histogram_bits; // number of precision bits of histogram
227
- int transform_bits; // precision bits for transform
227
+ int transform_bits; // precision bits for predictor transform
228
228
  int cache_bits; // number of bits for color cache lookup
229
229
  int palette_size; // number of color in palette, if used
230
230
  int lossless_size; // final lossless size
231
231
  int lossless_hdr_size; // lossless header (transform, huffman etc) size
232
232
  int lossless_data_size; // lossless image data size
233
+ int cross_color_transform_bits; // precision bits for cross-color transform
233
234
 
234
- uint32_t pad[2]; // padding for later use
235
+ uint32_t pad[1]; // padding for later use
235
236
  };
236
237
 
237
238
  // Signature for output function. Should return true if writing was successful.
@@ -52,7 +52,7 @@ extern "C" {
52
52
  // SharpYUV API version following the convention from semver.org
53
53
  #define SHARPYUV_VERSION_MAJOR 0
54
54
  #define SHARPYUV_VERSION_MINOR 4
55
- #define SHARPYUV_VERSION_PATCH 0
55
+ #define SHARPYUV_VERSION_PATCH 1
56
56
  // Version as a uint32_t. The major number is the high 8 bits.
57
57
  // The minor number is the middle 8 bits. The patch number is the low 16 bits.
58
58
  #define SHARPYUV_MAKE_VERSION(MAJOR, MINOR, PATCH) \
@@ -66,10 +66,17 @@ extern "C" {
66
66
  SHARPYUV_EXTERN int SharpYuvGetVersion(void);
67
67
 
68
68
  // RGB to YUV conversion matrix, in 16 bit fixed point.
69
- // y = rgb_to_y[0] * r + rgb_to_y[1] * g + rgb_to_y[2] * b + rgb_to_y[3]
70
- // u = rgb_to_u[0] * r + rgb_to_u[1] * g + rgb_to_u[2] * b + rgb_to_u[3]
71
- // v = rgb_to_v[0] * r + rgb_to_v[1] * g + rgb_to_v[2] * b + rgb_to_v[3]
72
- // Then y, u and v values are divided by 1<<16 and rounded.
69
+ // y_ = rgb_to_y[0] * r + rgb_to_y[1] * g + rgb_to_y[2] * b + rgb_to_y[3]
70
+ // u_ = rgb_to_u[0] * r + rgb_to_u[1] * g + rgb_to_u[2] * b + rgb_to_u[3]
71
+ // v_ = rgb_to_v[0] * r + rgb_to_v[1] * g + rgb_to_v[2] * b + rgb_to_v[3]
72
+ // Then the values are divided by 1<<16 and rounded.
73
+ // y = (y_ + (1 << 15)) >> 16
74
+ // u = (u_ + (1 << 15)) >> 16
75
+ // v = (v_ + (1 << 15)) >> 16
76
+ //
77
+ // Typically, the offset values rgb_to_y[3], rgb_to_u[3] and rgb_to_v[3] depend
78
+ // on the input's bit depth, e.g., rgb_to_u[3] = 1 << (rgb_bit_depth - 1 + 16).
79
+ // See also sharpyuv_csp.h to get a predefined matrix or generate a matrix.
73
80
  typedef struct {
74
81
  int rgb_to_y[4];
75
82
  int rgb_to_u[4];
@@ -127,6 +134,8 @@ typedef enum SharpYuvTransferFunctionType {
127
134
  // adjacent pixels on the y, u and v channels. If yuv_bit_depth > 8, they
128
135
  // should be multiples of 2.
129
136
  // width, height: width and height of the image in pixels
137
+ // yuv_matrix: RGB to YUV conversion matrix. The matrix values typically
138
+ // depend on the input's rgb_bit_depth.
130
139
  // This function calls SharpYuvConvertWithOptions with a default transfer
131
140
  // function of kSharpYuvTransferFunctionSrgb.
132
141
  SHARPYUV_EXTERN int SharpYuvConvert(const void* r_ptr, const void* g_ptr,
@@ -41,10 +41,15 @@ SHARPYUV_EXTERN void SharpYuvComputeConversionMatrix(
41
41
 
42
42
  // Enums for precomputed conversion matrices.
43
43
  typedef enum {
44
+ // WebP's matrix, similar but not identical to kSharpYuvMatrixRec601Limited
44
45
  kSharpYuvMatrixWebp = 0,
46
+ // Kr=0.2990f Kb=0.1140f bit_depth=8 range=kSharpYuvRangeLimited
45
47
  kSharpYuvMatrixRec601Limited,
48
+ // Kr=0.2990f Kb=0.1140f bit_depth=8 range=kSharpYuvRangeFull
46
49
  kSharpYuvMatrixRec601Full,
50
+ // Kr=0.2126f Kb=0.0722f bit_depth=8 range=kSharpYuvRangeLimited
47
51
  kSharpYuvMatrixRec709Limited,
52
+ // Kr=0.2126f Kb=0.0722f bit_depth=8 range=kSharpYuvRangeFull
48
53
  kSharpYuvMatrixRec709Full,
49
54
  kSharpYuvMatrixNum
50
55
  } SharpYuvMatrixType;
@@ -38,11 +38,11 @@ typedef long long int int64_t;
38
38
 
39
39
  #ifndef WEBP_NODISCARD
40
40
  #if defined(WEBP_ENABLE_NODISCARD) && WEBP_ENABLE_NODISCARD
41
- #if (defined(__cplusplus) && __cplusplus >= 201700L) || \
41
+ #if (defined(__cplusplus) && __cplusplus >= 201703L) || \
42
42
  (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 202311L)
43
43
  #define WEBP_NODISCARD [[nodiscard]]
44
44
  #else
45
- // gcc's __has_attribute does not work for enums.
45
+ // gcc's __attribute__((warn_unused_result)) does not work for enums.
46
46
  #if defined(__clang__) && defined(__has_attribute)
47
47
  #if __has_attribute(warn_unused_result)
48
48
  #define WEBP_NODISCARD __attribute__((warn_unused_result))