[Ffmpeg-devel] SSE2 Crashing
Diego Biurrun
diego
Fri Aug 18 19:41:39 CEST 2006
On Fri, Aug 18, 2006 at 11:04:52AM +0200, Marco Manfredini wrote:
> On Thursday 17 August 2006 05:13, Brian Brice wrote:
> > I'm not sure if this is the right place to bring this up, but maybe
> > others have experience with this issue. I've compiled ffmpeg with
> > gcc-3.4.5/ld-2.16-91 in mingw. It seems to work correctly in the
> > ffmpeg program, but when I use the libraries with something else,
> > then I experience crashes involving SSE2 instructions. The crashes
> > were occurring in lavc/i386/fdct_mmx.c, fdct_row_sse2. I do have
> > SSE and the memalign hack enabled. The function that calls
> > fdct_row_sse2 is ff_fdct_sse2 allocates a buffer that is aligned
> > to to an 8 byte boundary. I've watched the allocation of this
> > buffer and it seems to not actually be aligned correctly. Is this
> > a problem with my version of gcc? Anyone else experience this and
> > figure out a way around it? Thanks.
>
> This happened with Mactel here on various occasions too. I found that, in my
> cases, ff_fdct_sse2 got blocks from locals that were attributed
> DECLARE_ALIGNED_8(t,v). For some reason DECLARE_ALIGNED_8 got defined in
> dsputil.h as "__attribute__ ((aligned (8)))" and not "__attribute__ ((aligned
> (16)))" as it should (I failed to understand the logic behind
> DECLARE_ALIGN_{8,16} though :-) ).
>
> I helped myself by replacing 16 for 8 in the first definition of
> DECLARE_ALIGNED_8 and STRIDE_ALIGN in dsputil.h
Well, then send a patch, it should have good chances of getting applied.
Diego
More information about the ffmpeg-devel
mailing list