ISO IEC 23003-3 (USAC)
Information technology — MPEG audio technologies — Part 4: Dynamic range control.
Latest known version is ISO IEC 23003-3:2020.
You can buy this specification.
This document specifies technology for loudness and dynamic range control. It is applicable to most MPEG audio technologies. It offers flexible solutions to efficiently support the widespread demand for technologies such as loudness normalization and dynamic range compression for various playback scenarios.
AudioPreRoll
UsacConfig
UsacConfig/UsacDecoderConfig
UsacConfig/UsacDecoderConfig/UsacChannelPairElementConfig
UsacConfig/UsacDecoderConfig/UsacExtElementConfig
UsacConfig/UsacDecoderConfig/UsacLfeElementConfig
UsacConfig/UsacDecoderConfig/UsacSingleChannelElementConfig
UsacConfigExtension
UsacExtElement
UsacFrame
UsacChannelPairElement
UsacLfeElement
UsacSbrData
UsacSingleChannelElement
drcInstructions
loudnessInfoSet
(content element)
is (content element value for independent)
but (container element for IPF)
or (container element for IF)
does not indicate this frame is independent.
usacIndependencyFlag
is 0
for first UsacFrame
inside AudioPreRoll
(container format)
(container element)
(container value)
does not match (content format)
(content element)
(content value)
usacIndependencyFlag
is 1
but MP4
stts
or (container format)
(container element for independent frame (IF))
does not indicate this frame is independent
(container format)
(container element)
(container field)
(container value)
does not match (content format)
(content element)
(content field)
(content value)
auLen
is 0
but preroll frame shall not be empty
configLen
is 0
but it is recommended to have a preroll config
Bitstream parsing ran out of data to read before the end of the syntax was reached, most probably the bitstream is malformed
Extra bytes after the end of the syntax was reached
Extra zero bytes after the end of the syntax was reached
AudioPreRoll
usacExtElementPresent
is 1
for AudioPreRoll
inside AudioPreRoll
(preroll count field)
is (value)
but (expected value)
is recommended due to (reason)
(container format)
(container element for immediate play-out frame (IPF))
or (container format)
(container element for independent frame (IF))
does not indicate this frame is independent but (content format)
(content element)
(content field)
(value)
indicates this frame is independent
(container format)
(container element for immediate play-out frame (IPF))
indicates this frame is an immediate play-out frame (IPF) but (content format)
(content element)
(content field)
(value)
indicates this frame is not an immediate play-out frame (IPF)
(container format)
(container element for independent frame (IF))
indicates this frame is an independent frame (IF) but (content format)
(content element)
(content field)
(value )
indicates this frame is not an independent frame (IF)
This is the first frame in this stream but USAC
UsacFrame
usacIndependencyFlag
is 0
so this frame is not decodable
This is the first frame in this stream but USAC
AudioPreRoll
is not present
(container format)
(container element for immediate play-out frame (IPF))
does not indicate this frame is an immediate play-out frame (IPF) but USAC
AudioPreRoll
is present
(container format)
(container element for independent frame (IF))
indicates this frame is an independent frame (IF) but USAC
AudioPreRoll
is present
(container format)
(container element for immediate play-out frame (IPF))
indicates this frame is an immediate play-out frame (IPF) but USAC
AudioPreRoll
is not present
(container format)
(container element for independent frame (IF))
does not indicate this frame is an independent frame (IF) but USAC
AudioPreRoll
is not present
AudioPreRoll
usacExtElementConfigLength
is 1
but only 0
is allowed
AudioPreRoll
usacExtElementDefaultLengthPresent
is 1
but only 0
is allowed
AudioPreRoll
usacExtElementPayloadFrag
is 1
but only 0
is allowed
AudioPreRoll
is present in position (value)
but only presence in position 0
is allowed
AudioPreRoll
usacExtElementUseDefaultLength
is 1
but only 0
is allowed
numPreRollFrames
is (numPreRollFrames value)
but <= 3
is required
roll_distance
is (roll_distance value)
but <= 3
is required
(container format)
(container element)
(container field)
(container value)
does not permit (content format)
(content element)
(container value)
(content value)
channelConfigurationIndex
(value)
implies element order (expected channel config order)
(container format)
(container element)
(container field)
(container value)
does not match (content format)
(content element)
(container value)
(content value)
(field)
(value)
is known as reserved in (specificiation)
, bitstream parsing is partial and may be wrong
usacSamplingFrequency
is used but usacSamplingFrequencyIndex
(value)
could be used instead
channelConfigurationIndex
(value)
is used but the usacElementType
sequence contains (channel config order)
, which is the configuration indicated by channelConfigurationIndex
(expected value)
(container format)
(container element)
(container value)
does not match (content format)
(content element)
(content value)
Default loudness
is present (value)
times but only 1
instance is recommended
loudnessInfoSet
contains a mix of v0 and v1 loudnessInfo
loudnessInfoCount
is 0
loudnessInfoSet
is missing
(element)
is present (value)
times but only 1 instance is recommended
Issue detected while computing (element with issue)
numOutChannels
is (value)
but the usacElementType
sequence contains (value)
channels
numOutChannels
is (value)
, it is not recommended that the usacElementType
sequence contains (value)
channels
numOutChannels
is (value)
, it is not recommended that the usacElementType
sequence contains (value)
channels, especially when only one channel of a CPE is included in numOutChannels
UsacLfeElement
support not implemented
(field)
is (actual value)
but only (expected value)
is expected
channelConfigurationIndex
is 0
but channelConfigurationIndex
(value)
could be used for channel mapping (channel mapping)
(field)
(value)
is present (value)
times but only 1 instance is permitted