comparison x86/dsputilenc_mmx.c @ 12197:fbf4d5b1b664 libavcodec

Remove FF_MM_SSE2/3 flags for CPUs where this is generally not faster than regular MMX code. Examples of this are the Core1 CPU. Instead, set a new flag, FF_MM_SSE2/3SLOW, which can be checked for particular SSE2/3 functions that have been checked specifically on such CPUs and are actually faster than their MMX counterparts. In addition, use this flag to enable particular VP8 and LPC SSE2 functions that are faster than their MMX counterparts. Based on a patch by Loren Merritt <lorenm AT u washington edu>.
author rbultje
date Mon, 19 Jul 2010 22:38:23 +0000
parents f5ccf2e590d6
children 3fc4c625b6f3
comparison
equal deleted inserted replaced
12196:552c7c10bc73 12197:fbf4d5b1b664
1407 if(mm_flags & FF_MM_SSE2){ 1407 if(mm_flags & FF_MM_SSE2){
1408 c->get_pixels = get_pixels_sse2; 1408 c->get_pixels = get_pixels_sse2;
1409 c->sum_abs_dctelem= sum_abs_dctelem_sse2; 1409 c->sum_abs_dctelem= sum_abs_dctelem_sse2;
1410 c->hadamard8_diff[0]= hadamard8_diff16_sse2; 1410 c->hadamard8_diff[0]= hadamard8_diff16_sse2;
1411 c->hadamard8_diff[1]= hadamard8_diff_sse2; 1411 c->hadamard8_diff[1]= hadamard8_diff_sse2;
1412 #if CONFIG_LPC 1412 }
1413
1414 if (CONFIG_LPC && mm_flags & (FF_MM_SSE2|FF_MM_SSE2SLOW)) {
1413 c->lpc_compute_autocorr = ff_lpc_compute_autocorr_sse2; 1415 c->lpc_compute_autocorr = ff_lpc_compute_autocorr_sse2;
1414 #endif
1415 } 1416 }
1416 1417
1417 #if HAVE_SSSE3 1418 #if HAVE_SSSE3
1418 if(mm_flags & FF_MM_SSSE3){ 1419 if(mm_flags & FF_MM_SSSE3){
1419 if(!(avctx->flags & CODEC_FLAG_BITEXACT)){ 1420 if(!(avctx->flags & CODEC_FLAG_BITEXACT)){