ref: 034928843fb29182dfd5bd5fe02d1603058439a9
parent: 183aeecd7422db5a072aff0eb1be74b31bf789d6
author: Ronald S. Bultje <rbultje@google.com>
date: Thu May 2 17:03:38 EDT 2013
Fix use of wrong rate/distortion variables in 16x8 r/d check. Change-Id: Ib5961b4c8ca84d54c84b2651a4e0317c72fe7da4
--- a/vp9/encoder/vp9_encodeframe.c
+++ b/vp9/encoder/vp9_encodeframe.c
@@ -1134,8 +1134,8 @@
r2 += x->partition_cost[pl][PARTITION_VERT];
if (RDCOST(x->rdmult, x->rddiv, r2, d2) <
RDCOST(x->rdmult, x->rddiv, mb16_rate, mb16_dist)) {
- mb16_rate = r;
- mb16_dist = d;
+ mb16_rate = r2;
+ mb16_dist = d2;
mb_partitioning[i][j] = BLOCK_SIZE_SB8X16;
}
for (p = 0; p < MAX_MB_PLANE; p++) {
@@ -1179,8 +1179,8 @@
r2 += x->partition_cost[pl][PARTITION_HORZ];
if (RDCOST(x->rdmult, x->rddiv, r2, d2) <
RDCOST(x->rdmult, x->rddiv, mb16_rate, mb16_dist)) {
- mb16_rate = r;
- mb16_dist = d;
+ mb16_rate = r2;
+ mb16_dist = d2;
mb_partitioning[i][j] = BLOCK_SIZE_SB16X8;
}
for (p = 0; p < MAX_MB_PLANE; p++) {
--
⑨