Commit Graph

2059 Commits

Author SHA1 Message Date
Romain Beauxis dae91a282a Add build support for s390x 2023-12-21 13:33:13 +02:00
Martin Storsjo 5ccb648586 Saturate additions in getEnvSfbEnergy in SBR encoding
This avoids wraparounds, which can trigger failed asserts with
some inputs. This fixes
https://github.com/mstorsjo/fdk-aac/issues/158.

The implementation of saturated addition loses the contents of the
lowest bit though, thus this change affects the output - but the
change is said to be acceptable.
2023-12-21 13:33:13 +02:00
Martin Storsjo b7f2620d7c Add Github Actions CI build testing 2023-12-21 13:33:13 +02:00
Martin Storsjo 3d67acd6f2 Add a script for doing very rudimentary regression testing
This is expected to fail if the encoder is updated in a way
that changes its output; in such cases, the test references need
to be updated.
2023-12-21 13:33:10 +02:00
Martin Storsjo 8e8b7a92b8 Add a tool for testing decoding+encoding in a number of configurations 2023-12-21 13:32:53 +02:00
David Seifert b8312d7087 Do not force inlining of indirect functions
* A function called indirectly cannot be decorated
  with `__attribute((always_inline))`, as this is
  guaranteed to only work with direct calls:
    https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63220#c1

Bug: https://bugs.gentoo.org/798045
2023-12-21 13:32:00 +02:00
Christian Budde 035715c761 Fixed a typo in the documentation 2023-12-21 13:32:00 +02:00
evpobr acbd0513b8 Add CMake project 2023-12-21 13:32:00 +02:00
Rosen Penev ade2484bc8 fix compilation with mips16
Some users wrongly pass both -mips16 and -mdsp when compiling on MIPS
platforms. Handle such a case.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2023-12-21 13:31:53 +02:00
Martin Storsjo f490b51ab7 Fix FDK_FALLTHROUGH for apple clang
In the apple branded version of clang, the [[clang::fallthrough]]
attribute isn't supported.

Directly exposing __has_cpp_attribute(clang::fallthrough) to the
preprocessor breaks when building in C mode with GCC, which forces
wrapping it in an extra layer of #ifdef __cplusplus.
2023-12-21 13:31:53 +02:00
Martin Storsjo 68a1c0b706 Remove a duplicate definition of fMax/fMin for x86_64 mingw
FIXP_SGL is a typedef for SHORT, so these extra definitions (which
only were enabled on x86_64 mingw) were duplicates with the fMin/fMax
functions defined for FIXP_SGL right above.
2023-12-21 13:31:53 +02:00
Martin Storsjo ea4e2d9158 Initialize the transport decoder library with TPDEC_PARAM_IGNORE_BUFFERFULLNESS
Prior to FDKv2, this was what the library used to do.

