@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
package/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # @cpp.js/package-webp
2
2
 
3
+ ## 1.0.0
4
+
5
+ ### Major Changes
6
+
7
+ - 🚀 first stable release
8
+
3
9
  ## 1.0.0-beta.24
4
10
 
5
11
  ### Patch Changes
package/README.md CHANGED
@@ -47,4 +47,4 @@ std::string Native::sample() {
47
47
  ## License
48
48
  This project includes the precompiled webp library, which is distributed under the [BSD 3-Clause License](https://chromium.googlesource.com/webm/libwebp/+/refs/heads/main/COPYING).
49
49
 
50
- WebP Homepage: <https://developers.google.com/speed/webp>
50
+ WebP Homepage: [https://developers.google.com/speed/webp](https://developers.google.com/speed/webp)
@@ -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))
@@ -25,7 +25,7 @@ weak_library_names=''
25
25
  # Version information for libsharpyuv.
26
26
  current=1
27
27
  age=1
28
- revision=0
28
+ revision=1
29
29
 
30
30
  # Is this an already installed library?
31
31
  installed=yes
@@ -25,7 +25,7 @@ weak_library_names=''
25
25
  # Version information for libwebp.
26
26
  current=8
27
27
  age=1
28
- revision=9
28
+ revision=10
29
29
 
30
30
  # Is this an already installed library?
31
31
  installed=yes
@@ -25,7 +25,7 @@ weak_library_names=''
25
25
  # Version information for libwebpdemux.
26
26
  current=2
27
27
  age=0
28
- revision=15
28
+ revision=16
29
29
 
30
30
  # Is this an already installed library?
31
31
  installed=yes
@@ -25,7 +25,7 @@ weak_library_names=''
25
25
  # Version information for libwebpmux.
26
26
  current=4
27
27
  age=1
28
- revision=0
28
+ revision=1
29
29
 
30
30
  # Is this an already installed library?
31
31
  installed=yes
@@ -5,7 +5,7 @@ includedir=${prefix}/include/webp
5
5
 
6
6
  Name: libsharpyuv
7
7
  Description: Library for sharp RGB to YUV conversion
8
- Version: 1.4.0
8
+ Version: 1.5.0
9
9
  Cflags: -I${includedir}
10
10
  Libs: -L${libdir} -lsharpyuv
11
11
  Libs.private: -lm
@@ -5,7 +5,7 @@ includedir=${prefix}/include
5
5
 
6
6
  Name: libwebp
7
7
  Description: Library for the WebP graphics format
8
- Version: 1.4.0
8
+ Version: 1.5.0
9
9
  Requires.private: libsharpyuv
10
10
  Cflags: -I${includedir}
11
11
  Libs: -L${libdir} -lwebp
@@ -5,7 +5,7 @@ includedir=${prefix}/include
5
5
 
6
6
  Name: libwebpdemux
7
7
  Description: Library for parsing the WebP graphics format container
8
- Version: 1.4.0
8
+ Version: 1.5.0
9
9
  Requires.private: libwebp >= 0.2.0
10
10
  Cflags: -I${includedir}
11
11
  Libs: -L${libdir} -lwebpdemux
@@ -5,7 +5,7 @@ includedir=${prefix}/include
5
5
 
6
6
  Name: libwebpmux
7
7
  Description: Library for manipulating the WebP graphics format container
8
- Version: 1.4.0
8
+ Version: 1.5.0
9
9
  Requires.private: libwebp >= 0.2.0
10
10
  Cflags: -I${includedir}
11
11
  Libs: -L${libdir} -lwebpmux
@@ -1,5 +1,5 @@
1
1
  .\" Hey, EMACS: -*- nroff -*-
2
- .TH CWEBP 1 "March 26, 2024"
2
+ .TH CWEBP 1 "September 17, 2024"
3
3
  .SH NAME
4
4
  cwebp \- compress an image file to a WebP file
5
5
  .SH SYNOPSIS
@@ -180,8 +180,8 @@ Disable strong filtering (if filtering is being used thanks to the
180
180
  \fB\-f\fP option) and use simple filtering instead.
181
181
  .TP
182
182
  .B \-sharp_yuv
183
- Use more accurate and sharper RGB->YUV conversion if needed. Note that this
184
- process is slower than the default 'fast' RGB->YUV conversion.
183
+ Use more accurate and sharper RGB->YUV conversion. Note that this process is
184
+ slower than the default 'fast' RGB->YUV conversion.
185
185
  .TP
186
186
  .BI \-sns " int
187
187
  Specify the amplitude of the spatial noise shaping. Spatial noise shaping
@@ -299,12 +299,12 @@ Note: each input format may not support all combinations.
299
299
  .B \-noasm
300
300
  Disable all assembly optimizations.
301
301
 
302
- .SH BUGS
303
- Please report all bugs to the issue tracker:
304
- https://bugs.chromium.org/p/webp
305
- .br
306
- Patches welcome! See this page to get started:
307
- https://www.webmproject.org/code/contribute/submitting\-patches/
302
+ .SH EXIT STATUS
303
+ If there were no problems during execution, \fBcwebp\fP exits with the value of
304
+ the C constant \fBEXIT_SUCCESS\fP. This is usually zero.
305
+ .PP
306
+ If an error occurs, \fBcwebp\fP exits with the value of the C constant
307
+ \fBEXIT_FAILURE\fP. This is usually one.
308
308
 
309
309
  .SH EXAMPLES
310
310
  cwebp \-q 50 -lossless picture.png \-o picture_lossless.webp
@@ -324,6 +324,13 @@ https://chromium.googlesource.com/webm/libwebp
324
324
  This manual page was written by Pascal Massimino <pascal.massimino@gmail.com>,
325
325
  for the Debian project (and may be used by others).
326
326
 
327
+ .SH REPORTING BUGS
328
+ Please report all bugs to the issue tracker:
329
+ https://issues.webmproject.org
330
+ .br
331
+ Patches welcome! See this page to get started:
332
+ https://www.webmproject.org/code/contribute/submitting\-patches/
333
+
327
334
  .SH SEE ALSO
328
335
  .BR dwebp (1),
329
336
  .BR gif2webp (1)
@@ -1,5 +1,5 @@
1
1
  .\" Hey, EMACS: -*- nroff -*-
2
- .TH DWEBP 1 "November 17, 2021"
2
+ .TH DWEBP 1 "July 18, 2024"
3
3
  .SH NAME
4
4
  dwebp \- decompress a WebP file to an image file
5
5
  .SH SYNOPSIS
@@ -108,12 +108,12 @@ Print extra information (decoding time in particular).
108
108
  .B \-noasm
109
109
  Disable all assembly optimizations.
110
110
 
111
- .SH BUGS
112
- Please report all bugs to the issue tracker:
113
- https://bugs.chromium.org/p/webp
114
- .br
115
- Patches welcome! See this page to get started:
116
- https://www.webmproject.org/code/contribute/submitting\-patches/
111
+ .SH EXIT STATUS
112
+ If there were no problems during execution, \fBdwebp\fP exits with the value of
113
+ the C constant \fBEXIT_SUCCESS\fP. This is usually zero.
114
+ .PP
115
+ If an error occurs, \fBdwebp\fP exits with the value of the C constant
116
+ \fBEXIT_FAILURE\fP. This is usually one.
117
117
 
118
118
  .SH EXAMPLES
119
119
  dwebp picture.webp \-o output.png
@@ -133,6 +133,13 @@ https://chromium.googlesource.com/webm/libwebp
133
133
  This manual page was written by Pascal Massimino <pascal.massimino@gmail.com>,
134
134
  for the Debian project (and may be used by others).
135
135
 
136
+ .SH REPORTING BUGS
137
+ Please report all bugs to the issue tracker:
138
+ https://issues.webmproject.org
139
+ .br
140
+ Patches welcome! See this page to get started:
141
+ https://www.webmproject.org/code/contribute/submitting\-patches/
142
+
136
143
  .SH SEE ALSO
137
144
  .BR cwebp (1),
138
145
  .BR gif2webp (1),
@@ -1,5 +1,5 @@
1
1
  .\" Hey, EMACS: -*- nroff -*-
2
- .TH IMG2WEBP 1 "March 17, 2023"
2
+ .TH IMG2WEBP 1 "November 26, 2024"
3
3
  .SH NAME
4
4
  img2webp \- create animated WebP file from a sequence of input images.
5
5
  .SH SYNOPSIS
@@ -53,8 +53,8 @@ value is around 60. Note that lossy with \fB\-q 100\fP can at times yield
53
53
  better results.
54
54
  .TP
55
55
  .B \-sharp_yuv
56
- Use more accurate and sharper RGB->YUV conversion if needed. Note that this
57
- process is slower than the default 'fast' RGB->YUV conversion.
56
+ Use more accurate and sharper RGB->YUV conversion. Note that this process is
57
+ slower than the default 'fast' RGB->YUV conversion.
58
58
  .TP
59
59
  .BI \-loop " int
60
60
  Specifies the number of times the animation should loop. Using '0'
@@ -88,18 +88,27 @@ Specify the compression factor between 0 and 100. The default is 75.
88
88
  Specify the compression method to use. This parameter controls the
89
89
  trade off between encoding speed and the compressed file size and quality.
90
90
  Possible values range from 0 to 6. Default value is 4.
91
+ When higher values are used, the encoder will spend more time inspecting
92
+ additional encoding possibilities and decide on the quality gain.
93
+ Lower value can result in faster processing time at the expense of
94
+ larger file size and lower compression quality.
95
+ .TP
96
+ .B \-exact, \-noexact
97
+ Preserve or alter RGB values in transparent area. The default is
98
+ \fB-noexact\fP, to help compressibility. Note \fB\-noexact\fP may cause
99
+ artifacts in frames compressed with \fB\-lossy\fP.
100
+
101
+ .SH EXIT STATUS
102
+ If there were no problems during execution, \fBimg2webp\fP exits with the value
103
+ of the C constant \fBEXIT_SUCCESS\fP. This is usually zero.
104
+ .PP
105
+ If an error occurs, \fBimg2webp\fP exits with the value of the C constant
106
+ \fBEXIT_FAILURE\fP. This is usually one.
91
107
 
92
108
  .SH EXAMPLE
93
109
  img2webp -loop 2 in0.png -lossy in1.jpg -d 80 in2.tiff -o out.webp
94
110
  .br
95
111
 
96
- .SH BUGS
97
- Please report all bugs to the issue tracker:
98
- https://bugs.chromium.org/p/webp
99
- .br
100
- Patches welcome! See this page to get started:
101
- https://www.webmproject.org/code/contribute/submitting\-patches/
102
-
103
112
  .SH AUTHORS
104
113
  \fBimg2webp\fP is a part of libwebp and was written by the WebP team.
105
114
  .br
@@ -109,6 +118,13 @@ https://chromium.googlesource.com/webm/libwebp
109
118
  This manual page was written by Pascal Massimino <pascal.massimino@gmail.com>,
110
119
  for the Debian project (and may be used by others).
111
120
 
121
+ .SH REPORTING BUGS
122
+ Please report all bugs to the issue tracker:
123
+ https://issues.webmproject.org
124
+ .br
125
+ Patches welcome! See this page to get started:
126
+ https://www.webmproject.org/code/contribute/submitting\-patches/
127
+
112
128
  .SH SEE ALSO
113
129
  .BR webpmux (1),
114
130
  .BR gif2webp (1)
@@ -1,5 +1,5 @@
1
1
  .\" Hey, EMACS: -*- nroff -*-
2
- .TH WEBPINFO 1 "November 17, 2021"
2
+ .TH WEBPINFO 1 "July 18, 2024"
3
3
  .SH NAME
4
4
  webpinfo \- print out the chunk level structure of WebP files
5
5
  along with basic integrity checks.
@@ -47,12 +47,12 @@ Detailed usage instructions.
47
47
  Input files in WebP format. Input files must come last, following
48
48
  options (if any). There can be multiple input files.
49
49
 
50
- .SH BUGS
51
- Please report all bugs to the issue tracker:
52
- https://bugs.chromium.org/p/webp
53
- .br
54
- Patches welcome! See this page to get started:
55
- https://www.webmproject.org/code/contribute/submitting\-patches/
50
+ .SH EXIT STATUS
51
+ If there were no problems during execution, \fBwebpinfo\fP exits with the value
52
+ of the C constant \fBEXIT_SUCCESS\fP. This is usually zero.
53
+ .PP
54
+ If an error occurs, \fBwebpinfo\fP exits with the value of the C constant
55
+ \fBEXIT_FAILURE\fP. This is usually one.
56
56
 
57
57
  .SH EXAMPLES
58
58
  .br
@@ -73,6 +73,13 @@ https://chromium.googlesource.com/webm/libwebp
73
73
  This manual page was written by Hui Su <huisu@google.com>,
74
74
  for the Debian project (and may be used by others).
75
75
 
76
+ .SH REPORTING BUGS
77
+ Please report all bugs to the issue tracker:
78
+ https://issues.webmproject.org
79
+ .br
80
+ Patches welcome! See this page to get started:
81
+ https://www.webmproject.org/code/contribute/submitting\-patches/
82
+
76
83
  .SH SEE ALSO
77
84
  .BR webpmux (1)
78
85
  .br
@@ -1,5 +1,5 @@
1
1
  .\" Hey, EMACS: -*- nroff -*-
2
- .TH WEBPMUX 1 "November 17, 2021"
2
+ .TH WEBPMUX 1 "July 18, 2024"
3
3
  .SH NAME
4
4
  webpmux \- create animated WebP files from non\-animated WebP images, extract
5
5
  frames from animated WebP images, and manage XMP/EXIF metadata and ICC profile.
@@ -186,12 +186,12 @@ Output file in WebP format.
186
186
  .TP
187
187
  The nature of EXIF, XMP and ICC data is not checked and is assumed to be valid.
188
188
 
189
- .SH BUGS
190
- Please report all bugs to the issue tracker:
191
- https://bugs.chromium.org/p/webp
192
- .br
193
- Patches welcome! See this page to get started:
194
- https://www.webmproject.org/code/contribute/submitting\-patches/
189
+ .SH EXIT STATUS
190
+ If there were no problems during execution, \fBwebpmux\fP exits with the value
191
+ of the C constant \fBEXIT_SUCCESS\fP. This is usually zero.
192
+ .PP
193
+ If an error occurs, \fBwebpmux\fP exits with the value of the C constant
194
+ \fBEXIT_FAILURE\fP. This is usually one.
195
195
 
196
196
  .SH EXAMPLES
197
197
  .P
@@ -262,6 +262,13 @@ https://chromium.googlesource.com/webm/libwebp
262
262
  This manual page was written by Vikas Arora <vikaas.arora@gmail.com>,
263
263
  for the Debian project (and may be used by others).
264
264
 
265
+ .SH REPORTING BUGS
266
+ Please report all bugs to the issue tracker:
267
+ https://issues.webmproject.org
268
+ .br
269
+ Patches welcome! See this page to get started:
270
+ https://www.webmproject.org/code/contribute/submitting\-patches/
271
+
265
272
  .SH SEE ALSO
266
273
  .BR cwebp (1),
267
274
  .BR dwebp (1),
@@ -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))
@@ -25,7 +25,7 @@ weak_library_names=''
25
25
  # Version information for libsharpyuv.
