You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I was compiling fdk-aac for aarch64 platfrom and I noticed that ARM version of scramble function is never included in build.
It looks to me that the reason is incorrect preprocessor directives in scramble_arm.h file.
Replacing this line( scramble_arm.h 106):
-#if defined(FUNCTION_scramble)
with
+#if !defined(FUNCTION_scramble)
fixes the issue, and the function is now included in arm build.
But this causes other compilation errors. Assembly code in this function uses r registers, and it can't be compiled for 64-bit architecture.
I replaced r registers with x, this compiles well.
But now the test-encode-decode.c produces failures.
So, the results of generic scramble function and ARM version do not match.
Hi,
I was compiling fdk-aac for aarch64 platfrom and I noticed that ARM version of
scramble
function is never included in build.It looks to me that the reason is incorrect preprocessor directives in
scramble_arm.h
file.Replacing this line(
scramble_arm.h 106
):-
#if defined(FUNCTION_scramble)
with
+
#if !defined(FUNCTION_scramble)
fixes the issue, and the function is now included in arm build.
But this causes other compilation errors. Assembly code in this function uses
r
registers, and it can't be compiled for 64-bit architecture.I replaced
r
registers withx
, this compiles well.But now the
test-encode-decode.c
produces failures.So, the results of generic
scramble
function and ARM version do not match.It can be reproduced like this(x86_64 Ubuntu):
./autogen.sh
mkdir -p build && cd build
../configure --prefix=$BUILD_PATH --host=aarch64-linux-gnu --enable-shared=no --enable-static --enable-example
make -j8 && make install
export LD_LIBRARY_PATH=/path/to/aarch64-unknown-linux-gnu/sysroot/lib/
qemu-aarch64-static ./test-encode-decode Sample01_4.wav
There was used
aarch64-linux-gnu-gcc
compiler.Is this a bug or was ARM version of
scramble
function intentionally excluded from build?Thanks.
The text was updated successfully, but these errors were encountered: