Compare commits
13 Commits
main
...
v1.0.0-rc2
Author | SHA1 | Date | |
---|---|---|---|
![]() |
882784b03d | ||
![]() |
2f930e0872 | ||
![]() |
8165e8fb3b | ||
![]() |
3f157dd5e7 | ||
![]() |
cd758a1745 | ||
![]() |
b892b8ba8b | ||
![]() |
64a57d0587 | ||
![]() |
fc1b8e3a8b | ||
![]() |
15aa48d905 | ||
![]() |
e607dabcf2 | ||
![]() |
38410c082f | ||
![]() |
c57b273698 | ||
![]() |
cba2885375 |
1
AUTHORS
1
AUTHORS
@@ -35,4 +35,5 @@ Contributors:
|
|||||||
- Urvang Joshi (urvang at google dot com)
|
- Urvang Joshi (urvang at google dot com)
|
||||||
- Vikas Arora (vikasa at google dot com)
|
- Vikas Arora (vikasa at google dot com)
|
||||||
- Vincent Rabaud (vrabaud at google dot com)
|
- Vincent Rabaud (vrabaud at google dot com)
|
||||||
|
- Vlad Tsyrklevich (vtsyrklevich at chromium dot org)
|
||||||
- Yang Zhang (yang dot zhang at arm dot com)
|
- Yang Zhang (yang dot zhang at arm dot com)
|
||||||
|
@@ -289,7 +289,8 @@ if(WEBP_BUILD_WEBP_JS)
|
|||||||
target_link_libraries(webp_js webpdecoder SDL)
|
target_link_libraries(webp_js webpdecoder SDL)
|
||||||
set(WEBP_HAVE_SDL 1)
|
set(WEBP_HAVE_SDL 1)
|
||||||
set_target_properties(webp_js PROPERTIES LINK_FLAGS
|
set_target_properties(webp_js PROPERTIES LINK_FLAGS
|
||||||
"-s EXPORTED_FUNCTIONS='[\"_WebpToSDL\"]' -s INVOKE_RUN=0")
|
"-s EXPORTED_FUNCTIONS='[\"_WebpToSDL\"]' -s INVOKE_RUN=0 \
|
||||||
|
-s EXTRA_EXPORTED_RUNTIME_METHODS='[\"cwrap\"]'")
|
||||||
set_target_properties(webp_js PROPERTIES OUTPUT_NAME webp)
|
set_target_properties(webp_js PROPERTIES OUTPUT_NAME webp)
|
||||||
target_compile_definitions(webp_js PUBLIC EMSCRIPTEN WEBP_HAVE_SDL)
|
target_compile_definitions(webp_js PUBLIC EMSCRIPTEN WEBP_HAVE_SDL)
|
||||||
|
|
||||||
@@ -299,7 +300,8 @@ if(WEBP_BUILD_WEBP_JS)
|
|||||||
target_link_libraries(webp_wasm webpdecoder SDL)
|
target_link_libraries(webp_wasm webpdecoder SDL)
|
||||||
set_target_properties(webp_wasm PROPERTIES LINK_FLAGS
|
set_target_properties(webp_wasm PROPERTIES LINK_FLAGS
|
||||||
"-s WASM=1 -s 'BINARYEN_METHOD=\"native-wasm\"' \
|
"-s WASM=1 -s 'BINARYEN_METHOD=\"native-wasm\"' \
|
||||||
-s EXPORTED_FUNCTIONS='[\"_WebpToSDL\"]' -s INVOKE_RUN=0")
|
-s EXPORTED_FUNCTIONS='[\"_WebpToSDL\"]' -s INVOKE_RUN=0 \
|
||||||
|
-s EXTRA_EXPORTED_RUNTIME_METHODS='[\"cwrap\"]'")
|
||||||
target_compile_definitions(webp_wasm PUBLIC EMSCRIPTEN WEBP_HAVE_SDL)
|
target_compile_definitions(webp_wasm PUBLIC EMSCRIPTEN WEBP_HAVE_SDL)
|
||||||
|
|
||||||
target_compile_definitions(webpdecoder PUBLIC EMSCRIPTEN)
|
target_compile_definitions(webpdecoder PUBLIC EMSCRIPTEN)
|
||||||
|
73
ChangeLog
73
ChangeLog
@@ -1,9 +1,82 @@
|
|||||||
|
2f930e08 Revert "Use proper targets for CMake."
|
||||||
|
8165e8fb Use proper targets for CMake.
|
||||||
|
3f157dd5 Remove some very hard TODOs.
|
||||||
|
cd758a17 {de,}mux/Makefile.am: add missing headers
|
||||||
|
b892b8ba makefile.unix,dist: use ascii for text output
|
||||||
|
64a57d05 add -version option to anim_dump,anim_diff and img2webp
|
||||||
|
fc1b8e3a webp_js: fix webp_js demo html
|
||||||
|
15aa48d9 update ChangeLog
|
||||||
|
e607dabc update AUTHORS
|
||||||
|
38410c08 [CFI] Remove function pointer casts
|
||||||
|
c57b2736 bump version to 1.0.0
|
||||||
|
cba28853 update NEWS
|
||||||
|
c909d531 Merge "remove some deprecation warning on MacOSX"
|
||||||
|
217443c7 remove some deprecation warning on MacOSX
|
||||||
|
b672bdfa configure: quiet glut deprecation warnings on OS X
|
||||||
|
daa9fcaf configure: use sdl-config if available
|
||||||
|
dd174cae Merge "imagedec: support metadata reading for WebP image decoding"
|
||||||
|
641cedcc imagedec: support metadata reading for WebP image decoding
|
||||||
|
065b2ce1 anim_diff: add a couple missing newlines in Help()
|
||||||
|
c4cc1147 Merge "gif2webp: force low duration frames to 100ms"
|
||||||
|
09333097 gif2webp: force low duration frames to 100ms
|
||||||
|
e03f0ec3 sharp_yuv: use 14b fixed-point precision for gamma
|
||||||
|
b2db361c image_enc,WebPWritePNG: move locals after setjmp
|
||||||
|
74e82ec6 Merge "WebPPictureDistortion: fix big-endian results order"
|
||||||
|
645d04ca Merge "cwebp,get_disto: report bpp"
|
||||||
|
120f58c3 Merge "lossless*sse2: improve non-const 16-bit vector creation"
|
||||||
|
a7fe9412 WebPPictureDistortion: fix big-endian results order
|
||||||
|
e26fe066 cwebp,get_disto: report bpp
|
||||||
|
9df64e28 Merge changes Id5b4a1a4,Ia20ce844
|
||||||
|
8043504f lossless*sse2: improve non-const 16-bit vector creation
|
||||||
|
1e3dfc48 Import: extract condition from loop
|
||||||
|
3b07d327 Import,RGBA: fix for BigEndian import
|
||||||
|
551948e4 Remove unused argument in VP8LBitsEntropy.
|
||||||
|
3005237a ReadWebP: fix for big-endian
|
||||||
|
499c395a Merge "anim_diff: expose the -max_diff option"
|
||||||
|
f69dcd69 Merge "remove WEBP_EXPERIMENTAL_FEATURES"
|
||||||
|
07d884d5 anim_diff: expose the -max_diff option
|
||||||
|
f4dd9256 remove WEBP_EXPERIMENTAL_FEATURES
|
||||||
|
94a8377b extract the command-line parsing helpers to example_util
|
||||||
|
fc09e6e2 PNM decoder: prevent unsupported depth=2 PAM case.
|
||||||
|
6de58603 MIPS64: Fix defined-but-not-used errors with WEBP_REDUCE_CSP
|
||||||
|
cbde5728 gif2webp: add support for reading from stdin
|
||||||
|
cf1c5054 Add an SSE4 version of some lossless color transforms.
|
||||||
|
45a8b5eb Fix lint error with man page.
|
||||||
|
cff38e8f Merge "PNG decoder: handle gAMA chunk"
|
||||||
|
59cb1a48 Merge "enable dc error-diffusion always"
|
||||||
|
78318b30 PNG decoder: handle gAMA chunk
|
||||||
|
664c21dd Merge "remove some TODOs"
|
||||||
|
815652de enable dc error-diffusion always
|
||||||
|
aec45cec remove some TODOs
|
||||||
|
5715dfce fix block-count[] increment in case of large image
|
||||||
|
c2d04f3e enable DC error-diffusion always for multi-pass
|
||||||
|
96bf07c5 use DC error diffusion for U/V at low-quality
|
||||||
|
1c59020b fix missing sse41 targets in makefile.unix
|
||||||
|
7a8e814b cosmetics: s/color_space/colorspace/
|
||||||
|
05f6fe24 upsampling: rm asserts w/REDUCE_CSP+OMIT_C_CODE
|
||||||
|
b4cf5597 Merge "Upsampling SSE2/SSE4 speedup."
|
||||||
|
ccbeb32c Makefile.vc: add missing sse41 files
|
||||||
|
55403a9a Upsampling SSE2/SSE4 speedup.
|
||||||
|
807b53c4 Implement the upsampling/yuv functions in SSE41
|
||||||
|
84101a81 Fix wasm WebP compilation
|
||||||
|
8bebd2a3 fix warning on MSVC
|
||||||
|
a7f93fe3 webpmux: allow reading argument from a file
|
||||||
|
b69f18a7 gif2webp.1: fix -loop_compatibility layout
|
||||||
|
72d530c0 Merge "fix lossless decoding w/WEBP_REDUCE_SIZE"
|
||||||
|
296c7dc4 fix lossless decoding w/WEBP_REDUCE_SIZE
|
||||||
|
0d5d029c Merge "ImgIoUtilReadFile: fix file leak upon error"
|
||||||
|
ae568ce7 ImgIoUtilReadFile: fix file leak upon error
|
||||||
|
796b5a8a Merge tag 'v0.6.1'
|
||||||
|
6b7a95fd update ChangeLog (tag: v0.6.1)
|
||||||
f66955de WEBP_REDUCE_CSP: restrict colorspace support
|
f66955de WEBP_REDUCE_CSP: restrict colorspace support
|
||||||
|
1af0df76 Merge "WEBP_REDUCE_CSP: restrict colorspace support"
|
||||||
|
6de20df0 WEBP_REDUCE_CSP: restrict colorspace support
|
||||||
a289d8e7 update ChangeLog (tag: v0.6.1-rc2)
|
a289d8e7 update ChangeLog (tag: v0.6.1-rc2)
|
||||||
c10a493c vwebp: disable double buffering on windows & mac
|
c10a493c vwebp: disable double buffering on windows & mac
|
||||||
0d4466c2 webp_to_sdl.c: fix file mode
|
0d4466c2 webp_to_sdl.c: fix file mode
|
||||||
1b27bf8b WEBP_REDUCE_SIZE: disable all rescaler code
|
1b27bf8b WEBP_REDUCE_SIZE: disable all rescaler code
|
||||||
126be109 webpinfo: add -version option
|
126be109 webpinfo: add -version option
|
||||||
|
0df22b9e WEBP_REDUCE_SIZE: disable all rescaler code
|
||||||
9add62b5 bump version to 0.6.1
|
9add62b5 bump version to 0.6.1
|
||||||
d3e26144 update NEWS
|
d3e26144 update NEWS
|
||||||
2edda639 README: add webpinfo section
|
2edda639 README: add webpinfo section
|
||||||
|
10
NEWS
10
NEWS
@@ -1,3 +1,13 @@
|
|||||||
|
- 4/2/2018: version 1.0.0
|
||||||
|
This is a binary compatible release.
|
||||||
|
* lossy encoder improvements to avoid chroma shifts in various circumstances
|
||||||
|
(issues #308, #340)
|
||||||
|
* big-endian fixes for decode, RGBA import and WebPPictureDistortion
|
||||||
|
Tool updates:
|
||||||
|
gifwebp, anim_diff - default duration behavior (<= 10ms) changed to match
|
||||||
|
web browsers, transcoding tools (issue #379)
|
||||||
|
img2webp, webpmux - allow options to be passed in via a file (issue #355)
|
||||||
|
|
||||||
- 11/24/2017: version 0.6.1
|
- 11/24/2017: version 0.6.1
|
||||||
This is a binary compatible release.
|
This is a binary compatible release.
|
||||||
* lossless performance and compression improvements + a new 'cruncher' mode
|
* lossless performance and compression improvements + a new 'cruncher' mode
|
||||||
|
8
README
8
README
@@ -4,7 +4,7 @@
|
|||||||
\__\__/\____/\_____/__/ ____ ___
|
\__\__/\____/\_____/__/ ____ ___
|
||||||
/ _/ / \ \ / _ \/ _/
|
/ _/ / \ \ / _ \/ _/
|
||||||
/ \_/ / / \ \ __/ \__
|
/ \_/ / / \ \ __/ \__
|
||||||
\____/____/\_____/_____/____/v0.6.1
|
\____/____/\_____/_____/____/v1.0.0
|
||||||
|
|
||||||
Description:
|
Description:
|
||||||
============
|
============
|
||||||
@@ -458,6 +458,7 @@ File-level options (only used at the start of compression):
|
|||||||
-mixed ............... use mixed lossy/lossless automatic mode
|
-mixed ............... use mixed lossy/lossless automatic mode
|
||||||
-v ................... verbose mode
|
-v ................... verbose mode
|
||||||
-h ................... this help
|
-h ................... this help
|
||||||
|
-version ............. print version number and exit
|
||||||
|
|
||||||
Per-frame options (only used for subsequent images input):
|
Per-frame options (only used for subsequent images input):
|
||||||
-d <int> ............. frame duration in ms (default: 100)
|
-d <int> ............. frame duration in ms (default: 100)
|
||||||
@@ -524,6 +525,11 @@ Options:
|
|||||||
-min_psnr <float> ... minimum per-frame PSNR
|
-min_psnr <float> ... minimum per-frame PSNR
|
||||||
-raw_comparison ..... if this flag is not used, RGB is
|
-raw_comparison ..... if this flag is not used, RGB is
|
||||||
premultiplied before comparison
|
premultiplied before comparison
|
||||||
|
-max_diff <int> ..... maximum allowed difference per channel
|
||||||
|
between corresponding pixels in subsequent
|
||||||
|
frames
|
||||||
|
-h .................. this help
|
||||||
|
-version ............ print version number and exit
|
||||||
|
|
||||||
Building:
|
Building:
|
||||||
---------
|
---------
|
||||||
|
@@ -1,7 +1,7 @@
|
|||||||
__ __ ____ ____ ____ __ __ _ __ __
|
__ __ ____ ____ ____ __ __ _ __ __
|
||||||
/ \\/ \/ _ \/ _ \/ _ \/ \ \/ \___/_ / _\
|
/ \\/ \/ _ \/ _ \/ _ \/ \ \/ \___/_ / _\
|
||||||
\ / __/ _ \ __/ / / (_/ /__
|
\ / __/ _ \ __/ / / (_/ /__
|
||||||
\__\__/\_____/_____/__/ \__//_/\_____/__/___/v0.4.1
|
\__\__/\_____/_____/__/ \__//_/\_____/__/___/v1.0.0
|
||||||
|
|
||||||
|
|
||||||
Description:
|
Description:
|
||||||
|
@@ -32,7 +32,8 @@ using Emscripten and CMake.
|
|||||||
webp.js.mem files generated.
|
webp.js.mem files generated.
|
||||||
|
|
||||||
The callable JavaScript function is WebPToSDL(), which decodes a raw WebP
|
The callable JavaScript function is WebPToSDL(), which decodes a raw WebP
|
||||||
bitstream into a canvas. See webp_js/index.html for a simple usage sample.
|
bitstream into a canvas. See webp_js/index.html for a simple usage sample
|
||||||
|
(see below for instructions).
|
||||||
|
|
||||||
Demo HTML page:
|
Demo HTML page:
|
||||||
===============
|
===============
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
AC_INIT([libwebp], [0.6.1],
|
AC_INIT([libwebp], [1.0.0],
|
||||||
[https://bugs.chromium.org/p/webp],,
|
[https://bugs.chromium.org/p/webp],,
|
||||||
[http://developers.google.com/speed/webp])
|
[http://developers.google.com/speed/webp])
|
||||||
AC_CANONICAL_HOST
|
AC_CANONICAL_HOST
|
||||||
|
@@ -190,6 +190,8 @@ static void Help(void) {
|
|||||||
printf(" -max_diff <int> ..... maximum allowed difference per channel\n"
|
printf(" -max_diff <int> ..... maximum allowed difference per channel\n"
|
||||||
" between corresponding pixels in subsequent\n"
|
" between corresponding pixels in subsequent\n"
|
||||||
" frames\n");
|
" frames\n");
|
||||||
|
printf(" -h .................. this help\n");
|
||||||
|
printf(" -version ............ print version number and exit\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
int main(int argc, const char* argv[]) {
|
int main(int argc, const char* argv[]) {
|
||||||
@@ -205,11 +207,6 @@ int main(int argc, const char* argv[]) {
|
|||||||
const char* files[2] = { NULL, NULL };
|
const char* files[2] = { NULL, NULL };
|
||||||
AnimatedImage images[2];
|
AnimatedImage images[2];
|
||||||
|
|
||||||
if (argc < 3) {
|
|
||||||
Help();
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
|
|
||||||
for (c = 1; c < argc; ++c) {
|
for (c = 1; c < argc; ++c) {
|
||||||
int parse_error = 0;
|
int parse_error = 0;
|
||||||
if (!strcmp(argv[c], "-dump_frames")) {
|
if (!strcmp(argv[c], "-dump_frames")) {
|
||||||
@@ -247,6 +244,18 @@ int main(int argc, const char* argv[]) {
|
|||||||
} else {
|
} else {
|
||||||
parse_error = 1;
|
parse_error = 1;
|
||||||
}
|
}
|
||||||
|
} else if (!strcmp(argv[c], "-h") || !strcmp(argv[c], "-help")) {
|
||||||
|
Help();
|
||||||
|
return 0;
|
||||||
|
} else if (!strcmp(argv[c], "-version")) {
|
||||||
|
int dec_version, demux_version;
|
||||||
|
GetAnimatedImageVersions(&dec_version, &demux_version);
|
||||||
|
printf("WebP Decoder version: %d.%d.%d\nWebP Demux version: %d.%d.%d\n",
|
||||||
|
(dec_version >> 16) & 0xff, (dec_version >> 8) & 0xff,
|
||||||
|
(dec_version >> 0) & 0xff,
|
||||||
|
(demux_version >> 16) & 0xff, (demux_version >> 8) & 0xff,
|
||||||
|
(demux_version >> 0) & 0xff);
|
||||||
|
return 0;
|
||||||
} else {
|
} else {
|
||||||
if (!got_input1) {
|
if (!got_input1) {
|
||||||
files[0] = argv[c];
|
files[0] = argv[c];
|
||||||
@@ -263,6 +272,12 @@ int main(int argc, const char* argv[]) {
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (argc < 3) {
|
||||||
|
Help();
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
if (!got_input2) {
|
if (!got_input2) {
|
||||||
Help();
|
Help();
|
||||||
return -1;
|
return -1;
|
||||||
|
@@ -30,6 +30,8 @@ static void Help(void) {
|
|||||||
"(default: 'dump_')\n");
|
"(default: 'dump_')\n");
|
||||||
printf(" -tiff ............... save frames as TIFF\n");
|
printf(" -tiff ............... save frames as TIFF\n");
|
||||||
printf(" -pam ................ save frames as PAM\n");
|
printf(" -pam ................ save frames as PAM\n");
|
||||||
|
printf(" -h .................. this help\n");
|
||||||
|
printf(" -version ............ print version number and exit\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
int main(int argc, const char* argv[]) {
|
int main(int argc, const char* argv[]) {
|
||||||
@@ -66,6 +68,18 @@ int main(int argc, const char* argv[]) {
|
|||||||
} else if (!strcmp(argv[c], "-pam")) {
|
} else if (!strcmp(argv[c], "-pam")) {
|
||||||
format = PAM;
|
format = PAM;
|
||||||
suffix = "pam";
|
suffix = "pam";
|
||||||
|
} else if (!strcmp(argv[c], "-h") || !strcmp(argv[c], "-help")) {
|
||||||
|
Help();
|
||||||
|
return 0;
|
||||||
|
} else if (!strcmp(argv[c], "-version")) {
|
||||||
|
int dec_version, demux_version;
|
||||||
|
GetAnimatedImageVersions(&dec_version, &demux_version);
|
||||||
|
printf("WebP Decoder version: %d.%d.%d\nWebP Demux version: %d.%d.%d\n",
|
||||||
|
(dec_version >> 16) & 0xff, (dec_version >> 8) & 0xff,
|
||||||
|
(dec_version >> 0) & 0xff,
|
||||||
|
(demux_version >> 16) & 0xff, (demux_version >> 8) & 0xff,
|
||||||
|
(demux_version >> 0) & 0xff);
|
||||||
|
return 0;
|
||||||
} else {
|
} else {
|
||||||
uint32_t i;
|
uint32_t i;
|
||||||
AnimatedImage image;
|
AnimatedImage image;
|
||||||
|
@@ -786,3 +786,9 @@ void GetDiffAndPSNR(const uint8_t rgba1[], const uint8_t rgba2[],
|
|||||||
*psnr = 4.3429448 * log(255. * 255. / sse);
|
*psnr = 4.3429448 * log(255. * 255. / sse);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void GetAnimatedImageVersions(int* const decoder_version,
|
||||||
|
int* const demux_version) {
|
||||||
|
*decoder_version = WebPGetDecoderVersion();
|
||||||
|
*demux_version = WebPGetDemuxVersion();
|
||||||
|
}
|
||||||
|
@@ -56,6 +56,10 @@ void GetDiffAndPSNR(const uint8_t rgba1[], const uint8_t rgba2[],
|
|||||||
uint32_t width, uint32_t height, int premultiply,
|
uint32_t width, uint32_t height, int premultiply,
|
||||||
int* const max_diff, double* const psnr);
|
int* const max_diff, double* const psnr);
|
||||||
|
|
||||||
|
// Return library versions used by anim_util.
|
||||||
|
void GetAnimatedImageVersions(int* const decoder_version,
|
||||||
|
int* const demux_version);
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
} // extern "C"
|
} // extern "C"
|
||||||
#endif
|
#endif
|
||||||
|
@@ -48,6 +48,7 @@ static void Help(void) {
|
|||||||
printf(" -mixed ............... use mixed lossy/lossless automatic mode\n");
|
printf(" -mixed ............... use mixed lossy/lossless automatic mode\n");
|
||||||
printf(" -v ................... verbose mode\n");
|
printf(" -v ................... verbose mode\n");
|
||||||
printf(" -h ................... this help\n");
|
printf(" -h ................... this help\n");
|
||||||
|
printf(" -version ............. print version number and exit\n");
|
||||||
printf("\n");
|
printf("\n");
|
||||||
|
|
||||||
printf("Per-frame options (only used for subsequent images input):\n");
|
printf("Per-frame options (only used for subsequent images input):\n");
|
||||||
@@ -177,6 +178,14 @@ int main(int argc, const char* argv[]) {
|
|||||||
} else if (!strcmp(argv[c], "-h") || !strcmp(argv[c], "-help")) {
|
} else if (!strcmp(argv[c], "-h") || !strcmp(argv[c], "-help")) {
|
||||||
Help();
|
Help();
|
||||||
goto End;
|
goto End;
|
||||||
|
} else if (!strcmp(argv[c], "-version")) {
|
||||||
|
const int enc_version = WebPGetEncoderVersion();
|
||||||
|
const int mux_version = WebPGetMuxVersion();
|
||||||
|
printf("WebP Encoder version: %d.%d.%d\nWebP Mux version: %d.%d.%d\n",
|
||||||
|
(enc_version >> 16) & 0xff, (enc_version >> 8) & 0xff,
|
||||||
|
enc_version & 0xff, (mux_version >> 16) & 0xff,
|
||||||
|
(mux_version >> 8) & 0xff, mux_version & 0xff);
|
||||||
|
goto End;
|
||||||
} else {
|
} else {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
@@ -16,9 +16,9 @@
|
|||||||
#include <assert.h>
|
#include <assert.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
|
||||||
#define XTRA_MAJ_VERSION 0
|
#define XTRA_MAJ_VERSION 1
|
||||||
#define XTRA_MIN_VERSION 1
|
#define XTRA_MIN_VERSION 0
|
||||||
#define XTRA_REV_VERSION 1
|
#define XTRA_REV_VERSION 0
|
||||||
|
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
@@ -474,7 +474,7 @@ dist: all
|
|||||||
for m in man/[cdv]webp.1 man/gif2webp.1 man/webpmux.1 \
|
for m in man/[cdv]webp.1 man/gif2webp.1 man/webpmux.1 \
|
||||||
man/img2webp.1 man/webpinfo.1; do \
|
man/img2webp.1 man/webpinfo.1; do \
|
||||||
basenam=$$(basename $$m .1); \
|
basenam=$$(basename $$m .1); \
|
||||||
$(GROFF) -t -e -man -T utf8 $$m \
|
$(GROFF) -t -e -man -T ascii $$m \
|
||||||
| $(COL) -bx >$(DESTDIR)/doc/$${basenam}.txt; \
|
| $(COL) -bx >$(DESTDIR)/doc/$${basenam}.txt; \
|
||||||
$(GROFF) -t -e -man -T html $$m \
|
$(GROFF) -t -e -man -T html $$m \
|
||||||
| $(COL) -bx >$(DESTDIR)/doc/$${basenam}.html; \
|
| $(COL) -bx >$(DESTDIR)/doc/$${basenam}.html; \
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
.\" Hey, EMACS: -*- nroff -*-
|
.\" Hey, EMACS: -*- nroff -*-
|
||||||
.TH IMG2WEBP 1 "February 7, 2018"
|
.TH IMG2WEBP 1 "April 3, 2018"
|
||||||
.SH NAME
|
.SH NAME
|
||||||
img2webp \- create animated WebP file from a sequence of input images.
|
img2webp \- create animated WebP file from a sequence of input images.
|
||||||
.SH SYNOPSIS
|
.SH SYNOPSIS
|
||||||
@@ -53,6 +53,9 @@ Be more verbose.
|
|||||||
.TP
|
.TP
|
||||||
.B \-h, \-help
|
.B \-h, \-help
|
||||||
A short usage summary.
|
A short usage summary.
|
||||||
|
.TP
|
||||||
|
.B \-version
|
||||||
|
Print the version numbers of the relevant libraries used.
|
||||||
|
|
||||||
.SH PER-FRAME OPTIONS
|
.SH PER-FRAME OPTIONS
|
||||||
The per-frame options are applied for the images following as arguments in the
|
The per-frame options are applied for the images following as arguments in the
|
||||||
|
@@ -36,7 +36,7 @@ libwebp_la_LIBADD += utils/libwebputils.la
|
|||||||
# other than the ones listed on the command line, i.e., after linking, it will
|
# other than the ones listed on the command line, i.e., after linking, it will
|
||||||
# not have unresolved symbols. Some platforms (Windows among them) require all
|
# not have unresolved symbols. Some platforms (Windows among them) require all
|
||||||
# symbols in shared libraries to be resolved at library creation.
|
# symbols in shared libraries to be resolved at library creation.
|
||||||
libwebp_la_LDFLAGS = -no-undefined -version-info 7:1:0
|
libwebp_la_LDFLAGS = -no-undefined -version-info 7:2:0
|
||||||
libwebpincludedir = $(includedir)/webp
|
libwebpincludedir = $(includedir)/webp
|
||||||
pkgconfig_DATA = libwebp.pc
|
pkgconfig_DATA = libwebp.pc
|
||||||
|
|
||||||
@@ -48,7 +48,7 @@ if BUILD_LIBWEBPDECODER
|
|||||||
libwebpdecoder_la_LIBADD += dsp/libwebpdspdecode.la
|
libwebpdecoder_la_LIBADD += dsp/libwebpdspdecode.la
|
||||||
libwebpdecoder_la_LIBADD += utils/libwebputilsdecode.la
|
libwebpdecoder_la_LIBADD += utils/libwebputilsdecode.la
|
||||||
|
|
||||||
libwebpdecoder_la_LDFLAGS = -no-undefined -version-info 3:1:0
|
libwebpdecoder_la_LDFLAGS = -no-undefined -version-info 3:2:0
|
||||||
pkgconfig_DATA += libwebpdecoder.pc
|
pkgconfig_DATA += libwebpdecoder.pc
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
@@ -400,7 +400,9 @@ static void DitherRow(VP8Decoder* const dec) {
|
|||||||
#define MACROBLOCK_VPOS(mb_y) ((mb_y) * 16) // vertical position of a MB
|
#define MACROBLOCK_VPOS(mb_y) ((mb_y) * 16) // vertical position of a MB
|
||||||
|
|
||||||
// Finalize and transmit a complete row. Return false in case of user-abort.
|
// Finalize and transmit a complete row. Return false in case of user-abort.
|
||||||
static int FinishRow(VP8Decoder* const dec, VP8Io* const io) {
|
static int FinishRow(void* arg1, void* arg2) {
|
||||||
|
VP8Decoder* const dec = (VP8Decoder*)arg1;
|
||||||
|
VP8Io* const io = (VP8Io*)arg2;
|
||||||
int ok = 1;
|
int ok = 1;
|
||||||
const VP8ThreadContext* const ctx = &dec->thread_ctx_;
|
const VP8ThreadContext* const ctx = &dec->thread_ctx_;
|
||||||
const int cache_id = ctx->id_;
|
const int cache_id = ctx->id_;
|
||||||
@@ -647,7 +649,7 @@ static int InitThreadContext(VP8Decoder* const dec) {
|
|||||||
}
|
}
|
||||||
worker->data1 = dec;
|
worker->data1 = dec;
|
||||||
worker->data2 = (void*)&dec->thread_ctx_.io_;
|
worker->data2 = (void*)&dec->thread_ctx_.io_;
|
||||||
worker->hook = (WebPWorkerHook)FinishRow;
|
worker->hook = FinishRow;
|
||||||
dec->num_caches_ =
|
dec->num_caches_ =
|
||||||
(dec->filter_type_ > 0) ? MT_CACHE_LINES : MT_CACHE_LINES - 1;
|
(dec->filter_type_ > 0) ? MT_CACHE_LINES : MT_CACHE_LINES - 1;
|
||||||
} else {
|
} else {
|
||||||
|
@@ -30,9 +30,9 @@ extern "C" {
|
|||||||
// Various defines and enums
|
// Various defines and enums
|
||||||
|
|
||||||
// version numbers
|
// version numbers
|
||||||
#define DEC_MAJ_VERSION 0
|
#define DEC_MAJ_VERSION 1
|
||||||
#define DEC_MIN_VERSION 6
|
#define DEC_MIN_VERSION 0
|
||||||
#define DEC_REV_VERSION 1
|
#define DEC_REV_VERSION 0
|
||||||
|
|
||||||
// YUV-cache parameters. Cache is 32-bytes wide (= one cacheline).
|
// YUV-cache parameters. Cache is 32-bytes wide (= one cacheline).
|
||||||
// Constraints are: We need to store one 16x16 block of luma samples (y),
|
// Constraints are: We need to store one 16x16 block of luma samples (y),
|
||||||
|
@@ -5,11 +5,14 @@ libwebpdemux_la_SOURCES =
|
|||||||
libwebpdemux_la_SOURCES += anim_decode.c demux.c
|
libwebpdemux_la_SOURCES += anim_decode.c demux.c
|
||||||
|
|
||||||
libwebpdemuxinclude_HEADERS =
|
libwebpdemuxinclude_HEADERS =
|
||||||
|
libwebpdemuxinclude_HEADERS += ../webp/decode.h
|
||||||
libwebpdemuxinclude_HEADERS += ../webp/demux.h
|
libwebpdemuxinclude_HEADERS += ../webp/demux.h
|
||||||
libwebpdemuxinclude_HEADERS += ../webp/mux_types.h
|
libwebpdemuxinclude_HEADERS += ../webp/mux_types.h
|
||||||
libwebpdemuxinclude_HEADERS += ../webp/types.h
|
libwebpdemuxinclude_HEADERS += ../webp/types.h
|
||||||
|
noinst_HEADERS =
|
||||||
|
noinst_HEADERS += ../webp/format_constants.h
|
||||||
|
|
||||||
libwebpdemux_la_LIBADD = ../libwebp.la
|
libwebpdemux_la_LIBADD = ../libwebp.la
|
||||||
libwebpdemux_la_LDFLAGS = -no-undefined -version-info 2:3:0
|
libwebpdemux_la_LDFLAGS = -no-undefined -version-info 2:4:0
|
||||||
libwebpdemuxincludedir = $(includedir)/webp
|
libwebpdemuxincludedir = $(includedir)/webp
|
||||||
pkgconfig_DATA = libwebpdemux.pc
|
pkgconfig_DATA = libwebpdemux.pc
|
||||||
|
@@ -23,9 +23,9 @@
|
|||||||
#include "src/webp/demux.h"
|
#include "src/webp/demux.h"
|
||||||
#include "src/webp/format_constants.h"
|
#include "src/webp/format_constants.h"
|
||||||
|
|
||||||
#define DMUX_MAJ_VERSION 0
|
#define DMUX_MAJ_VERSION 1
|
||||||
#define DMUX_MIN_VERSION 3
|
#define DMUX_MIN_VERSION 0
|
||||||
#define DMUX_REV_VERSION 3
|
#define DMUX_REV_VERSION 0
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
size_t start_; // start location of the data
|
size_t start_; // start location of the data
|
||||||
|
@@ -6,8 +6,8 @@
|
|||||||
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
|
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
|
||||||
|
|
||||||
VS_VERSION_INFO VERSIONINFO
|
VS_VERSION_INFO VERSIONINFO
|
||||||
FILEVERSION 0,3,0,3
|
FILEVERSION 1,0,0,0
|
||||||
PRODUCTVERSION 0,3,0,3
|
PRODUCTVERSION 1,0,0,0
|
||||||
FILEFLAGSMASK 0x3fL
|
FILEFLAGSMASK 0x3fL
|
||||||
#ifdef _DEBUG
|
#ifdef _DEBUG
|
||||||
FILEFLAGS 0x1L
|
FILEFLAGS 0x1L
|
||||||
@@ -24,12 +24,12 @@ BEGIN
|
|||||||
BEGIN
|
BEGIN
|
||||||
VALUE "CompanyName", "Google, Inc."
|
VALUE "CompanyName", "Google, Inc."
|
||||||
VALUE "FileDescription", "libwebpdemux DLL"
|
VALUE "FileDescription", "libwebpdemux DLL"
|
||||||
VALUE "FileVersion", "0.3.3"
|
VALUE "FileVersion", "1.0.0"
|
||||||
VALUE "InternalName", "libwebpdemux.dll"
|
VALUE "InternalName", "libwebpdemux.dll"
|
||||||
VALUE "LegalCopyright", "Copyright (C) 2017"
|
VALUE "LegalCopyright", "Copyright (C) 2018"
|
||||||
VALUE "OriginalFilename", "libwebpdemux.dll"
|
VALUE "OriginalFilename", "libwebpdemux.dll"
|
||||||
VALUE "ProductName", "WebP Image Demuxer"
|
VALUE "ProductName", "WebP Image Demuxer"
|
||||||
VALUE "ProductVersion", "0.3.3"
|
VALUE "ProductVersion", "1.0.0"
|
||||||
END
|
END
|
||||||
END
|
END
|
||||||
BLOCK "VarFileInfo"
|
BLOCK "VarFileInfo"
|
||||||
|
@@ -361,7 +361,8 @@ static int EncodeAlpha(VP8Encoder* const enc,
|
|||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
// Main calls
|
// Main calls
|
||||||
|
|
||||||
static int CompressAlphaJob(VP8Encoder* const enc, void* dummy) {
|
static int CompressAlphaJob(void* arg1, void* dummy) {
|
||||||
|
VP8Encoder* const enc = (VP8Encoder*)arg1;
|
||||||
const WebPConfig* config = enc->config_;
|
const WebPConfig* config = enc->config_;
|
||||||
uint8_t* alpha_data = NULL;
|
uint8_t* alpha_data = NULL;
|
||||||
size_t alpha_size = 0;
|
size_t alpha_size = 0;
|
||||||
@@ -394,7 +395,7 @@ void VP8EncInitAlpha(VP8Encoder* const enc) {
|
|||||||
WebPGetWorkerInterface()->Init(worker);
|
WebPGetWorkerInterface()->Init(worker);
|
||||||
worker->data1 = enc;
|
worker->data1 = enc;
|
||||||
worker->data2 = NULL;
|
worker->data2 = NULL;
|
||||||
worker->hook = (WebPWorkerHook)CompressAlphaJob;
|
worker->hook = CompressAlphaJob;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -434,7 +434,9 @@ typedef struct {
|
|||||||
} SegmentJob;
|
} SegmentJob;
|
||||||
|
|
||||||
// main work call
|
// main work call
|
||||||
static int DoSegmentsJob(SegmentJob* const job, VP8EncIterator* const it) {
|
static int DoSegmentsJob(void* arg1, void* arg2) {
|
||||||
|
SegmentJob* const job = (SegmentJob*)arg1;
|
||||||
|
VP8EncIterator* const it = (VP8EncIterator*)arg2;
|
||||||
int ok = 1;
|
int ok = 1;
|
||||||
if (!VP8IteratorIsDone(it)) {
|
if (!VP8IteratorIsDone(it)) {
|
||||||
uint8_t tmp[32 + WEBP_ALIGN_CST];
|
uint8_t tmp[32 + WEBP_ALIGN_CST];
|
||||||
@@ -462,7 +464,7 @@ static void InitSegmentJob(VP8Encoder* const enc, SegmentJob* const job,
|
|||||||
WebPGetWorkerInterface()->Init(&job->worker);
|
WebPGetWorkerInterface()->Init(&job->worker);
|
||||||
job->worker.data1 = job;
|
job->worker.data1 = job;
|
||||||
job->worker.data2 = &job->it;
|
job->worker.data2 = &job->it;
|
||||||
job->worker.hook = (WebPWorkerHook)DoSegmentsJob;
|
job->worker.hook = DoSegmentsJob;
|
||||||
VP8IteratorInit(enc, &job->it);
|
VP8IteratorInit(enc, &job->it);
|
||||||
VP8IteratorSetRow(&job->it, start_row);
|
VP8IteratorSetRow(&job->it, start_row);
|
||||||
VP8IteratorSetCountDown(&job->it, (end_row - start_row) * enc->mb_w_);
|
VP8IteratorSetCountDown(&job->it, (end_row - start_row) * enc->mb_w_);
|
||||||
|
@@ -1026,7 +1026,7 @@ int VP8LGetHistoImageSymbols(int xsize, int ysize,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO(vikasa): Optimize HistogramRemap for low-effort compression mode also.
|
// TODO(vrabaud): Optimize HistogramRemap for low-effort compression mode.
|
||||||
// Find the optimal map from original histograms to the final ones.
|
// Find the optimal map from original histograms to the final ones.
|
||||||
HistogramRemap(orig_histo, image_histo, histogram_symbols);
|
HistogramRemap(orig_histo, image_histo, histogram_symbols);
|
||||||
|
|
||||||
|
@@ -30,9 +30,9 @@ extern "C" {
|
|||||||
// Various defines and enums
|
// Various defines and enums
|
||||||
|
|
||||||
// version numbers
|
// version numbers
|
||||||
#define ENC_MAJ_VERSION 0
|
#define ENC_MAJ_VERSION 1
|
||||||
#define ENC_MIN_VERSION 6
|
#define ENC_MIN_VERSION 0
|
||||||
#define ENC_REV_VERSION 1
|
#define ENC_REV_VERSION 0
|
||||||
|
|
||||||
enum { MAX_LF_LEVELS = 64, // Maximum loop filter level
|
enum { MAX_LF_LEVELS = 64, // Maximum loop filter level
|
||||||
MAX_VARIABLE_LEVEL = 67, // last (inclusive) level with variable cost
|
MAX_VARIABLE_LEVEL = 67, // last (inclusive) level with variable cost
|
||||||
|
@@ -382,8 +382,7 @@ static int EncoderAnalyze(VP8LEncoder* const enc,
|
|||||||
AnalyzeAndCreatePalette(pic, low_effort,
|
AnalyzeAndCreatePalette(pic, low_effort,
|
||||||
enc->palette_, &enc->palette_size_);
|
enc->palette_, &enc->palette_size_);
|
||||||
|
|
||||||
// TODO(jyrki): replace the decision to be based on an actual estimate
|
// Empirical bit sizes.
|
||||||
// of entropy, or even spatial variance of entropy.
|
|
||||||
enc->histo_bits_ = GetHistoBits(method, use_palette,
|
enc->histo_bits_ = GetHistoBits(method, use_palette,
|
||||||
pic->width, pic->height);
|
pic->width, pic->height);
|
||||||
enc->transform_bits_ = GetTransformBits(method, enc->histo_bits_);
|
enc->transform_bits_ = GetTransformBits(method, enc->histo_bits_);
|
||||||
@@ -754,7 +753,6 @@ static WebPEncodingError StoreImageToBitMask(
|
|||||||
// Don't write the distance with the extra bits code since
|
// Don't write the distance with the extra bits code since
|
||||||
// the distance can be up to 18 bits of extra bits, and the prefix
|
// the distance can be up to 18 bits of extra bits, and the prefix
|
||||||
// 15 bits, totaling to 33, and our PutBits only supports up to 32 bits.
|
// 15 bits, totaling to 33, and our PutBits only supports up to 32 bits.
|
||||||
// TODO(jyrki): optimize this further.
|
|
||||||
VP8LPrefixEncode(distance, &code, &n_bits, &bits);
|
VP8LPrefixEncode(distance, &code, &n_bits, &bits);
|
||||||
WriteHuffmanCode(bw, codes + 4, code);
|
WriteHuffmanCode(bw, codes + 4, code);
|
||||||
VP8LPutBits(bw, bits, n_bits);
|
VP8LPutBits(bw, bits, n_bits);
|
||||||
@@ -1754,7 +1752,7 @@ WebPEncodingError VP8LEncodeStream(const WebPConfig* const config,
|
|||||||
worker_interface->Init(worker);
|
worker_interface->Init(worker);
|
||||||
worker->data1 = param;
|
worker->data1 = param;
|
||||||
worker->data2 = NULL;
|
worker->data2 = NULL;
|
||||||
worker->hook = (WebPWorkerHook)EncodeStreamHook;
|
worker->hook = EncodeStreamHook;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1876,7 +1874,6 @@ int VP8LEncodeImage(const WebPConfig* const config,
|
|||||||
err = VP8LEncodeStream(config, picture, &bw, 1 /*use_cache*/);
|
err = VP8LEncodeStream(config, picture, &bw, 1 /*use_cache*/);
|
||||||
if (err != VP8_ENC_OK) goto Error;
|
if (err != VP8_ENC_OK) goto Error;
|
||||||
|
|
||||||
// TODO(skal): have a fine-grained progress report in VP8LEncodeStream().
|
|
||||||
if (!WebPReportProgress(picture, 90, &percent)) goto UserAbort;
|
if (!WebPReportProgress(picture, 90, &percent)) goto UserAbort;
|
||||||
|
|
||||||
// Finish the RIFF chunk.
|
// Finish the RIFF chunk.
|
||||||
|
@@ -6,8 +6,8 @@
|
|||||||
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
|
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
|
||||||
|
|
||||||
VS_VERSION_INFO VERSIONINFO
|
VS_VERSION_INFO VERSIONINFO
|
||||||
FILEVERSION 0,6,0,1
|
FILEVERSION 1,0,0,0
|
||||||
PRODUCTVERSION 0,6,0,1
|
PRODUCTVERSION 1,0,0,0
|
||||||
FILEFLAGSMASK 0x3fL
|
FILEFLAGSMASK 0x3fL
|
||||||
#ifdef _DEBUG
|
#ifdef _DEBUG
|
||||||
FILEFLAGS 0x1L
|
FILEFLAGS 0x1L
|
||||||
@@ -24,12 +24,12 @@ BEGIN
|
|||||||
BEGIN
|
BEGIN
|
||||||
VALUE "CompanyName", "Google, Inc."
|
VALUE "CompanyName", "Google, Inc."
|
||||||
VALUE "FileDescription", "libwebp DLL"
|
VALUE "FileDescription", "libwebp DLL"
|
||||||
VALUE "FileVersion", "0.6.1"
|
VALUE "FileVersion", "1.0.0"
|
||||||
VALUE "InternalName", "libwebp.dll"
|
VALUE "InternalName", "libwebp.dll"
|
||||||
VALUE "LegalCopyright", "Copyright (C) 2017"
|
VALUE "LegalCopyright", "Copyright (C) 2018"
|
||||||
VALUE "OriginalFilename", "libwebp.dll"
|
VALUE "OriginalFilename", "libwebp.dll"
|
||||||
VALUE "ProductName", "WebP Image Codec"
|
VALUE "ProductName", "WebP Image Codec"
|
||||||
VALUE "ProductVersion", "0.6.1"
|
VALUE "ProductVersion", "1.0.0"
|
||||||
END
|
END
|
||||||
END
|
END
|
||||||
BLOCK "VarFileInfo"
|
BLOCK "VarFileInfo"
|
||||||
|
@@ -6,8 +6,8 @@
|
|||||||
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
|
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
|
||||||
|
|
||||||
VS_VERSION_INFO VERSIONINFO
|
VS_VERSION_INFO VERSIONINFO
|
||||||
FILEVERSION 0,6,0,1
|
FILEVERSION 1,0,0,0
|
||||||
PRODUCTVERSION 0,6,0,1
|
PRODUCTVERSION 1,0,0,0
|
||||||
FILEFLAGSMASK 0x3fL
|
FILEFLAGSMASK 0x3fL
|
||||||
#ifdef _DEBUG
|
#ifdef _DEBUG
|
||||||
FILEFLAGS 0x1L
|
FILEFLAGS 0x1L
|
||||||
@@ -24,12 +24,12 @@ BEGIN
|
|||||||
BEGIN
|
BEGIN
|
||||||
VALUE "CompanyName", "Google, Inc."
|
VALUE "CompanyName", "Google, Inc."
|
||||||
VALUE "FileDescription", "libwebpdecoder DLL"
|
VALUE "FileDescription", "libwebpdecoder DLL"
|
||||||
VALUE "FileVersion", "0.6.1"
|
VALUE "FileVersion", "1.0.0"
|
||||||
VALUE "InternalName", "libwebpdecoder.dll"
|
VALUE "InternalName", "libwebpdecoder.dll"
|
||||||
VALUE "LegalCopyright", "Copyright (C) 2017"
|
VALUE "LegalCopyright", "Copyright (C) 2018"
|
||||||
VALUE "OriginalFilename", "libwebpdecoder.dll"
|
VALUE "OriginalFilename", "libwebpdecoder.dll"
|
||||||
VALUE "ProductName", "WebP Image Decoder"
|
VALUE "ProductName", "WebP Image Decoder"
|
||||||
VALUE "ProductVersion", "0.6.1"
|
VALUE "ProductVersion", "1.0.0"
|
||||||
END
|
END
|
||||||
END
|
END
|
||||||
BLOCK "VarFileInfo"
|
BLOCK "VarFileInfo"
|
||||||
|
@@ -13,8 +13,10 @@ libwebpmuxinclude_HEADERS =
|
|||||||
libwebpmuxinclude_HEADERS += ../webp/mux.h
|
libwebpmuxinclude_HEADERS += ../webp/mux.h
|
||||||
libwebpmuxinclude_HEADERS += ../webp/mux_types.h
|
libwebpmuxinclude_HEADERS += ../webp/mux_types.h
|
||||||
libwebpmuxinclude_HEADERS += ../webp/types.h
|
libwebpmuxinclude_HEADERS += ../webp/types.h
|
||||||
|
noinst_HEADERS =
|
||||||
|
noinst_HEADERS += ../webp/format_constants.h
|
||||||
|
|
||||||
libwebpmux_la_LIBADD = ../libwebp.la
|
libwebpmux_la_LIBADD = ../libwebp.la
|
||||||
libwebpmux_la_LDFLAGS = -no-undefined -version-info 3:1:0 -lm
|
libwebpmux_la_LDFLAGS = -no-undefined -version-info 3:2:0 -lm
|
||||||
libwebpmuxincludedir = $(includedir)/webp
|
libwebpmuxincludedir = $(includedir)/webp
|
||||||
pkgconfig_DATA = libwebpmux.pc
|
pkgconfig_DATA = libwebpmux.pc
|
||||||
|
@@ -6,8 +6,8 @@
|
|||||||
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
|
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
|
||||||
|
|
||||||
VS_VERSION_INFO VERSIONINFO
|
VS_VERSION_INFO VERSIONINFO
|
||||||
FILEVERSION 0,4,0,1
|
FILEVERSION 1,0,0,0
|
||||||
PRODUCTVERSION 0,4,0,1
|
PRODUCTVERSION 1,0,0,0
|
||||||
FILEFLAGSMASK 0x3fL
|
FILEFLAGSMASK 0x3fL
|
||||||
#ifdef _DEBUG
|
#ifdef _DEBUG
|
||||||
FILEFLAGS 0x1L
|
FILEFLAGS 0x1L
|
||||||
@@ -24,12 +24,12 @@ BEGIN
|
|||||||
BEGIN
|
BEGIN
|
||||||
VALUE "CompanyName", "Google, Inc."
|
VALUE "CompanyName", "Google, Inc."
|
||||||
VALUE "FileDescription", "libwebpmux DLL"
|
VALUE "FileDescription", "libwebpmux DLL"
|
||||||
VALUE "FileVersion", "0.4.1"
|
VALUE "FileVersion", "1.0.0"
|
||||||
VALUE "InternalName", "libwebpmux.dll"
|
VALUE "InternalName", "libwebpmux.dll"
|
||||||
VALUE "LegalCopyright", "Copyright (C) 2017"
|
VALUE "LegalCopyright", "Copyright (C) 2018"
|
||||||
VALUE "OriginalFilename", "libwebpmux.dll"
|
VALUE "OriginalFilename", "libwebpmux.dll"
|
||||||
VALUE "ProductName", "WebP Image Muxer"
|
VALUE "ProductName", "WebP Image Muxer"
|
||||||
VALUE "ProductVersion", "0.4.1"
|
VALUE "ProductVersion", "1.0.0"
|
||||||
END
|
END
|
||||||
END
|
END
|
||||||
BLOCK "VarFileInfo"
|
BLOCK "VarFileInfo"
|
||||||
|
@@ -26,9 +26,9 @@ extern "C" {
|
|||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
// Defines and constants.
|
// Defines and constants.
|
||||||
|
|
||||||
#define MUX_MAJ_VERSION 0
|
#define MUX_MAJ_VERSION 1
|
||||||
#define MUX_MIN_VERSION 4
|
#define MUX_MIN_VERSION 0
|
||||||
#define MUX_REV_VERSION 1
|
#define MUX_REV_VERSION 0
|
||||||
|
|
||||||
// Chunk object.
|
// Chunk object.
|
||||||
typedef struct WebPChunk WebPChunk;
|
typedef struct WebPChunk WebPChunk;
|
||||||
|
Reference in New Issue
Block a user