Mercurial > audlegacy-plugins
diff src/aac/libfaad2/structs.h @ 3004:8867d3491f60
Sync with FAAD 2.7; will fix warnings in separate commits.
author | Tony Vroon <chainsaw@gentoo.org> |
---|---|
date | Wed, 08 Apr 2009 20:12:57 +0100 |
parents | f1b6f1b2cdb3 |
children |
line wrap: on
line diff
--- a/src/aac/libfaad2/structs.h Sat Feb 28 02:34:13 2009 +0000 +++ b/src/aac/libfaad2/structs.h Wed Apr 08 20:12:57 2009 +0100 @@ -1,28 +1,31 @@ /* ** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding -** Copyright (C) 2003-2004 M. Bakker, Ahead Software AG, http://www.nero.com -** +** Copyright (C) 2003-2005 M. Bakker, Nero AG, http://www.nero.com +** ** This program is free software; you can redistribute it and/or modify ** it under the terms of the GNU General Public License as published by ** the Free Software Foundation; either version 2 of the License, or ** (at your option) any later version. -** +** ** This program is distributed in the hope that it will be useful, ** but WITHOUT ANY WARRANTY; without even the implied warranty of ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ** GNU General Public License for more details. -** +** ** You should have received a copy of the GNU General Public License -** along with this program; if not, write to the Free Software -** Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +** along with this program; if not, write to the Free Software +** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. ** ** Any non-GPL usage of this software or parts of this software is strictly ** forbidden. ** +** The "appropriate copyright message" mentioned in section 2c of the GPLv2 +** must read: "Code from FAAD2 is copyright (c) Nero AG, www.nero.com" +** ** Commercial non-GPL licensing of this software is possible. -** For more info contact Ahead Software through Mpeg4AAClicense@nero.com. +** For more info contact Nero AG through Mpeg4AAClicense@nero.com. ** -** $Id: structs.h,v 1.42 2004/09/08 09:43:11 gcp Exp $ +** $Id: structs.h,v 1.49 2009/01/26 23:51:15 menno Exp $ **/ #ifndef __STRUCTS_H__ @@ -247,6 +250,7 @@ uint8_t scale_factor_grouping; uint16_t sect_sfb_offset[8][15*8]; uint16_t swb_offset[52]; + uint16_t swb_offset_max; uint8_t sect_cb[8][15*8]; uint16_t sect_start[8][15*8]; @@ -261,6 +265,7 @@ uint8_t ms_used[MAX_WINDOW_GROUPS][MAX_SFB]; uint8_t noise_used; + uint8_t is_used; uint8_t pulse_data_present; uint8_t tns_data_present; @@ -307,71 +312,28 @@ ic_stream ics2; } element; /* syntax element (SCE, CPE, LFE) */ -typedef struct mp4AudioSpecificConfig -{ - /* Audio Specific Info */ - /*uint8_t*/ unsigned char objectTypeIndex; - /*uint8_t*/ unsigned char samplingFrequencyIndex; - /*uint32_t*/ unsigned int samplingFrequency; - /*uint8_t*/ unsigned char channelsConfiguration; - - /* GA Specific Info */ - /*uint8_t*/ unsigned char frameLengthFlag; - /*uint8_t*/ unsigned char dependsOnCoreCoder; - /*uint16_t*/ unsigned short coreCoderDelay; - /*uint8_t*/ unsigned char extensionFlag; - /*uint8_t*/ unsigned char aacSectionDataResilienceFlag; - /*uint8_t*/ unsigned char aacScalefactorDataResilienceFlag; - /*uint8_t*/ unsigned char aacSpectralDataResilienceFlag; - /*uint8_t*/ unsigned char epConfig; - - /*uint8_t*/ char sbr_present_flag; - /*uint8_t*/ char forceUpSampling; - /*uint8_t*/ char downSampledSBR; -} mp4AudioSpecificConfig; - -typedef struct NeAACDecConfiguration -{ - /*uint8_t*/ unsigned char defObjectType; - /*uint32_t*/ unsigned int defSampleRate; - /*uint8_t*/ unsigned char outputFormat; - /*uint8_t*/ unsigned char downMatrix; - /*uint8_t*/ unsigned char useOldADTSFormat; - /*uint8_t*/ unsigned char dontUpSampleImplicitSBR; -} NeAACDecConfiguration, *NeAACDecConfigurationPtr; - -typedef struct NeAACDecFrameInfo -{ - /*uint32_t*/ unsigned int bytesconsumed; - /*uint32_t*/ unsigned long samples; - /*uint8_t*/ unsigned char channels; - /*uint8_t*/ unsigned char error; - /*uint32_t*/ unsigned int samplerate; - - /* SBR: 0: off, 1: on; normal, 2: on; downsampled */ - /*uint8_t*/ unsigned char sbr; - - /* MPEG-4 ObjectType */ - /*uint8_t*/ unsigned char object_type; - - /* AAC header type; MP4 will be signalled as RAW also */ - /*uint8_t*/ unsigned char header_type; - - /* multichannel configuration */ - /*uint8_t*/ unsigned char num_front_channels; - /*uint8_t*/ unsigned char num_side_channels; - /*uint8_t*/ unsigned char num_back_channels; - /*uint8_t*/ unsigned char num_lfe_channels; - /*uint8_t*/ unsigned char channel_position[MAX_CHANNELS]; - - /* PS: 0: off, 1: on */ - /*uint8_t*/ unsigned char ps; -} NeAACDecFrameInfo; +#define MAX_ASC_BYTES 64 +typedef struct { + int inited; + int version, versionA; + int framelen_type; + int useSameStreamMux; + int allStreamsSameTimeFraming; + int numSubFrames; + int numPrograms; + int numLayers; + int otherDataPresent; + uint32_t otherDataLenBits; + uint32_t frameLength; + uint8_t ASC[MAX_ASC_BYTES]; + uint32_t ASCbits; +} latm_header; typedef struct { uint8_t adts_header_present; uint8_t adif_header_present; + uint8_t latm_header_present; uint8_t sf_index; uint8_t object_type; uint8_t channelConfiguration; @@ -447,6 +409,14 @@ int16_t *lt_pred_stat[MAX_CHANNELS]; #endif +#ifdef DRM + uint8_t error_state; +#endif + + /* RNG states */ + uint32_t __r1; + uint32_t __r2; + /* Program Config Element */ uint8_t pce_set; program_config pce; @@ -463,7 +433,9 @@ int64_t scalefac_cycles; int64_t requant_cycles; #endif -} NeAACDecStruct, *NeAACDecHandle; + latm_header latm_config; + const unsigned char *cmes; +} NeAACDecStruct;