mirror of
https://github.com/webmproject/libwebp.git
synced 2024-11-20 04:18:26 +01:00
Revert "rescaler: better handling of the fxy_scale=0 special case."
This reverts commit 9f226bf8c3
.
I dropped a 'dst_height' from 'ratio'!! My bad...
Change-Id: Id355f0f012a754cddf97012715d69aa5e03c2e5c
This commit is contained in:
parent
9f226bf8c3
commit
55c05293d5
@ -48,15 +48,9 @@ void WebPRescalerInit(WebPRescaler* const wrk, int src_width, int src_height,
|
|||||||
wrk->y_sub = wrk->y_expand ? y_sub - 1 : y_sub;
|
wrk->y_sub = wrk->y_expand ? y_sub - 1 : y_sub;
|
||||||
wrk->y_accum = wrk->y_expand ? wrk->y_sub : wrk->y_add;
|
wrk->y_accum = wrk->y_expand ? wrk->y_sub : wrk->y_add;
|
||||||
if (!wrk->y_expand) {
|
if (!wrk->y_expand) {
|
||||||
// this is WEBP_RESCALER_FRAC(1, x_add * y_add) without the cast.
|
// note the very special case where x_add = y_add = 1 cannot be represented.
|
||||||
const uint64_t ratio = WEBP_RESCALER_ONE / (wrk->x_add * wrk->y_add);
|
// We special-case fxy_scale = 0 in this case, in WebPRescalerExportRow().
|
||||||
if (ratio != (uint32_t)ratio) {
|
wrk->fxy_scale = WEBP_RESCALER_FRAC(dst_height, wrk->x_add * wrk->y_add);
|
||||||
// We can't represent the ratio with the current fixed-point precision.
|
|
||||||
// => We special-case fxy_scale = 0, in WebPRescalerExportRow().
|
|
||||||
wrk->fxy_scale = 0;
|
|
||||||
} else {
|
|
||||||
wrk->fxy_scale = (uint32_t)ratio;
|
|
||||||
}
|
|
||||||
wrk->fy_scale = WEBP_RESCALER_FRAC(1, wrk->y_sub);
|
wrk->fy_scale = WEBP_RESCALER_FRAC(1, wrk->y_sub);
|
||||||
} else {
|
} else {
|
||||||
wrk->fy_scale = WEBP_RESCALER_FRAC(1, wrk->x_add);
|
wrk->fy_scale = WEBP_RESCALER_FRAC(1, wrk->x_add);
|
||||||
|
Loading…
Reference in New Issue
Block a user