annotate src/opus-1.3/celt/arm/mdct_arm.h @ 168:ceec0dd9ec9c

Replace these with versions built using an older toolset (so as to avoid ABI compatibilities when linking on Ubuntu 14.04 for packaging purposes)
author Chris Cannam <cannam@all-day-breakfast.com>
date Fri, 07 Feb 2020 11:51:13 +0000
parents 4664ac0c1032
children
rev   line source
cannam@154 1 /* Copyright (c) 2015 Xiph.Org Foundation
cannam@154 2 Written by Viswanath Puttagunta */
cannam@154 3 /**
cannam@154 4 @file arm_mdct.h
cannam@154 5 @brief ARM Neon Intrinsic optimizations for mdct using NE10 library
cannam@154 6 */
cannam@154 7
cannam@154 8 /*
cannam@154 9 Redistribution and use in source and binary forms, with or without
cannam@154 10 modification, are permitted provided that the following conditions
cannam@154 11 are met:
cannam@154 12
cannam@154 13 - Redistributions of source code must retain the above copyright
cannam@154 14 notice, this list of conditions and the following disclaimer.
cannam@154 15
cannam@154 16 - Redistributions in binary form must reproduce the above copyright
cannam@154 17 notice, this list of conditions and the following disclaimer in the
cannam@154 18 documentation and/or other materials provided with the distribution.
cannam@154 19
cannam@154 20 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
cannam@154 21 ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
cannam@154 22 LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
cannam@154 23 A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER
cannam@154 24 OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
cannam@154 25 EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
cannam@154 26 PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
cannam@154 27 PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
cannam@154 28 LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
cannam@154 29 NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
cannam@154 30 SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
cannam@154 31 */
cannam@154 32
cannam@154 33 #if !defined(MDCT_ARM_H)
cannam@154 34 #define MDCT_ARM_H
cannam@154 35
cannam@154 36 #include "mdct.h"
cannam@154 37
cannam@154 38 #if defined(HAVE_ARM_NE10)
cannam@154 39 /** Compute a forward MDCT and scale by 4/N, trashes the input array */
cannam@154 40 void clt_mdct_forward_neon(const mdct_lookup *l, kiss_fft_scalar *in,
cannam@154 41 kiss_fft_scalar * OPUS_RESTRICT out,
cannam@154 42 const opus_val16 *window, int overlap,
cannam@154 43 int shift, int stride, int arch);
cannam@154 44
cannam@154 45 void clt_mdct_backward_neon(const mdct_lookup *l, kiss_fft_scalar *in,
cannam@154 46 kiss_fft_scalar * OPUS_RESTRICT out,
cannam@154 47 const opus_val16 *window, int overlap,
cannam@154 48 int shift, int stride, int arch);
cannam@154 49
cannam@154 50 #if !defined(OPUS_HAVE_RTCD)
cannam@154 51 #define OVERRIDE_OPUS_MDCT (1)
cannam@154 52 #define clt_mdct_forward(_l, _in, _out, _window, _int, _shift, _stride, _arch) \
cannam@154 53 clt_mdct_forward_neon(_l, _in, _out, _window, _int, _shift, _stride, _arch)
cannam@154 54 #define clt_mdct_backward(_l, _in, _out, _window, _int, _shift, _stride, _arch) \
cannam@154 55 clt_mdct_backward_neon(_l, _in, _out, _window, _int, _shift, _stride, _arch)
cannam@154 56 #endif /* OPUS_HAVE_RTCD */
cannam@154 57 #endif /* HAVE_ARM_NE10 */
cannam@154 58
cannam@154 59 #endif