Decoding AAC SCE and LFE

From MultimediaWiki
Jump to navigation Jump to search

Part of Understanding AAC

Function Hierarchy

When FAAD2 wants to decode a SCE or LFE, this is the sequence of functions it calls in its internal hierarchy:

 syntax.c:decode_sce_lfe()
   +- syntax.c:single_lfe_channel_element()
     +- syntax.c:individual_channel_stream()
     +- (SBR decoding stuff)
     +- specrec.c:reconstruct_single_channel()

decode_sce_lfe()

single_lfe_channel_element()

single_lfe_channel_element()

declare an ic_stream structure: ics
declare an array of 1024 16-bit ints for spectral data: spec_data
4 bits: element instance tag
individual_channel_stream(ics, spec_data)
reconstruct_single_channel(ics, spec_data)

individual_channel_stream(ic_stream ics, spec_data[1024])

This process is detailed in Decoding AAC CPE.

Reconstruction