diff options
author | Scott LaVarnway <slavarnway@google.com> | 2011-02-14 16:34:33 -0500 |
---|---|---|
committer | Scott LaVarnway <slavarnway@google.com> | 2011-02-14 16:34:33 -0500 |
commit | 94d4fee08f1e2bdd6b4b493635f7281491280220 (patch) | |
tree | 49caa9ae2411ae5a3021bb5a64eebec8ce6dcbe9 /vp8/encoder/rdopt.c | |
parent | d419b93e3e47e5080161c9de3abbee79519ee130 (diff) | |
download | libvpx-94d4fee08f1e2bdd6b4b493635f7281491280220.tar libvpx-94d4fee08f1e2bdd6b4b493635f7281491280220.tar.gz libvpx-94d4fee08f1e2bdd6b4b493635f7281491280220.tar.bz2 libvpx-94d4fee08f1e2bdd6b4b493635f7281491280220.zip |
Improved vp8_rd_pick_intra_mbuv_mode
Eliminated unnecessary calculations. Very small change
to performance.
Change-Id: Ib7213d43c64e36955177c4d47950ff472266f822
Diffstat (limited to 'vp8/encoder/rdopt.c')
-rw-r--r-- | vp8/encoder/rdopt.c | 16 |
1 files changed, 6 insertions, 10 deletions
diff --git a/vp8/encoder/rdopt.c b/vp8/encoder/rdopt.c index 0d01d64b5..3449e4532 100644 --- a/vp8/encoder/rdopt.c +++ b/vp8/encoder/rdopt.c @@ -813,15 +813,6 @@ static int rd_cost_mbuv(MACROBLOCK *mb) } -unsigned int vp8_get_mbuvrecon_error(const vp8_variance_rtcd_vtable_t *rtcd, const MACROBLOCK *x) // sum of squares -{ - unsigned int sse0, sse1; - int sum0, sum1; - VARIANCE_INVOKE(rtcd, get8x8var)(x->src.u_buffer, x->src.uv_stride, x->e_mbd.dst.u_buffer, x->e_mbd.dst.uv_stride, &sse0, &sum0); - VARIANCE_INVOKE(rtcd, get8x8var)(x->src.v_buffer, x->src.uv_stride, x->e_mbd.dst.v_buffer, x->e_mbd.dst.uv_stride, &sse1, &sum1); - return (sse0 + sse1); -} - static int vp8_rd_inter_uv(VP8_COMP *cpi, MACROBLOCK *x, int *rate, int *distortion, int fullpixel) { vp8_build_uvmvs(&x->e_mbd, fullpixel); @@ -849,7 +840,12 @@ int vp8_rd_pick_intra_mbuv_mode(VP8_COMP *cpi, MACROBLOCK *x, int *rate, int *ra int this_rd; x->e_mbd.mode_info_context->mbmi.uv_mode = mode; - vp8_encode_intra16x16mbuvrd(IF_RTCD(&cpi->rtcd), x); + vp8_build_intra_predictors_mbuv(&x->e_mbd); + ENCODEMB_INVOKE(IF_RTCD(&cpi->rtcd.encodemb), submbuv)(x->src_diff, + x->src.u_buffer, x->src.v_buffer, x->e_mbd.predictor, + x->src.uv_stride); + vp8_transform_mbuv(x); + vp8_quantize_mbuv(x); rate_to = rd_cost_mbuv(x); rate = rate_to + x->intra_uv_mode_cost[x->e_mbd.frame_type][x->e_mbd.mode_info_context->mbmi.uv_mode]; |