| Index: celt/x86/celt_lpc_sse.h
|
| diff --git a/celt/celt_lpc.h b/celt/x86/celt_lpc_sse.h
|
| similarity index 68%
|
| copy from celt/celt_lpc.h
|
| copy to celt/x86/celt_lpc_sse.h
|
| index dc2a0a3d26ca8357e4c9892a930b861416785b38..f11142023efd41932b1b50411021f933fe69f6d3 100644
|
| --- a/celt/celt_lpc.h
|
| +++ b/celt/x86/celt_lpc_sse.h
|
| @@ -1,6 +1,6 @@
|
| -/* Copyright (c) 2009-2010 Xiph.Org Foundation
|
| - Written by Jean-Marc Valin */
|
| -/*
|
| +/* Copyright (c) 2014, Cisco Systems, INC
|
| + Written by XiangMingZhu WeiZhou MinPeng YanWang
|
| +
|
| Redistribution and use in source and binary forms, with or without
|
| modification, are permitted provided that the following conditions
|
| are met:
|
| @@ -25,30 +25,34 @@
|
| SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
| */
|
|
|
| -#ifndef PLC_H
|
| -#define PLC_H
|
| -
|
| -#include "arch.h"
|
| -
|
| -#define LPC_ORDER 24
|
| +#ifndef CELT_LPC_SSE_H
|
| +#define CELT_LPC_SSE_H
|
|
|
| -void _celt_lpc(opus_val16 *_lpc, const opus_val32 *ac, int p);
|
| +#ifdef HAVE_CONFIG_H
|
| +#include "config.h"
|
| +#endif
|
|
|
| -void celt_fir(const opus_val16 *x,
|
| +#if defined(OPUS_X86_MAY_HAVE_SSE4_1)
|
| +void celt_fir_sse4_1(
|
| + const opus_val16 *x,
|
| const opus_val16 *num,
|
| opus_val16 *y,
|
| int N,
|
| int ord,
|
| - opus_val16 *mem);
|
| + opus_val16 *mem,
|
| + int arch);
|
|
|
| -void celt_iir(const opus_val32 *x,
|
| - const opus_val16 *den,
|
| - opus_val32 *y,
|
| +extern void (*const CELT_FIR_IMPL[OPUS_ARCHMASK + 1])(
|
| + const opus_val16 *x,
|
| + const opus_val16 *num,
|
| + opus_val16 *y,
|
| int N,
|
| int ord,
|
| - opus_val16 *mem);
|
| + opus_val16 *mem,
|
| + int arch);
|
|
|
| -int _celt_autocorr(const opus_val16 *x, opus_val32 *ac,
|
| - const opus_val16 *window, int overlap, int lag, int n, int arch);
|
| +# define celt_fir(x, num, y, N, ord, mem, arch) \
|
| + ((*CELT_FIR_IMPL[(arch) & OPUS_ARCHMASK])(x, num, y, N, ord, mem, arch))
|
|
|
| -#endif /* PLC_H */
|
| +#endif
|
| +#endif
|
|
|