ec_api_int.h

来自「G.711,G.723.1,G.726,G.729,GSM CODEC C/C+」· C头文件 代码 · 共 102 行

H
102
字号
/* /////////////////////////////////////////////////////////////////////////////
//
//                  INTEL CORPORATION PROPRIETARY INFORMATION
//     This software is supplied under the terms of a license agreement or
//     nondisclosure agreement with Intel Corporation and may not be copied
//     or disclosed except in accordance with the terms of that agreement.
//          Copyright(c) 2005 Intel Corporation. All Rights Reserved.
//
//     Intel(R) Integrated Performance Primitives EC Sample
//
//  By downloading and installing this sample, you hereby agree that the
//  accompanying Materials are being provided to you under the terms and
//  conditions of the End User License Agreement for the Intel(R) Integrated
//  Performance Primitives product previously accepted by you. Please refer
//  to the file ipplic.htm located in the root directory of your Intel(R) IPP
//  product installation for more information.
//
//
//  Purpose: Echo Canceller header file.
//
*/

#ifndef __EC_API_INT_H__
#define __EC_API_INT_H__
#include <ippsc.h>

#ifdef __cplusplus
extern "C" {
#endif

#ifndef __EC_API_H__
typedef enum op_code {
    EC_COEFFS_ZERO = 0,
    EC_ADAPTATION_ENABLE,
    EC_ADAPTATION_ENABLE_LITE,
    EC_ADAPTATION_DISABLE,
    EC_ADAPTATION_DISABLE_LITE,
    EC_NLP_ENABLE,
    EC_NLP_DISABLE,
    EC_TD_ENABLE,
    EC_TD_DISABLE,
    EC_ALG1
} ECOpcode;
#endif /* __EC_API_H__ */

typedef struct __ifbECState ifbECState;
typedef struct __isbECState isbECState;
typedef struct __isbfECState isbfECState;

typedef int (*ec_GetFrameSizeI_ptr)(IppPCMFrequency freq, int taptime_ms, int *s);
typedef int (*ec_GetSizeI_ptr)(IppPCMFrequency freq, int taptime_ms, int *s);
typedef int (*ec_GetSendPathDelayI_ptr)(int *delay);
typedef int (*ec_InitI_ptr)(void *state, IppPCMFrequency freq, int taptime_ms);
typedef int (*ec_ModeOpI_ptr)(void *state, ECOpcode op);
typedef int (*ec_ProcessFrameI_ptr)(void *state, const Ipp16s *rin, Ipp16s *sin, Ipp16s *sout);
typedef int (*ec_GetSubbandNum_ptr)(void *state);

int ec_ifb_GetSize(IppPCMFrequency freq, int taptime_ms, int *s);
int ec_ifb_Init(ifbECState *state, IppPCMFrequency freq, int taptime_ms);
int ec_ifb_InitBuff(ifbECState *state, char *buff);
int ec_ifb_ModeOp(ifbECState *state, ECOpcode op);
int ec_ifb_ProcessFrame(ifbECState *state, Ipp16s *rin, Ipp16s *sin, Ipp16s *sout);
int ec_ifb_GetFrameSize(IppPCMFrequency freq, int taptime_ms, int *s);
int ec_ifb_GetSendPathDelay(int *delay);
int ec_ifb_GetNLPGain(ifbECState *state);
int ec_ifb_GetSubbandNum(ifbECState *state);

int ec_isb_GetSize(IppPCMFrequency freq, int taptime_ms, int *s);
int ec_isb_Init(isbECState *state, IppPCMFrequency freq, int taptime_ms);
int ec_isb_InitBuff(isbECState *state, char *buff);
int ec_isb_ModeOp(isbECState *state, ECOpcode op);
int ec_isb_ModeCheck(isbECState *state, ECOpcode op);
int ec_isb_GetSegNum(isbECState *state);
int ec_isb_GetSubbandNum(isbECState *state);
int ec_isb_GetNLPGain(isbECState *state);

int ec_isb_ProcessFrame(isbECState *state, Ipp16s *rin, Ipp16s *sin, Ipp16s *sout);
int ec_isb_GetFrameSize(IppPCMFrequency freq, int taptime_ms, int *s);
int ec_isb_GetSendPathDelay(int *delay);
int ec_isb_GetSubbandNum(isbECState *state);

int ec_isbf_GetSize(IppPCMFrequency freq, int taptime_ms, int *s);
int ec_isbf_Init(isbfECState *state, IppPCMFrequency freq, int taptime_ms);
int ec_isbf_InitBuff(isbfECState *state, char *buff);
int ec_isbf_ModeOp(isbfECState *state, ECOpcode op);
int ec_isbf_ProcessFrame(isbfECState *state, Ipp16s *rin, Ipp16s *sin, Ipp16s *sout);
int ec_isbf_GetFrameSize(IppPCMFrequency freq, int taptime_ms, int *s);
int ec_isbf_GetSendPathDelay(int *delay);
int ec_isbf_GetNLPGain(isbfECState *state);

int ec_isbf_GetSubbandNum(isbfECState *state);

/* sb - 6544 , sbf - 1644 , fb */
#define EC_SCRATCH_MEMORY_SIZE        (6544)


#ifdef __cplusplus
}
#endif

#endif /* __EC_API_INT_H__ */

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?