On Wed, 18 Feb 2015, Peter Meerwald wrote:

modelled after aarch64 code

on Cortex-A8, s16 and s32 code is about 2x faster,
float code about 7x faster

Signed-off-by: Peter Meerwald <[email protected]>

--

Use three dashes instead of two, to have "git am" actually discard the annotations below

v2:
add NEON linear-interpolation resampling code for float32
fixed NEON register clobbering (Martin)
fixed lavr-resample-s32p fate tests (Martin)
formatting and tidying code (Diego)

note: libavutil/internal.h is necessary in resample_init.c for the offset checks
---
libavresample/arm/Makefile        |   6 +-
libavresample/arm/asm-offsets.h   |  28 +++
libavresample/arm/resample_init.c |  69 ++++++++
libavresample/arm/resample_neon.S | 357 ++++++++++++++++++++++++++++++++++++++
libavresample/internal.h          |   4 +-
libavresample/resample.c          |   2 +
6 files changed, 463 insertions(+), 3 deletions(-)
create mode 100644 libavresample/arm/asm-offsets.h
create mode 100644 libavresample/arm/resample_init.c
create mode 100644 libavresample/arm/resample_neon.S

This seems to work fine, and looks ok on a cursory overview (I didn't read it in very close detail).

This exposed a minor bug in gas-preprocessor for armasm (for Windows Phone/WinRT) that I sent a patch for. (It seemed to work fine with the MSVC 2012 version of armasm, but triggered an error in MSVC 2013.)

If there are no other objections, I'll push this in a few days (after the gas-preprocessor patch is merged).

// Martin
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to