From 8edaf6e2f232f00de3e3aac1657a31a3effe9a11 Mon Sep 17 00:00:00 2001 From: Johann Date: Thu, 10 Feb 2011 14:57:43 -0500 Subject: use asm_offsets with vp8_regular_quantize_b_sse2 remove helper function and avoid shadowing all the arguments to the stack on 64bit systems when running with --good --cpu-used=0: ~2% on linux x86 and x86_64 ~2% on win32 x86 msys and visual studio more on darwin10 x86_64 significantly more on x86_64-win64-vs9 Change-Id: Ib7be12edf511fbf2922f191afd5b33b19a0c4ae6 --- vp8/encoder/x86/x86_csystemdependent.c | 28 +--------------------------- 1 file changed, 1 insertion(+), 27 deletions(-) (limited to 'vp8/encoder/x86/x86_csystemdependent.c') diff --git a/vp8/encoder/x86/x86_csystemdependent.c b/vp8/encoder/x86/x86_csystemdependent.c index 8327fad60..2b6bd98eb 100644 --- a/vp8/encoder/x86/x86_csystemdependent.c +++ b/vp8/encoder/x86/x86_csystemdependent.c @@ -106,30 +106,6 @@ static void fast_quantize_b_sse2(BLOCK *b, BLOCKD *d) ); } - -int vp8_regular_quantize_b_impl_sse2(short *coeff_ptr, short *zbin_ptr, - short *qcoeff_ptr,short *dequant_ptr, - const int *default_zig_zag, short *round_ptr, - short *quant_ptr, short *dqcoeff_ptr, - unsigned short zbin_oq_value, - short *zbin_boost_ptr, - short *quant_shift_ptr); - -static void regular_quantize_b_sse2(BLOCK *b,BLOCKD *d) -{ - d->eob = vp8_regular_quantize_b_impl_sse2(b->coeff, - b->zbin, - d->qcoeff, - d->dequant, - vp8_default_zig_zag1d, - b->round, - b->quant, - d->dqcoeff, - b->zbin_extra, - b->zrun_zbin_boost, - b->quant_shift); -} - int vp8_mbblock_error_xmm_impl(short *coeff_ptr, short *dcoef_ptr, int dc); static int mbblock_error_xmm(MACROBLOCK *mb, int dc) { @@ -317,9 +293,7 @@ void vp8_arch_x86_encoder_init(VP8_COMP *cpi) cpi->rtcd.encodemb.submby = vp8_subtract_mby_sse2; cpi->rtcd.encodemb.submbuv = vp8_subtract_mbuv_sse2; -#if ARCH_X86 - cpi->rtcd.quantize.quantb = regular_quantize_b_sse2; -#endif + cpi->rtcd.quantize.quantb = vp8_regular_quantize_b_sse2; cpi->rtcd.quantize.fastquantb = fast_quantize_b_sse2; #if !(CONFIG_REALTIME_ONLY) -- cgit v1.2.3