diff options
-rw-r--r-- | vp9/encoder/vp9_encodeframe.c | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/vp9/encoder/vp9_encodeframe.c b/vp9/encoder/vp9_encodeframe.c index 774d15251..383f7a8d7 100644 --- a/vp9/encoder/vp9_encodeframe.c +++ b/vp9/encoder/vp9_encodeframe.c @@ -3559,9 +3559,11 @@ static void rd_pick_partition(VP9_COMP *cpi, ThreadData *td, best_rdc.rdcost); if (this_rdc.rate != INT_MAX) { if (bsize >= BLOCK_8X8) { - this_rdc.rate += cpi->partition_cost[pl][PARTITION_NONE]; this_rdc.rdcost = RDCOST(x->rdmult, x->rddiv, this_rdc.rate, this_rdc.dist); + this_rdc.rdcost += RDCOST(x->rdmult, x->rddiv, + cpi->partition_cost[pl][PARTITION_NONE], 0); + this_rdc.rate += cpi->partition_cost[pl][PARTITION_NONE]; } if (this_rdc.rdcost < best_rdc.rdcost) { @@ -3712,8 +3714,10 @@ static void rd_pick_partition(VP9_COMP *cpi, ThreadData *td, } if (sum_rdc.rdcost < best_rdc.rdcost && i == 4) { - sum_rdc.rate += cpi->partition_cost[pl][PARTITION_SPLIT]; sum_rdc.rdcost = RDCOST(x->rdmult, x->rddiv, sum_rdc.rate, sum_rdc.dist); + sum_rdc.rdcost += RDCOST(x->rdmult, x->rddiv, + cpi->partition_cost[pl][PARTITION_SPLIT], 0); + sum_rdc.rate += cpi->partition_cost[pl][PARTITION_SPLIT]; if (sum_rdc.rdcost < best_rdc.rdcost) { best_rdc = sum_rdc; @@ -3773,8 +3777,10 @@ static void rd_pick_partition(VP9_COMP *cpi, ThreadData *td, } if (sum_rdc.rdcost < best_rdc.rdcost) { - sum_rdc.rate += cpi->partition_cost[pl][PARTITION_HORZ]; sum_rdc.rdcost = RDCOST(x->rdmult, x->rddiv, sum_rdc.rate, sum_rdc.dist); + sum_rdc.rdcost += RDCOST(x->rdmult, x->rddiv, + cpi->partition_cost[pl][PARTITION_HORZ], 0); + sum_rdc.rate += cpi->partition_cost[pl][PARTITION_HORZ]; if (sum_rdc.rdcost < best_rdc.rdcost) { best_rdc = sum_rdc; pc_tree->partitioning = PARTITION_HORZ; @@ -3821,8 +3827,10 @@ static void rd_pick_partition(VP9_COMP *cpi, ThreadData *td, } if (sum_rdc.rdcost < best_rdc.rdcost) { - sum_rdc.rate += cpi->partition_cost[pl][PARTITION_VERT]; sum_rdc.rdcost = RDCOST(x->rdmult, x->rddiv, sum_rdc.rate, sum_rdc.dist); + sum_rdc.rdcost += RDCOST(x->rdmult, x->rddiv, + cpi->partition_cost[pl][PARTITION_VERT], 0); + sum_rdc.rate += cpi->partition_cost[pl][PARTITION_VERT]; if (sum_rdc.rdcost < best_rdc.rdcost) { best_rdc = sum_rdc; pc_tree->partitioning = PARTITION_VERT; |