5 File formats
26.4113GPPEnhanced aacPlus general audio codecFixed-point ANSI-C codeGeneral audio codec audio processing functionsRelease 17TS
This clause describes the file formats used by the encoder and decoder programs.
5.1 Audio input file (encoder input/decoder output)
The audio input files read by the encoder and written by the decoder are 16-bit PCM wave files. For convenient handling of wave files a precompiled audio-file format library is used.
5.2 Bitstream file format (encoder output/decoder input)
The encoder program writes and the decoder program reads raw frames packetized in access units as described by 3GPP TS 26.244 [10]. For packetization the ISO media library is used. A precompiled library is used.
5.3 Error pattern file (decoder input)
The decoder program can optionally process an additional input file which describes an error pattern. The format of the error pattern file is 1 character per line. Each line corresponds to one frame, where a "0" indicates that the respective frame has been transmitted without errors, while a "1" indicates that the corresponding frame has been lost and error concealment shall be applied by the decoder.
Annex A (informative):
Weighted MOPS
The complexity numbers for the Enhanced aacPlus audio codec can be found in the following tables, the numbers have been derived using the "allcat.wav" item, which holds all the material from the selection test concatenated in one single item. For every test case the average and worst frame weighted MOPS figure has been derived. The worst case wMOPS figure over all test cases has been marked in blue.
The fixed-point C-code contains a pre-compiler directive named "ACCOUNT_ETSIOP_OVERHEAD_SPLITWORD32". If this pre-compiler directive is set during compilation, the complexity figures will be as given in Table 15. If this pre-compiler directive is not set during compilation, the complexity figures will be as given in Table 16. Regarding the details of the corresponding difference in the fixed-point C-code, please see the comments in the SplitWord32() function in intrinsics.c.
Table A.1: Weighted MOPS figures with ACCOUNT_ETSIOP_OVERHEAD_SPLITWORD32 set
|
Test Case |
Mono Encoder |
Stereo Encoder |
Decoder |
Decoder, mono only |
|
|
wMOPS [average / |
14m |
26.51 / 28.87 |
26.50 / 31.61 |
19.15 / 21.20 |
14.73 / 16.80 |
|
18s |
— |
61.38 / 65.25 |
35.18 / 38.04 |
15.14 / 17.39 |
|
|
24m |
29.51 / 34.28 |
29.51 / 34.26 |
20.98 / 23.84 |
15.93 / 18.74 |
|
|
24s |
— |
63.47 / 68.17 |
37.35 / 40.98 |
15.93 / 18.72 |
|
|
32s |
— |
64.61 / 71.02 |
38.39 / 42.28 |
16.47 / 19.60 |
|
|
48s |
— |
64.17 / 77.63 |
32.65 / 38.46 |
21.96 / 26.83 |
Table A.2: Weighted MOPS figures with ACCOUNT_ETSIOP_OVERHEAD_SPLITWORD32 not set
|
Test Case |
Mono Encoder |
Stereo Encoder |
Decoder |
Decoder, mono only |
|
|
wMOPS [average / |
14m |
23.80 / 25.41 |
23.79 / 29.04 |
15.86 / 17.73 |
12.38 / 14.38 |
|
18s |
— |
51.14 / 53.92 |
29.35 / 32.07 |
12.77 / 14.95 |
|
|
24m |
26.52 /29.60 |
26.52 / 29.66 |
17.53 / 20.13 |
13.51 / 16.21 |
|
|
24s |
— |
53.08 / 56.06 |
31.17 / 34.64 |
13.57 / 16.22 |
|
|
32s |
— |
54.11 / 58.39 |
32.08 / 35.75 |
14.05 / 17.09 |
|
|
48s |
— |
57.46 / 65.89 |
27.88 / 33.43 |
18.53 / 23.22 |
Annex B (informative):
Change history
|
Change history |
|||||||
|
Date |
TSG SA# |
TSG Doc. |
CR |
Rev |
Subject/Comment |
Old |
New |
|
2005-03 |
27 |
SP-050146 |
Approved at TSG SA#27 |
1.0.0 |
6.0.0 |
||
|
2005-06 |
28 |
SP-050251 |
001 |
Correction to C-code: Corrections to ETSI operator usage |
6.0.0 |
6.1.0 |
|
|
2005-06 |
28 |
SP-050251 |
002 |
Correction to C-code: Avoid reading of non-initialized variable |
6.0.0 |
6.1.0 |
|
|
2005-06 |
28 |
SP-050251 |
003 |
Correction to C-code: fixes for error concealment |
6.0.0 |
6.1.0 |
|
|
2005-09 |
29 |
SP-050426 |
0004 |
Correction to C-code: enable 44.1 kHz input material encoding (fixed-point code) |
6.1.0 |
6.2.0 |
|
|
2005-09 |
29 |
SP-050426 |
0005 |
Correction to C-Code: Bitrate dependancy of AAC block switching threshold |
6.1.0 |
6.2.0 |
|
|
2005-09 |
29 |
SP-050426 |
0006 |
Correction to C-Code: prevent overflow in parameter estimation of Parametric Stereo IID value |
6.1.0 |
6.2.0 |
|
|
2005-09 |
29 |
SP-050426 |
0007 |
Correction to C-Code: smoothing of SBR noise values |
6.1.0 |
6.2.0 |
|
|
2005-09 |
29 |
SP-050426 |
0008 |
Correction to C-Code: removal of obsolete table (fixed-point code) |
6.1.0 |
6.2.0 |
|
|
2005-09 |
29 |
SP-050426 |
0009 |
Correction to C-Code: rounding in TNS parcor coefficient calculation |
6.1.0 |
6.2.0 |
|
|
2005-12 |
30 |
SP-050786 |
0011 |
Correction to C-code: encoder tuning table entry for 44.1 kHz was wrong |
6.2.0 |
6.3.0 |
|
|
2005-12 |
30 |
SP-050786 |
0012 |
Correction to C-code: encoder bitrate switching simulation toolset |
6.2.0 |
6.3.0 |
|
|
2006-09 |
33 |
SP-060595 |
0015 |
1 |
Correction of written specification: correct memory tables (fixed-point code) |
6.3.0 |
6.4.0 |
|
2006-09 |
33 |
SP-060601 |
0013 |
2 |
Modification of C-code: Change of encoder bitrate border for Parametric Stereo usage (fixed-point code) |
6.4.0 |
7.0.0 |
|
2006-12 |
34 |
SP-060849 |
0016 |
Correction to C-code: Correct the maximum possible SBR payload size (fixed point code) |
7.0.0 |
7.1.0 |
|
|
2007-03 |
35 |
SP-070030 |
0018 |
Bugfix for the Enhanced aacPlus fixed point arithmetic library |
7.1.0 |
7.2.0 |
|
|
2007-09 |
37 |
SP-070628 |
0020 |
1 |
Adding safety code to avoid encoder runtime-assertion |
7.2.0 |
7.3.0 |
|
2007-09 |
37 |
SP-070628 |
0022 |
1 |
Prevent arithmetic overflow during estimation of perceptual entropy in AAC encoder |
7.2.0 |
7.3.0 |
|
2007-09 |
37 |
SP-070628 |
0024 |
1 |
Prevent out-of-bounds memory access of encoder in parametric stereo mode |
7.2.0 |
7.3.0 |
|
2008-12 |
42 |
Version for Release 8 |
7.3.0 |
8.0.0 |
|||
|
2009-12 |
46 |
Version for Release 9 |
8.0.0 |
9.0.0 |
|||
|
2011-03 |
51 |
Version for Release 10 |
9.0.0 |
10.0.0 |
|||
|
2012-09 |
57 |
Version for Release 11 |
10.0.0 |
11.0.0 |
|||
|
2014-09 |
65 |
Version for Release 12 |
11.0.0 |
12.0.0 |
|||
|
2015-12 |
70 |
Version for Release 13 |
12.0.0 |
13.0.0 |
|||
|
Change history |
|||||||
|
Date |
Meeting |
TDoc |
CR |
Rev |
Cat |
Subject/Comment |
New version |
|
2017-03 |
75 |
Version for Release 14 |
14.0.0 |
||||
|
2018-06 |
80 |
Version for Release 15 |
15.0.0 |
||||
|
2020-07 |
– |
– |
– |
– |
– |
Update to Rel-16 version (MCC) |
16.0.0 |
|
2022-04 |
– |
– |
– |
– |
– |
Update to Rel-17 version (MCC) |
17.0.0 |