📄 celp.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 + -