diff options
author | Miguel Freitas <miguelfreitas@users.sourceforge.net> | 2002-12-16 18:59:50 +0000 |
---|---|---|
committer | Miguel Freitas <miguelfreitas@users.sourceforge.net> | 2002-12-16 18:59:50 +0000 |
commit | 94ef6649dd5f4e95337af00dcede2337ea7cfb49 (patch) | |
tree | 07d679ce92b4e4517815abc42394480eebf44904 /src/libfaad/decoder.h | |
parent | 48f4c5809db11a6df4a5e7285d5e60a2ed924e2a (diff) | |
download | xine-lib-94ef6649dd5f4e95337af00dcede2337ea7cfb49.tar.gz xine-lib-94ef6649dd5f4e95337af00dcede2337ea7cfb49.tar.bz2 |
updated libfaad
CVS patchset: 3560
CVS date: 2002/12/16 18:59:50
Diffstat (limited to 'src/libfaad/decoder.h')
-rw-r--r-- | src/libfaad/decoder.h | 96 |
1 files changed, 30 insertions, 66 deletions
diff --git a/src/libfaad/decoder.h b/src/libfaad/decoder.h index fb9f8c8c4..a7ea19232 100644 --- a/src/libfaad/decoder.h +++ b/src/libfaad/decoder.h @@ -16,7 +16,7 @@ ** along with this program; if not, write to the Free Software ** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. ** -** $Id: decoder.h,v 1.1 2002/07/14 23:43:01 miguelfreitas Exp $ +** $Id: decoder.h,v 1.2 2002/12/16 18:59:59 miguelfreitas Exp $ **/ #ifndef __DECODER_H__ @@ -39,6 +39,7 @@ extern "C" { #include "bits.h" #include "syntax.h" +#include "drc.h" #include "specrec.h" #include "filtbank.h" #include "ic_predict.h" @@ -48,69 +49,13 @@ extern "C" { #define FAAD_FMT_24BIT 2 #define FAAD_FMT_32BIT 3 #define FAAD_FMT_FLOAT 4 +#define FAAD_FMT_16BIT_DITHER 5 +#define FAAD_FMT_16BIT_L_SHAPE 6 +#define FAAD_FMT_16BIT_M_SHAPE 7 +#define FAAD_FMT_16BIT_H_SHAPE 8 -typedef struct faacDecConfiguration -{ - uint8_t defObjectType; - uint32_t defSampleRate; - uint8_t outputFormat; -} faacDecConfiguration, *faacDecConfigurationPtr; - -typedef struct faacDecFrameInfo -{ - uint32_t bytesconsumed; - uint32_t samples; - uint8_t channels; - uint8_t error; -} faacDecFrameInfo; - -typedef struct -{ - uint8_t adts_header_present; - uint8_t adif_header_present; - uint8_t sf_index; - uint8_t object_type; - uint8_t channelConfiguration; - uint8_t aacSectionDataResilienceFlag; - uint8_t aacScalefactorDataResilienceFlag; - uint8_t aacSpectralDataResilienceFlag; - uint16_t frameLength; - - uint32_t frame; - - void *sample_buffer; - - uint8_t window_shape_prev[MAX_CHANNELS]; -#ifdef LTP_DEC - uint16_t ltp_lag[MAX_CHANNELS]; -#endif - fb_info fb; - drc_info drc; - - real_t *time_state[MAX_CHANNELS]; - real_t *time_out[MAX_CHANNELS]; - -#ifdef MAIN_DEC - pred_state *pred_stat[MAX_CHANNELS]; -#endif -#ifdef LTP_DEC - real_t *lt_pred_stat[MAX_CHANNELS]; -#endif - real_t exp_table[256]; - real_t mnt_table[128]; - - real_t iq_table[IQ_TABLE_SIZE]; -#if POW_TABLE_SIZE - real_t pow2_table[POW_TABLE_SIZE]; -#endif - - /* Configuration data */ - faacDecConfiguration config; -} faacDecStruct, *faacDecHandle; - - -uint8_t* FAADAPI faacDecGetErrorMessage(uint8_t errcode); +int8_t* FAADAPI faacDecGetErrorMessage(uint8_t errcode); faacDecHandle FAADAPI faacDecOpen(); @@ -121,20 +66,39 @@ uint8_t FAADAPI faacDecSetConfiguration(faacDecHandle hDecoder, /* Init the library based on info from the AAC file (ADTS/ADIF) */ int32_t FAADAPI faacDecInit(faacDecHandle hDecoder, - uint8_t *buffer, - uint32_t *samplerate, - uint8_t *channels); + uint8_t *buffer, + uint32_t buffer_size, + uint32_t *samplerate, + uint8_t *channels); /* Init the library using a DecoderSpecificInfo */ int8_t FAADAPI faacDecInit2(faacDecHandle hDecoder, uint8_t *pBuffer, uint32_t SizeOfDecoderSpecificInfo, uint32_t *samplerate, uint8_t *channels); +/* Init the library for DRM */ +int8_t FAADAPI faacDecInitDRM(faacDecHandle hDecoder, uint32_t samplerate, + uint8_t channels); + void FAADAPI faacDecClose(faacDecHandle hDecoder); void* FAADAPI faacDecDecode(faacDecHandle hDecoder, faacDecFrameInfo *hInfo, - uint8_t *buffer); + uint8_t *buffer, + uint32_t buffer_size); + +element *decode_sce_lfe(faacDecHandle hDecoder, + faacDecFrameInfo *hInfo, bitfile *ld, + int16_t **spec_data, real_t **spec_coef, + uint8_t id_syn_ele); +element *decode_cpe(faacDecHandle hDecoder, + faacDecFrameInfo *hInfo, bitfile *ld, + int16_t **spec_data, real_t **spec_coef, + uint8_t id_syn_ele); +element **raw_data_block(faacDecHandle hDecoder, faacDecFrameInfo *hInfo, + bitfile *ld, element **elements, + int16_t **spec_data, real_t **spec_coef, + program_config *pce, drc_info *drc); #ifdef _WIN32 #pragma pack(pop) |