mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2026-06-24 08:48:37 +00:00
This fallback function is used if external MMX is available, while inline MMX and intrinsics for emitting emms are unavailable. It is implemented as an avpriv function, which has several drawbacks for shared builds: 1. The function is so small (3 bytes; 16 with padding) that the overhead of exporting and importing it dwarfs the gains from code deduplication. 2. A call to an external library has more overhead than a library-internal one. 3. It may cause linking failures when a libavutil not exporting avpriv_emms_asm() is paired with a library needing it (if inline assembly and intrinsics were unavailable when building the dependent library). I am not aware of this ever happening. 4. We would be forced to keep avpriv_emms_asm() around for ABI stability even after it is no longer needed. This commit therefore uses the STLIBOBJS, SHLIBOBJS approach to duplicating it into each library on its own if needed. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>