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 |