⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 lpccodec.h

📁 使用VOIP进行网络传输声音的类库
💻 H
字号:
#ifndef LPCCODEC_H#define LPCCODEC_H#include "jvoipconfig.h"#ifndef JVOIPDISABLE_COMPRESSION_LPC#define LPCCODEC_INPUTLEN					160#define LPCCODEC_OUTPUTLEN					14#define LPCCODEC_BUFLEN						((LPCCODEC_INPUTLEN*3)/2)#define LPCCODEC_FILTORDER					10#define LPCCODEC_MAXWINDOW					1000	/* Max analysis window length */struct lpcparams_t {	unsigned short period;	unsigned char gain;	char k[LPCCODEC_FILTORDER];};class LPCEncoder{public:	LPCEncoder();	~LPCEncoder();	void Reset();	void Encode(int samples[LPCCODEC_INPUTLEN],unsigned char frame[LPCCODEC_OUTPUTLEN]);private:	void lpc_analyze(int *buf, lpcparams_t *params);	void calc_pitch(float w[], float *per);	void auto_correl(float w[], int n, int p, float r[]);	void durbin(float r[], int p, float k[], float *g);	void inverse_filter(float w[], float k[]);	void lpc_init();		float s[LPCCODEC_MAXWINDOW],y[LPCCODEC_MAXWINDOW],h[LPCCODEC_MAXWINDOW];	float fa[6],u,u1,yp1,yp2;	int vuv;	};class LPCDecoder{public:	LPCDecoder();	~LPCDecoder();	void Reset();	void Decode(unsigned char frame[LPCCODEC_OUTPUTLEN],int samples[LPCCODEC_INPUTLEN]);private:	void lpc_synthesize(lpcparams_t *params, int *buf);	void lpc_init();	float Oldper, OldG, Oldk[LPCCODEC_FILTORDER+1];	float b[LPCCODEC_FILTORDER+1],bp[LPCCODEC_FILTORDER+1],f[LPCCODEC_FILTORDER+1];	int pitchctr;};#endif // JVOIPDISABLE_COMPRESSION_LPC#endif // LPCCODEC_H

⌨️ 快捷键说明

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