filtbank.h
上传用户:sun1608
上传日期:2007-02-02
资源大小:6116k
文件大小:2k
源码类别:

流媒体/Mpeg4/MP4

开发平台:

Visual C++

  1. /*
  2.  * FAAC - Freeware Advanced Audio Coder
  3.  * Copyright (C) 2001 Menno Bakker
  4.  *
  5.  * This library is free software; you can redistribute it and/or
  6.  * modify it under the terms of the GNU Lesser General Public
  7.  * License as published by the Free Software Foundation; either
  8.  * version 2.1 of the License, or (at your option) any later version.
  9.  *
  10.  * This library is distributed in the hope that it will be useful,
  11.  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  12.  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  13.  * Lesser General Public License for more details.
  14.  * You should have received a copy of the GNU Lesser General Public
  15.  * License along with this library; if not, write to the Free Software
  16.  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  17.  *
  18.  * $Id: filtbank.h,v 1.3 2001/06/04 23:02:24 wmay Exp $
  19.  */
  20. #ifndef FILTBANK_H
  21. #define FILTBANK_H
  22. #ifdef __cplusplus
  23. extern "C" {
  24. #endif /* __cplusplus */
  25. #include "frame.h"
  26. #define NFLAT_LS 448
  27. #define MOVERLAPPED     0
  28. #define MNON_OVERLAPPED 1
  29. #define SINE_WINDOW 0
  30. #define KBD_WINDOW  1
  31. void FilterBankInit(faacEncHandle hEncoder);
  32. void FilterBankEnd(faacEncHandle hEncoder);
  33. void FilterBank(faacEncHandle hEncoder,
  34. CoderInfo *coderInfo,
  35. double *p_in_data,
  36. double *p_out_mdct,
  37. double *p_overlap,
  38. int overlap_select);
  39. void IFilterBank(faacEncHandle hEncoder,
  40.  CoderInfo *coderInfo,
  41.  double *p_in_data,
  42.  double *p_out_mdct,
  43.  double *p_overlap,
  44.  int overlap_select);
  45. void specFilter(double *freqBuff,
  46. int sampleRate,
  47. int lowpassFreq,
  48. int specLen
  49. );
  50. static void CalculateKBDWindow(double* win, double alpha, int length);
  51. static double Izero(double x);
  52. static void MDCT(double *data, int N);
  53. static void IMDCT(double *data, int N);
  54. #ifdef __cplusplus
  55. }
  56. #endif /* __cplusplus */
  57. #endif /* FILTBANK_H */