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

📄 gsmcompress.h

📁 截取wave通过g.729在网上压缩传输
💻 H
字号:
#ifndef _GSMCOMPRESS_H_
#define _GSMCOMPRESS_H_

#include "Compress.h"

#ifndef GSM_H
#define GSM_H

#define  NeedFunctionPrototypes  1

#ifdef __cplusplus
#       define  NeedFunctionPrototypes  1
#endif

#if __STDC__
#       define  NeedFunctionPrototypes  1
#endif

#ifdef _NO_PROTO
#       undef   NeedFunctionPrototypes
#endif

#undef  GSM_P   /* gnu stdio.h actually defines this...         */

#if NeedFunctionPrototypes
#       define  GSM_P( protos ) protos
#else
#       define  GSM_P( protos ) ( /* protos */ )
#endif

#ifdef NeedFunctionPrototypes
#   include     <stdio.h>               /* for FILE *   */
#endif

/* AUTO_SPARC_HACK added by John Walker.  If defined, USE_FLOAT_MUL   
   automatically set when compiling on a Sparc.  This lets most
   people avoid editing the Makefile. */

#ifdef AUTO_SPARC_HACK
#ifdef sparc
#define USE_FLOAT_MUL
#define FAST
#endif
#endif

/*
 *      Interface
 */

typedef struct gsm_state *      gsm;
typedef short                   gsm_signal;             /* signed 16 bit */
typedef unsigned char           gsm_byte;
typedef gsm_byte                gsm_frame[33];          /* 33 * 8 bits   */

#define GSM_MAGIC       0xD                             /* 13 kbit/s RPE-LTP */

#define GSM_PATCHLEVEL  2
#define GSM_MINOR       0
#define GSM_MAJOR       1

// Gsm Option
#define GSM_OPT_VERBOSE 1
#define GSM_OPT_FAST    2

#ifdef __cplusplus
extern "C" {
#endif 

gsm  gsm_create  GSM_P((void));
void gsm_destroy GSM_P((gsm));   

int  gsm_print   GSM_P((FILE *, gsm, gsm_byte  *));
int  gsm_option  GSM_P((gsm, long, long *));

void gsm_encode  GSM_P((gsm, gsm_signal *, gsm_byte  *));
int  gsm_decode  GSM_P((gsm, gsm_byte   *, gsm_signal *));

int  gsm_explode GSM_P((gsm, gsm_byte   *, gsm_signal *));
void gsm_implode GSM_P((gsm, gsm_signal *, gsm_byte   *));

#ifdef __cplusplus
}
#endif 

#undef  GSM_P

#endif  /* GSM_H */

class CGsmCompress : public CCompress
{
private:
	gsm	m_hGsm;

public:
	CGsmCompress();
	virtual ~CGsmCompress();

public:
	void SetOption(long,long*);
	virtual BOOL Compress(char* src,int srclen,char* dst,int* dstlen);
	virtual BOOL UnCompress(char* src,int srclen,char* dst,int* dstlen);
};

#endif

⌨️ 快捷键说明

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