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

📄 g729ev_tdbwe_vector_quantization.c

📁 最新的ITU-T的宽带语音编解码标准G.729.1,是对原先的G.729的最好的调整.码流输出速率可以进行自适应调整.满足未来通信要求.希望对大家有所帮助.
💻 C
字号:
/* ITU-T G.729EV Optimization/Characterization Candidate                         *//* Version:       1.0.a                                                          *//* Revision Date: June 28, 2006                                                  *//*   ITU-T G.729EV Optimization/Characterization Candidate    ANSI-C Source Code   Copyright (c) 2006    France Telecom, Matsushita Electric, Mindspeed, Siemens AG, ETRI, VoiceAge Corp.   All rights reserved*/#include "G729EV_TDBWE_vector_quantization.h"#include "G729EV_G729_ld8k.h"/*--------------------------------------------------------------------------* *  Function  G729EV_TDBWE_vector_quantization()                            * *  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                            * *  TDBWE vector quantization,                                              * *  find entry in codebook[] closest to vector input[] and output           * *  its respective index                                                    * *                                                                          * *  input, codebook and output must have the same format Q.max              * *--------------------------------------------------------------------------*/void G729EV_TDBWE_vector_quantization(Word16 * input,             /* (i) Q.max */                                      const Word16 * codebook,    /* (i) Q.max, pointer to quantization table */                                      UWord16 * index,            /* (o) codebook index */                                      const Word16 vector_size,   /* (i) length of input[] */                                      const Word16 codebook_size) /* (i) number of entries in codebook[] */{  const Word16 *codebook_ptr;  UWord16   i, j;  Word16    error;  Word32    distortion;  Word32    min_distortion;  codebook_ptr = codebook;  min_distortion = 0x7fffffff;#ifdef WMOPS  move16();  move32();#endif  /* loop through codebook */  FOR(i = 0; i < codebook_size; i++)  {    /* start with min_distortion */    distortion = min_distortion;#ifdef WMOPS    move32();#endif    /* compute Euclidean distance */    FOR(j = 0; j < vector_size; j++)    {      error = sub(input[j], codebook_ptr[j]);      distortion = L_msu0(distortion, error, error);    }    /* select best codevector */    if (distortion > 0)    {      *index = i;#ifdef WMOPS      move16();#endif    }    if (distortion > 0)    {      min_distortion = L_sub(min_distortion, distortion);    }    /* advance in codebook */    codebook_ptr = &codebook_ptr[vector_size];  }}

⌨️ 快捷键说明

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