diff options
author | Tim Kopp <tkopp@google.com> | 2014-06-13 16:02:36 -0700 |
---|---|---|
committer | Tim Kopp <tkopp@google.com> | 2014-06-20 07:18:42 -0700 |
commit | b79d5b62bde18167349578f49eada7447f1a077d (patch) | |
tree | 058e8212b86c7749013eca6754372ce24b98cb41 | |
parent | 31c03b31fe83e5d61df7367ac1aea3ddba6b2494 (diff) | |
download | libvpx-b79d5b62bde18167349578f49eada7447f1a077d.tar libvpx-b79d5b62bde18167349578f49eada7447f1a077d.tar.gz libvpx-b79d5b62bde18167349578f49eada7447f1a077d.tar.bz2 libvpx-b79d5b62bde18167349578f49eada7447f1a077d.zip |
Fixed VP9 denoiser COPY_BLOCK case
Now copies the src to the correct location in the running average buffer.
Change-Id: I9c83c96dc7a97f42c8df16ab4a9f18b733181f34
-rw-r--r-- | vp9/encoder/vp9_denoiser.c | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/vp9/encoder/vp9_denoiser.c b/vp9/encoder/vp9_denoiser.c index fc939c5dc..ff54033d0 100644 --- a/vp9/encoder/vp9_denoiser.c +++ b/vp9/encoder/vp9_denoiser.c @@ -93,20 +93,21 @@ void vp9_denoiser_denoise(VP9_DENOISER *denoiser, MACROBLOCK *mb, int decision = COPY_BLOCK; YV12_BUFFER_CONFIG avg = denoiser->running_avg_y[INTRA_FRAME]; + YV12_BUFFER_CONFIG mc_avg = denoiser->mc_running_avg_y; + uint8_t *avg_start = block_start(avg.y_buffer, avg.y_stride, mi_row, mi_col); + uint8_t *mc_avg_start = block_start(mc_avg.y_buffer, mc_avg.y_stride, + mi_row, mi_col); struct buf_2d src = mb->plane[0].src; - update_running_avg(denoiser->mc_running_avg_y.y_buffer, - denoiser->mc_running_avg_y.y_stride, - denoiser->running_avg_y[INTRA_FRAME].y_buffer, - denoiser->running_avg_y[INTRA_FRAME].y_stride, + + update_running_avg(mc_avg_start, mc_avg.y_stride, avg_start, avg.y_stride, mb->plane[0].src.buf, mb->plane[0].src.stride, 0, bs); if (decision == FILTER_BLOCK) { // TODO(tkopp) } if (decision == COPY_BLOCK) { - copy_block(block_start(avg.y_buffer, avg.y_stride, mi_row, mi_col), - avg.y_stride, src.buf, src.stride, bs); + copy_block(avg_start, avg.y_stride, src.buf, src.stride, bs); } } |