Rebase default encoding settings.

Updated histo_bits to 3 from 4 and changed the quality threshold for inner loop for HashChainFindCopy.
Impact: 0.5%-0.8% better bpp with 15%-20% hit on encoding throughput
at default encoding settings.

Change-Id: I316ef88403148b1e19036fa0817d944eb0301255
This commit is contained in:
Vikas Arora 2012-06-08 09:16:54 +05:30
parent e2ffe446bd
commit 0424b1ef3b
2 changed files with 2 additions and 2 deletions

View File

@ -148,7 +148,7 @@ static int HashChainFindCopy(const HashChain* const p,
const uint64_t hash_code = GetPixPairHash64(&argb[index]); const uint64_t hash_code = GetPixPairHash64(&argb[index]);
int prev_length = 0; int prev_length = 0;
int64_t best_val = 0; int64_t best_val = 0;
const int iter_min_mult = (quality < 50) ? 2 : (quality <= 75) ? 4 : 8; const int iter_min_mult = (quality < 50) ? 2 : (quality < 75) ? 4 : 8;
const int iter_min = -quality * iter_min_mult; const int iter_min = -quality * iter_min_mult;
int iter_cnt = 10 + (quality >> 1); int iter_cnt = 10 + (quality >> 1);
const int min_pos = (index > WINDOW_SIZE) ? index - WINDOW_SIZE : 0; const int min_pos = (index > WINDOW_SIZE) ? index - WINDOW_SIZE : 0;

View File

@ -826,7 +826,7 @@ static int GetHistoBits(const WebPConfig* const config,
const int height = pic->height; const int height = pic->height;
const size_t hist_size = sizeof(VP8LHistogram); const size_t hist_size = sizeof(VP8LHistogram);
// Make tile size a function of encoding method (Range: 0 to 6). // Make tile size a function of encoding method (Range: 0 to 6).
int histo_bits = 8 - config->method; int histo_bits = 7 - config->method;
while (1) { while (1) {
const size_t huff_image_size = VP8LSubSampleSize(width, histo_bits) * const size_t huff_image_size = VP8LSubSampleSize(width, histo_bits) *
VP8LSubSampleSize(height, histo_bits) * VP8LSubSampleSize(height, histo_bits) *