[FFmpeg-cvslog] r12772 - trunk/libavcodec/i386/dsputil_h264_template_ssse3.c
melanson
subversion
Wed Apr 9 01:49:35 CEST 2008
Author: melanson
Date: Wed Apr 9 01:49:34 2008
New Revision: 12772
Log:
Fix H.264 interframe decoding when compiling with icc. Patch by Loren
Merritt:
"It seems that icc copies the constants from their global var onto the
stack, at which point they're not aligned, hence the crash.
[This change] really shouldn't mean anything different, but maybe it'll
confuse icc into not performing that 'optimization'."
Modified:
trunk/libavcodec/i386/dsputil_h264_template_ssse3.c
Modified: trunk/libavcodec/i386/dsputil_h264_template_ssse3.c
==============================================================================
--- trunk/libavcodec/i386/dsputil_h264_template_ssse3.c (original)
+++ trunk/libavcodec/i386/dsputil_h264_template_ssse3.c Wed Apr 9 01:49:34 2008
@@ -43,7 +43,8 @@ static void H264_CHROMA_MC8_TMPL(uint8_t
"pshuflw $0, %%xmm7, %%xmm7 \n\t"
"movlhps %%xmm6, %%xmm6 \n\t"
"movlhps %%xmm7, %%xmm7 \n\t"
- :: "r"(255*(x+y)+8), "m"(rnd?ff_pw_4:ff_pw_3));
+ :: "r"(255*(x+y)+8), "m"(*(rnd?&ff_pw_4:&ff_pw_3))
+ );
if(x) {
asm volatile(
@@ -114,7 +115,7 @@ static void H264_CHROMA_MC8_TMPL(uint8_t
"pshuflw $0, %%xmm6, %%xmm6 \n\t"
"movlhps %%xmm7, %%xmm7 \n\t"
"movlhps %%xmm6, %%xmm6 \n\t"
- :: "r"((x*255+8)*(8-y)), "r"((x*255+8)*y), "m"(rnd?ff_pw_32:ff_pw_28)
+ :: "r"((x*255+8)*(8-y)), "r"((x*255+8)*y), "m"(*(rnd?&ff_pw_32:&ff_pw_28))
);
asm volatile(
More information about the ffmpeg-cvslog
mailing list