This makes sure that the decoder actually decodes ADTS frames directly
if feeding full ADTS frames to the decoder. Previously after FDKv2,
the decoder would only start decoding ADTS frames after feeding a few
frames.
2023-12-21 13:31:53 +02:00
Martin Storsjo 4a80def7a5 Recognize the MSVC ARM64 compiler arch identification 2023-12-21 13:31:53 +02:00
Martin Storsjo 13f2512e1e Replace __attribute__((always_inline)) with FDK_FORCEINLINE
This fixes compilation for ARM with MSVC.
2023-12-21 13:31:53 +02:00
Martin Storsjo 026bb612c9 Add an fdk_ prefix to t_qua_gain7b
This fixes symbol collisions, if libfdk-aac and libopencore-amr are
statically linked into the same binary.
2023-12-21 13:31:53 +02:00
Martin Storsjo 391da191f9 Fix building with MSVC for ARM
cmnintrin.h only existed for Windows CE, and doesn't seem to actually
be necessary for building this.
2023-12-21 13:31:53 +02:00
opcodevoid 0c4d354f1c Windows MSVC Build fixes 2023-12-21 13:31:53 +02:00
Guillaume Smaha a950267dea Invert inline and void to be compatible with gcc 3.3.4 2023-12-21 13:31:53 +02:00
Vicente Olivert Riera 1570842036 libFDK/include/mips/cplx_mul.h: use C code instead of ASM
Replace the assembler code by the equivalent in C. This way it will work
for every MIPS ISA. Now the check for __mips_isa_rev < 6 is no longer
necessary, so remove it.

Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
2023-12-21 13:31:53 +02:00
Jasper Lievisse Adriaanse a9eac06104 Fix the preprocessor statements controlling the use of mips{32,64}r1 instructions.
Only enable code using mips32/mips64 instructions if the compiler is targetting
this ISA. (integer madd and msub instructions aren't available in the
``canonical'' mips ISAs)
2023-12-21 13:31:53 +02:00
Mark Harris b95f4256ac Add ppc optimization for clz and fixmul
Optimize ppc/ppc64 similar to i386/x86_64, approximately doubling
encoding speed on a Power Mac G5 running OS X 10.5.8.
2023-12-21 13:31:53 +02:00
Mark Harris 2e3eaa0ca4 Fix PowerPC Mac build 2023-12-21 13:31:53 +02:00
Martin Storsjo 964d6a3d10 Add automake/autoconf source files
Also add examples.
2023-12-21 13:31:53 +02:00
Sergio Ammirata 1ff40b51f9 Add support for Workgroup 4 (WG4) channel mapping
This is the channel ordering used in DVD Audio, and is the standard
used internally in the VLC media player.
2023-12-21 12:40:17 +02:00
Xin Li 4e00b07669 Merge "Merge Android 14" into main am: 5543791bdc am: e656b1df09 am: 8740c0225a am: ca0a82b00d
Original change: https://android-review.googlesource.com/c/platform/external/aac/+/2776404

Change-Id: I5fb807c77a2ef521df291868f3e367eb674ff4c2
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-10-06 11:00:53 +00:00
Xin Li ca0a82b00d Merge "Merge Android 14" into main am: 5543791bdc am: e656b1df09 am: 8740c0225a
Original change: https://android-review.googlesource.com/c/platform/external/aac/+/2776404

Change-Id: I867b64d8c68b4edabb79bd5010f1148adf3e9556
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-10-06 09:51:03 +00:00
Xin Li 8740c0225a Merge "Merge Android 14" into main am: 5543791bdc am: e656b1df09
Original change: https://android-review.googlesource.com/c/platform/external/aac/+/2776404

Change-Id: Ie1233a2d88849ca4cc8a579e5393a4f87f2ca025
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-10-06 08:59:27 +00:00
Xin Li e656b1df09 Merge "Merge Android 14" into main am: 5543791bdc
Original change: https://android-review.googlesource.com/c/platform/external/aac/+/2776404

Change-Id: Ie3d435df307adf840645785fde7b5d7363663216
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-10-06 07:52:23 +00:00
Xin Li 5543791bdc Merge "Merge Android 14" into main 2023-10-06 05:38:52 +00:00
Xin Li 7a4a08dbf0 Merge Android 14
Bug: 298295554
Merged-In: I206973e0bb21140865efffd930e39f920f477359
Change-Id: Ic25a4d2ce82788e0f07d1e5de0f76c780977b180
2023-10-05 15:36:59 -07:00
Xin Li 5698339f09 [automerger skipped] Merge Android U (ab/10368041) am: ff7af5c8e6 -s ours am: 5a494cb19d -s ours am: 2c67e4be56 -s ours
am skip reason: Merged-In Icf5305a7da47fb85235f428151f2fed10f4aa2f4 with SHA-1 820482ff3f is already in history

Original change: https://googleplex-android-review.googlesource.com/c/platform/external/aac/+/24181617

