mirror of
https://github.com/webmproject/libwebp.git
synced 2025-07-15 21:39:59 +02:00
Provide one entry point for backward references.
The new method VP8LGetBackwardReferences hides internal heuristics used for choosing RLE or LZ77 based refs. - Tuned VP8LHashChainFindCopy for better compression at higher Q. - Refactored code. - Removed the unused method VP8LVerifyBackwardReferences. Change-Id: Ibb7bb072bab5a49a001577a20d88226f52e6c663
This commit is contained in:
@ -206,38 +206,12 @@ static WEBP_INLINE int VP8LBackwardRefsAlloc(VP8LBackwardRefs* const refs,
|
||||
return 1;
|
||||
}
|
||||
|
||||
// Ridiculously simple backward references for images where it is unlikely
|
||||
// that there are large backward references (photos).
|
||||
void VP8LBackwardReferencesRle(
|
||||
int xsize, int ysize, const uint32_t* const argb,
|
||||
VP8LBackwardRefs* const refs);
|
||||
|
||||
// This is a simple fast function for obtaining backward references
|
||||
// based on simple heuristics. Returns 1 on success.
|
||||
int VP8LBackwardReferencesHashChain(
|
||||
int xsize, int ysize, int use_color_cache, const uint32_t* const argb,
|
||||
int cache_bits, int quality, VP8LBackwardRefs* const refs);
|
||||
|
||||
// This method looks for a shortest path through the backward reference
|
||||
// network based on a cost model generated by a first round of compression.
|
||||
// Returns 1 on success.
|
||||
int VP8LBackwardReferencesTraceBackwards(
|
||||
int xsize, int ysize, int recursive_cost_model, int use_color_cache,
|
||||
const uint32_t* const argb, int cache_bits, VP8LBackwardRefs* const refs);
|
||||
|
||||
// Convert backward references that are of linear distance along
|
||||
// the image scan lines to have a 2d locality indexing where
|
||||
// smaller values are used for backward references that are close by.
|
||||
void VP8LBackwardReferences2DLocality(int xsize, VP8LBackwardRefs* const refs);
|
||||
|
||||
// Internals of locality transform exposed for testing use.
|
||||
int VP8LDistanceToPlaneCode(int xsize, int distance);
|
||||
|
||||
// Returns true if the given backward references actually produce
|
||||
// the image given in tuple (argb, xsize, ysize).
|
||||
int VP8LVerifyBackwardReferences(
|
||||
const uint32_t* const argb, int xsize, int ysize, int cache_bits,
|
||||
const VP8LBackwardRefs* const refs);
|
||||
// Evaluates best possible backward references for specified quality.
|
||||
// Further optimize for 2D locality if use_2d_locality flag is set.
|
||||
int VP8LGetBackwardReferences(int width, int height,
|
||||
const uint32_t* const argb,
|
||||
int quality, int cache_bits, int use_2d_locality,
|
||||
VP8LBackwardRefs* const best);
|
||||
|
||||
// Produce an estimate for a good color cache size for the image.
|
||||
int VP8LCalculateEstimateForCacheSize(
|
||||
|
Reference in New Issue
Block a user