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

Reimar Döffinger Reimar.Doeffinger
Fri Aug 31 02:59:32 CEST 2007


Hello,
On Thu, Aug 30, 2007 at 11:54:50AM -0400, Rich Felker wrote:
> 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?

I don't see a point in using manual alignment in this one place and
having all the rest use the problematic code.
IOW I just don't see any advantage whatsoever in keeping this manual
alignment code.

Greetings,
Reimar D?ffinger




More information about the ffmpeg-cvslog mailing list