26
26
  current=1
27
27
  age=1
28
- revision=0
28
+ revision=1
29
29
 
30
30
  # Is this an already installed library?
31
31
  installed=yes
@@ -25,7 +25,7 @@ weak_library_names=''
25
25
  # Version information for libwebp.
26
26
  current=8
27
27
  age=1
28
- revision=9
28
+ revision=10
29
29
 
30
30
  # Is this an already installed library?
31
31
  installed=yes
@@ -25,7 +25,7 @@ weak_library_names=''
25
25
  # Version information for libwebpdemux.
26
26
  current=2
27
27
  age=0
28
- revision=15
28
+ revision=16
29
29
 
30
30
  # Is this an already installed library?
31
31
  installed=yes
@@ -25,7 +25,7 @@ weak_library_names=''
25
25
  # Version information for libwebpmux.
26
26
  current=4
27
27
  age=1
28
- revision=0
28
+ revision=1
29
29
 
30
30
  # Is this an already installed library?
31
31
  installed=yes
@@ -5,7 +5,7 @@ includedir=${prefix}/include/webp
5
5
 
6
6
  Name: libsharpyuv
7
7
  Description: Library for sharp RGB to YUV conversion
8
- Version: 1.4.0
8
+ Version: 1.5.0
9
9
  Cflags: -I${includedir}
10
10
  Libs: -L${libdir} -lsharpyuv
11
11
  Libs.private: -lm
@@ -5,7 +5,7 @@ includedir=${prefix}/include
5
5
 
6
6
  Name: libwebp
7
7
  Description: Library for the WebP graphics format
8
- Version: 1.4.0
8
+ Version: 1.5.0
9
9
  Requires.private: libsharpyuv
10
10
  Cflags: -I${includedir}
11
11
  Libs: -L${libdir} -lwebp
@@ -5,7 +5,7 @@ includedir=${prefix}/include
5
5
 
6
6
  Name: libwebpdemux
7
7
  Description: Library for parsing the WebP graphics format container
8
- Version: 1.4.0
8
+ Version: 1.5.0
9
9
  Requires.private: libwebp >= 0.2.0
10
10
  Cflags: -I${includedir}
11
11
  Libs: -L${libdir} -lwebpdemux