cisco/openh264 — pull request #463 by mstorsjo (2014-03-09 20:23:56+00:00)
Title: Avoid clobbering the neon registers q4-q7

This fixes failures in codec_unittest when run on iOS.

Without this, the neon functions basically violate the platform
calling conventions (on both iOS and all other platforms).

This incurs a small (around 2%) slowdown in the encoder, but
it is more or less unavoidable. The compiler is allowed to use NEON
instructions and registers anywhere in the calling C++ code, thus
storing/restoring the registers manually more seldom (such as with
XMMREG_PROTECT_STORE/XMMREG_PROTECT_LOAD) isn't feasible since it
would have to be done around basically every single assembly function
call.

https://rbcommons.com/s/OpenH264/r/172/