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

📄 phi_prep.c

📁 语音压缩算法
💻 C
字号:
/*====================================================================*//*         MPEG-4 Audio (ISO/IEC 14496-3) Copyright Header            *//*====================================================================*//*This software module was originally developed by Rakesh Taori and AndyGerrits (Philips Research Laboratories, Eindhoven, The Netherlands) inthe course of development of the MPEG-4 Audio (ISO/IEC 14496-3). Thissoftware module is an implementation of a part of one or more MPEG-4Audio (ISO/IEC 14496-3) tools as specified by the MPEG-4 Audio(ISO/IEC 14496-3). ISO/IEC gives users of the MPEG-4 Audio (ISO/IEC14496-3) free license to this software module or modifications thereoffor use in hardware or software products claiming conformance to theMPEG-4 Audio (ISO/IEC 14496-3). Those intending to use this softwaremodule in hardware or software products are advised that its use mayinfringe existing patents. The original developer of this softwaremodule and his/her company, the subsequent editors and theircompanies, and ISO/IEC have no liability for use of this softwaremodule or modifications thereof in an implementation. Copyright is notreleased for non MPEG-4 Audio (ISO/IEC 14496-3) conforming products.CN1 retains full right to use the code for his/her own purpose, assignor donate the code to a third party and to inhibit third parties fromusing the code for non MPEG-4 Audio (ISO/IEC 14496-3) conformingproducts.  This copyright notice must be included in all copies orderivative works. Copyright 1996.*//*====================================================================*//*======================================================================*//*                                                                      *//*      SOURCE_FILE:    PHI_PREP.C                                      *//*      PACKAGE:        WDBxx                                           *//*      COMPONENT:      Preprocessing Module                            *//*                                                                      *//*======================================================================*//*======================================================================*//*      I N C L U D E S                                                 *//*======================================================================*/#include <stdio.h>#include <stdlib.h>#include <math.h>#include "phi_prep.h"/*======================================================================*//* Function Definition: celp_preprocessing                              *//*======================================================================*/void                            /* Return Value: Void                   */celp_preprocessing(float InputSignal[],            /* In:  Input Signal                    */float PP_InputSignal[],         /* Out: Preprocessed Input Signal       */   float *prev_x,                  /* In/Out: Previous x                   */float *prev_y,                  /* In/Out: Previous y                   */long  frame_size,               /* In:  Number of samples in frame      */long  sampling_frequency        /* In:  Sampling Frequency              */){    /* -----------------------------------------------------------------*/    /*Volatile Variables                                                */    /* -----------------------------------------------------------------*/    register float *in_ptr  = InputSignal;    register float *out_ptr = PP_InputSignal;    register float mult_fac = (float)0.990000000;    register int   n        = (int)frame_size;        /* -----------------------------------------------------------------*/    /* Perform DC filtering                                             */    /* -----------------------------------------------------------------*/    do    {           *out_ptr = *in_ptr - *prev_x + (*prev_y * mult_fac);        *prev_y    = *out_ptr++;        *prev_x    = *in_ptr++;    }    while(--n);        /* -----------------------------------------------------------------*/    /*Since a string of zeros can create a very low value; it is safe to*/     /*set prevy to zero once it gets really small                       */    /* -----------------------------------------------------------------*/    if (fabs((double)*prev_y) < 1e-17)    {            *prev_y = (float)0.0;    }}/*======================================================================*//*      H I S T O R Y                                                   *//*======================================================================*//* 17-04-96 R. Taori  Initial Version                                   *//* 30-07-96 R. Taori  Modified interface  to meet the MPEG-4 requirement*/

⌨️ 快捷键说明

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