1) Fixes some potential NULL-pointer access in case input pointer is
passed NULL
2) Modified some for lazy init
Test: mm -j 8
Change-Id: I7fca97e1d9f70d8e8c1533b519181af35a5468f7
* In an effort to modernize build configurations to the new Soong
system, we need to upgrade existing Android.mk files to Android.bp
* This file is done by using the following steps:
1. Manually removing all *_sources from Android.mk, because
of the unusual make logic they use
2. Running the auto-conversion tool:
androidmk Android.mk > Android.bp
3. Editing the result Android.bp:
3.1. Writing the "srcs" list
3.2. Removing the escaping around -Wno-#warnings in cflags,
because those are not needed anymore
3.3. Renamed local_include_dirs to export_include_dirs to
facilititate the inclusion of header files.
It appears users of libFraunhoferAAC are using header
files from all include directories, hence the renaming.
Test: Code compilation ("mm" in external/aac, and "make" in top-directory)
Bug: b/32958753 b/34454142
Change-Id: Ie89f73722908e8734f4b88f1407952311ec064af
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: 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