[Ffmpeg-devel] SSE2 Crashing

Marco Manfredini mldb
Fri Aug 18 23:12:41 CEST 2006


Loren Merritt wrote:

> DECLARE_ALIGNED_8 is supposed to be __attribute__ ((aligned (8))).
> The fix is to use DECLARE_ALIGNED_16 if it needs to be aligned 16. Hence 
> the name.

Despite its name, DECLARE_ALIGNED_8 means aligned(4) in one and 
aligned(16) in another case already. The next thing is, that the choice 
between 8 and 16 byte alignments is done in the libavcodec/*.c routines 
which most on them only pretend to know what alignment the target needs. 
(like that dv.c selects 8 byte aligments, which didn't work here, 
because dv.c has no idea that it calls SSE Routines which expect 16 byte 
alignment).

So what is the reason that there isn't simply one DECLARE_ALIGNED macro 
which produces the maximum required alignment for the target-specific 
routines?

Marco





More information about the ffmpeg-devel mailing list