aboutsummaryrefslogtreecommitdiff
path: root/port.h
diff options
context:
space:
mode:
Diffstat (limited to 'port.h')
-rw-r--r--port.h83
1 files changed, 83 insertions, 0 deletions
diff --git a/port.h b/port.h
new file mode 100644
index 0000000..ad2d6d7
--- /dev/null
+++ b/port.h
@@ -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_ */