summaryrefslogtreecommitdiff
path: root/audio_codec/libraac/statname.h (plain)
blob: 127281cfdbe3b08eaaa15c8773cd1799d6c32740
1/* ***** BEGIN LICENSE BLOCK *****
2 * Source last modified: $Id: statname.h,v 1.1 2005/02/26 01:47:34 jrecker Exp $
3 *
4 * Portions Copyright (c) 1995-2005 RealNetworks, Inc. All Rights Reserved.
5 *
6 * The contents of this file, and the files included with this file,
7 * are subject to the current version of the RealNetworks Public
8 * Source License (the "RPSL") available at
9 * http://www.helixcommunity.org/content/rpsl unless you have licensed
10 * the file under the current version of the RealNetworks Community
11 * Source License (the "RCSL") available at
12 * http://www.helixcommunity.org/content/rcsl, in which case the RCSL
13 * will apply. You may also obtain the license terms directly from
14 * RealNetworks. You may not use this file except in compliance with
15 * the RPSL or, if you have a valid RCSL with RealNetworks applicable
16 * to this file, the RCSL. Please see the applicable RPSL or RCSL for
17 * the rights, obligations and limitations governing use of the
18 * contents of the file.
19 *
20 * This file is part of the Helix DNA Technology. RealNetworks is the
21 * developer of the Original Code and owns the copyrights in the
22 * portions it created.
23 *
24 * This file, and the files included with this file, is distributed
25 * and made available on an 'AS IS' basis, WITHOUT WARRANTY OF ANY
26 * KIND, EITHER EXPRESS OR IMPLIED, AND REALNETWORKS HEREBY DISCLAIMS
27 * ALL SUCH WARRANTIES, INCLUDING WITHOUT LIMITATION, ANY WARRANTIES
28 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, QUIET
29 * ENJOYMENT OR NON-INFRINGEMENT.
30 *
31 * Technology Compatibility Kit Test Suite(s) Location:
32 * http://www.helixcommunity.org/content/tck
33 *
34 * Contributor(s):
35 *
36 * ***** END LICENSE BLOCK ***** */
37
38/**************************************************************************************
39 * Fixed-point HE-AAC decoder
40 * Jon Recker (jrecker@real.com)
41 * February 2005
42 *
43 * statname.h - name mangling macros for static linking
44 **************************************************************************************/
45
46#ifndef _STATNAME_H
47#define _STATNAME_H
48
49/* define STAT_PREFIX to a unique name for static linking
50 * all the C functions and global variables will be mangled by the preprocessor
51 * e.g. void DCT4(...) becomes void raac_DCT4(...)
52 */
53#define STAT_PREFIX raac
54
55#define STATCC1(x,y,z) STATCC2(x,y,z)
56#define STATCC2(x,y,z) x##y##z
57
58#ifdef STAT_PREFIX
59#define STATNAME(func) STATCC1(STAT_PREFIX, _, func)
60#else
61#define STATNAME(func) func
62#endif
63
64/* these symbols are common to all implementations */
65#define AllocateBuffers STATNAME(AllocateBuffers)
66#define FreeBuffers STATNAME(FreeBuffers)
67#define ClearBuffer STATNAME(ClearBuffer)
68
69#define SetRawBlockParams STATNAME(SetRawBlockParams)
70#define PrepareRawBlock STATNAME(PrepareRawBlock)
71#define FlushCodec STATNAME(FlushCodec)
72
73#define UnpackADTSHeader STATNAME(UnpackADTSHeader)
74#define GetADTSChannelMapping STATNAME(GetADTSChannelMapping)
75#define UnpackADIFHeader STATNAME(UnpackADIFHeader)
76#define DecodeNextElement STATNAME(DecodeNextElement)
77#define DecodeNoiselessData STATNAME(DecodeNoiselessData)
78#define Dequantize STATNAME(Dequantize)
79#define StereoProcess STATNAME(StereoProcess)
80#define DeinterleaveShortBlocks STATNAME(DeinterleaveShortBlocks)
81#define PNS STATNAME(PNS)
82#define TNSFilter STATNAME(TNSFilter)
83#define IMDCT STATNAME(IMDCT)
84
85#define InitSBR STATNAME(InitSBR)
86#define DecodeSBRBitstream STATNAME(DecodeSBRBitstream)
87#define DecodeSBRData STATNAME(DecodeSBRData)
88#define FreeSBR STATNAME(FreeSBR)
89#define FlushCodecSBR STATNAME(FlushCodecSBR)
90
91/* global ROM tables */
92#define sampRateTab STATNAME(sampRateTab)
93#define predSFBMax STATNAME(predSFBMax)
94#define channelMapTab STATNAME(channelMapTab)
95#define elementNumChans STATNAME(elementNumChans)
96#define sfBandTotalShort STATNAME(sfBandTotalShort)
97#define sfBandTotalLong STATNAME(sfBandTotalLong)
98#define sfBandTabShortOffset STATNAME(sfBandTabShortOffset)
99#define sfBandTabShort STATNAME(sfBandTabShort)
100#define sfBandTabLongOffset STATNAME(sfBandTabLongOffset)
101#define sfBandTabLong STATNAME(sfBandTabLong)
102#define tnsMaxBandsShortOffset STATNAME(tnsMaxBandsShortOffset)
103#define tnsMaxBandsShort STATNAME(tnsMaxBandsShort)
104#define tnsMaxOrderShort STATNAME(tnsMaxOrderShort)
105#define tnsMaxBandsLongOffset STATNAME(tnsMaxBandsLongOffset)
106#define tnsMaxBandsLong STATNAME(tnsMaxBandsLong)
107#define tnsMaxOrderLong STATNAME(tnsMaxOrderLong)
108
109/* in your implementation's top-level include file (e.g. real\coder.h) you should
110 * add new #define sym STATNAME(sym) lines for all the
111 * additional global functions or variables which your
112 * implementation uses
113 */
114
115#endif /* _STATNAME_H */
116