diff options
author | Jim Bankoski <jimbankoski@google.com> | 2012-10-13 20:29:04 -0700 |
---|---|---|
committer | Gerrit Code Review <gerrit@gerrit.golo.chromium.org> | 2012-10-13 20:29:04 -0700 |
commit | f9d5f86643244d8f1f9f64187098baa1a08b6d18 (patch) | |
tree | e3094fa59db23190eeb3565b5dfa6cd2a8c6b9dc /vp8/encoder | |
parent | 2113a831575d81faeadd9966e256d58b6b2b1633 (diff) | |
download | libvpx-f9d5f86643244d8f1f9f64187098baa1a08b6d18.tar libvpx-f9d5f86643244d8f1f9f64187098baa1a08b6d18.tar.gz libvpx-f9d5f86643244d8f1f9f64187098baa1a08b6d18.tar.bz2 libvpx-f9d5f86643244d8f1f9f64187098baa1a08b6d18.zip |
Revert "removed the recon. rtcd invoke macro code"
This reverts commit 2113a831575d81faeadd9966e256d58b6b2b1633
Diffstat (limited to 'vp8/encoder')
-rw-r--r-- | vp8/encoder/dct.h | 1 | ||||
-rw-r--r-- | vp8/encoder/encodeframe.c | 18 | ||||
-rw-r--r-- | vp8/encoder/encodeintra.c | 40 | ||||
-rw-r--r-- | vp8/encoder/encodemb.c | 7 | ||||
-rw-r--r-- | vp8/encoder/generic/csystemdependent.c | 12 | ||||
-rw-r--r-- | vp8/encoder/mbgraph.c | 2 | ||||
-rw-r--r-- | vp8/encoder/onyx_if.c | 3 | ||||
-rw-r--r-- | vp8/encoder/rdopt.c | 38 | ||||
-rw-r--r-- | vp8/encoder/temporal_filter.c | 4 |
9 files changed, 72 insertions, 53 deletions
diff --git a/vp8/encoder/dct.h b/vp8/encoder/dct.h index 180192bbb..597640d8c 100644 --- a/vp8/encoder/dct.h +++ b/vp8/encoder/dct.h @@ -42,7 +42,6 @@ extern prototype_fdct(vp8_fdct_short16x16); extern prototype_fdct(vp8_fdct_short8x8); #ifndef vp8_fhaar_short2x2 -#define vp8_fdct_haar_short2x2 vp8_fhaar_short2x2 #define vp8_fhaar_short2x2 vp8_short_fhaar2x2_c #endif extern prototype_fdct(vp8_fhaar_short2x2); diff --git a/vp8/encoder/encodeframe.c b/vp8/encoder/encodeframe.c index fda5aa994..4f2437fac 100644 --- a/vp8/encoder/encodeframe.c +++ b/vp8/encoder/encodeframe.c @@ -26,7 +26,6 @@ #include "vp8/common/findnearmv.h" #include "vp8/common/reconintra.h" #include "vp8/common/seg_common.h" -#include "vpx_rtcd.h" #include <stdio.h> #include <math.h> #include <limits.h> @@ -1881,8 +1880,8 @@ void vp8cx_encode_intra_super_block(VP8_COMP *cpi, vp8_update_zbin_extra(cpi, x); } - vp8_build_intra_predictors_sby_s(&x->e_mbd); - vp8_build_intra_predictors_sbuv_s(&x->e_mbd); + RECON_INVOKE(&rtcd->common->recon, build_intra_predictors_sby_s)(&x->e_mbd); + RECON_INVOKE(&rtcd->common->recon, build_intra_predictors_sbuv_s)(&x->e_mbd); assert(x->e_mbd.mode_info_context->mbmi.txfm_size == TX_8X8); for (n = 0; n < 4; n++) @@ -1914,8 +1913,9 @@ void vp8cx_encode_intra_super_block(VP8_COMP *cpi, } vp8_inverse_transform_mby_8x8(IF_RTCD(&rtcd->common->idct), &x->e_mbd); vp8_inverse_transform_mbuv_8x8(IF_RTCD(&rtcd->common->idct), &x->e_mbd); - vp8_recon_mby_s_c(&x->e_mbd, dst + x_idx * 16 + y_idx * 16 * dst_y_stride); - vp8_recon_mbuv_s_c(&x->e_mbd, + vp8_recon_mby_s_c(IF_RTCD(&rtcd->common->recon), &x->e_mbd, + dst + x_idx * 16 + y_idx * 16 * dst_y_stride); + vp8_recon_mbuv_s_c(IF_RTCD(&rtcd->common->recon), &x->e_mbd, udst + x_idx * 8 + y_idx * 8 * dst_uv_stride, vdst + x_idx * 8 + y_idx * 8 * dst_uv_stride); @@ -2249,8 +2249,8 @@ void vp8cx_encode_inter_superblock(VP8_COMP *cpi, MACROBLOCK *x, TOKENEXTRA **t, set_pred_flag(xd, PRED_REF, ref_pred_flag); if (xd->mode_info_context->mbmi.ref_frame == INTRA_FRAME) { - vp8_build_intra_predictors_sby_s(&x->e_mbd); - vp8_build_intra_predictors_sbuv_s(&x->e_mbd); + RECON_INVOKE(&rtcd->common->recon, build_intra_predictors_sby_s)(&x->e_mbd); + RECON_INVOKE(&rtcd->common->recon, build_intra_predictors_sbuv_s)(&x->e_mbd); } else { int ref_fb_idx; @@ -2319,9 +2319,9 @@ void vp8cx_encode_inter_superblock(VP8_COMP *cpi, MACROBLOCK *x, TOKENEXTRA **t, } vp8_inverse_transform_mby_8x8(IF_RTCD(&rtcd->common->idct), &x->e_mbd); vp8_inverse_transform_mbuv_8x8(IF_RTCD(&rtcd->common->idct), &x->e_mbd); - vp8_recon_mby_s_c( &x->e_mbd, + vp8_recon_mby_s_c(IF_RTCD(&rtcd->common->recon), &x->e_mbd, dst + x_idx * 16 + y_idx * 16 * dst_y_stride); - vp8_recon_mbuv_s_c(&x->e_mbd, + vp8_recon_mbuv_s_c(IF_RTCD(&rtcd->common->recon), &x->e_mbd, udst + x_idx * 8 + y_idx * 8 * dst_uv_stride, vdst + x_idx * 8 + y_idx * 8 * dst_uv_stride); diff --git a/vp8/encoder/encodeintra.c b/vp8/encoder/encodeintra.c index 6bfe929cb..323df005b 100644 --- a/vp8/encoder/encodeintra.c +++ b/vp8/encoder/encodeintra.c @@ -16,10 +16,10 @@ #include "vp8/common/reconintra4x4.h" #include "encodemb.h" #include "vp8/common/invtrans.h" +#include "vp8/common/recon.h" #include "dct.h" #include "vp8/common/g_common.h" #include "encodeintra.h" -#include "vpx_rtcd.h" #if CONFIG_RUNTIME_CPU_DETECT @@ -73,11 +73,12 @@ void vp8_encode_intra4x4block(const VP8_ENCODER_RTCD *rtcd, #if CONFIG_COMP_INTRA_PRED if (b->bmi.as_mode.second == (B_PREDICTION_MODE)(B_DC_PRED - 1)) { #endif - vp8_intra4x4_predict(b, b->bmi.as_mode.first, b->predictor); + RECON_INVOKE(&rtcd->common->recon, intra4x4_predict) + (b, b->bmi.as_mode.first, b->predictor); #if CONFIG_COMP_INTRA_PRED } else { - vp8_comp_intra4x4_predict(b, b->bmi.as_mode.first, b->bmi.as_mode.second, - b->predictor); + RECON_INVOKE(&rtcd->common->recon, comp_intra4x4_predict) + (b, b->bmi.as_mode.first, b->bmi.as_mode.second, b->predictor); } #endif @@ -101,7 +102,7 @@ void vp8_encode_intra4x4block(const VP8_ENCODER_RTCD *rtcd, vp8_inverse_transform_b(IF_RTCD(&rtcd->common->idct), b, 32); #endif - vp8_recon_b(b->predictor, b->diff, *(b->base_dst) + b->dst, b->dst_stride); + RECON_INVOKE(&rtcd->common->recon, recon)(b->predictor, b->diff, *(b->base_dst) + b->dst, b->dst_stride); } void vp8_encode_intra4x4mby(const VP8_ENCODER_RTCD *rtcd, MACROBLOCK *mb) { @@ -129,10 +130,10 @@ void vp8_encode_intra16x16mby(const VP8_ENCODER_RTCD *rtcd, MACROBLOCK *x) { #if CONFIG_COMP_INTRA_PRED if (x->e_mbd.mode_info_context->mbmi.second_mode == (MB_PREDICTION_MODE)(DC_PRED - 1)) #endif - vp8_build_intra_predictors_mby(&x->e_mbd); + RECON_INVOKE(&rtcd->common->recon, build_intra_predictors_mby)(&x->e_mbd); #if CONFIG_COMP_INTRA_PRED else - vp8_build_comp_intra_predictors_mby(&x->e_mbd); + RECON_INVOKE(&rtcd->common->recon, build_comp_intra_predictors_mby)(&x->e_mbd); #endif ENCODEMB_INVOKE(&rtcd->encodemb, submby)(x->src_diff, *(b->base_src), x->e_mbd.predictor, b->src_stride); @@ -191,7 +192,8 @@ void vp8_encode_intra16x16mby(const VP8_ENCODER_RTCD *rtcd, MACROBLOCK *x) { else vp8_inverse_transform_mby(IF_RTCD(&rtcd->common->idct), &x->e_mbd); - vp8_recon_mby(&x->e_mbd); + RECON_INVOKE(&rtcd->common->recon, recon_mby) + (IF_RTCD(&rtcd->common->recon), &x->e_mbd); } @@ -201,10 +203,10 @@ void vp8_encode_intra16x16mbuv(const VP8_ENCODER_RTCD *rtcd, MACROBLOCK *x) { #if CONFIG_COMP_INTRA_PRED if (x->e_mbd.mode_info_context->mbmi.second_uv_mode == (MB_PREDICTION_MODE)(DC_PRED - 1)) { #endif - vp8_build_intra_predictors_mbuv(&x->e_mbd); + RECON_INVOKE(&rtcd->common->recon, build_intra_predictors_mbuv)(&x->e_mbd); #if CONFIG_COMP_INTRA_PRED } else { - vp8_build_comp_intra_predictors_mbuv(&x->e_mbd); + RECON_INVOKE(&rtcd->common->recon, build_comp_intra_predictors_mbuv)(&x->e_mbd); } #endif @@ -231,7 +233,7 @@ void vp8_encode_intra16x16mbuv(const VP8_ENCODER_RTCD *rtcd, MACROBLOCK *x) { else vp8_inverse_transform_mbuv(IF_RTCD(&rtcd->common->idct), &x->e_mbd); - vp8_recon_intra_mbuv(&x->e_mbd); + vp8_recon_intra_mbuv(IF_RTCD(&rtcd->common->recon), &x->e_mbd); } void vp8_encode_intra8x8(const VP8_ENCODER_RTCD *rtcd, @@ -245,11 +247,12 @@ void vp8_encode_intra8x8(const VP8_ENCODER_RTCD *rtcd, #if CONFIG_COMP_INTRA_PRED if (b->bmi.as_mode.second == (MB_PREDICTION_MODE)(DC_PRED - 1)) { #endif - vp8_intra8x8_predict(b, b->bmi.as_mode.first, b->predictor); + RECON_INVOKE(&rtcd->common->recon, intra8x8_predict) + (b, b->bmi.as_mode.first, b->predictor); #if CONFIG_COMP_INTRA_PRED } else { - vp8_comp_intra8x8_predict(b, b->bmi.as_mode.first, b->bmi.as_mode.second, - b->predictor); + RECON_INVOKE(&rtcd->common->recon, comp_intra8x8_predict) + (b, b->bmi.as_mode.first, b->bmi.as_mode.second, b->predictor); } #endif @@ -308,10 +311,12 @@ void vp8_encode_intra_uv4x4(const VP8_ENCODER_RTCD *rtcd, #if CONFIG_COMP_INTRA_PRED if (second == -1) { #endif - vp8_intra_uv4x4_predict(b, mode, b->predictor); + RECON_INVOKE(&rtcd->common->recon, intra_uv4x4_predict) + (b, mode, b->predictor); #if CONFIG_COMP_INTRA_PRED } else { - vp8_comp_intra_uv4x4_predict(b, mode, second, b->predictor); + RECON_INVOKE(&rtcd->common->recon, comp_intra_uv4x4_predict) + (b, mode, second, b->predictor); } #endif @@ -323,7 +328,8 @@ void vp8_encode_intra_uv4x4(const VP8_ENCODER_RTCD *rtcd, vp8_inverse_transform_b(IF_RTCD(&rtcd->common->idct), b, 16); - vp8_recon_uv_b_c(b->predictor,b->diff, *(b->base_dst) + b->dst, b->dst_stride); + RECON_INVOKE(&rtcd->common->recon, recon_uv)(b->predictor, + b->diff, *(b->base_dst) + b->dst, b->dst_stride); } diff --git a/vp8/encoder/encodemb.c b/vp8/encoder/encodemb.c index a392c52c6..0b753b5e6 100644 --- a/vp8/encoder/encodemb.c +++ b/vp8/encoder/encodemb.c @@ -15,6 +15,7 @@ #include "quantize.h" #include "tokenize.h" #include "vp8/common/invtrans.h" +#include "vp8/common/recon.h" #include "vp8/common/reconintra.h" #include "dct.h" #include "vpx_mem/vpx_mem.h" @@ -1161,7 +1162,8 @@ void vp8_encode_inter16x16(const VP8_ENCODER_RTCD *rtcd, MACROBLOCK *x) { #endif } - vp8_recon_mb(&x->e_mbd); + RECON_INVOKE(&rtcd->common->recon, recon_mb) + (IF_RTCD(&rtcd->common->recon), &x->e_mbd); #ifdef ENC_DEBUG if (enc_debug) { int i, j, k; @@ -1214,5 +1216,6 @@ void vp8_encode_inter16x16y(const VP8_ENCODER_RTCD *rtcd, MACROBLOCK *x) { else vp8_inverse_transform_mby(IF_RTCD(&rtcd->common->idct), &x->e_mbd); - vp8_recon_mby(&x->e_mbd); + RECON_INVOKE(&rtcd->common->recon, recon_mby) + (IF_RTCD(&rtcd->common->recon), &x->e_mbd); } diff --git a/vp8/encoder/generic/csystemdependent.c b/vp8/encoder/generic/csystemdependent.c index 356e32c3f..56199d902 100644 --- a/vp8/encoder/generic/csystemdependent.c +++ b/vp8/encoder/generic/csystemdependent.c @@ -118,18 +118,13 @@ void vp8_cmachine_specific_config(VP8_COMP *cpi) { cpi->rtcd.search.refining_search = vp8_refining_search_sad; cpi->rtcd.search.diamond_search = vp8_diamond_search_sad; cpi->rtcd.temporal.apply = vp8_temporal_filter_apply_c; - cpi->rtcd.variance.satd16x16 = vp8_satd16x16_c; - cpi->rtcd.fdct.short4x4 = vp8_short_fdct4x4_c; - cpi->rtcd.fdct.short8x4 = vp8_short_fdct8x4_c; - cpi->rtcd.fdct.fast4x4 = vp8_short_fdct4x4_c; - cpi->rtcd.fdct.fast8x4 = vp8_short_fdct8x4_c; - cpi->rtcd.fdct.walsh_short4x4 = vp8_short_walsh4x4_c; #if CONFIG_INTERNAL_STATS cpi->rtcd.variance.ssimpf_8x8 = vp8_ssim_parms_8x8_c; cpi->rtcd.variance.ssimpf_16x16 = vp8_ssim_parms_16x16_c; #endif #endif + cpi->rtcd.variance.satd16x16 = vp8_satd16x16_c; vp8_yv12_copy_partial_frame_ptr = vp8_yv12_copy_partial_frame; #if ARCH_X86 || ARCH_X86_64 @@ -140,5 +135,10 @@ void vp8_cmachine_specific_config(VP8_COMP *cpi) { vp8_arch_arm_encoder_init(cpi); #endif + cpi->rtcd.fdct.short4x4 = vp8_short_fdct4x4_c; + cpi->rtcd.fdct.short8x4 = vp8_short_fdct8x4_c; + cpi->rtcd.fdct.fast4x4 = vp8_short_fdct4x4_c; + cpi->rtcd.fdct.fast8x4 = vp8_short_fdct8x4_c; + cpi->rtcd.fdct.walsh_short4x4 = vp8_short_walsh4x4_c; } diff --git a/vp8/encoder/mbgraph.c b/vp8/encoder/mbgraph.c index 180ee5870..d512ae4bc 100644 --- a/vp8/encoder/mbgraph.c +++ b/vp8/encoder/mbgraph.c @@ -220,7 +220,7 @@ static int find_best_16x16_intra unsigned int err; xd->mode_info_context->mbmi.mode = mode; - vp8_build_intra_predictors_mby(xd); + RECON_INVOKE(&cpi->rtcd.common->recon, build_intra_predictors_mby)(xd); // VARIANCE_INVOKE(&cpi->rtcd.variance, satd16x16) err = VARIANCE_INVOKE(&cpi->rtcd.variance, sad16x16) (xd->predictor, 16, diff --git a/vp8/encoder/onyx_if.c b/vp8/encoder/onyx_if.c index 8a3e3f3cf..e8f9adc5e 100644 --- a/vp8/encoder/onyx_if.c +++ b/vp8/encoder/onyx_if.c @@ -4412,9 +4412,8 @@ int vp8_get_compressed_data(VP8_PTR ptr, unsigned int *frame_flags, unsigned lon { double frame_psnr2, frame_ssim2 = 0; double weight = 0; -#if CONFIG_POSTPROC + vp8_deblock(cm->frame_to_show, &cm->post_proc_buffer, cm->filter_level * 10 / 6, 1, 0, IF_RTCD(&cm->rtcd.postproc)); -#endif vp8_clear_system_state(); ye = calc_plane_error(orig->y_buffer, orig->y_stride, diff --git a/vp8/encoder/rdopt.c b/vp8/encoder/rdopt.c index f9fa56519..467cb313d 100644 --- a/vp8/encoder/rdopt.c +++ b/vp8/encoder/rdopt.c @@ -1190,10 +1190,12 @@ static int64_t rd_pick_intra4x4block(VP8_COMP *cpi, MACROBLOCK *x, BLOCK *be, #if CONFIG_COMP_INTRA_PRED if (mode2 == (B_PREDICTION_MODE)(B_DC_PRED - 1)) { #endif - vp8_intra4x4_predict(b, mode, b->predictor); + RECON_INVOKE(&cpi->rtcd.common->recon, intra4x4_predict) + (b, mode, b->predictor); #if CONFIG_COMP_INTRA_PRED } else { - vp8_comp_intra4x4_predict(b, mode, mode2, b->predictor); + RECON_INVOKE(&cpi->rtcd.common->recon, comp_intra4x4_predict) + (b, mode, mode2, b->predictor); rate += bmode_costs[mode2]; } #endif @@ -1264,7 +1266,7 @@ static int64_t rd_pick_intra4x4block(VP8_COMP *cpi, MACROBLOCK *x, BLOCK *be, IDCT_INVOKE(IF_RTCD(&cpi->rtcd.common->idct), idct16)(best_dqcoeff, b->diff, 32); #endif - vp8_recon_b(best_predictor, b->diff, *(b->base_dst) + b->dst, b->dst_stride); + RECON_INVOKE(IF_RTCD(&cpi->rtcd.common->recon), recon)(best_predictor, b->diff, *(b->base_dst) + b->dst, b->dst_stride); return best_rd; } @@ -1369,7 +1371,8 @@ static int64_t rd_pick_intra_sby_mode(VP8_COMP *cpi, /* Y Search for 32x32 intra prediction mode */ for (mode = DC_PRED; mode <= TM_PRED; mode++) { x->e_mbd.mode_info_context->mbmi.mode = mode; - vp8_build_intra_predictors_sby_s(&x->e_mbd); + RECON_INVOKE(&cpi->common.rtcd.recon, + build_intra_predictors_sby_s)(&x->e_mbd); super_block_yrd_8x8(x, &this_rate_tokenonly, &this_distortion, IF_RTCD(&cpi->rtcd), &s); @@ -1438,11 +1441,13 @@ static int64_t rd_pick_intra16x16mby_mode(VP8_COMP *cpi, mbmi->second_mode = mode2; if (mode2 == (MB_PREDICTION_MODE)(DC_PRED - 1)) { #endif - vp8_build_intra_predictors_mby(&x->e_mbd); + RECON_INVOKE(&cpi->common.rtcd.recon, build_intra_predictors_mby) + (&x->e_mbd); #if CONFIG_COMP_INTRA_PRED } else { continue; // i.e. disable for now - vp8_build_comp_intra_predictors_mby(&x->e_mbd); + RECON_INVOKE(&cpi->common.rtcd.recon, build_comp_intra_predictors_mby) + (&x->e_mbd); } #endif @@ -1548,11 +1553,13 @@ static int64_t rd_pick_intra8x8block(VP8_COMP *cpi, MACROBLOCK *x, int ib, #if CONFIG_COMP_INTRA_PRED if (mode2 == (MB_PREDICTION_MODE)(DC_PRED - 1)) { #endif - vp8_intra8x8_predict(b, mode, b->predictor); + RECON_INVOKE(&cpi->rtcd.common->recon, intra8x8_predict) + (b, mode, b->predictor); #if CONFIG_COMP_INTRA_PRED } else { continue; // i.e. disable for now - vp8_comp_intra8x8_predict(b, mode, mode2, b->predictor); + RECON_INVOKE(&cpi->rtcd.common->recon, comp_intra8x8_predict) + (b, mode, mode2, b->predictor); } #endif @@ -1888,11 +1895,13 @@ static void rd_pick_intra_mbuv_mode(VP8_COMP *cpi, mbmi->second_uv_mode = mode2; if (mode2 == (MB_PREDICTION_MODE)(DC_PRED - 1)) { #endif - vp8_build_intra_predictors_mbuv(&x->e_mbd); + RECON_INVOKE(&cpi->rtcd.common->recon, build_intra_predictors_mbuv) + (&x->e_mbd); #if CONFIG_COMP_INTRA_PRED } else { continue; - vp8_build_comp_intra_predictors_mbuv(&x->e_mbd); + RECON_INVOKE(&cpi->rtcd.common->recon, build_comp_intra_predictors_mbuv) + (&x->e_mbd); } #endif @@ -1954,7 +1963,8 @@ static void rd_pick_intra_mbuv_mode_8x8(VP8_COMP *cpi, int64_t this_rd; mbmi->uv_mode = mode; - vp8_build_intra_predictors_mbuv(&x->e_mbd); + RECON_INVOKE(&cpi->rtcd.common->recon, 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); @@ -2047,7 +2057,8 @@ static int64_t rd_pick_intra_sbuv_mode(VP8_COMP *cpi, for (mode = DC_PRED; mode <= TM_PRED; mode++) { x->e_mbd.mode_info_context->mbmi.uv_mode = mode; - vp8_build_intra_predictors_sbuv_s(&x->e_mbd); + RECON_INVOKE(&cpi->rtcd.common->recon, + build_intra_predictors_sbuv_s)(&x->e_mbd); super_block_uvrd_8x8(x, &this_rate_tokenonly, &this_distortion, IF_RTCD(&cpi->rtcd), &s); @@ -3553,7 +3564,8 @@ void vp8_rd_pick_inter_mode(VP8_COMP *cpi, MACROBLOCK *x, int recon_yoffset, int case D63_PRED: mbmi->ref_frame = INTRA_FRAME; // FIXME compound intra prediction - vp8_build_intra_predictors_mby(&x->e_mbd); + RECON_INVOKE(&cpi->common.rtcd.recon, build_intra_predictors_mby) + (&x->e_mbd); macro_block_yrd(cpi, x, &rate_y, &distortion, &skippable, txfm_cache); #if CONFIG_HYBRIDTRANSFORM16X16 rd_txtype = x->e_mbd.block[0].bmi.as_mode.tx_type; diff --git a/vp8/encoder/temporal_filter.c b/vp8/encoder/temporal_filter.c index e59aa14fa..6bc24a01f 100644 --- a/vp8/encoder/temporal_filter.c +++ b/vp8/encoder/temporal_filter.c @@ -79,8 +79,8 @@ static void vp8_temporal_filter_predictors_mb_c (omv_col & 15), (omv_row & 15), &pred[320], 8); } else { - vp8_copy_mem8x8(uptr, stride, &pred[256], 8); - vp8_copy_mem8x8(vptr, stride, &pred[320], 8); + RECON_INVOKE(&xd->rtcd->recon, copy8x8)(uptr, stride, &pred[256], 8); + RECON_INVOKE(&xd->rtcd->recon, copy8x8)(vptr, stride, &pred[320], 8); } } void vp8_temporal_filter_apply_c |