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

📄 dec_tf.h

📁 MPEG2/MPEG4编解码参考程序(实现了MPEG4的部分功能)
💻 H
字号:
/**********************************************************************MPEG-4 Audio VMDeocoder cores (parametric, LPC-based, t/f-based)This software module was originally developed byHeiko Purnhagen (University of Hannover / ACTS-MoMuSys)and edited byin the course of development of the MPEG-2 NBC/MPEG-4 Audio standardISO/IEC 13818-7, 14496-1,2 and 3. This software module is animplementation of a part of one or more MPEG-2 NBC/MPEG-4 Audio toolsas specified by the MPEG-2 NBC/MPEG-4 Audio standard. ISO/IEC givesusers of the MPEG-2 NBC/MPEG-4 Audio standards free license to thissoftware module or modifications thereof for use in hardware orsoftware products claiming conformance to the MPEG-2 NBC/ MPEG-4 Audiostandards. Those intending to use this software module in hardware orsoftware products are advised that this use may infringe existingpatents. The original developer of this software module and his/hercompany, the subsequent editors and their companies, and ISO/IEC haveno liability for use of this software module or modifications thereofin an implementation. Copyright is not released for non MPEG-2NBC/MPEG-4 Audio conforming products. The original developer retainsfull right to use the code for his/her own purpose, assign or donatethe code to a third party and to inhibit third party from using thecode for non MPEG-2 NBC/MPEG-4 Audio conforming products. Thiscopyright notice must be included in all copies or derivative works.Copyright (c) 1996.Header file: dec_tf.h$Id: dec_tf.h,v 1.3 1999/07/22 18:15:21 purnhage Exp $Authors:HP    Heiko Purnhagen, Uni Hannover <purnhage@tnt.uni-hannover.de>BT    Bodo Teichmann, FhG/IIS <tmn@iis.fhg.de>Changes:18-jun-96   HP    first version24-jun-96   HP    fixed comment15-aug-96   HP    added DecXxxInfo(), DecXxxFree()                  changed DecXxxInit(), DecXxxFrame() interfaces to                  enable multichannel signals / float fSample, bitRate26-aug-96   HP    CVS03-sep-96   HP    added speed change & pitch change for parametric core19-feb-97   HP    added include <stdio.h>04-apr-97   BT    added DecG729Init() DecG729Frame()09-apr-99   HP    added DecHvxcXxx() from dec_hvxc.h22-apr-99   HP    created from dec.h**********************************************************************/#ifndef _dec_tf_h_#define _dec_tf_h_#include <stdio.h>              /* typedef FILE */#include "bitstreamHandle.h"	/* bit stream handle */#include "lpc_common.h"         /* TDS */#include "nttNew.h"             /* TDS */#include "all.h"#include "tns.h"#include "huffdec2.h"#include "reorderspecHandle.h"#include "concealmentHandle.h"#include "flex_mux.h"#include "buffersHandle.h"#include "ntt_conf.h"#include "dec_hvxc.h"/* ---------- functions ---------- */  typedef struct {        HANDLE_BUFFER      hVm;    HANDLE_BUFFER      hHcrSpecData;    HANDLE_RESILIENCE  hResilience;      /* in: handler for error resilience info */    HANDLE_HCR         hHcrInfo;        HANDLE_EP_INFO     hEpInfo;    HANDLE_CONCEALMENT hConcealment;          } FAULT_TOLERANT_DATA;  typedef FAULT_TOLERANT_DATA* HANDLE_FAULT_TOLERANT;#ifdef __cplusplusextern "C" {#endif/* DecTfInfo() *//* Get info about t/f-based decoder core. */char *DecTfInfo (  FILE *helpStream);		/* in: print decPara help text to helpStream */				/*     if helpStream not NULL */				/* returns: core version string *//* DecTfInit() *//* Init t/f-based decoder core. */void DecTfInit ( int                 numChannel,       /* in: num audio channels */                 float               fSample,          /* in: sampling frequancy [Hz] */                 float               bitRate,          /* in: bit rate [bit/sec] */                 char*               decPara,          /* in: decoder parameter string */                 int                 profile,          /* in: bitstream profile as indicated in the ADIF header */                 BsBitBuffer*        bitHeader,        /* in: header from bit stream */                 int*                frameNumSample,   /* out: num samples per frame */                 int*                delayNumSample,   /* out: encoder delay (num samples) */                 char*               aacDebugStr,                 HANDLE_BUFFER*      hVm,                 HANDLE_BUFFER*      hHcrSpecData,                 FRAME_DATA*         frameData,                 TF_DATA*            tfData,                 ntt_DATA*           nttData,                 int                 mainDebugLevel);void DecTfInitNew (                   char*               decPara,          /* in: decoder parameter string */                       char*               aacDebugStr,                   HANDLE_BUFFER*      hVm,                   HANDLE_BUFFER*      hHcrSpecData,                   FRAME_DATA*         frameData,                   TF_DATA*            tfData,                   LPC_DATA*           lpcData,                   ntt_DATA*           nttData,                   int                 mainDebugLevel,                   int                 layer                 );/* DecTfFrame() *//* Decode one bit stream frame into one audio frame with *//* t/f-based decoder core. */void DecTfFrame ( BsBitBuffer*       bitBuf,           /* in: bit stream frame */                  float**            sampleBuf,        /* out: frameNumSample audio samples */                  int*               usedNumBit,       /* out: num bits used for this frame */                  int                numChannels,                  int                mainDebugLevel,                  HANDLE_FAULT_TOLERANT hFault,   /**TM9902*/		  HANDLE_RESILIENCE  hResilience,      /* in: handler for error resilience info */                  HANDLE_BUFFER      hVm,                  HANDLE_BUFFER      hHcrSpecData,                  HANDLE_HCR         hHcrInfo ,                  FRAME_DATA*        frameData,                  TF_DATA*           tfData,                  ntt_DATA*          nttData,                  HANDLE_EP_INFO     hEpInfo,                  HANDLE_CONCEALMENT hConcealment);void DecTfFrameNew(int          numChannels,                    FRAME_DATA*  fd, /* config data , obj descr. etc. */                   TF_DATA*     tfData, /* actual frame input/output data */                   LPC_DATA*    lpcData,                   ntt_DATA*    nttData,                   HANDLE_FAULT_TOLERANT hFault,/* additional data for error protection, huffman reordering and                                      error conceilment etc. */                   QC_MOD_SELECT      qc_select                     );/* DecTfFree() *//* Free memory allocated by t/f-based decoder core. */void DecTfFree ( HANDLE_EP_INFO    hEpInfo,                 HANDLE_RESILIENCE hResilience );void tvqAUDecode(       int          numChannels,       FRAME_DATA*  fd, /* config data , obj descr. etc. */       TF_DATA*     tfData,       HANDLE_FAULT_TOLERANT hFault,       QC_MOD_SELECT      qc_select,       ntt_INDEX*   index,       ntt_INDEX*   index_scl,       BsBitStream* mat_layerStream        );void tvqAUDecode2(                   FRAME_DATA*  fd, /* config data , obj descr. etc. */                  TF_DATA*     tfData,                  HANDLE_FAULT_TOLERANT hFault,                  QC_MOD_SELECT      qc_select,                  ntt_INDEX*   index,                  ntt_INDEX*   index_scl,                  int * nextLayer);#ifdef __cplusplus}#endif#endif	/* #ifndef _dec_tf_h_ *//* end of dec_tf.h */

⌨️ 快捷键说明

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