[Vorbis-dev] [RFC PATCH v1 0/3] Introducing ARM SIMD Support

Viswanath Puttagunta viswanath.puttagunta at linaro.org
Wed Sep 10 12:15:06 PDT 2014


libvorbis does not currently have any simd/vectorization.

Following patches add generic framework for simd/vectorization
and on top, add ARM-NEON simd vectorization using intrinsics.

I was able to get over 34% performance improvement on my
Beaglebone Black which is single Cortex-A8 based CPU.

You can find more information on metrics and procedure I used
to measure at
https://wiki.linaro.org/WorkingGroups/Middleware/Graphics/MediaLibs/libvorbis

As described in above link/doc, you can see my work-in-progress
tree at
https://git.linaro.org/people/viswanath.puttagunta/vorbis.git

Also what standard should one follow when submitting patches
to libvorbis? I'm pretty sure linux kernel checkpatch.pl will
fail all patches for libvorbis. Please advise.

Viswanath Puttagunta (3):
  lib/simd: Introduce vectorization framework for libvorbis
  lib/block.c: Use optimized routine for wave_operation
  mdct: implement arm simd implementation for mdct

 configure.ac         |    5 ++
 lib/Makefile.am      |    6 +-
 lib/block.c          |   14 ++---
 lib/mdct.c           |  102 +-------------------------------
 lib/simd/Makefile.am |    9 +++
 lib/simd/neon_simd.c |  158 ++++++++++++++++++++++++++++++++++++++++++++++++++
 lib/simd/no_simd.c   |  129 +++++++++++++++++++++++++++++++++++++++++
 lib/simd/simd.h      |   40 +++++++++++++
 8 files changed, 351 insertions(+), 112 deletions(-)
 create mode 100644 lib/simd/Makefile.am
 create mode 100644 lib/simd/neon_simd.c
 create mode 100644 lib/simd/no_simd.c
 create mode 100644 lib/simd/simd.h

-- 
1.7.9.5



More information about the Vorbis-dev mailing list