资源简介

这是3GPP最新版的amr编解码的C源代码,支持多个平台(Linux,win,sun),对于学习amr编解码原理有很大帮助。

资源截图

代码片段和文件信息

/*
*****************************************************************************
*
*      GSM AMR-NB speech codec   R98   Version 7.6.0   December 12 2001
*                                R99   Version 3.3.0                
*                                REL-4 Version 4.1.0                
*
*****************************************************************************
*
*      File             : agc.c
*
*****************************************************************************
*/

/*
*****************************************************************************
*                         MODULE INCLUDE FILE AND VERSION ID
*****************************************************************************
*/
#include “agc.h“
const char agc_id[] = “@(#)$Id $“ agc_h;

/*
*****************************************************************************
*                         INCLUDE FILES
*****************************************************************************
*/
#include 
#include 
#include “typedef.h“
#include “basic_op.h“
#include “count.h“
#include “cnst.h“
#include “inv_sqrt.h“
 
/*
*****************************************************************************
*                         LOCAL VARIABLES AND TABLES
*****************************************************************************
*/

/*
*****************************************************************************
*                         LOCAL PROGRAM CODE
*****************************************************************************
*/

static Word32 energy_old( /* o : return energy of signal     */
    Word16 in[]          /* i : input signal (length l_trm) */
    Word16 l_trm          /* i : signal length               */

{
    Word32 s;
    Word16 i temp;

    temp = shr (in[0] 2);
    s = L_mult (temp temp);
    
    for (i = 1; i < l_trm; i++)
    {
        temp = shr (in[i] 2);
        s = L_mac (s temp temp);
    }

    return s;
}

static Word32 energy_new( /* o : return energy of signal     */
    Word16 in[]          /* i : input signal (length l_trm) */
    Word16 l_trm          /* i : signal length               */

{
    Word32 s;
    Word16 i;
    Flag ov_save;

    ov_save = Overflow; move16 (); /* save overflow flag in case energy_old */
                                   /* must be called                        */
    s = L_mult(in[0] in[0]);
    for (i = 1; i < l_trm; i++)
    {
        s = L_mac(s in[i] in[i]);
    }
    
    /* check for overflow */
    test (); 
    if (L_sub (s MAX_32) == 0L)
    {
        Overflow = ov_save; move16 (); /* restore overflow flag */
        s = energy_old (in l_trm); move32 (); /* function result */
    }
    else
    {
       s = L_shr(s 4);
    }

    return s;
}
/*
*****************************************************************************
*                         PUBLIC PROGRAM CODE
*****************************************************************************
*/
/*
************************

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     文件        8664  2001-12-12 20:08  c-code\agc.c
     文件        3842  2001-12-12 20:08  c-code\agc.h
     文件        7800  2001-12-12 20:08  c-code\allmodes.txt
     文件        1712  2001-12-12 20:08  c-code\amr_chk.csh
     文件        3779  2001-12-12 20:08  c-code\autocorr.c
     文件        2287  2001-12-12 20:08  c-code\autocorr.h
     文件        9812  2001-12-12 20:08  c-code\az_lsp.c
     文件        2525  2001-12-12 20:08  c-code\az_lsp.h
     文件        3451  2001-12-12 20:08  c-code\a_refl.c
     文件        1849  2001-12-12 20:08  c-code\a_refl.h
     文件      107410  2001-12-12 20:08  c-code\basicop2.c
     文件        3806  2001-12-12 20:08  c-code\basic_op.h
     文件        8593  2001-12-12 20:08  c-code\bgnscd.c
     文件        3812  2001-12-12 20:08  c-code\bgnscd.h
     文件       12994  2003-02-18 11:34  c-code\bitno.tab
     文件        3550  2001-12-12 20:08  c-code\bits2prm.c
     文件        1877  2001-12-12 20:08  c-code\bits2prm.h
     文件        4961  2001-12-12 20:08  c-code\b_cn_cod.c
     文件        3793  2001-12-12 20:08  c-code\b_cn_cod.h
     文件        9253  2001-12-12 20:08  c-code\c1035pf.c
     文件        1943  2001-12-12 20:08  c-code\c1035pf.h
     文件       13896  2001-12-12 20:08  c-code\c2_11pf.c
     文件        3011  2001-12-12 20:08  c-code\c2_11pf.h
     文件         736  2001-12-12 20:08  c-code\c2_11pf.tab
     文件       14479  2001-12-12 20:08  c-code\c2_9pf.c
     文件        3868  2001-12-12 20:08  c-code\c2_9pf.h
     文件         846  2001-12-12 20:08  c-code\c2_9pf.tab
     文件       16795  2001-12-12 20:08  c-code\c3_14pf.c
     文件        3000  2001-12-12 20:08  c-code\c3_14pf.h
     文件       18922  2001-12-12 20:08  c-code\c4_17pf.c
     文件        2997  2001-12-12 20:08  c-code\c4_17pf.h
............此处省略233个文件信息

评论

共有 条评论