Change-Id: Ie65dd3e8b04ce8bd672f6b10d553ca0fe99a3295
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-08-29 01:11:12 +00:00
Xin Li 2c67e4be56 [automerger skipped] Merge Android U (ab/10368041) am: ff7af5c8e6 -s ours am: 5a494cb19d -s ours
am skip reason: Merged-In Icf5305a7da47fb85235f428151f2fed10f4aa2f4 with SHA-1 820482ff3f is already in history

Original change: https://googleplex-android-review.googlesource.com/c/platform/external/aac/+/24181617

Change-Id: Ibb561b2cd05103b265e643d3cf0cb02846546f53
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-08-29 00:35:29 +00:00
Xin Li 5a494cb19d [automerger skipped] Merge Android U (ab/10368041) am: ff7af5c8e6 -s ours
am skip reason: Merged-In Icf5305a7da47fb85235f428151f2fed10f4aa2f4 with SHA-1 820482ff3f is already in history

Original change: https://googleplex-android-review.googlesource.com/c/platform/external/aac/+/24181617

Change-Id: I581dd4e3327870449926487ed3d04d22f2c8cbde
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-08-28 23:59:29 +00:00
Xin Li ff7af5c8e6 Merge Android U (ab/10368041)
Bug: 291102124
Merged-In: Icf5305a7da47fb85235f428151f2fed10f4aa2f4
Change-Id: I1d3004de1db114ad88224d8b7d4aaeec0d1fe23d
2023-08-14 15:36:13 -07:00
Treehugger Robot 050077eafb Merge "Updated fuzz_config in Android.bp file" am: e1495c9ec5 am: 6144fcd3a6 am: d5b80a23c2 am: 820482ff3f am: b168e56d18
Original change: https://android-review.googlesource.com/c/platform/external/aac/+/2471984

Change-Id: I57a858e7fa79fabb1faa10404e6ad69acf7486f2
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-06-19 10:17:27 +00:00
Treehugger Robot b168e56d18 Merge "Updated fuzz_config in Android.bp file" am: e1495c9ec5 am: 6144fcd3a6 am: d5b80a23c2 am: 820482ff3f
Original change: https://android-review.googlesource.com/c/platform/external/aac/+/2471984

Change-Id: Ie7824b8fd057d6b383617fe64c7e554b6dcc6348
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-06-19 09:39:37 +00:00
Treehugger Robot 820482ff3f Merge "Updated fuzz_config in Android.bp file" am: e1495c9ec5 am: 6144fcd3a6 am: d5b80a23c2
Original change: https://android-review.googlesource.com/c/platform/external/aac/+/2471984

Change-Id: Icf5305a7da47fb85235f428151f2fed10f4aa2f4
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-06-19 08:54:35 +00:00
Treehugger Robot d5b80a23c2 Merge "Updated fuzz_config in Android.bp file" am: e1495c9ec5 am: 6144fcd3a6
Original change: https://android-review.googlesource.com/c/platform/external/aac/+/2471984

Change-Id: I3e88cc494864e50a9aba55368abd2aa68ba0daa6
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-06-19 08:06:15 +00:00
Treehugger Robot 6144fcd3a6 Merge "Updated fuzz_config in Android.bp file" am: e1495c9ec5
Original change: https://android-review.googlesource.com/c/platform/external/aac/+/2471984

Change-Id: I3ab0c566dcf14ff9edad899eb0cd5818d2211a64
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-06-19 07:27:40 +00:00
Treehugger Robot e1495c9ec5 Merge "Updated fuzz_config in Android.bp file" 2023-06-19 06:50:16 +00:00
Fraunhofer IIS FDK 25056b2254 [automerger skipped] Increase patchParam array size by one and fix out-of-bounce write in resetLppTransposer(). am: 451762ca48 -s ours am: 990f402bdf -s ours am: de6ed2f433 -s ours am: f2c0c8722a -s ours am: 51901eb166 -s ours am: 1985b858ab -s ours am: 11fe84eaf8 -s ours am: 0c859a510a -s ours am: afd7d151c0 -s ours am: 58b6ac2aaf -s ours am: 10d49dfb82 -s ours
am skip reason: Merged-In I206973e0bb21140865efffd930e39f920f477359 with SHA-1 46c53ba0cb is already in history

