Fix NDK r18 Android x86 ffmpeg dependency build #14615
After the switch to NDK r18, the Android x86 ffmpeg dependency no longer builds properly. The ffmpeg source code isn't entirely compatible with the r18 clang toolset.
Motivation and Context
This PR adds a couple extra CFLAGs to the Android x86 ffmpeg Makefile to disable use of the clang integrated assembler and deal with an additional API level 21 incompatibility.
How Has This Been Tested?
Tested on Ubuntu 16.04 using the environment as specified in the Android Build README.md. After the change all dependencies, including ffmpeg 4.0.2, build successfully for the x86 platform.
Screenshots (if appropriate):
Types of change
This may be academic regardless … I looked into the text relocation message and to get rid of it ffmpeg would have to be compiled with --disable-asm or be moved back to a target SDK of 22. Neither of which are desirable (I assume). --disable-asm is reported as introducing "crippling" performance problems on x86. ffmpeg has no plans to change around their x86/x64 code to support this, and Google similarly has no plans on allowing it on x86/x64 anymore.
I suggest keeping these build changes so that folks like me can still self-build for Android x86 as needed, but it doesn't seem like you'd be able to put a viable build in front of an end user. Unless of course you guys can get Google or ffmpeg to budge on their respective positions about x86 text relocations.