Commit d6fab265 authored by michael's avatar michael

workaound gcc bug, untested as my gcc isnt complaining


git-svn-id: file:///var/local/repositories/ffmpeg/trunk@10236 9553f0bf-9b14-0410-a0b8-cfaf0461ba5b
parent 78fd11af
...@@ -3623,13 +3623,17 @@ void dsputil_init_mmx(DSPContext* c, AVCodecContext *avctx) ...@@ -3623,13 +3623,17 @@ void dsputil_init_mmx(DSPContext* c, AVCodecContext *avctx)
#ifdef CONFIG_SNOW_DECODER #ifdef CONFIG_SNOW_DECODER
if(mm_flags & MM_SSE2 & 0){ if(mm_flags & MM_SSE2 & 0){
c->horizontal_compose97i = ff_snow_horizontal_compose97i_sse2; c->horizontal_compose97i = ff_snow_horizontal_compose97i_sse2;
#ifdef CONFIG_7REGS
c->vertical_compose97i = ff_snow_vertical_compose97i_sse2; c->vertical_compose97i = ff_snow_vertical_compose97i_sse2;
#endif
c->inner_add_yblock = ff_snow_inner_add_yblock_sse2; c->inner_add_yblock = ff_snow_inner_add_yblock_sse2;
} }
else{ else{
if(mm_flags & MM_MMXEXT){ if(mm_flags & MM_MMXEXT){
c->horizontal_compose97i = ff_snow_horizontal_compose97i_mmx; c->horizontal_compose97i = ff_snow_horizontal_compose97i_mmx;
#ifdef CONFIG_7REGS
c->vertical_compose97i = ff_snow_vertical_compose97i_mmx; c->vertical_compose97i = ff_snow_vertical_compose97i_mmx;
#endif
} }
c->inner_add_yblock = ff_snow_inner_add_yblock_mmx; c->inner_add_yblock = ff_snow_inner_add_yblock_mmx;
} }
......
...@@ -388,6 +388,7 @@ void ff_snow_horizontal_compose97i_mmx(IDWTELEM *b, int width){ ...@@ -388,6 +388,7 @@ void ff_snow_horizontal_compose97i_mmx(IDWTELEM *b, int width){
} }
} }
#ifdef CONFIG_7REGS
#define snow_vertical_compose_sse2_load_add(op,r,t0,t1,t2,t3)\ #define snow_vertical_compose_sse2_load_add(op,r,t0,t1,t2,t3)\
""op" ("r",%%"REG_d"), %%"t0" \n\t"\ ""op" ("r",%%"REG_d"), %%"t0" \n\t"\
""op" 16("r",%%"REG_d"), %%"t1" \n\t"\ ""op" 16("r",%%"REG_d"), %%"t1" \n\t"\
...@@ -602,6 +603,7 @@ void ff_snow_vertical_compose97i_mmx(IDWTELEM *b0, IDWTELEM *b1, IDWTELEM *b2, I ...@@ -602,6 +603,7 @@ void ff_snow_vertical_compose97i_mmx(IDWTELEM *b0, IDWTELEM *b1, IDWTELEM *b2, I
:"+d"(i) :"+d"(i)
:"r"(b0),"r"(b1),"r"(b2),"r"(b3),"r"(b4),"r"(b5)); :"r"(b0),"r"(b1),"r"(b2),"r"(b3),"r"(b4),"r"(b5));
} }
#endif //CONFIG_7REGS
#define snow_inner_add_yblock_sse2_header \ #define snow_inner_add_yblock_sse2_header \
IDWTELEM * * dst_array = sb->line + src_y;\ IDWTELEM * * dst_array = sb->line + src_y;\
......
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