55#if defined(HELIX_FEATURE_AUDIO_CODEC_AAC_SBR)
56# define AAC_ENABLE_SBR
60# if defined(__clang__)
62# elif defined(__GNUC__) || defined(__GNUG__)
63# pragma GCC diagnostic ignored "-Wstringop-overflow"
64# elif defined(_MSC_VER)
76#define MAX_NCHANS_ELEM 2
78#define ADTS_HEADER_BYTES 7
79#define NUM_SAMPLE_RATES 12
80#define NUM_DEF_CHAN_MAPS 8
82#define MAX_NUM_PCE_ADIF 16
84#define MAX_WIN_GROUPS 8
85#define MAX_SFB_SHORT 15
86#define MAX_SF_BANDS (MAX_SFB_SHORT*MAX_WIN_GROUPS)
87#define MAX_MS_MASK_BYTES ((MAX_SF_BANDS + 7) >> 3)
88#define MAX_PRED_SFB 41
89#define MAX_TNS_FILTERS 8
90#define MAX_TNS_COEFS 60
91#define MAX_TNS_ORDER 20
93#define MAX_GAIN_BANDS 3
95#define MAX_GAIN_ADJUST 7
97#define NSAMPS_LONG 1024
98#define NSAMPS_SHORT 128
100#define NUM_SYN_ID_BITS 3
101#define NUM_INST_TAG_BITS 4
103#define EXT_SBR_DATA 0x0d
104#define EXT_SBR_DATA_CRC 0x0e
106#define IS_ADIF(p) ((p)[0] == 'A' && (p)[1] == 'D' && (p)[2] == 'I' && (p)[3] == 'F')
107#define GET_ELE_ID(p) ((AACElementID)(*(p) >> (8-NUM_SYN_ID_BITS)))
@ AAC_ID_SCE
Definition aaccommon.h:123
@ AAC_ID_FIL
Definition aaccommon.h:129
@ AAC_ID_CCE
Definition aaccommon.h:125
@ AAC_ID_INVALID
Definition aaccommon.h:121
@ AAC_ID_PCE
Definition aaccommon.h:128
@ AAC_ID_LFE
Definition aaccommon.h:126
@ AAC_ID_DSE
Definition aaccommon.h:127
@ AAC_ID_CPE
Definition aaccommon.h:124
@ AAC_ID_END
Definition aaccommon.h:130
const int sfBandTabShort[76]
const unsigned int sfBandTotalShort[NUM_SAMPLE_RATES]
const int tnsMaxBandsLongOffset[AAC_NUM_PROFILES]
int InitSBRPre(AACDecInfo *aacDecInfo, void **ptr, int *sz)
Definition sbr.c:118
const int sfBandTabLongOffset[NUM_SAMPLE_RATES]
#define MAX_NCHANS_ELEM
Definition aaccommon.h:76
const int predSFBMax[NUM_SAMPLE_RATES]
@ AAC_FF_ADTS
Definition aaccommon.h:113
@ AAC_FF_Unknown
Definition aaccommon.h:111
@ AAC_FF_RAW
Definition aaccommon.h:115
@ AAC_FF_ADIF
Definition aaccommon.h:114
const int channelMapTab[NUM_DEF_CHAN_MAPS]
const int sampRateTab[NUM_SAMPLE_RATES]
const unsigned int tnsMaxBandsShort[2 *NUM_SAMPLE_RATES]
#define NUM_SAMPLE_RATES
Definition aaccommon.h:79
const int elementNumChans[NUM_ELEMENTS]
struct _AACDecInfo AACDecInfo
#define NUM_ELEMENTS
Definition aaccommon.h:81
const unsigned int tnsMaxOrderShort[AAC_NUM_PROFILES]
const unsigned int sfBandTotalLong[NUM_SAMPLE_RATES]
const unsigned int tnsMaxOrderLong[AAC_NUM_PROFILES]
AACDecInfo * AllocateBuffers(void)
Definition buffers.c:98
#define NUM_DEF_CHAN_MAPS
Definition aaccommon.h:80
const int tnsMaxBandsShortOffset[AAC_NUM_PROFILES]
const int sfBandTabLong[325]
const int sfBandTabShortOffset[NUM_SAMPLE_RATES]
const unsigned int tnsMaxBandsLong[2 *NUM_SAMPLE_RATES]
AACDecInfo * AllocateBuffersPre(void **space, int *len)
Definition buffers.c:117
#define AAC_MAX_NCHANS
Definition aacdec.h:95
#define AAC_NUM_PROFILES
Definition aacdec.h:100
size_t len
Definition initial.c:23
#define PrepareRawBlock
Definition statname.h:70
#define DecodeSBRData
Definition statname.h:87
#define DecodeNextElement
Definition statname.h:76
#define FreeBuffers
Definition statname.h:66
#define GetADTSChannelMapping
Definition statname.h:74
#define Dequantize
Definition statname.h:78
#define SetRawBlockParams
Definition statname.h:69
#define FlushCodec
Definition statname.h:71
#define DecodeNoiselessData
Definition statname.h:77
#define DecodeSBRBitstream
Definition statname.h:86
#define UnpackADIFHeader
Definition statname.h:75
#define DeinterleaveShortBlocks
Definition statname.h:80
#define InitSBR
Definition statname.h:85
#define TNSFilter
Definition statname.h:82
#define ClearBuffer
Definition statname.h:67
#define PNS
Definition statname.h:81
#define IMDCT
Definition statname.h:83
#define FreeSBR
Definition statname.h:88
#define StereoProcess
Definition statname.h:79
#define FlushCodecSBR
Definition statname.h:89
#define UnpackADTSHeader
Definition statname.h:73
Definition aaccommon.h:133
int rawSampleBytes
Definition aaccommon.h:140
int sbrEnabled
Definition aaccommon.h:161
unsigned char * fillBuf
Definition aaccommon.h:144
int prevBlockID
Definition aaccommon.h:149
int currBlockID
Definition aaccommon.h:150
int sampRate
Definition aaccommon.h:158
void * psInfoSBR
Definition aaccommon.h:136
void * psInfoBase
Definition aaccommon.h:135
int format
Definition aaccommon.h:160
int profile
Definition aaccommon.h:159
int nChans
Definition aaccommon.h:157
int sbDeinterleaveReqd[MAX_NCHANS_ELEM]
Definition aaccommon.h:152
int fillExtType
Definition aaccommon.h:146
void * rawSampleBuf[AAC_MAX_NCHANS]
Definition aaccommon.h:139
int adtsBlocksLeft
Definition aaccommon.h:153
int fillCount
Definition aaccommon.h:145
int pnsUsed
Definition aaccommon.h:163
int tnsUsed
Definition aaccommon.h:162
int frameCount
Definition aaccommon.h:164
int rawSampleFBits
Definition aaccommon.h:141
int bitRate
Definition aaccommon.h:156
int currInstTag
Definition aaccommon.h:151