annotate src/opus-1.3/celt/x86/celt_lpc_sse.h @ 75:8f7fd4420df7

Add some cross-platform Boost headers
author Chris Cannam
date Sat, 16 Feb 2019 16:31:25 +0000
parents 7aeed7906520
children
rev   line source
Chris@69 1 /* Copyright (c) 2014, Cisco Systems, INC
Chris@69 2 Written by XiangMingZhu WeiZhou MinPeng YanWang
Chris@69 3
Chris@69 4 Redistribution and use in source and binary forms, with or without
Chris@69 5 modification, are permitted provided that the following conditions
Chris@69 6 are met:
Chris@69 7
Chris@69 8 - Redistributions of source code must retain the above copyright
Chris@69 9 notice, this list of conditions and the following disclaimer.
Chris@69 10
Chris@69 11 - Redistributions in binary form must reproduce the above copyright
Chris@69 12 notice, this list of conditions and the following disclaimer in the
Chris@69 13 documentation and/or other materials provided with the distribution.
Chris@69 14
Chris@69 15 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
Chris@69 16 ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
Chris@69 17 LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
Chris@69 18 A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER
Chris@69 19 OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
Chris@69 20 EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
Chris@69 21 PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
Chris@69 22 PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
Chris@69 23 LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
Chris@69 24 NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
Chris@69 25 SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Chris@69 26 */
Chris@69 27
Chris@69 28 #ifndef CELT_LPC_SSE_H
Chris@69 29 #define CELT_LPC_SSE_H
Chris@69 30
Chris@69 31 #ifdef HAVE_CONFIG_H
Chris@69 32 #include "config.h"
Chris@69 33 #endif
Chris@69 34
Chris@69 35 #if defined(OPUS_X86_MAY_HAVE_SSE4_1) && defined(FIXED_POINT)
Chris@69 36 #define OVERRIDE_CELT_FIR
Chris@69 37
Chris@69 38 void celt_fir_sse4_1(
Chris@69 39 const opus_val16 *x,
Chris@69 40 const opus_val16 *num,
Chris@69 41 opus_val16 *y,
Chris@69 42 int N,
Chris@69 43 int ord,
Chris@69 44 int arch);
Chris@69 45
Chris@69 46 #if defined(OPUS_X86_PRESUME_SSE4_1)
Chris@69 47 #define celt_fir(x, num, y, N, ord, arch) \
Chris@69 48 ((void)arch, celt_fir_sse4_1(x, num, y, N, ord, arch))
Chris@69 49
Chris@69 50 #else
Chris@69 51
Chris@69 52 extern void (*const CELT_FIR_IMPL[OPUS_ARCHMASK + 1])(
Chris@69 53 const opus_val16 *x,
Chris@69 54 const opus_val16 *num,
Chris@69 55 opus_val16 *y,
Chris@69 56 int N,
Chris@69 57 int ord,
Chris@69 58 int arch);
Chris@69 59
Chris@69 60 # define celt_fir(x, num, y, N, ord, arch) \
Chris@69 61 ((*CELT_FIR_IMPL[(arch) & OPUS_ARCHMASK])(x, num, y, N, ord, arch))
Chris@69 62
Chris@69 63 #endif
Chris@69 64 #endif
Chris@69 65
Chris@69 66 #endif