Original change: https://googleplex-android-review.googlesource.com/c/platform/external/aac/+/23497456

Change-Id: If2cffb48fda89f0017b6eaddb83795b9ac5f115d
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-06-05 22:16:48 +00:00
Fraunhofer IIS FDK 1ec7acbce4 [automerger skipped] Increase patchParam array size by one and fix out-of-bounce write in resetLppTransposer(). am: 46c53ba0cb -s ours am: e65291ead7 -s ours am: ec5f76e522 -s ours am: 867b8e1f77 -s ours am: 4af68e31b3 -s ours am: 2012fb9340 -s ours am: 4fe922ff76 -s ours am: 81771bec91 -s ours am: d31464f826 -s ours am: 2d1868bf99 -s ours
am skip reason: Merged-In I206973e0bb21140865efffd930e39f920f477359 with SHA-1 173576b2b3 is already in history

Original change: https://googleplex-android-review.googlesource.com/c/platform/external/aac/+/23497460

Change-Id: I1ef9db17b64fdfe40959be64da62b8927ee01fd0
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-06-05 22:16:40 +00:00
Fraunhofer IIS FDK d463a4c933 [automerger skipped] Increase patchParam array size by one and fix out-of-bounce write in resetLppTransposer(). am: 173576b2b3 -s ours am: 2297b69943 -s ours am: daa7312ce2 -s ours am: 8fa3cb2888 -s ours am: 7e3afbb85d -s ours am: 64809622b6 -s ours am: 2bc1bd163d -s ours am: 39a6d184f1 -s ours am: 2b9ac3ba72 -s ours
am skip reason: Merged-In I206973e0bb21140865efffd930e39f920f477359 with SHA-1 35a37fd6ed is already in history

Original change: https://googleplex-android-review.googlesource.com/c/platform/external/aac/+/23497466

Change-Id: Id06d8d88ed513f1b272a169094b6dc29827256a4
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-06-05 22:16:34 +00:00
Fraunhofer IIS FDK 3767e9eedd [automerger skipped] Increase patchParam array size by one and fix out-of-bounce write in resetLppTransposer(). am: 35a37fd6ed -s ours am: ae3186940a -s ours am: 7c0b490f6b -s ours am: 6611abd75d -s ours am: c0228e20b7 -s ours am: ff72e4b39d -s ours am: 84ca152914 -s ours am: 244dcb7b05 -s ours
am skip reason: Merged-In I206973e0bb21140865efffd930e39f920f477359 with SHA-1 cd6f219861 is already in history

Original change: https://googleplex-android-review.googlesource.com/c/platform/external/aac/+/23497640

Change-Id: I38c4a2c0bc276618b25f4bbf63226eac16ee1e85
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-06-05 22:16:29 +00:00
Fraunhofer IIS FDK 677ab0401d [automerger skipped] Increase patchParam array size by one and fix out-of-bounce write in resetLppTransposer(). am: cd6f219861 -s ours am: 14db3e3104 -s ours am: 882e4f2180 -s ours am: d72330c0a7 -s ours am: f33b682192 -s ours am: e7e618c809 -s ours am: 5f37ea1c06 -s ours
am skip reason: Merged-In I206973e0bb21140865efffd930e39f920f477359 with SHA-1 2f8c08a4e7 is already in history

Original change: https://googleplex-android-review.googlesource.com/c/platform/external/aac/+/23497642

