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

📄 celp.h

📁 HawkVoiceDI Project created and maintained by Phil Frisbie, Jr. <phil@hawksoft.com> HawkVoiceD
💻 H
字号:
/*
  CELP voice codec, part of the HawkVoice Direct Interface (HVDI)
  cross platform network voice library
  Copyright (C) 2001-2003 Phil Frisbie, Jr. (phil@hawksoft.com)

  This library is free software; you can redistribute it and/or
  modify it under the terms of the GNU Library General Public
  License as published by the Free Software Foundation; either
  version 2 of the License, or (at your option) any later version.
  
  This library is distributed in the hope that it will be useful,
  but WITHOUT ANY WARRANTY; without even the implied warranty of
  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  Library General Public License for more details.
    
  You should have received a copy of the GNU Library General Public
  License along with this library; if not, write to the
  Free Software Foundation, Inc., 59 Temple Place - Suite 330,
  Boston, MA  02111-1307, USA.
      
  Or go to http://www.gnu.org/copyleft/lgpl.html
*/

#ifndef CELP_H
#define CELP_H

#ifdef __cplusplus
extern "C" {
#endif


/* the speech frame size must be between 240 and 480 samples, AND be a multiple of 4 */
#define CELP_4_5_FRAMESIZE          240
#define CELP_3_0_FRAMESIZE          360
#define CELP_2_3_FRAMESIZE          480

#define CELP_ENCODED_FRAME_SIZE     17

/* CELP encoder options */
/* value of 1 for enable, 0 for disable */
#define CELP_FAST_GAIN      1
#define CELP_CODEBOOK_LEN   2

/* celp_set_codebook_len is obsolete, use celp_set_encoder_option */
#define celp_set_codebook_len(st, len) celp_set_encoder_option(st, CELP_CODEBOOK_LEN, len)

typedef struct celp_enc_state celp_encoder_state;
typedef struct celp_dec_state celp_decoder_state;

celp_encoder_state *create_celp_encoder_state();
void init_celp_encoder_state(celp_encoder_state *st, int framesize);
int  celp_encode(const short *in, unsigned char *out, celp_encoder_state *st);
void celp_set_encoder_option(celp_encoder_state *st, int option, int value);
void destroy_celp_encoder_state(celp_encoder_state *st);


celp_decoder_state *create_celp_decoder_state();
void init_celp_decoder_state(celp_decoder_state *st, int framesize);
int  celp_decode(const unsigned char *in, short *out, celp_decoder_state *st);
void destroy_celp_decoder_state(celp_decoder_state *st);

#ifdef __cplusplus
}  /* extern "C" */
#endif

#endif /* CELP_H */

⌨️ 快捷键说明

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