summaryrefslogtreecommitdiff
path: root/src/libfaad/decoder.h
diff options
context:
space:
mode:
authorMiguel Freitas <miguelfreitas@users.sourceforge.net>2002-12-16 18:59:50 +0000
committerMiguel Freitas <miguelfreitas@users.sourceforge.net>2002-12-16 18:59:50 +0000
commit94ef6649dd5f4e95337af00dcede2337ea7cfb49 (patch)
tree07d679ce92b4e4517815abc42394480eebf44904 /src/libfaad/decoder.h
parent48f4c5809db11a6df4a5e7285d5e60a2ed924e2a (diff)
downloadxine-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.h96
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)