Short name of the specification

ISO IEC 23003-3 (USAC)

Full name of the specification

Information technology — MPEG audio technologies — Part 4: Dynamic range control.
Latest known version is ISO IEC 23003-3:2020.
You can buy this specification.

Abstract

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.

List of elements with at least one check

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

List of checks involving this specification

(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