[FFmpeg-cvslog] r25617 - trunk/libavcodec/x86/motion_est_mmx.c
ramiro
subversion
Sun Oct 31 22:20:20 CET 2010
Author: ramiro
Date: Sun Oct 31 22:20:20 2010
New Revision: 25617
Log:
sad16_sse2: merge 2 asm blocks
Modified:
trunk/libavcodec/x86/motion_est_mmx.c
Modified: trunk/libavcodec/x86/motion_est_mmx.c
==============================================================================
--- trunk/libavcodec/x86/motion_est_mmx.c Sun Oct 31 20:55:13 2010 (r25616)
+++ trunk/libavcodec/x86/motion_est_mmx.c Sun Oct 31 22:20:20 2010 (r25617)
@@ -98,23 +98,20 @@ static int sad16_sse2(void *v, uint8_t *
ASMALIGN(4)
"1: \n\t"
"movdqu (%1), %%xmm0 \n\t"
- "movdqu (%1, %3), %%xmm1 \n\t"
+ "movdqu (%1, %4), %%xmm1 \n\t"
"psadbw (%2), %%xmm0 \n\t"
- "psadbw (%2, %3), %%xmm1 \n\t"
+ "psadbw (%2, %4), %%xmm1 \n\t"
"paddw %%xmm0, %%xmm2 \n\t"
"paddw %%xmm1, %%xmm2 \n\t"
- "lea (%1,%3,2), %1 \n\t"
- "lea (%2,%3,2), %2 \n\t"
+ "lea (%1,%4,2), %1 \n\t"
+ "lea (%2,%4,2), %2 \n\t"
"sub $2, %0 \n\t"
" jg 1b \n\t"
- : "+r" (h), "+r" (blk1), "+r" (blk2)
- : "r" ((x86_reg)stride)
- );
- __asm__ volatile(
"movhlps %%xmm2, %%xmm0 \n\t"
"paddw %%xmm0, %%xmm2 \n\t"
- "movd %%xmm2, %0 \n\t"
- : "=r"(ret)
+ "movd %%xmm2, %3 \n\t"
+ : "+r" (h), "+r" (blk1), "+r" (blk2), "=r"(ret)
+ : "r" ((x86_reg)stride)
);
return ret;
}
More information about the ffmpeg-cvslog
mailing list