[FFmpeg-devel] Does i686 have MMX?

Måns Rullgård mans
Fri Aug 27 18:26:43 CEST 2010


Jason Garrett-Glaser <darkshikari at gmail.com> writes:

> On Fri, Aug 27, 2010 at 4:26 AM, Luca Barbato <lu_zero at gentoo.org> wrote:
>> On 08/26/2010 08:29 PM, Jason Garrett-Glaser wrote:
>>> The issue is simple:
>>>
>>> 1. ?People use --cpu on x86 to mean "it should run on at least this
>>> CPU, and contain optimizations for all better CPUs". ?--cpu=i686 is
>>> widely used in order to enable CMOV on normal builds. ?Even if this is
>>> wrong, this is what people do. ?We cannot silently go and break what
>>> everyone currently does, it's just not reasonable.
>>
>> Your target "Everyone" might be using the release branch so they will
>> read the changelog item once a 0.7 will appear...
>>
>>> 2. ?This patch SILENTLY DISABLES MMX on almost all ffmpeg builds in
>>> the world. ?This is bad. ?I don't care if it's right, it's bad.
>>
>> I'd rather have you substantiate this claim.
>>
>>> 3. ?MMX should NEVER EVER be disabled unless --disable-mmx is passed.
>>> End of story.
>>
>> arm and powerpc might have something to say, but I'm digressing...
>>
>>> Possible solutions:
>>>
>>> 1. ?Revert the emms change.
>>
>> Why it had been made?
>>
>>> 2. ?By policy, make ffmpeg require MMX to run by default. ?Add a
>>> runtime check, just in case. ?Any --cpu that doesn't support MMX will
>>> error out unless the user specifies --disable-mmx too.
>>
>> That looks a worse timebomb.
>>
>>> Benefits: --cpu still makes logical sense, keeps the emms change, and
>>> we can enable CMOV by default too (i.e. if --cpu isn't set).
>>> Possible problems: this still breaks everyone's build scripts, but at
>>> least it'll break them loudly, so people will fix them.
>>
>> "Everyone" got it's build script broken by other stuff already many
>> times and hardly complained.
>>
>>> 3. ?By policy, make ffmpeg require MMX to run by default. ?Add a
>>> runtime check, just in case, telling the user to recompile without MMX
>>> if they're on an unsupported CPU. ?Don't check the user's --cpu option
>>> when it comes to validating this. ?This is what x264 does.
>>
>> I'm not sure why MMX must be special...
>
> You missed the earlier discussion where we agreed that it was.

I agree that it _is_ treated specially, and I think it's about time
that stopped.

-- 
M?ns Rullg?rd
mans at mansr.com



More information about the ffmpeg-devel mailing list