5 File formats

26.4103GPPEnhanced aacPlus general audio codecFloating-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-fileformat 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. 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 and PROM

The complexity numbers for the Enhanced aacPlus audio codec can be found in the following table, 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.

Table A.1 : Weighted MOPS and PROM figures

Test Case

Mono Encoder

Stereo Encoder

Decoder

Decoder, mono only

wMOPS

[average /
worst frame]

14m

15.23 / 16.98

15.36 / 17.21

9.38 / 10.07

8.07 / 8.78

18s

25.79 / 28.36

19.48 / 20.35

8.31 / 9.17

24m

16.72 / 18.93

16.86 / 19.14

10.30 / 11.39

8.89 / 9.94

24s

27.01 / 29.85

20.45 / 21.63

8.82 / 9.93

32s

27.49 / 29.97

21.08 / 22.42

9.28 / 10.58

48s

35.22 / 42.22

17.96 / 20.26

12.42 / 14.32

14m, 16 kHz

15.42 / 18.41

15.47 / 18.46

7.85 / 8.61

7.85 / 8.60

14m, 3% FER

9.38 / 10.07

8.07 / 8.78

24s, 3% FER

20.45 / 21.63

8.81 / 9.93

32s, 1%FER

21.08 / 22.42

9.28 / 10.58

32s, 3%FER

21.08 / 22.38

9.27 / 10.58

Program ROM [ops]

12540

14365

8048

6209

Annex B (informative):
Change history

Change history

Date

TSG SA#

TSG Doc.

CR

Rev

Subject/Comment

Old

New

2004-09

25

SP-040638

Approved at SA#25

2.0.0

6.0.0

2004-12

26

SP-040840

001

Correction to C-code to increase error robustness

6.0.0

6.1.0

2004-12

26

SP-040840

002

Correction to C-code: Missing memory re-initialization

6.0.0

6.1.0

2004-12

26

SP-040840

003

Correction to C-code: Memory initialization added

6.0.0

6.1.0

2004-12

26

SP-040840

004

Correction to C-code: Wrong calculation of sine levels

6.0.0

6.1.0

2004-12

26

SP-040840

005

Correction to C-code: Prevent multiple reading of bitstream elements

6.0.0

6.1.0

2004-12

26

SP-040840

006

2

Correction to C-code: Corrected wrong table values

6.0.0

6.1.0

2004-12

26

SP-040840

007

Correction to C-code: Modify instrumentation

6.0.0

6.1.0

2004-12

26

SP-040840

008

1

Correction of C-code: Output data was copied into wrong array

6.0.0

6.1.0

2004-12

26

SP-040840

009

1

Correction to C-code: Bug in resampler

6.0.0

6.1.0

2004-12

26

SP-040840

010

1

Correction to C-code: Modify data types for FFT

6.0.0

6.1.0

2004-12

26

SP-040840

011

1

Correction to decoder C-Code: Alignment with MPEG specification

6.0.0

6.1.0

2004-12

26

SP-040840

012

Correction to C-code: Reset of Missing Harmonics flags during concealment added

6.0.0

6.1.0

2004-12

26

SP-040840

013

Removal of Complexity counters

6.0.0

6.1.0

2005-01

File "env_calc.c" replaced in the attached ANSI-C code

6.1.0

6.1.1

2005-03

27

SP-050095

014

1

Correction to C-code: 3GPP file format wrong writing of brand

6.1.1

6.2.0

2005-03

27

SP-050095

015

1

Correction to C-code: remove copyright notice from 3GPP file format header files

6.1.1

6.2.0

2005-03

27

SP-050095

016

1

Correction to C-code: add capability for 10 kbit/s, mono encoding

6.1.1

6.2.0

2005-03

27

SP-050095

017

1

Correction to C-code: add capability for data stream element parsing

6.1.1

6.2.0

2005-03

27

SP-050095

018

1

Correction to C-code: PNS decoding algorithm not conform to MPEG

6.1.1

6.2.0

2005-03

27

SP-050095

019

1

Correction to C-code: the decoder mono only compile target not working correctly

6.1.1

6.2.0

2005-03

27

SP-050095

020

1

Correction to C-code: PS-decoding with varying upper frequency border not working correctly

6.1.1

6.2.0

2005-03

27

SP-050095

021

1

Correction to C-code: PS-decoding with variable framing not working correctly

6.1.1

6.2.0

2005-03

27

SP-050095

022

Correction to written specification: move WMOPS numbers to informative Annex

6.1.1

6.2.0

2005-06

28

SP-050251

023

Correction to C-code: 10 kbit/s mono encoding with stereo input files failed

6.2.0

6.3.0

2005-09

29

SP-050426

0024

Correction to C-Code: Enable 44.1 kHz input material encoding (floating-point code)

6.3.0

6.4.0

2005-09

29

SP-050426

0025

Correction of C-Code: removal of obsolete table (floating-point code)

6.3.0

6.4.0

2005-12

30

SP-050786

0027

Correction to C-code: encoder bitrate switching simulation toolset

6.4.0

6.5.0

2005-12

30

SP-050786

0028

Correction to C-code: encoder tuning table entry for 44.1 kHz was wrong

6.4.0

6.5.0

2005-12

30

SP-050786

0029

Correction to C-code: fix to make decoder more robust against corrupt input data

6.4.0

6.5.0

2005-12

30

SP-050786

0030

Correction to C-code: removal of unused coefficients in resampler

6.4.0

6.5.0

2006-03

31

SP-060013

0031

Correction to C-code: encoder switch is wrong

6.5.0

6.6.0

2006-09

33

SP-060595

0034

1

Correction of written specification: correct memory tables (floating-point code)

6.6.0

6.7.0

2006-09

33

SP-060601

0032

2

Modification of C-code: Change of encoder bitrate border for Parametric Stereo usage (floating-point code)

6.7.0

7.0.0

2006-12

34

SP-060849

0035

Correction to C-code: Correct the maximum possible SBR payload size (floating point code)

7.0.0

7.1.0

2007-09

37

SP-070628

0038

1

Adding safety code to avoid encoder runtime-assertion

7.1.0

7.2.0

2008-12

42

Version for Release 8

7.2.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

2022-12

Update to attach the source code files (MCC)

17.0.1