diff options
Diffstat (limited to 'port.h')
-rw-r--r-- | port.h | 83 |
1 files changed, 83 insertions, 0 deletions
@@ -0,0 +1,83 @@ +/************************* MPEG-2 NBC Audio Decoder ************************** + * * +"This software module was originally developed by +AT&T, Dolby Laboratories, Fraunhofer Gesellschaft IIS and edited by +Yoshiaki Oikawa (Sony Corporaion), +Mitsuyuki Hatanaka (Sony Corporation), +in the course of development of the MPEG-2 NBC/MPEG-4 Audio standard ISO/IEC 13818-7, +14496-1,2 and 3. This software module is an implementation of a part of one or more +MPEG-2 NBC/MPEG-4 Audio tools as specified by the MPEG-2 NBC/MPEG-4 +Audio standard. ISO/IEC gives users of the MPEG-2 NBC/MPEG-4 Audio +standards free license to this software module or modifications thereof for use in +hardware or software products claiming conformance to the MPEG-2 NBC/MPEG-4 +Audio standards. Those intending to use this software module in hardware or +software products are advised that this use may infringe existing patents. +The original developer of this software module and his/her company, the subsequent +editors and their companies, and ISO/IEC have no liability for use of this software +module or modifications thereof in an implementation. Copyright is not released for +non MPEG-2 NBC/MPEG-4 Audio conforming products.The original developer +retains full right to use the code for his/her own purpose, assign or donate the +code to a third party and to inhibit third party from using the code for non +MPEG-2 NBC/MPEG-4 Audio conforming products. This copyright notice must +be included in all copies or derivative works." +Copyright(c)1996. + * * + ****************************************************************************/ +/* + * $Id: port.h,v 1.5 2002/01/11 00:55:17 wmaycisco Exp $ + */ + +#ifndef _port_h_ +#define _port_h_ + +#ifndef min +#define min(a,b) ( (a) < (b) ? (a) : (b) ) +#endif + +#include "all.h" + + +int check_mc_info(faacDecHandle hDecoder, MC_Info *mip, int new_config); +int chn_config(faacDecHandle hDecoder, int id, int tag, + int common_window, MC_Info *mip); +__inline void decode_huff_cw(faacDecHandle hDecoder, Huffman *h, int *qp, Hcb *hcb); +__inline int decode_huff_cw_scl(faacDecHandle hDecoder, Huffscl *h); +int enter_mc_info(faacDecHandle hDecoder, MC_Info *mip, ProgConfig *pcp); +int get_adif_header(faacDecHandle hDecoder); +int get_adts_header(faacDecHandle hDecoder); +int get_prog_config(faacDecHandle hDecoder, ProgConfig *p); +void getfill(faacDecHandle hDecoder, byte *data); +int getdata(faacDecHandle hDecoder, int *tag, int *dt_cnt, byte *data_bytes); +void huffbookinit(faacDecHandle hDecoder); +int huffdecode(faacDecHandle hDecoder, int id, MC_Info *mip, byte *win, + Wnd_Shape *wshape, byte **cb_map, int **factors, + byte **group, byte *hasmask, byte **mask, byte *max_sfb, + int **lpflag, int **prstflag, NOK_LT_PRED_STATUS **nok_ltp, + TNS_frame_info **tns, Float **coef); +void hufftab(Hcb *hcb, Huffman *hcw, int dim, int signed_cb); +void infoinit(faacDecHandle hDecoder, SR_Info *sip); +void intensity(MC_Info *mip, Info *info, int widx, int ch, byte *group, byte *cb_map, + int *factors, int *lpflag, Float *coef[Chans]); +void map_mask(Info *info, byte *group, byte *mask, byte *cb_map); +void reset_mc_info(faacDecHandle hDecoder, MC_Info *mip); +void reset_bits(void); +void synt(Info *info, byte *group, byte *mask, Float *right, Float *left); +void tns_decode_subblock(faacDecHandle hDecoder, Float *spec, int nbands, + int *sfb_top, int islong, TNSinfo *tns_info); +void tns_filter_subblock(faacDecHandle hDecoder, Float *spec, int nbands, + int *sfb_top, int islong, TNSinfo *tns_info); +void pns(faacDecHandle hDecoder, MC_Info *mip, Info *info, int widx, int ch, byte *group, byte *cb_map, + int *factors, int *lpflag, Float *coef[Chans]); +void freq2time_adapt(faacDecHandle hDecoder,byte wnd, Wnd_Shape *wnd_shape, + Float *coef, Float *state, Float *data); +void time2freq_adapt(faacDecHandle hDecoder,WINDOW_TYPE blockType, Wnd_Shape *wnd_shape, + Float *timeInPtr, Float *ffreqOutPtr); +int predict(faacDecHandle hDecoder, Info* info, int profile, int *lpflag, PRED_STATUS *psp, Float *coef); +void predict_pns_reset(Info* info, PRED_STATUS *psp, byte *cb_map); +void init_pred(faacDecHandle hDecoder, PRED_STATUS **sp_status, int channels); +int predict_reset(faacDecHandle hDecoder, Info* info, int *prstflag, PRED_STATUS **psp, + int firstCh, int lastCh, int *last_rstgrp_num); +void reset_pred_state(PRED_STATUS *psp); +int get_sr_index(unsigned int sampleRate); + +#endif /* _port_h_ */ |