diff options
Diffstat (limited to 'vp9/encoder/vp9_rdopt.c')
-rw-r--r-- | vp9/encoder/vp9_rdopt.c | 24 |
1 files changed, 10 insertions, 14 deletions
diff --git a/vp9/encoder/vp9_rdopt.c b/vp9/encoder/vp9_rdopt.c index a48e7dbb3..b2a19c61d 100644 --- a/vp9/encoder/vp9_rdopt.c +++ b/vp9/encoder/vp9_rdopt.c @@ -337,11 +337,8 @@ static INLINE int cost_coeffs(VP9_COMMON *const cm, MACROBLOCK *mb, break; } case TX_8X8: { - const BLOCK_SIZE_TYPE sb_type = xd->mode_info_context->mbmi.sb_type; - const int sz = 1 + b_width_log2(sb_type); - const int x = block & ((1 << sz) - 1), y = block - x; - TX_TYPE tx_type = (type == PLANE_TYPE_Y_WITH_DC) ? - get_tx_type_8x8(xd, y + (x >> 1)) : DCT_DCT; + const TX_TYPE tx_type = type == PLANE_TYPE_Y_WITH_DC ? + get_tx_type_8x8(xd) : DCT_DCT; above_ec = (A[0] + A[1]) != 0; left_ec = (L[0] + L[1]) != 0; scan = get_scan_8x8(tx_type); @@ -350,11 +347,8 @@ static INLINE int cost_coeffs(VP9_COMMON *const cm, MACROBLOCK *mb, break; } case TX_16X16: { - const BLOCK_SIZE_TYPE sb_type = xd->mode_info_context->mbmi.sb_type; - const int sz = 2 + b_width_log2(sb_type); - const int x = block & ((1 << sz) - 1), y = block - x; - TX_TYPE tx_type = (type == PLANE_TYPE_Y_WITH_DC) ? - get_tx_type_16x16(xd, y + (x >> 2)) : DCT_DCT; + const TX_TYPE tx_type = type == PLANE_TYPE_Y_WITH_DC ? + get_tx_type_16x16(xd) : DCT_DCT; scan = get_scan_16x16(tx_type); seg_eob = 256; above_ec = (A[0] + A[1] + A[2] + A[3]) != 0; @@ -370,7 +364,7 @@ static INLINE int cost_coeffs(VP9_COMMON *const cm, MACROBLOCK *mb, band_translate = vp9_coefband_trans_8x8plus; break; default: - abort(); + assert(0); break; } assert(eob <= seg_eob); @@ -1129,7 +1123,8 @@ static int64_t encode_inter_mb_segment(VP9_COMMON *const cm, xd->plane[0].dst.stride, &xd->mode_info_context->bmi[i].as_mv[0], &xd->scale_factor[0], - 4 * bw, 4 * bh, 0 /* no avg */, &xd->subpix); + 4 * bw, 4 * bh, 0 /* no avg */, &xd->subpix, + MV_PRECISION_Q3); // TODO(debargha): Make this work properly with the // implicit-compoundinter-weight experiment when implicit @@ -1143,7 +1138,7 @@ static int64_t encode_inter_mb_segment(VP9_COMMON *const cm, dst, xd->plane[0].dst.stride, &xd->mode_info_context->bmi[i].as_mv[1], &xd->scale_factor[1], 4 * bw, 4 * bh, 1, - &xd->subpix); + &xd->subpix, MV_PRECISION_Q3); } vp9_subtract_block(4 * bh, 4 * bw, src_diff, 8, @@ -1966,6 +1961,7 @@ static void model_rd_for_sb(VP9_COMP *cpi, BLOCK_SIZE_TYPE bsize, int64_t dist; cpi->fn_ptr[bs].vf(p->src.buf, p->src.stride, pd->dst.buf, pd->dst.stride, &sse); + model_rd_from_var_lapndz(sse, bw * bh, pd->dequant[1] >> 3, &rate, &dist); rate_sum += rate; @@ -2151,7 +2147,7 @@ static void joint_motion_search(VP9_COMP *cpi, MACROBLOCK *x, &frame_mv[refs[!id]], &xd->scale_factor[!id], pw, ph, 0, - &xd->subpix); + &xd->subpix, MV_PRECISION_Q3); // Compound motion search on first ref frame. if (id) |