Use -DPREFIX instead of --prefix _ on OS X

The --prefix parameter differs between yasm and nasm; nasm
requires --prefix _ while yasm requires --prefix=_. Using the
define instead (as on windows) allows easier switching between
the two otherwise mostly compatible assemblers.

This fixes building with yasm on OS X in 32 bit mode. For 64 bit,
a few more tweaks are still required.
Remove the unused FORMAT_COFF define

Nothing in the project currently sets FORMAT_COFF - the other generic
branch works just fine on windows.
  modify EncoderFrame return type.
commit b99a307ab94183c32a293ad5fda8b0e3323546a0
Author: ruil2 <ruil2@cisco.com>
Date:   Wed Mar 12 13:34:27 2014 +0800

    fix typo
modify unit test for return type modification
fix typo
Merge pull request #515 from mstorsjo/remove-commented-x86-asm

Remove commented out code for old, 32-bit only x86 assembly function prologues/epilogues
Use movsxd in SIGN_EXTENSION

This is what nasm ended up assembling movsx with 32 bit input to
anyway.

Keep using plain movsx for 16 bit input.

This fixes building with yasm in 64 bit mode.
Fold ALIGN 16 and the function label into WELS_EXTERN

This simplifies the structure for all x86 assembly functions,
reducing the amount of duplicated code structure.
Remove commented out rodata sections and tables in assembly files
Backup/restore the xmm6-xmm15 SSE registers within asm functions on win64

According to the Win64 ABI, these registers need to be preserved,
and compilers are allowed to rely on their content to stay
available - not only for float usage but for any usage, anywhere,
in the calling C++ code.

This adds a macro which pushes the clobbered registers onto the
stack if targeting win64 (and a matching one which restores them).
The parameter to the macro is the number of xmm registers used
(e.g. if using xmm0 - xmm7, the parameter is 8), or in other
words, the number of the highest xmm register used plus one.

This is similar to how the same issue is handled for the NEON
registers q4-q7 with the vpush instruction, except that they needed
to be preserved on all platforms, not only on one particular platform.

This allows removing the XMMREG_PROTECT_* hacks, which can
easily fail if the compiler chooses to use the callee saved
xmm registers in an unexpected spot.
Remove XMMREG_PROTECT

This isn't necessary any longer, when all the assembly routines
take care of restoring registers as necessary.
Merge pull request #508 from mstorsjo/fix-yasm-osx

Use -DPREFIX instead of --prefix _ on OS X
Merge pull request #518 from mstorsjo/remove-commented-rodata

Remove commented out rodata sections and tables in assembly files
Don't clobber q4-q7 in WelsIntra16x16Combined3Satd_neon

This is similar to what is done in other neon functions. This
function was missed since it isn't covered by the current
set of unittests.
Add a test of encoding multiple spatial layers

This increases the coverage of the unit tests.
Enable the arm assembly in msvc-arm builds

This requires using the external gas-preprocessor tool that
converts the gnu assembler format sources to armasm format at
build time. This allows keeping the source files in one single
format but only converting while building.
Merge pull request #521 from mstorsjo/neon-register-backup

Don't clobber q4-q7 in WelsIntra16x16Combined3Satd_neon
Merge pull request #517 from mstorsjo/simplify-x86-asm-func-macro

Fold ALIGN 16 and the function label into WELS_EXTERN
Merge pull request #516 from mstorsjo/fix-yasm-64bit

Fix building with yasm in 64 bit mode
Merge pull request #523 from mstorsjo/wp8-arm-asm

Enable the arm assembly in msvc-arm builds