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 /
worst frame]

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 /
worst frame]

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