Commit 67760b33 authored by melanson's avatar melanson

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'."


git-svn-id: file:///var/local/repositories/ffmpeg/trunk@12772 9553f0bf-9b14-0410-a0b8-cfaf0461ba5b
parent 78fe2e76
...@@ -43,7 +43,8 @@ static void H264_CHROMA_MC8_TMPL(uint8_t *dst/*align 8*/, uint8_t *src/*align 1* ...@@ -43,7 +43,8 @@ static void H264_CHROMA_MC8_TMPL(uint8_t *dst/*align 8*/, uint8_t *src/*align 1*
"pshuflw $0, %%xmm7, %%xmm7 \n\t" "pshuflw $0, %%xmm7, %%xmm7 \n\t"
"movlhps %%xmm6, %%xmm6 \n\t" "movlhps %%xmm6, %%xmm6 \n\t"
"movlhps %%xmm7, %%xmm7 \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) { if(x) {
asm volatile( asm volatile(
...@@ -114,7 +115,7 @@ static void H264_CHROMA_MC8_TMPL(uint8_t *dst/*align 8*/, uint8_t *src/*align 1* ...@@ -114,7 +115,7 @@ static void H264_CHROMA_MC8_TMPL(uint8_t *dst/*align 8*/, uint8_t *src/*align 1*
"pshuflw $0, %%xmm6, %%xmm6 \n\t" "pshuflw $0, %%xmm6, %%xmm6 \n\t"
"movlhps %%xmm7, %%xmm7 \n\t" "movlhps %%xmm7, %%xmm7 \n\t"
"movlhps %%xmm6, %%xmm6 \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( asm volatile(
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment