Fix frame scaling prediction
Use higher precision offsets for more accurate predictor
generation when references are at a different scale from
the coded frame.
Change-Id: I4c2c0ec67fa4824273cb3bd072211f41ac7802e8
diff --git a/av1/common/resize.c b/av1/common/resize.c
index d0bdfc8..8ddca0a 100644
--- a/av1/common/resize.c
+++ b/av1/common/resize.c
@@ -1055,8 +1055,13 @@
}
void av1_calculate_scaled_size(int *width, int *height, int num) {
- *width = *width * num / SCALE_DENOMINATOR;
- *height = *height * num / SCALE_DENOMINATOR;
+ if (num != SCALE_DENOMINATOR) {
+ *width = *width * num / SCALE_DENOMINATOR;
+ *height = *height * num / SCALE_DENOMINATOR;
+ // Make width and height even
+ *width += *width & 1;
+ *height += *height & 1;
+ }
}
#if CONFIG_FRAME_SUPERRES