Merge "Tune Lossless compression for lower qualities."
This commit is contained in:
		@@ -80,7 +80,7 @@ static int EncodeLossless(const uint8_t* const data, int width, int height,
 | 
			
		||||
  config.lossless = 1;
 | 
			
		||||
  config.method = effort_level;  // impact is very small
 | 
			
		||||
  // Set a moderate default quality setting for alpha.
 | 
			
		||||
  config.quality = 6.f * effort_level;
 | 
			
		||||
  config.quality = 5.f * effort_level;
 | 
			
		||||
  assert(config.quality >= 0 && config.quality <= 100.f);
 | 
			
		||||
 | 
			
		||||
  ok = VP8LBitWriterInit(&tmp_bw, (width * height) >> 3);
 | 
			
		||||
 
 | 
			
		||||
@@ -555,10 +555,10 @@ static int BackwardReferencesHashChainDistanceOnly(
 | 
			
		||||
          }
 | 
			
		||||
          // 2) Add to the hash_chain (but cannot add the last pixel)
 | 
			
		||||
          {
 | 
			
		||||
            const int last = (len < pix_count - 1 - i) ? len
 | 
			
		||||
                                                       : pix_count - 1 - i;
 | 
			
		||||
            for (k = 0; k < last; ++k) {
 | 
			
		||||
              HashChainInsert(hash_chain, &argb[i + k], i + k);
 | 
			
		||||
            const int last = (len + i < pix_count - 1) ? len + i
 | 
			
		||||
                                                       : pix_count - 1;
 | 
			
		||||
            for (k = i; k < last; ++k) {
 | 
			
		||||
              HashChainInsert(hash_chain, &argb[k], k);
 | 
			
		||||
            }
 | 
			
		||||
          }
 | 
			
		||||
          // 3) jump.
 | 
			
		||||
 
 | 
			
		||||
@@ -390,17 +390,12 @@ int VP8LGetHistoImageSymbols(int xsize, int ysize,
 | 
			
		||||
  // Heuristic params for HistogramCombine().
 | 
			
		||||
  const int num_tries_no_success = 8 + (quality >> 1);
 | 
			
		||||
  const int iter_mult = (quality < 27) ? 1 : 1 + ((quality - 27) >> 4);
 | 
			
		||||
  int num_pairs = (quality >> 1);
 | 
			
		||||
  const int num_pairs = (quality < 25) ? 10 : (5 * quality) >> 3;
 | 
			
		||||
 | 
			
		||||
  VP8LHistogramSet* const image_out =
 | 
			
		||||
      VP8LAllocateHistogramSet(histo_image_raw_size, cache_bits);
 | 
			
		||||
  if (image_out == NULL) return 0;
 | 
			
		||||
 | 
			
		||||
  if (num_pairs > (histo_image_raw_size >> 2)) {
 | 
			
		||||
    num_pairs = histo_image_raw_size >> 2;
 | 
			
		||||
  }
 | 
			
		||||
  num_pairs += 10;
 | 
			
		||||
 | 
			
		||||
  // Build histogram image.
 | 
			
		||||
  HistogramBuildImage(xsize, histo_bits, refs, image_out);
 | 
			
		||||
  // Collapse similar histograms.
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user