Change-Id: I4f0db7440205448508ccbf8a1b9d43d94e923372
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-06-05 22:16:23 +00:00
Fraunhofer IIS FDK a086204b69 [automerger skipped] Increase patchParam array size by one and fix out-of-bounce write in resetLppTransposer(). am: 2f8c08a4e7 am: d71bdb8fa4 -s ours am: c933b13d82 -s ours am: f3d2f764b0 -s ours am: 4863fe5bb5 -s ours am: b9e8d2a59a -s ours
am skip reason: Merged-In I206973e0bb21140865efffd930e39f920f477359 with SHA-1 cf141c714f is already in history

Original change: https://googleplex-android-review.googlesource.com/c/platform/external/aac/+/23497643

Change-Id: I03103999c1ea98a150db50976efa36189ce21675
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-06-05 22:16:18 +00:00
Fraunhofer IIS FDK ccf900e1e2 [automerger skipped] Increase patchParam array size by one and fix out-of-bounce write in resetLppTransposer(). am: 451762ca48 -s ours am: 990f402bdf -s ours am: de6ed2f433 -s ours am: f2c0c8722a -s ours am: 51901eb166 -s ours am: 1985b858ab -s ours am: 15c94964e0 -s ours am: 063f755963 -s ours am: 806ab2d0fa -s ours am: 18a6014607 -s ours
am skip reason: Merged-In I206973e0bb21140865efffd930e39f920f477359 with SHA-1 46c53ba0cb is already in history

Original change: https://googleplex-android-review.googlesource.com/c/platform/external/aac/+/23497456

Change-Id: Ib6d49c4d3edccda4187b5628798673959be7928c
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-06-05 22:16:11 +00:00
Fraunhofer IIS FDK 3a577765b2 [automerger skipped] Increase patchParam array size by one and fix out-of-bounce write in resetLppTransposer(). am: 46c53ba0cb -s ours am: e65291ead7 -s ours am: ec5f76e522 -s ours am: 867b8e1f77 -s ours am: 4af68e31b3 -s ours am: 0010ae7c45 -s ours am: aa48c8c31f -s ours am: d94007c13b -s ours am: c3ded5ee96 -s ours
am skip reason: Merged-In I206973e0bb21140865efffd930e39f920f477359 with SHA-1 173576b2b3 is already in history

Original change: https://googleplex-android-review.googlesource.com/c/platform/external/aac/+/23497460

Change-Id: I2a728dcdc159d6706146e10cc994749057537acf
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-06-05 22:16:05 +00:00
Fraunhofer IIS FDK 8460e11e80 [automerger skipped] Increase patchParam array size by one and fix out-of-bounce write in resetLppTransposer(). am: 173576b2b3 -s ours am: 2297b69943 -s ours am: daa7312ce2 -s ours am: 8fa3cb2888 -s ours am: 8e7379d938 -s ours am: 1052e4c46c -s ours am: 51b0aa4739 -s ours am: 77df0f370e -s ours
am skip reason: Merged-In I206973e0bb21140865efffd930e39f920f477359 with SHA-1 35a37fd6ed is already in history

Original change: https://googleplex-android-review.googlesource.com/c/platform/external/aac/+/23497466

Change-Id: I8a374f1de63d737e593bed340e33206cd772b050
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-06-05 22:15:52 +00:00
Fraunhofer IIS FDK 974224aa73 [automerger skipped] Increase patchParam array size by one and fix out-of-bounce write in resetLppTransposer(). am: 35a37fd6ed -s ours am: ae3186940a -s ours am: 7c0b490f6b -s ours am: cc453a7a26 -s ours am: ca237e7dbe -s ours am: 2503fd0685 -s ours am: 3a72bc5218 -s ours
am skip reason: Merged-In I206973e0bb21140865efffd930e39f920f477359 with SHA-1 cd6f219861 is already in history

Original change: https://googleplex-android-review.googlesource.com/c/platform/external/aac/+/23497640

Change-Id: I5b2bbabca70d23e506b44a164a155e56631d654e
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-06-05 22:15:40 +00:00