Andreas Rheinhardt: > Andreas Rheinhardt: >> x64 requires MMX, MMXEXT, SSE and SSE2; yet there is no shortage >> of code like the following: >> >> if (EXTERNAL_MMX(cpu_flags)) { >> c->ssd_int8_vs_int16 = ff_ssd_int8_vs_int16_mmx; >> } >> if (EXTERNAL_SSE2(cpu_flags)) { >> c->ssd_int8_vs_int16 = ff_ssd_int8_vs_int16_sse2; >> } >> >> Given that SSE2 is always present on x64, the only way >> for the mmx version to be chosen in the above example >> is if SSE2 has been disabled either at compile-time >> or at runtime, i.e. it is never used unless one shoots >> oneself in the foot. >> This patchset therefore disables such functions for x64 >> by #if'ing them away; x86 has not been affected. This >> saves about 140KB. >> >> (Another way to handle this would be to remove every function >> that would be overridden if one had a processor capable of >> MMX, MMXEXT, SSE and SSE2. x86 processors not fulfilling >> this requirement (which are truely ancient nowadays) >> would still work, but would be slower, i.e. they would be treated >> as second-class citizens. This would have the advantage of >> avoiding #ifs and would lighten x86 binaries of code that is >> not used at all by the overwhelming majority of users. >> I'll update this patchset if it is preferred to do it that way.) >> > > I have now implemented this other way mentioned above (i.e. removing > stuff that is overridden if SSE2 is available altogether also for > x86-32); the result can be seen here: > https://github.com/mkver/FFmpeg/commits/mmx2 > I prefer this to the old version because of the reduced complexity which > dwarfs the potential to slow down some ancient systems a bit (if these > ancient systems use an up-to-date FFmpeg which is quite unlikely). > Furthermore, some of the MMX scale functions that are removed are > buggy/not bixexact. See > https://github.com/mkver/FFmpeg/commit/c5513ad962100040601b5eba0042692a740ac50a > (or shall I post these patches?) > Is anyone against this removal? >
Given that no one was against removing these old functions, but several people (on IRC) supported the idea I will go ahead and do it. I will apply https://github.com/mkver/FFmpeg/commits/mmx3 (an updated and extended version of the branch linked to above) in two days unless there are objections. (I can also send this to the mailing list if desired.) - Andreas _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".