Files
FFmpeg/libavcodec
Krzysztof Pyrkosz 83e4b068d9 avcodec/aarch64/aacencdsp: NEON implementation
This patch supplies handwritten NEON code for AAC.

The benchmarks below were collected by invoking these two commands on
each of my boards, A78, A72 and Thinkpad x13s:
1) ./tests/checkasm/checkasm --test=aacencdsp --bench --runs=12
2) ./ffmpeg -y -t 10:00 -f lavfi -i sine /tmp/foo.aac (the first line is
speed without the patch, second, with)

- A78
abs_pow34_c:                                          4161.5 ( 1.00x)
abs_pow34_neon:                                       3586.2 ( 1.16x)
quant_bands_signed_c:                                 5548.0 ( 1.00x)
quant_bands_signed_neon:                              1126.8 ( 4.92x)
quant_bands_unsigned_c:                               3979.2 ( 1.00x)
quant_bands_unsigned_neon:                             800.2 ( 4.97x)

size=    5251KiB time=00:10:00.00 bitrate=  71.7kbits/s speed=71.6x
size=    5251KiB time=00:10:00.00 bitrate=  71.7kbits/s speed=82.3x

- A72
abs_pow34_c:                                         15362.2 ( 1.00x)
abs_pow34_neon:                                      15382.5 ( 1.00x)
quant_bands_signed_c:                                 9926.5 ( 1.00x)
quant_bands_signed_neon:                              2467.8 ( 4.02x)
quant_bands_unsigned_c:                               5469.8 ( 1.00x)
quant_bands_unsigned_neon:                            2089.5 ( 2.62x)

size=    5251KiB time=00:10:00.00 bitrate=  71.7kbits/s speed=34.3x
size=    5251KiB time=00:10:00.00 bitrate=  71.7kbits/s speed=37.8

- x13s
abs_pow34_c:                                          2413.4 ( 1.00x)
abs_pow34_neon:                                       1796.2 ( 1.34x)
quant_bands_signed_c:                                 2968.9 ( 1.00x)
quant_bands_signed_neon:                               675.6 ( 4.39x)
quant_bands_unsigned_c:                               2311.9 ( 1.00x)
quant_bands_unsigned_neon:                             477.1 ( 4.85x)

size=    5251KiB time=00:10:00.00 bitrate=  71.7kbits/s speed= 135x
size=    5251KiB time=00:10:00.00 bitrate=  71.7kbits/s speed= 159x

Signed-off-by: Martin Storsjö <martin@martin.st>
2025-01-28 10:44:40 +02:00
..
2025-01-25 09:37:45 +02:00
2024-11-28 10:03:01 +09:00
2024-06-08 00:22:40 +02:00
2024-06-08 00:22:40 +02:00
2024-12-22 16:08:33 +11:00
2024-08-14 18:21:01 +02:00
2025-01-01 21:33:45 +01:00
2024-07-12 22:42:18 +02:00
2024-09-06 13:59:28 +02:00
2024-07-12 22:42:20 +02:00
2024-06-13 20:36:09 -03:00
2024-09-28 18:35:35 +02:00
2024-09-28 18:35:35 +02:00
2025-01-01 20:31:08 +01:00
2024-07-23 23:21:17 +02:00
2024-11-01 12:13:07 +08:00
2024-07-12 22:42:28 +02:00
2024-09-24 15:37:19 +02:00
2024-12-11 07:52:22 +11:00
2024-05-31 13:36:02 -03:00
2024-12-22 16:08:33 +11:00
2024-06-14 21:28:10 +03:00
2024-07-12 22:42:40 +02:00
2024-07-12 22:42:42 +02:00
2024-11-09 02:46:17 +01:00
2024-06-08 00:22:35 +02:00
2024-06-20 18:58:39 +02:00
2024-11-03 10:53:15 +11:00
2024-11-03 10:53:15 +11:00
2024-11-03 10:53:15 +11:00
2024-11-03 10:53:15 +11:00
2024-06-03 14:13:34 +02:00
2024-10-12 11:21:14 -03:00
2024-10-12 11:21:14 -03:00
2024-10-12 11:21:14 -03:00
2024-10-12 11:21:14 -03:00
2024-10-12 11:21:14 -03:00
2024-10-12 11:21:14 -03:00
2024-11-01 12:13:07 +08:00
2024-11-01 12:13:07 +08:00
2024-09-24 15:37:19 +02:00
2024-06-12 12:07:49 +02:00
2024-06-20 18:58:38 +02:00
2024-10-31 17:49:48 +11:00
2024-10-31 17:49:48 +11:00
2024-10-31 17:49:48 +11:00
2024-10-31 17:49:48 +11:00
2024-09-24 15:37:20 +02:00