diff options
author | Jerome Jiang <jianj@google.com> | 2018-11-27 12:29:47 -0800 |
---|---|---|
committer | Jerome Jiang <jianj@google.com> | 2018-11-30 10:06:15 -0800 |
commit | e72a0b581d414cbfdcc34e043599436e3d97d7be (patch) | |
tree | 9e32143c335f4058b3534e792887bfcd20c2a726 | |
parent | e188b5435de71bcd602c378f1ac0441111f0f915 (diff) | |
download | libvpx-m71-3578.tar.gz |
vp9 svc: copy block if ref buffer in denoiser is NULL.m71-3578
BUG=b/119097707
Change-Id: I6569306e897da46a44f9d8f2fb28a2a355dd4c2c
-rw-r--r-- | vp9/encoder/vp9_denoiser.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/vp9/encoder/vp9_denoiser.c b/vp9/encoder/vp9_denoiser.c index ab91971a3..8c039b2cb 100644 --- a/vp9/encoder/vp9_denoiser.c +++ b/vp9/encoder/vp9_denoiser.c @@ -263,6 +263,14 @@ static VP9_DENOISER_DECISION perform_motion_compensation( denoise_layer_idx = num_spatial_layers - spatial_layer - 1; } + // Force copy (no denoise, copy source in denoised buffer) if + // running_avg_y[frame] is NULL. + if (denoiser->running_avg_y[frame].buffer_alloc == NULL) { + // Restore everything to its original state + *mi = saved_mi; + return COPY_BLOCK; + } + if (ctx->newmv_sse > sse_thresh(bs, increase_denoising)) { // Restore everything to its original state *mi = saved_mi; |