[opus] [RFC PATCHv3] Encode optimize using libNe10

Viswanath Puttagunta viswanath.puttagunta at linaro.org
Tue Mar 3 12:51:56 PST 2015


Changes from RFC PATCH v2

- fixed compile issue when just compiling for --enable-intrinsics
  for ARMv7 without NE10

- Notes for NE10:
  - All compile/link warnings are now in upstream NE10
  - Only patch pending upstream in NE10 is the one that
    needs to add -funsafe-math-optimizations for ARMv7
    targets.
  - Phil Wang @ ARM is working on getting this fixed.
  - Note that even without this patch, stuff should compile
    and link without any warnings and run without errors
  - Only that for ARMv7 targets performance will not be
    improved.
  - For my performance testing, see my wip Ne10 branch
    below that applies -funsafe-math-optimizations

- For references below are my wip trees for this RFCv3 patch
  https://git.linaro.org/people/viswanath.puttagunta/opus.git
  Branch: rfcv3_final_opus_fft_ne10 

  https://git.linaro.org/people/viswanath.puttagunta/Ne10.git
  rfcv3_final_ne10_fft

Viswanath Puttagunta (1):
  armv7(float): Optimize encode usecase using NE10 library

 Makefile.am                           |  34 +--
 celt/arm/arm_celt_map.c               |  47 +++-
 celt/arm/celt_ne10_fft.c              | 120 ++++++++++
 celt/arm/celt_ne10_mdct.c             | 158 +++++++++++++
 celt/arm/fft_arm.h                    |  66 ++++++
 celt/arm/mdct_arm.h                   |  53 +++++
 celt/celt_encoder.c                   |  13 +-
 celt/dump_modes/Makefile              |  23 +-
 celt/dump_modes/dump_modes.c          |  21 ++
 celt/dump_modes/dump_modes_arch.h     |  41 ++++
 celt/dump_modes/dump_modes_arm_ne10.c | 125 +++++++++++
 celt/kiss_fft.c                       |  27 ++-
 celt/kiss_fft.h                       |  54 ++++-
 celt/mdct.c                           |  15 +-
 celt/mdct.h                           |  39 +++-
 celt/modes.c                          |   8 +-
 celt/static_modes_float.h             |  25 +++
 celt/static_modes_float_arm_ne10.h    | 404 ++++++++++++++++++++++++++++++++++
 celt/tests/test_unit_dft.c            |  52 +++--
 celt/tests/test_unit_mathops.c        |   6 +
 celt/tests/test_unit_mdct.c           |  82 ++++---
 celt/tests/test_unit_rotation.c       |   6 +
 celt_headers.mk                       |   3 +
 celt_sources.mk                       |   4 +
 configure.ac                          |  81 +++++++
 src/analysis.c                        |   8 +-
 src/analysis.h                        |   2 +-
 src/opus_encoder.c                    |   2 +-
 src/opus_multistream_encoder.c        |   9 +-
 29 files changed, 1423 insertions(+), 105 deletions(-)
 create mode 100644 celt/arm/celt_ne10_fft.c
 create mode 100644 celt/arm/celt_ne10_mdct.c
 create mode 100644 celt/arm/fft_arm.h
 create mode 100644 celt/arm/mdct_arm.h
 create mode 100644 celt/dump_modes/dump_modes_arch.h
 create mode 100644 celt/dump_modes/dump_modes_arm_ne10.c
 create mode 100644 celt/static_modes_float_arm_ne10.h

-- 
1.9.1



More information about the opus mailing list