Decoding AAC FIL

From MultimediaWiki
Jump to navigation Jump to search

Part of Understanding AAC

This can apparently be used for extension data since libfaad2 checks for SBR data in the FIL chunk which is known to be applicable to later HE-AAC variants. There are other extension data types in the syntax. According to the libfaad2 logic, a FIL element can have either an SBR chunk or a series of other extension types. These are the defined extension types:

  • 1: FILL_DATA
  • 2: DATA_ELEMENT
  • 11: DYNAMIC_RANGE
  • 12: SBR_DATA
  • 13: SBR_DATA_CRC
 local count
 local extra_count
 local extension_type
 4 bits: count
 if (count == 15)
   8 bits: extra_count
 count += extra_count
 4 bits: extension_type

FILL_DATA:

 4 bits:  must be 0000b
 foreach 0..count-2
   8 bits: must be 0xA5 (10100101b)

DATA_ELEMENT: [unfinished]

DYNAMIC_RANGE: [unfinished]

SBR_DATA: [unfinished]

SBR_DATA_CRC: [unfinished]