From b39e7487a7c1596532549bea8ae92b1905cec411 Mon Sep 17 00:00:00 2001 From: Vikas Arora Date: Thu, 26 Apr 2012 10:25:49 +0000 Subject: [PATCH] Reducing emerging palette size from 11 to 9 bits. This is required to reduce memory used to construct histo_image. Change-Id: I491a06e10a3e3f3d8a00ecec286394378283ffea --- src/enc/backward_references.c | 2 +- src/enc/backward_references.h | 6 ++++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/src/enc/backward_references.c b/src/enc/backward_references.c index 6b948871..d6f6183f 100644 --- a/src/enc/backward_references.c +++ b/src/enc/backward_references.c @@ -751,7 +751,7 @@ int VP8LCalculateEstimateForCacheSize( stream, &stream_size)) { goto Error; } - for (cache_bits = 0; cache_bits < 12; ++cache_bits) { + for (cache_bits = 0; cache_bits <= kColorCacheBitsMax; ++cache_bits) { double cur_entropy; VP8LHistogram histo; VP8LHistogramInit(&histo, cache_bits); diff --git a/src/enc/backward_references.h b/src/enc/backward_references.h index 7bcc3313..d5e1de8b 100644 --- a/src/enc/backward_references.h +++ b/src/enc/backward_references.h @@ -27,8 +27,10 @@ extern "C" { // Compression constants #define CODE_LENGTH_CODES 19 static const int kLengthCodes = 24; -static const int kColorCacheBitsMax = 11; -#define PIX_OR_COPY_CODES_MAX (256 + 24 + (1 << 11)) +// The spec allows 11, we use 9 bits to reduce memory consumption in encoding. +// Having 9 instead of 11 removes about 0.25 % of compression density. +static const int kColorCacheBitsMax = 9; +#define PIX_OR_COPY_CODES_MAX (256 + 24 + (1 << 9)) static const int kMaxLength = 4096; // use GNU builtins where available.