ref: 849c9540d5070a7bfbdb9a4545da763d87bbce15
parent: ee38c4184b46869616e1b0a0d207f34bbed8e7eb
parent: 6cd2541379be95d002c6059b4b5b64697c2aa543
author: Ronald S. Bultje <rbultje@google.com>
date: Mon Nov 5 01:21:03 EST 2012
Merge "Don't generate residual 3x when doing a macroblock luma RD estimate." into experimental
--- a/vp9/encoder/rdopt.c
+++ b/vp9/encoder/rdopt.c
@@ -651,9 +651,6 @@
BLOCK *beptr;
int d;
- vp9_subtract_mby(mb->src_diff, *(mb->block[0].base_src), xd->predictor,
- mb->block[0].src_stride);
-
// Fdct and building the 2nd order block
for (beptr = mb->block; beptr < mb->block + 16; beptr += 2) {
mb->vp9_short_fdct8x4(beptr->src_diff, beptr->coeff, 32);
@@ -722,9 +719,6 @@
BLOCKD *const x_y2 = xd->block + 24;
int d;
- vp9_subtract_mby(mb->src_diff, *(mb->block[0].base_src), xd->predictor,
- mb->block[0].src_stride);
-
vp9_transform_mby_8x8(mb);
vp9_quantize_mby_8x8(mb);
@@ -771,9 +765,6 @@
BLOCK *be = &mb->block[0];
TX_TYPE tx_type;
- vp9_subtract_mby(mb->src_diff, *(mb->block[0].base_src), mb->e_mbd.predictor,
- mb->block[0].src_stride);
-
tx_type = get_tx_type_16x16(xd, b);
if (tx_type != DCT_DCT) {
vp9_fht(be->src_diff, 32, be->coeff, tx_type, 16);
@@ -810,7 +801,9 @@
int d16x16, r16x16, r16x16s, s16x16;
int64_t rd16x16, rd16x16s;
- // FIXME don't do sub x3
+ vp9_subtract_mby(x->src_diff, *(x->block[0].base_src), xd->predictor,
+ x->block[0].src_stride);
+
if (skip_prob == 0)
skip_prob = 1;
s0 = vp9_cost_bit(skip_prob, 0);