Re: [PATCH 0/5] SBC encoder optimizations for ARM processors

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Siarhei,

On Fri, Jul 02, 2010, Siarhei Siamashka wrote:
> This patch series adds a bunch of ARM assembly optimizations.
> 
> Now all the functions from 'sbc_primitives.c' got NEON optimized
> variants. As benchmarked with the common A2DP case (44100kHz audio
> with bitpool set to 53, 8 subbands, joint stereo), SBC encoding is
> now approximately 1.6x faster overall when compared to bluez-4.66.
> Some more room for improvement still exists though.
> 
> For ARMv6 processors, only analysis filter has been implemented
> (using dual 16-bit multiply-accumulate instructions). But that's
> the most important optimization and it doubles performance already.
> And older processors such as ARM11 are much slower, so they
> definitely benefit more on a relative scale (Nokia N800/N810 users
> may find this update useful).
> 
> All the optimizations are bitexact. Given the same input, they provide
> the same output as the SBC encoder from the previous bluez versions.
> 
> Patches are also available in the branch 'sbc-arm-optimizations' here:
> git://gitorious.org/system-performance/bluez-sbc.git
> 
> Siarhei Siamashka (5):
>   sbc: ARM NEON optimized joint stereo processing in SBC encoder
>   sbc: ARM NEON optimizations for input permutation in SBC encoder
>   sbc: slightly faster 'sbc_calc_scalefactors_neon'
>   sbc: faster 'sbc_calculate_bits' function
>   sbc: ARMv6 optimized version of analysis filter for SBC encoder
> 
>  Makefile.am                |    3 +-
>  sbc/sbc.c                  |   43 ++-
>  sbc/sbc_primitives.c       |    4 +
>  sbc/sbc_primitives_armv6.c |  299 +++++++++++++++++++++
>  sbc/sbc_primitives_armv6.h |   52 ++++
>  sbc/sbc_primitives_neon.c  |  618 ++++++++++++++++++++++++++++++++++++++++++-
>  6 files changed, 988 insertions(+), 31 deletions(-)
>  create mode 100644 sbc/sbc_primitives_armv6.c
>  create mode 100644 sbc/sbc_primitives_armv6.h

Thanks for these! They've all been pushed upstream now.

Johan
--
To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Bluez Devel]     [Linux Wireless Networking]     [Linux Wireless Personal Area Networking]     [Linux ATH6KL]     [Linux USB Devel]     [Linux Media Drivers]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Big List of Linux Books]

  Powered by Linux