[MPlayer-users] [PATCH] crash in libavcodec/i386/dsputil_mmx.c:float_to_int16_sse2

Ray Kohler ataraxia at cmu.edu
Fri Jul 11 20:02:15 CEST 2008


On Jul 11, 2008, at 1:10 PM, Reimar Döffinger wrote:

> Hello,
> On Thu, Jul 10, 2008 at 08:58:35PM -0400, Ray Kohler wrote:
>> The problem is that this code treats an unaligned doubleword as if it
>> were aligned (i.e., it segfaults when executing "movdqa").
>
> This is most likely a problem in MPlayer, FFmpeg requires the output
> buffer to be sufficiently aligned.

Ah, I wondered why it didn't crash when used by FFmpeg.

> A sample file would be welcome though (if you think it should happen
> with all vorbis files, check with those at:
> http://samples.mplayerhq.hu/A-codecs/vorbis/ )

The file at http://samples.mplayerhq.hu/A-codecs/vorbis/ffvorbis_crash.ogm 
  reproduces this crash for me.

>> There also
>> appears to be a missing "emms" instruction at the end of the  
>> function,
>> though this part doesn't seem to actually matter as far as I can  
>> tell.
>
> You are wrong. Only code using MMX registers (%%mmx...) need it, code
> only using SSE registers (%%xmm...) as this one do not.

I stand corrected. (I'm honestly very inexperienced with this kind of  
code - I haven't touched ASM for almost 10 years now...)




More information about the MPlayer-users mailing list