From: Ronald S. Bultje Date: Mon, 15 Oct 2012 20:36:00 +0000 (-0700) Subject: Properly use chroma block object for chroma coefficient costing. X-Git-Tag: v1.3.0~1217^2~230^2 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=1d87f9c14286cf47388d95670cf8355af50e6e6f;p=libvpx Properly use chroma block object for chroma coefficient costing. Change-Id: Ieb38c7aae91dbaca4a8add204fa84e1cfc459933 --- diff --git a/vp8/encoder/rdopt.c b/vp8/encoder/rdopt.c index 6be2d3521..c13f112d1 100644 --- a/vp8/encoder/rdopt.c +++ b/vp8/encoder/rdopt.c @@ -647,11 +647,12 @@ static int cost_coeffs(MACROBLOCK *mb, BLOCKD *b, PLANE_TYPE type, { BLOCKD *bb; int ib = (b - xd->block); - if (ib >= 16) tx_type = DCT_DCT; - ib = (ib & 8) + ((ib & 4) >> 1); - bb = xd->block + ib; - if (mbmi->mode_rdopt == I8X8_PRED) - tx_type = bb->bmi.as_mode.tx_type; + if (ib < 16) { + ib = (ib & 8) + ((ib & 4) >> 1); + bb = xd->block + ib; + if (mbmi->mode_rdopt == I8X8_PRED) + tx_type = bb->bmi.as_mode.tx_type; + } } #endif break;