/usr/include/sipxtapi/mp/dsplib.h is in libsipxtapi-dev 3.3.0~test17-2.1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 | //
// Copyright (C) 2006 SIPez LLC.
// Licensed to SIPfoundry under a Contributor Agreement.
//
// Copyright (C) 2004-2006 SIPfoundry Inc.
// Licensed by SIPfoundry under the LGPL license.
//
// Copyright (C) 2004-2006 Pingtel Corp. All rights reserved.
// Licensed to SIPfoundry under a Contributor Agreement.
//
// $$
///////////////////////////////////////////////////////////////////////////////
#ifndef __INCdsplib_h /* [ */
#define __INCdsplib_h
#include "mp/MpBuf.h"
#include "mp/MpTypes.h"
#ifdef __cplusplus
extern "C" {
#endif
/* comfort noise generator assume the max size of processing frame is 80 */
#define SAMPLES_PER_FRAME 80
// -----------------------------------------------------
// Comfort Noise Generator module used by MprDecode
// -----------------------------------------------------
extern void init_CNG();
extern void white_noise_generator(MpAudioSample *shpSamples,
int iLength,
uint32_t ulNoiseLevelAve);
extern void comfort_noise_generator(MpAudioSample *shpSamples,
int iLength,
uint32_t ulNoiseLevelAve);
extern void background_noise_level_estimation(uint32_t &shNoiseLevel,
MpAudioSample *shpSamples,
int iLength);
//////////////////////////////////////////////////////////////////////////////
#ifdef NEVER_GOT_USED /* [ */
extern void dspCopy32Sto16S(const int* src, short* dst, int count);
extern void dspCopy16Sto32S(const short* src, int* dst, int count);
/* dot product of an array of 32 bit samples by 32 bit coefficients */
extern int64_t dspDotProd32x32(const int* v1, const int* v2,
int count, int64_t* res = 0);
#endif /* NEVER_GOT_USED ] */
#define dspDotProd32S dspDotProd16x32
/* dot product of an array of 16 bit samples by 32 bit coefficients */
extern int64_t dspDotProd16x32(const short* v1, const int* v2,
int count, int64_t* res = 0);
/* special version that skips every other item in v1 */
extern int64_t dspDotProd16skip32(const short* v1, const int* v2,
int count, int64_t* res = 0);
/* Coefficient update routines */
extern void dspCoeffUpdate16x32(const short* v1, int* v2,
int count, int factor);
extern void dspCoeffUpdate16skip32(const short* v1, int* v2,
int count, int factor);
typedef struct
{
int r;
int i;
} icomplex;
extern int imagsq(icomplex* x, int PreRightShift);
extern void complexInnerProduct(icomplex *ResultPtr,
icomplex *CoeffPtr, icomplex *DLPtr, int EcIndex);
extern void complexCoefUpdate5(icomplex *NormedErrPtr,
icomplex *CoeffPtr, icomplex *DLPtr, int EcIndex, int* Shifts);
#ifdef __cplusplus
}
#endif
#endif /* __INCdsplib_h ] */
|