| Index: third_party/opus/src/celt/fixed_c6x.h
|
| diff --git a/third_party/opus/src/celt/celt_lpc.h b/third_party/opus/src/celt/fixed_c6x.h
|
| similarity index 57%
|
| copy from third_party/opus/src/celt/celt_lpc.h
|
| copy to third_party/opus/src/celt/fixed_c6x.h
|
| index 323459eb1a83156664784742ddca78e1c44e6dc0..bb6ad927803f9fabc155e10bd7da845fce2e8ce8 100644
|
| --- a/third_party/opus/src/celt/celt_lpc.h
|
| +++ b/third_party/opus/src/celt/fixed_c6x.h
|
| @@ -1,5 +1,8 @@
|
| -/* Copyright (c) 2009-2010 Xiph.Org Foundation
|
| - Written by Jean-Marc Valin */
|
| +/* Copyright (C) 2008 CSIRO */
|
| +/**
|
| + @file fixed_c6x.h
|
| + @brief Fixed-point operations for the TI C6x DSP family
|
| +*/
|
| /*
|
| Redistribution and use in source and binary forms, with or without
|
| modification, are permitted provided that the following conditions
|
| @@ -25,43 +28,43 @@
|
| SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
| */
|
|
|
| -#ifndef PLC_H
|
| -#define PLC_H
|
| +#ifndef FIXED_C6X_H
|
| +#define FIXED_C6X_H
|
| +
|
| +#undef MULT16_16SU
|
| +#define MULT16_16SU(a,b) _mpysu(a,b)
|
| +
|
| +#undef MULT_16_16
|
| +#define MULT_16_16(a,b) _mpy(a,b)
|
| +
|
| +#define celt_ilog2(x) (30 - _norm(x))
|
| +#define OVERRIDE_CELT_ILOG2
|
| +
|
| +#undef MULT16_32_Q15
|
| +#define MULT16_32_Q15(a,b) (_mpylill(a, b) >> 15)
|
|
|
| -#include "arch.h"
|
| -#include "cpu_support.h"
|
| +#if 0
|
| +#include "dsplib.h"
|
|
|
| -#if defined(OPUS_X86_MAY_HAVE_SSE4_1)
|
| -#include "x86/celt_lpc_sse.h"
|
| -#endif
|
| +#undef MAX16
|
| +#define MAX16(a,b) _max(a,b)
|
|
|
| -#define LPC_ORDER 24
|
| +#undef MIN16
|
| +#define MIN16(a,b) _min(a,b)
|
|
|
| -void _celt_lpc(opus_val16 *_lpc, const opus_val32 *ac, int p);
|
| +#undef MAX32
|
| +#define MAX32(a,b) _lmax(a,b)
|
|
|
| -void celt_fir_c(
|
| - const opus_val16 *x,
|
| - const opus_val16 *num,
|
| - opus_val16 *y,
|
| - int N,
|
| - int ord,
|
| - opus_val16 *mem,
|
| - int arch);
|
| +#undef MIN32
|
| +#define MIN32(a,b) _lmin(a,b)
|
|
|
| -#if !defined(OVERRIDE_CELT_FIR)
|
| -#define celt_fir(x, num, y, N, ord, mem, arch) \
|
| - (celt_fir_c(x, num, y, N, ord, mem, arch))
|
| -#endif
|
| +#undef VSHR32
|
| +#define VSHR32(a, shift) _lshl(a,-(shift))
|
|
|
| -void celt_iir(const opus_val32 *x,
|
| - const opus_val16 *den,
|
| - opus_val32 *y,
|
| - int N,
|
| - int ord,
|
| - opus_val16 *mem,
|
| - int arch);
|
| +#undef MULT16_16_Q15
|
| +#define MULT16_16_Q15(a,b) (_smpy(a,b))
|
|
|
| -int _celt_autocorr(const opus_val16 *x, opus_val32 *ac,
|
| - const opus_val16 *window, int overlap, int lag, int n, int arch);
|
| +#define celt_maxabs16(x, len) MAX32(EXTEND32(maxval((DATA *)x, len)),-EXTEND32(minval((DATA *)x, len)))
|
| +#define OVERRIDE_CELT_MAXABS16
|
|
|
| -#endif /* PLC_H */
|
| +#endif /* FIXED_C6X_H */
|
|
|