]> granicus.if.org Git - libvpx/commitdiff
Fix block pointer corruption in intra8x8 prediction with 4x4 transform.
authorRonald S. Bultje <rbultje@google.com>
Sat, 26 Jan 2013 00:08:19 +0000 (16:08 -0800)
committerGerrit Code Review <gerrit@gerrit.golo.chromium.org>
Tue, 29 Jan 2013 17:18:47 +0000 (09:18 -0800)
The RD loop would change the pointer after the first mode (DC) was tested,
leading to corrupt block objects being provided for the others. This
would essentially render the i8x8 predictor useless.

Change-Id: I16c5906ca64fb34878ac32ce59af8974e4582bb8

vp9/encoder/vp9_rdopt.c

index 6f703440569ce051c746c26673eb33a4b158cddb..2597d4b7f9939682a4cebdb856dedd850b730f3e 100644 (file)
@@ -1476,6 +1476,8 @@ static int64_t rd_pick_intra8x8block(VP9_COMP *cpi, MACROBLOCK *x, int ib,
                               &ta0, &tl0,
                               TX_4X4);
       }
+      b = &xd->block[ib];
+      be = &x->block[ib];
       rate += rate_t;
     }