On Wed, 17 Apr 2024, Ramiro Polla wrote:

The code is imported from libjpeg-turbo-3.0.1. The neon registers used
have been changed to avoid modifying v8-v15.
---
libavcodec/aarch64/Makefile               |   2 +
libavcodec/aarch64/fdct.h                 |  26 ++
libavcodec/aarch64/fdctdsp_init_aarch64.c |  39 +++
libavcodec/aarch64/fdctdsp_neon.S         | 368 ++++++++++++++++++++++
libavcodec/avcodec.h                      |   1 +
libavcodec/fdctdsp.c                      |   4 +-
libavcodec/fdctdsp.h                      |   2 +
libavcodec/options_table.h                |   1 +
libavcodec/tests/aarch64/dct.c            |   2 +
tests/checkasm/Makefile                   |   1 +
tests/checkasm/checkasm.c                 |   3 +
tests/checkasm/checkasm.h                 |   1 +
tests/checkasm/fdctdsp.c                  |  68 ++++
tests/fate/checkasm.mak                   |   1 +
14 files changed, 518 insertions(+), 1 deletion(-)
create mode 100644 libavcodec/aarch64/fdct.h
create mode 100644 libavcodec/aarch64/fdctdsp_init_aarch64.c
create mode 100644 libavcodec/aarch64/fdctdsp_neon.S
create mode 100644 tests/checkasm/fdctdsp.c

Overall LGTM, thanks!

You may wish to split adding the checkasm test to a separate patch, before adding the new implementation.

I was surprised by the header libavcodec/aarch64/fdct.h which seemed redundant on first glance, but I see that this is needed for the dct test executable in libavcodec/tests/aarch64/dct.c, so I guess this is reasonable. (In most other asm implementations, we just declare the functions at the start of the *_init.c files.)

// Martin

_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".

Reply via email to