Compare commits
5 Commits
main
...
v1.0.0-rc1
Author | SHA1 | Date | |
---|---|---|---|
![]() |
15aa48d905 | ||
![]() |
e607dabcf2 | ||
![]() |
38410c082f | ||
![]() |
c57b273698 | ||
![]() |
cba2885375 |
1
AUTHORS
1
AUTHORS
@@ -35,4 +35,5 @@ Contributors:
|
||||
- Urvang Joshi (urvang at google dot com)
|
||||
- Vikas Arora (vikasa 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)
|
||||
|
65
ChangeLog
65
ChangeLog
@@ -1,9 +1,74 @@
|
||||
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
|
||||
1af0df76 Merge "WEBP_REDUCE_CSP: restrict colorspace support"
|
||||
6de20df0 WEBP_REDUCE_CSP: restrict colorspace support
|
||||
a289d8e7 update ChangeLog (tag: v0.6.1-rc2)
|
||||
c10a493c vwebp: disable double buffering on windows & mac
|
||||
0d4466c2 webp_to_sdl.c: fix file mode
|
||||
1b27bf8b WEBP_REDUCE_SIZE: disable all rescaler code
|
||||
126be109 webpinfo: add -version option
|
||||
0df22b9e WEBP_REDUCE_SIZE: disable all rescaler code
|
||||
9add62b5 bump version to 0.6.1
|
||||
d3e26144 update NEWS
|
||||
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
|
||||
This is a binary compatible release.
|
||||
* lossless performance and compression improvements + a new 'cruncher' mode
|
||||
|
5
README
5
README
@@ -4,7 +4,7 @@
|
||||
\__\__/\____/\_____/__/ ____ ___
|
||||
/ _/ / \ \ / _ \/ _/
|
||||
/ \_/ / / \ \ __/ \__
|
||||
\____/____/\_____/_____/____/v0.6.1
|
||||
\____/____/\_____/_____/____/v1.0.0
|
||||
|
||||
Description:
|
||||
============
|
||||
@@ -524,6 +524,9 @@ Options:
|
||||
-min_psnr <float> ... minimum per-frame PSNR
|
||||
-raw_comparison ..... if this flag is not used, RGB is
|
||||
premultiplied before comparison
|
||||
-max_diff <int> ..... maximum allowed difference per channel
|
||||
between corresponding pixels in subsequent
|
||||
frames
|
||||
|
||||
Building:
|
||||
---------
|
||||
|
@@ -1,7 +1,7 @@
|
||||
__ __ ____ ____ ____ __ __ _ __ __
|
||||
/ \\/ \/ _ \/ _ \/ _ \/ \ \/ \___/_ / _\
|
||||
\ / __/ _ \ __/ / / (_/ /__
|
||||
\__\__/\_____/_____/__/ \__//_/\_____/__/___/v0.4.1
|
||||
\__\__/\_____/_____/__/ \__//_/\_____/__/___/v1.0.0
|
||||
|
||||
|
||||
Description:
|
||||
|
@@ -1,4 +1,4 @@
|
||||
AC_INIT([libwebp], [0.6.1],
|
||||
AC_INIT([libwebp], [1.0.0],
|
||||
[https://bugs.chromium.org/p/webp],,
|
||||
[http://developers.google.com/speed/webp])
|
||||
AC_CANONICAL_HOST
|
||||
|
@@ -16,9 +16,9 @@
|
||||
#include <assert.h>
|
||||
#include <string.h>
|
||||
|
||||
#define XTRA_MAJ_VERSION 0
|
||||
#define XTRA_MIN_VERSION 1
|
||||
#define XTRA_REV_VERSION 1
|
||||
#define XTRA_MAJ_VERSION 1
|
||||
#define XTRA_MIN_VERSION 0
|
||||
#define XTRA_REV_VERSION 0
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
|
@@ -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
|
||||
# not have unresolved symbols. Some platforms (Windows among them) require all
|
||||
# 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
|
||||
pkgconfig_DATA = libwebp.pc
|
||||
|
||||
@@ -48,7 +48,7 @@ if BUILD_LIBWEBPDECODER
|
||||
libwebpdecoder_la_LIBADD += dsp/libwebpdspdecode.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
|
||||
endif
|
||||
|
||||
|
@@ -400,7 +400,9 @@ static void DitherRow(VP8Decoder* const dec) {
|
||||
#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.
|
||||
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;
|
||||
const VP8ThreadContext* const ctx = &dec->thread_ctx_;
|
||||
const int cache_id = ctx->id_;
|
||||
@@ -647,7 +649,7 @@ static int InitThreadContext(VP8Decoder* const dec) {
|
||||
}
|
||||
worker->data1 = dec;
|
||||
worker->data2 = (void*)&dec->thread_ctx_.io_;
|
||||
worker->hook = (WebPWorkerHook)FinishRow;
|
||||
worker->hook = FinishRow;
|
||||
dec->num_caches_ =
|
||||
(dec->filter_type_ > 0) ? MT_CACHE_LINES : MT_CACHE_LINES - 1;
|
||||
} else {
|
||||
|
@@ -30,9 +30,9 @@ extern "C" {
|
||||
// Various defines and enums
|
||||
|
||||
// version numbers
|
||||
#define DEC_MAJ_VERSION 0
|
||||
#define DEC_MIN_VERSION 6
|
||||
#define DEC_REV_VERSION 1
|
||||
#define DEC_MAJ_VERSION 1
|
||||
#define DEC_MIN_VERSION 0
|
||||
#define DEC_REV_VERSION 0
|
||||
|
||||
// YUV-cache parameters. Cache is 32-bytes wide (= one cacheline).
|
||||
// Constraints are: We need to store one 16x16 block of luma samples (y),
|
||||
|
@@ -10,6 +10,6 @@ libwebpdemuxinclude_HEADERS += ../webp/mux_types.h
|
||||
libwebpdemuxinclude_HEADERS += ../webp/types.h
|
||||
|
||||
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
|
||||
pkgconfig_DATA = libwebpdemux.pc
|
||||
|
@@ -23,9 +23,9 @@
|
||||
#include "src/webp/demux.h"
|
||||
#include "src/webp/format_constants.h"
|
||||
|
||||
#define DMUX_MAJ_VERSION 0
|
||||
#define DMUX_MIN_VERSION 3
|
||||
#define DMUX_REV_VERSION 3
|
||||
#define DMUX_MAJ_VERSION 1
|
||||
#define DMUX_MIN_VERSION 0
|
||||
#define DMUX_REV_VERSION 0
|
||||
|
||||
typedef struct {
|
||||
size_t start_; // start location of the data
|
||||
|
@@ -6,8 +6,8 @@
|
||||
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
|
||||
|
||||
VS_VERSION_INFO VERSIONINFO
|
||||
FILEVERSION 0,3,0,3
|
||||
PRODUCTVERSION 0,3,0,3
|
||||
FILEVERSION 1,0,0,0
|
||||
PRODUCTVERSION 1,0,0,0
|
||||
FILEFLAGSMASK 0x3fL
|
||||
#ifdef _DEBUG
|
||||
FILEFLAGS 0x1L
|
||||
@@ -24,12 +24,12 @@ BEGIN
|
||||
BEGIN
|
||||
VALUE "CompanyName", "Google, Inc."
|
||||
VALUE "FileDescription", "libwebpdemux DLL"
|
||||
VALUE "FileVersion", "0.3.3"
|
||||
VALUE "FileVersion", "1.0.0"
|
||||
VALUE "InternalName", "libwebpdemux.dll"
|
||||
VALUE "LegalCopyright", "Copyright (C) 2017"
|
||||
VALUE "LegalCopyright", "Copyright (C) 2018"
|
||||
VALUE "OriginalFilename", "libwebpdemux.dll"
|
||||
VALUE "ProductName", "WebP Image Demuxer"
|
||||
VALUE "ProductVersion", "0.3.3"
|
||||
VALUE "ProductVersion", "1.0.0"
|
||||
END
|
||||
END
|
||||
BLOCK "VarFileInfo"
|
||||
|
@@ -361,7 +361,8 @@ static int EncodeAlpha(VP8Encoder* const enc,
|
||||
//------------------------------------------------------------------------------
|
||||
// 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_;
|
||||
uint8_t* alpha_data = NULL;
|
||||
size_t alpha_size = 0;
|
||||
@@ -394,7 +395,7 @@ void VP8EncInitAlpha(VP8Encoder* const enc) {
|
||||
WebPGetWorkerInterface()->Init(worker);
|
||||
worker->data1 = enc;
|
||||
worker->data2 = NULL;
|
||||
worker->hook = (WebPWorkerHook)CompressAlphaJob;
|
||||
worker->hook = CompressAlphaJob;
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -434,7 +434,9 @@ typedef struct {
|
||||
} SegmentJob;
|
||||
|
||||
// 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;
|
||||
if (!VP8IteratorIsDone(it)) {
|
||||
uint8_t tmp[32 + WEBP_ALIGN_CST];
|
||||
@@ -462,7 +464,7 @@ static void InitSegmentJob(VP8Encoder* const enc, SegmentJob* const job,
|
||||
WebPGetWorkerInterface()->Init(&job->worker);
|
||||
job->worker.data1 = job;
|
||||
job->worker.data2 = &job->it;
|
||||
job->worker.hook = (WebPWorkerHook)DoSegmentsJob;
|
||||
job->worker.hook = DoSegmentsJob;
|
||||
VP8IteratorInit(enc, &job->it);
|
||||
VP8IteratorSetRow(&job->it, start_row);
|
||||
VP8IteratorSetCountDown(&job->it, (end_row - start_row) * enc->mb_w_);
|
||||
|
@@ -30,9 +30,9 @@ extern "C" {
|
||||
// Various defines and enums
|
||||
|
||||
// version numbers
|
||||
#define ENC_MAJ_VERSION 0
|
||||
#define ENC_MIN_VERSION 6
|
||||
#define ENC_REV_VERSION 1
|
||||
#define ENC_MAJ_VERSION 1
|
||||
#define ENC_MIN_VERSION 0
|
||||
#define ENC_REV_VERSION 0
|
||||
|
||||
enum { MAX_LF_LEVELS = 64, // Maximum loop filter level
|
||||
MAX_VARIABLE_LEVEL = 67, // last (inclusive) level with variable cost
|
||||
|
@@ -1754,7 +1754,7 @@ WebPEncodingError VP8LEncodeStream(const WebPConfig* const config,
|
||||
worker_interface->Init(worker);
|
||||
worker->data1 = param;
|
||||
worker->data2 = NULL;
|
||||
worker->hook = (WebPWorkerHook)EncodeStreamHook;
|
||||
worker->hook = EncodeStreamHook;
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -6,8 +6,8 @@
|
||||
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
|
||||
|
||||
VS_VERSION_INFO VERSIONINFO
|
||||
FILEVERSION 0,6,0,1
|
||||
PRODUCTVERSION 0,6,0,1
|
||||
FILEVERSION 1,0,0,0
|
||||
PRODUCTVERSION 1,0,0,0
|
||||
FILEFLAGSMASK 0x3fL
|
||||
#ifdef _DEBUG
|
||||
FILEFLAGS 0x1L
|
||||
@@ -24,12 +24,12 @@ BEGIN
|
||||
BEGIN
|
||||
VALUE "CompanyName", "Google, Inc."
|
||||
VALUE "FileDescription", "libwebp DLL"
|
||||
VALUE "FileVersion", "0.6.1"
|
||||
VALUE "FileVersion", "1.0.0"
|
||||
VALUE "InternalName", "libwebp.dll"
|
||||
VALUE "LegalCopyright", "Copyright (C) 2017"
|
||||
VALUE "LegalCopyright", "Copyright (C) 2018"
|
||||
VALUE "OriginalFilename", "libwebp.dll"
|
||||
VALUE "ProductName", "WebP Image Codec"
|
||||
VALUE "ProductVersion", "0.6.1"
|
||||
VALUE "ProductVersion", "1.0.0"
|
||||
END
|
||||
END
|
||||
BLOCK "VarFileInfo"
|
||||
|
@@ -6,8 +6,8 @@
|
||||
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
|
||||
|
||||
VS_VERSION_INFO VERSIONINFO
|
||||
FILEVERSION 0,6,0,1
|
||||
PRODUCTVERSION 0,6,0,1
|
||||
FILEVERSION 1,0,0,0
|
||||
PRODUCTVERSION 1,0,0,0
|
||||
FILEFLAGSMASK 0x3fL
|
||||
#ifdef _DEBUG
|
||||
FILEFLAGS 0x1L
|
||||
@@ -24,12 +24,12 @@ BEGIN
|
||||
BEGIN
|
||||
VALUE "CompanyName", "Google, Inc."
|
||||
VALUE "FileDescription", "libwebpdecoder DLL"
|
||||
VALUE "FileVersion", "0.6.1"
|
||||
VALUE "FileVersion", "1.0.0"
|
||||
VALUE "InternalName", "libwebpdecoder.dll"
|
||||
VALUE "LegalCopyright", "Copyright (C) 2017"
|
||||
VALUE "LegalCopyright", "Copyright (C) 2018"
|
||||
VALUE "OriginalFilename", "libwebpdecoder.dll"
|
||||
VALUE "ProductName", "WebP Image Decoder"
|
||||
VALUE "ProductVersion", "0.6.1"
|
||||
VALUE "ProductVersion", "1.0.0"
|
||||
END
|
||||
END
|
||||
BLOCK "VarFileInfo"
|
||||
|
@@ -15,6 +15,6 @@ libwebpmuxinclude_HEADERS += ../webp/mux_types.h
|
||||
libwebpmuxinclude_HEADERS += ../webp/types.h
|
||||
|
||||
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
|
||||
pkgconfig_DATA = libwebpmux.pc
|
||||
|
@@ -6,8 +6,8 @@
|
||||
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
|
||||
|
||||
VS_VERSION_INFO VERSIONINFO
|
||||
FILEVERSION 0,4,0,1
|
||||
PRODUCTVERSION 0,4,0,1
|
||||
FILEVERSION 1,0,0,0
|
||||
PRODUCTVERSION 1,0,0,0
|
||||
FILEFLAGSMASK 0x3fL
|
||||
#ifdef _DEBUG
|
||||
FILEFLAGS 0x1L
|
||||
@@ -24,12 +24,12 @@ BEGIN
|
||||
BEGIN
|
||||
VALUE "CompanyName", "Google, Inc."
|
||||
VALUE "FileDescription", "libwebpmux DLL"
|
||||
VALUE "FileVersion", "0.4.1"
|
||||
VALUE "FileVersion", "1.0.0"
|
||||
VALUE "InternalName", "libwebpmux.dll"
|
||||
VALUE "LegalCopyright", "Copyright (C) 2017"
|
||||
VALUE "LegalCopyright", "Copyright (C) 2018"
|
||||
VALUE "OriginalFilename", "libwebpmux.dll"
|
||||
VALUE "ProductName", "WebP Image Muxer"
|
||||
VALUE "ProductVersion", "0.4.1"
|
||||
VALUE "ProductVersion", "1.0.0"
|
||||
END
|
||||
END
|
||||
BLOCK "VarFileInfo"
|
||||
|
@@ -26,9 +26,9 @@ extern "C" {
|
||||
//------------------------------------------------------------------------------
|
||||
// Defines and constants.
|
||||
|
||||
#define MUX_MAJ_VERSION 0
|
||||
#define MUX_MIN_VERSION 4
|
||||
#define MUX_REV_VERSION 1
|
||||
#define MUX_MAJ_VERSION 1
|
||||
#define MUX_MIN_VERSION 0
|
||||
#define MUX_REV_VERSION 0
|
||||
|
||||
// Chunk object.
|
||||
typedef struct WebPChunk WebPChunk;
|
||||
|
Reference in New Issue
Block a user