summaryrefslogtreecommitdiff
path: root/vp9/encoder/vp9_encoder.c
diff options
context:
space:
mode:
authorDebargha Mukherjee <debargha@google.com>2015-12-01 10:40:10 -0800
committerDebargha Mukherjee <debargha@google.com>2015-12-01 10:40:59 -0800
commitd3409bad9a0422066ed621bac5a250759e3f145e (patch)
tree86942bc351ed73d5e3cf484c29807c2747e348b2 /vp9/encoder/vp9_encoder.c
parentf78b7daec44643b87861e48ea8b0f9a981b7a735 (diff)
downloadlibvpx-d3409bad9a0422066ed621bac5a250759e3f145e.tar
libvpx-d3409bad9a0422066ed621bac5a250759e3f145e.tar.gz
libvpx-d3409bad9a0422066ed621bac5a250759e3f145e.tar.bz2
libvpx-d3409bad9a0422066ed621bac5a250759e3f145e.zip
Fix a spatial svc bug related to scaling
Fixes bug introduced in https://chromium-review.googlesource.com/#/c/299482/5 Change-Id: If542c1a917380465dd9bc4ce5e32b0adbb20e340
Diffstat (limited to 'vp9/encoder/vp9_encoder.c')
-rw-r--r--vp9/encoder/vp9_encoder.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/vp9/encoder/vp9_encoder.c b/vp9/encoder/vp9_encoder.c
index a57cf8725..72fa82835 100644
--- a/vp9/encoder/vp9_encoder.c
+++ b/vp9/encoder/vp9_encoder.c
@@ -3682,12 +3682,16 @@ YV12_BUFFER_CONFIG *vp9_scale_if_required(VP9_COMMON *cm,
if (cm->mi_cols * MI_SIZE != unscaled->y_width ||
cm->mi_rows * MI_SIZE != unscaled->y_height) {
#if CONFIG_VP9_HIGHBITDEPTH
- if (use_normative_scaler)
+ if (use_normative_scaler &&
+ unscaled->y_width <= (scaled->y_width << 1) &&
+ unscaled->y_height <= (scaled->y_height << 1))
scale_and_extend_frame(unscaled, scaled, (int)cm->bit_depth);
else
scale_and_extend_frame_nonnormative(unscaled, scaled, (int)cm->bit_depth);
#else
- if (use_normative_scaler)
+ if (use_normative_scaler &&
+ unscaled->y_width <= (scaled->y_width << 1) &&
+ unscaled->y_height <= (scaled->y_height << 1))
scale_and_extend_frame(unscaled, scaled);
else
scale_and_extend_frame_nonnormative(unscaled, scaled);