2 ** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding
3 ** Copyright (C) 2003-2004 M. Bakker, Ahead Software AG, http://www.nero.com
5 ** This program is free software; you can redistribute it and/or modify
6 ** it under the terms of the GNU General Public License as published by
7 ** the Free Software Foundation; either version 2 of the License, or
8 ** (at your option) any later version.
10 ** This program is distributed in the hope that it will be useful,
11 ** but WITHOUT ANY WARRANTY; without even the implied warranty of
12 ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 ** GNU General Public License for more details.
15 ** You should have received a copy of the GNU General Public License
16 ** along with this program; if not, write to the Free Software
17 ** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
19 ** Any non-GPL usage of this software or parts of this software is strictly
22 ** Commercial non-GPL licensing of this software is possible.
23 ** For more info contact Ahead Software through Mpeg4AAClicense@nero.com.
46 #define DRM_ER_LC 27 /* special object type for DRM */
55 #define SBR_UPSAMPLED 1
56 #define SBR_DOWNSAMPLED 2
57 #define NO_SBR_UPSAMPLED 3
59 /* DRM channel definitions */
61 #define DRMCH_STEREO 2
62 #define DRMCH_SBR_MONO 3
63 #define DRMCH_SBR_STEREO 4
64 #define DRMCH_SBR_PS_STEREO 5
67 /* First object type that has ER */
68 #define ER_OBJECT_START 17
77 #define EXT_FILL_DATA 1
78 #define EXT_DATA_ELEMENT 2
79 #define EXT_DYNAMIC_RANGE 11
92 #define ONLY_LONG_SEQUENCE 0x0
93 #define LONG_START_SEQUENCE 0x1
94 #define EIGHT_SHORT_SEQUENCE 0x2
95 #define LONG_STOP_SEQUENCE 0x3
98 #define FIRST_PAIR_HCB 5
103 #define INTENSITY_HCB2 14
104 #define INTENSITY_HCB 15
106 #define INVALID_SBR_ELEMENT 255
108 int8_t GASpecificConfig(bitfile
*ld
, mp4AudioSpecificConfig
*mp4ASC
,
109 program_config
*pce
);
111 uint8_t adts_frame(adts_header
*adts
, bitfile
*ld
);
112 void get_adif_header(adif_header
*adif
, bitfile
*ld
);
113 void raw_data_block(NeAACDecHandle hDecoder
, NeAACDecFrameInfo
*hInfo
,
114 bitfile
*ld
, program_config
*pce
, drc_info
*drc
);
115 uint8_t reordered_spectral_data(NeAACDecHandle hDecoder
, ic_stream
*ics
, bitfile
*ld
,
116 int16_t *spectral_data
);
117 void aac_scalable_main_element(NeAACDecHandle hDecoder
, NeAACDecFrameInfo
*hInfo
,
118 bitfile
*ld
, program_config
*pce
, drc_info
*drc
);