summaryrefslogtreecommitdiff
path: root/src/libfaad/faad.h
diff options
context:
space:
mode:
authorMiguel Freitas <miguelfreitas@users.sourceforge.net>2003-04-12 14:58:46 +0000
committerMiguel Freitas <miguelfreitas@users.sourceforge.net>2003-04-12 14:58:46 +0000
commitc40876878a3e1743738f4ce813330812d8bf49f0 (patch)
tree98a2b74bd2cb014b25a395e186a579687ce59447 /src/libfaad/faad.h
parent7be172b50ab8d2c90ac818bfe721e70c274d9880 (diff)
downloadxine-lib-c40876878a3e1743738f4ce813330812d8bf49f0.tar.gz
xine-lib-c40876878a3e1743738f4ce813330812d8bf49f0.tar.bz2
sync to faad2 cvs, remove some warnings.
CVS patchset: 4592 CVS date: 2003/04/12 14:58:46
Diffstat (limited to 'src/libfaad/faad.h')
-rw-r--r--src/libfaad/faad.h58
1 files changed, 41 insertions, 17 deletions
diff --git a/src/libfaad/faad.h b/src/libfaad/faad.h
index a86128733..3c904ce09 100644
--- a/src/libfaad/faad.h
+++ b/src/libfaad/faad.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: faad.h,v 1.2 2002/12/16 19:00:02 miguelfreitas Exp $
+** $Id: faad.h,v 1.3 2003/04/12 14:58:47 miguelfreitas Exp $
**/
#ifndef __AACDEC_H__
@@ -55,14 +55,23 @@ extern "C" {
#define ADTS 2
/* library output formats */
-#define FAAD_FMT_16BIT 1
-#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
+#define FAAD_FMT_16BIT 1
+#define FAAD_FMT_24BIT 2
+#define FAAD_FMT_32BIT 3
+#define FAAD_FMT_FLOAT 4
+#define FAAD_FMT_DOUBLE 5
+#define FAAD_FMT_16BIT_DITHER 6
+#define FAAD_FMT_16BIT_L_SHAPE 7
+#define FAAD_FMT_16BIT_M_SHAPE 8
+#define FAAD_FMT_16BIT_H_SHAPE 9
+
+/* Capabilities */
+#define LC_DEC_CAP (1<<0)
+#define MAIN_DEC_CAP (1<<1)
+#define LTP_DEC_CAP (1<<2)
+#define LD_DEC_CAP (1<<3)
+#define ERROR_RESILIENCE_CAP (1<<4)
+#define FIXED_POINT_CAP (1<<5)
/* A decode call can eat up to FAAD_MIN_STREAMSIZE octets per decoded channel,
so at least so much octets per channel should be available in this stream */
@@ -71,6 +80,25 @@ extern "C" {
typedef void *faacDecHandle;
+typedef struct mp4AudioSpecificConfig
+{
+ /* Audio Specific Info */
+ unsigned char objectTypeIndex;
+ unsigned char samplingFrequencyIndex;
+ unsigned long samplingFrequency;
+ unsigned char channelsConfiguration;
+
+ /* GA Specific Info */
+ unsigned char frameLengthFlag;
+ unsigned char dependsOnCoreCoder;
+ unsigned long coreCoderDelay;
+ unsigned char extensionFlag;
+ unsigned char aacSectionDataResilienceFlag;
+ unsigned char aacScalefactorDataResilienceFlag;
+ unsigned char aacSpectralDataResilienceFlag;
+ unsigned char epConfig;
+
+} mp4AudioSpecificConfig;
typedef struct faacDecConfiguration
{
@@ -85,10 +113,13 @@ typedef struct faacDecFrameInfo
unsigned long samples;
unsigned char channels;
unsigned char error;
+ unsigned long samplerate;
} faacDecFrameInfo;
char* FAADAPI faacDecGetErrorMessage(unsigned char errcode);
+unsigned long FAADAPI faacDecGetCapabilities();
+
faacDecHandle FAADAPI faacDecOpen();
faacDecConfigurationPtr FAADAPI faacDecGetCurrentConfiguration(faacDecHandle hDecoder);
@@ -121,14 +152,7 @@ void* FAADAPI faacDecDecode(faacDecHandle hDecoder,
char FAADAPI AudioSpecificConfig(unsigned char *pBuffer,
unsigned long buffer_size,
- unsigned long *samplerate,
- unsigned char *channels,
- unsigned char *sf_index,
- unsigned char *object_type,
- unsigned char *aacSectionDataResilienceFlag,
- unsigned char *aacScalefactorDataResilienceFlag,
- unsigned char *aacSpectralDataResilienceFlag,
- unsigned char *frameLengthFlag);
+ mp4AudioSpecificConfig *mp4ASC);
#ifdef _WIN32
#pragma pack(pop)