summaryrefslogtreecommitdiff
path: root/vp9
diff options
context:
space:
mode:
authorYunqing Wang <yunqingwang@google.com>2016-09-30 00:49:06 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2016-09-30 00:49:06 +0000
commit9afe2cf5990bfc247950f240923ba050df4b7cd8 (patch)
treef37b48e61de3175595d83056c7c87e941d9471c5 /vp9
parentad55b1d270db717a1f5c1c4966e7aecf9a563e5f (diff)
parent2745f94deb6993bf478148b7e05305e7f65cb0f1 (diff)
downloadlibvpx-9afe2cf5990bfc247950f240923ba050df4b7cd8.tar
libvpx-9afe2cf5990bfc247950f240923ba050df4b7cd8.tar.gz
libvpx-9afe2cf5990bfc247950f240923ba050df4b7cd8.tar.bz2
libvpx-9afe2cf5990bfc247950f240923ba050df4b7cd8.zip
Merge "Fix an issue in vp9_first_pass for non-mulitple of 16 resolutions"
Diffstat (limited to 'vp9')
-rw-r--r--vp9/encoder/vp9_firstpass.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/vp9/encoder/vp9_firstpass.c b/vp9/encoder/vp9_firstpass.c
index 557f773ac..2f1fe360d 100644
--- a/vp9/encoder/vp9_firstpass.c
+++ b/vp9/encoder/vp9_firstpass.c
@@ -843,6 +843,10 @@ void vp9_first_pass(VP9_COMP *cpi, const struct lookahead_entry *source) {
xd->mi[0]->mode = DC_PRED;
xd->mi[0]->tx_size =
use_dc_pred ? (bsize >= BLOCK_16X16 ? TX_16X16 : TX_8X8) : TX_4X4;
+
+ // Set the 16x16 src_diff block to zero, which ensures correct this_error
+ // calculation for block sizes smaller than 16x16.
+ vp9_zero_array(x->plane[0].src_diff, 256);
vp9_encode_intra_block_plane(x, bsize, 0, 0);
this_error = vpx_get_mb_ss(x->plane[0].src_diff);
this_intra_error = this_error;