Clang warns about this being deprecated, when building without specifying
-std=c++98.
This doesn't give any measurable encoding speed impact on ARM or AArch64,
on neither GCC nor Clang.
Change-Id: I63a0bbd1dccb97547522da188ee585d4d8127c29
This fixes building in C++11 mode, which normally errors out
on narrowing hex literals to signed long.
This is similar to what was done in git commit ef30836651
(change id I64d19a8a8059c5a96386b1eaac297fd2469515f8), completing
the fix for that category of issues.
Change-Id: I1907bc947d43bf44910fb2b34bf2b31c0e53aa53
The fixmuldiv functions don't need inline assembly to be fast
in this architecture; the compiler (both clang and GCC) figure
out to use the optimal instructions for this (which is 2 instruction
sequence), and when letting the compiler emit the instructions
instead of using inline assembly, the compiler is able to
interleave those instructions with other instructions,
improving scheduling, making it even faster than when using
inline assembly.
Overall, this gives about 50% speedup.
This fixes the following warning:
libSBRenc/src/sbr_encoder.cpp:1942:14: warning: equality comparison
with extraneous parentheses [-Wparentheses-equality]
Change-Id: I2c833d19348574473c752076a4efff6642c0d653
GCC 6 defaults to C++14 (or more precisely, gnu++14) instead of C++98
(or gnu++98).
The fdk-aac source doesn't support being built in this mode at the
moment, since it relies on narrowing conversion from unsigned 32 bit
integers to FIXP_DBL (which is a signed data type of the same size).
The same approach is used upstream in Android as well, since
d52f374768.
This fixes buliding with GCC 6.
am: fb66dce
* commit 'fb66dceae5e856648073138305ea59cc4eabf26e':
Disable warnings that are not easily fixable
Change-Id: I357fd4fd9aa8400c982959a8041d5c243eb3c430
am: e95a3bd
* commit 'e95a3bd58f2a6e7a67cd22d5dcea44c36024bea2':
Left shift of negative int is undefined
Change-Id: I6cbd95e96a9ad60273d4b48a6db425c636c33b77
am: 00fc1c6
* commit '00fc1c66d5a524c6961db04d05e1076b18003231':
Disable warnings that are not easily fixable
Change-Id: Id64b163cd217ad1cbb209843819416f3a8b354b1
am: e34e2b9
* commit 'e34e2b9d54680b7d59104b8398d10f6d4d8c5be6':
Left shift of negative int is undefined
Change-Id: Ic539e64d4cf654b3e8924d6321ac203f4f355a96
am: 2a923c9
* commit '2a923c92869efb277ca7d67ab6c27617ec26c128':
Disable warnings that are not easily fixable
Change-Id: I920b16bdaa1ce7a00c91e129b950f0d486a1fa37
am: 2b2e97b
* commit '2b2e97b893b16b69c7728d16e8653b9c94944294':
Left shift of negative int is undefined
Change-Id: Ie90b850b7adf787dfb47f8b7c43a22744c3a7fa0
am: 8192b1a
* commit '8192b1a98f60cc39253c658ba1ca70a70c2e0dfa':
Disable warnings that are not easily fixable
Change-Id: I5dc1fabd29cfb7024f8362359a796efd1764032d
am: 6ae5480
* commit '6ae54806ab88efd76e884447680fd30b340936fd':
Left shift of negative int is undefined
Change-Id: If6a4abe686d3ab6b7f825058255b03aa46055484