| Index: third_party/libwebp/enc/analysis.c
|
| diff --git a/third_party/libwebp/enc/analysis.c b/third_party/libwebp/enc/analysis.c
|
| index b55128fd4880631ea52d7e6a86233b0af4f473bd..136c331289092af1e301ff12bbec133577ef201d 100644
|
| --- a/third_party/libwebp/enc/analysis.c
|
| +++ b/third_party/libwebp/enc/analysis.c
|
| @@ -307,6 +307,7 @@ static int MBAnalyzeBestIntra4Mode(VP8EncIterator* const it,
|
|
|
| static int MBAnalyzeBestUVMode(VP8EncIterator* const it) {
|
| int best_alpha = DEFAULT_ALPHA;
|
| + int smallest_alpha = 0;
|
| int best_mode = 0;
|
| const int max_mode = MAX_UV_MODE;
|
| int mode;
|
| @@ -322,6 +323,10 @@ static int MBAnalyzeBestUVMode(VP8EncIterator* const it) {
|
| alpha = GetAlpha(&histo);
|
| if (IS_BETTER_ALPHA(alpha, best_alpha)) {
|
| best_alpha = alpha;
|
| + }
|
| + // The best prediction mode tends to be the one with the smallest alpha.
|
| + if (mode == 0 || alpha < smallest_alpha) {
|
| + smallest_alpha = alpha;
|
| best_mode = mode;
|
| }
|
| }
|
|
|