[FFmpeg-cvslog] r10261 - trunk/libavcodec/i386/snowdsp_mmx.c

Rich Felker dalias
Thu Aug 30 17:54:50 CEST 2007


On Thu, Aug 30, 2007 at 01:41:59PM +0200, reimar wrote:
> Author: reimar
> Date: Thu Aug 30 13:41:58 2007
> New Revision: 10261
> 
> Log:
> Replace complicated and currently broken manual alignment code by
> DECLARE_ALIGNED_16. Fixes crash in ff_snow_horizontal_compose97i_sse2
> 
> 
> Modified:
>    trunk/libavcodec/i386/snowdsp_mmx.c
> 
> Modified: trunk/libavcodec/i386/snowdsp_mmx.c
> ==============================================================================
> --- trunk/libavcodec/i386/snowdsp_mmx.c	(original)
> +++ trunk/libavcodec/i386/snowdsp_mmx.c	Thu Aug 30 13:41:58 2007
> @@ -25,9 +25,7 @@
>  
>  void ff_snow_horizontal_compose97i_sse2(IDWTELEM *b, int width){
>      const int w2= (width+1)>>1;
> -    // SSE2 code runs faster with pointers aligned on a 32-byte boundary.
> -    IDWTELEM temp_buf[(width>>1) + 4];
> -    IDWTELEM * const temp = temp_buf + 4 - (((int)temp_buf & 0xF) >> 2);
> +    DECLARE_ALIGNED_16(IDWTELEM, temp[width>>1]);

Wouldn't it be better to fix the manual alignment code, since gcc
(except latest 4.2) does not support alignment of stack vars?

Rich




More information about the ffmpeg-cvslog mailing list