| Index: third_party/libwebp/enc/vp8enci.h
|
| diff --git a/third_party/libwebp/enc/vp8enci.h b/third_party/libwebp/enc/vp8enci.h
|
| index b2cc8d196ffdd80eabaa85645c655500b7487b10..c1fbd7644e3defb4ad459f56c1f00de290a13e0d 100644
|
| --- a/third_party/libwebp/enc/vp8enci.h
|
| +++ b/third_party/libwebp/enc/vp8enci.h
|
| @@ -22,10 +22,6 @@
|
| #include "../utils/utils.h"
|
| #include "../webp/encode.h"
|
|
|
| -#ifdef WEBP_EXPERIMENTAL_FEATURES
|
| -#include "./vp8li.h"
|
| -#endif // WEBP_EXPERIMENTAL_FEATURES
|
| -
|
| #ifdef __cplusplus
|
| extern "C" {
|
| #endif
|
| @@ -36,7 +32,7 @@ extern "C" {
|
| // version numbers
|
| #define ENC_MAJ_VERSION 0
|
| #define ENC_MIN_VERSION 5
|
| -#define ENC_REV_VERSION 0
|
| +#define ENC_REV_VERSION 1
|
|
|
| enum { MAX_LF_LEVELS = 64, // Maximum loop filter level
|
| MAX_VARIABLE_LEVEL = 67, // last (inclusive) level with variable cost
|
| @@ -200,6 +196,9 @@ typedef struct {
|
| int lambda_i16_, lambda_i4_, lambda_uv_;
|
| int lambda_mode_, lambda_trellis_, tlambda_;
|
| int lambda_trellis_i16_, lambda_trellis_i4_, lambda_trellis_uv_;
|
| +
|
| + // lambda values for distortion-based evaluation
|
| + score_t i4_penalty_; // penalty for using Intra4
|
| } VP8SegmentInfo;
|
|
|
| // Handy transient struct to accumulate score and info during RD-optimization
|
| @@ -395,6 +394,7 @@ struct VP8Encoder {
|
| int method_; // 0=fastest, 6=best/slowest.
|
| VP8RDLevel rd_opt_level_; // Deduced from method_.
|
| int max_i4_header_bits_; // partition #0 safeness factor
|
| + int mb_header_limit_; // rough limit for header bits per MB
|
| int thread_level_; // derived from config->thread_level
|
| int do_search_; // derived from config->target_XXX
|
| int use_tokens_; // if true, use token buffer
|
| @@ -477,17 +477,12 @@ int VP8EncFinishAlpha(VP8Encoder* const enc); // finalize compressed data
|
| int VP8EncDeleteAlpha(VP8Encoder* const enc); // delete compressed data
|
|
|
| // in filter.c
|
| -
|
| -// SSIM utils
|
| -typedef struct {
|
| - double w, xm, ym, xxm, xym, yym;
|
| -} DistoStats;
|
| -void VP8SSIMAddStats(const DistoStats* const src, DistoStats* const dst);
|
| +void VP8SSIMAddStats(const VP8DistoStats* const src, VP8DistoStats* const dst);
|
| void VP8SSIMAccumulatePlane(const uint8_t* src1, int stride1,
|
| const uint8_t* src2, int stride2,
|
| - int W, int H, DistoStats* const stats);
|
| -double VP8SSIMGet(const DistoStats* const stats);
|
| -double VP8SSIMGetSquaredError(const DistoStats* const stats);
|
| + int W, int H, VP8DistoStats* const stats);
|
| +double VP8SSIMGet(const VP8DistoStats* const stats);
|
| +double VP8SSIMGetSquaredError(const VP8DistoStats* const stats);
|
|
|
| // autofilter
|
| void VP8InitFilter(VP8EncIterator* const it);
|
|
|