Merge "FlattenSimilarBlocks should only be tried when blending is possible."

This commit is contained in:
pascal massimino 2014-11-05 14:19:40 -08:00 committed by Gerrit Code Review
commit 11a25f75bd

View File

@ -674,11 +674,9 @@ static WebPEncodingError GenerateCandidates(
} }
} }
if (candidate_lossy->evaluate) { if (candidate_lossy->evaluate) {
if (!is_key_frame) { if (use_blending) {
// For lossy compression of a frame, it's better to: // For lossy compression of a frame, it's better to replace similar blocks
// * Replace transparent pixels of 'curr' with actual RGB values, // of pixels by a transparent block.
// whenever possible, and
// * Replace similar blocks of pixels by a transparent block.
if (!curr_canvas_saved) { // save if not already done so. if (!curr_canvas_saved) { // save if not already done so.
CopyPixels(curr_canvas, curr_canvas_tmp); CopyPixels(curr_canvas, curr_canvas_tmp);
} }
@ -687,7 +685,7 @@ static WebPEncodingError GenerateCandidates(
error_code = EncodeCandidate(sub_frame, rect, config_lossy, use_blending, error_code = EncodeCandidate(sub_frame, rect, config_lossy, use_blending,
duration, candidate_lossy); duration, candidate_lossy);
if (error_code != VP8_ENC_OK) return error_code; if (error_code != VP8_ENC_OK) return error_code;
if (!is_key_frame) { if (use_blending) {
CopyPixels(curr_canvas_tmp, curr_canvas); // restore CopyPixels(curr_canvas_tmp, curr_canvas); // restore
} }
} }