syntax.h

00001 /*
00002 ** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding
00003 ** Copyright (C) 2003-2005 M. Bakker, Ahead Software AG, http://www.nero.com
00004 **  
00005 ** This program is free software; you can redistribute it and/or modify
00006 ** it under the terms of the GNU General Public License as published by
00007 ** the Free Software Foundation; either version 2 of the License, or
00008 ** (at your option) any later version.
00009 ** 
00010 ** This program is distributed in the hope that it will be useful,
00011 ** but WITHOUT ANY WARRANTY; without even the implied warranty of
00012 ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00013 ** GNU General Public License for more details.
00014 ** 
00015 ** You should have received a copy of the GNU General Public License
00016 ** along with this program; if not, write to the Free Software 
00017 ** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
00018 **
00019 ** Any non-GPL usage of this software or parts of this software is strictly
00020 ** forbidden.
00021 **
00022 ** Software using this code must display the following message visibly in the
00023 ** software:
00024 ** "FAAD2 AAC/HE-AAC/HE-AACv2/DRM decoder (c) Ahead Software, www.nero.com"
00025 ** in, for example, the about-box or help/startup screen.
00026 **
00027 ** Commercial non-GPL licensing of this software is possible.
00028 ** For more info contact Ahead Software through [email protected].
00029 **
00030 ** $Id: syntax.h,v 1.2 2005/11/01 21:41:43 gabest Exp $
00031 **/
00032 
00033 #ifndef __SYNTAX_H__
00034 #define __SYNTAX_H__
00035 
00036 #ifdef __cplusplus
00037 extern "C" {
00038 #endif
00039 
00040 #include "decoder.h"
00041 #include "bits.h"
00042 
00043 #define MAIN       1
00044 #define LC         2
00045 #define SSR        3
00046 #define LTP        4
00047 #define HE_AAC     5
00048 #define LD        23
00049 #define ER_LC     17
00050 #define ER_LTP    19
00051 #define DRM_ER_LC 27 /* special object type for DRM */
00052 
00053 /* header types */
00054 #define RAW        0
00055 #define ADIF       1
00056 #define ADTS       2
00057 
00058 /* SBR signalling */
00059 #define NO_SBR           0
00060 #define SBR_UPSAMPLED    1
00061 #define SBR_DOWNSAMPLED  2
00062 #define NO_SBR_UPSAMPLED 3
00063 
00064 /* DRM channel definitions */
00065 #define DRMCH_MONO          1
00066 #define DRMCH_STEREO        2
00067 #define DRMCH_SBR_MONO      3
00068 #define DRMCH_SBR_STEREO    4
00069 #define DRMCH_SBR_PS_STEREO 5
00070 
00071 
00072 /* First object type that has ER */
00073 #define ER_OBJECT_START 17
00074 
00075 
00076 /* Bitstream */
00077 #define LEN_SE_ID 3
00078 #define LEN_TAG   4
00079 #define LEN_BYTE  8
00080 
00081 #define EXT_FIL            0
00082 #define EXT_FILL_DATA      1
00083 #define EXT_DATA_ELEMENT   2
00084 #define EXT_DYNAMIC_RANGE 11
00085 #define ANC_DATA           0
00086 
00087 /* Syntax elements */
00088 #define ID_SCE 0x0
00089 #define ID_CPE 0x1
00090 #define ID_CCE 0x2
00091 #define ID_LFE 0x3
00092 #define ID_DSE 0x4
00093 #define ID_PCE 0x5
00094 #define ID_FIL 0x6
00095 #define ID_END 0x7
00096 
00097 #define ONLY_LONG_SEQUENCE   0x0
00098 #define LONG_START_SEQUENCE  0x1
00099 #define EIGHT_SHORT_SEQUENCE 0x2
00100 #define LONG_STOP_SEQUENCE   0x3
00101 
00102 #define ZERO_HCB       0
00103 #define FIRST_PAIR_HCB 5
00104 #define ESC_HCB        11
00105 #define QUAD_LEN       4
00106 #define PAIR_LEN       2
00107 #define NOISE_HCB      13
00108 #define INTENSITY_HCB2 14
00109 #define INTENSITY_HCB  15
00110 
00111 #define INVALID_SBR_ELEMENT 255
00112 
00113 int8_t GASpecificConfig(bitfile *ld, mp4AudioSpecificConfig *mp4ASC,
00114                         program_config *pce);
00115 
00116 uint8_t adts_frame(adts_header *adts, bitfile *ld);
00117 void get_adif_header(adif_header *adif, bitfile *ld);
00118 void raw_data_block(NeAACDecHandle hDecoder, NeAACDecFrameInfo *hInfo,
00119                     bitfile *ld, program_config *pce, drc_info *drc);
00120 uint8_t reordered_spectral_data(NeAACDecHandle hDecoder, ic_stream *ics, bitfile *ld,
00121                                 int16_t *spectral_data);
00122 #ifdef DRM
00123 void DRM_aac_scalable_main_element(NeAACDecHandle hDecoder, NeAACDecFrameInfo *hInfo,
00124                                    bitfile *ld, program_config *pce, drc_info *drc);
00125 #endif
00126 
00127 #ifdef __cplusplus
00128 }
00129 #endif
00130 #endif

Generated on Tue Dec 13 14:47:47 2005 for guliverkli by  doxygen 1.4.5