Mp4Opus

From XiphWiki

(Difference between revisions)
Jump to: navigation, search
m (fix link)
(Mention edit lists for pre-skip)
Line 5: Line 5:
For pre-roll I believe we can use 'AudioRollRecoveryEntry' for pre-roll.
For pre-roll I believe we can use 'AudioRollRecoveryEntry' for pre-roll.
 +
 +
For delay, Daemon404 suggested "whatever l-smash maps encoder delay to."
 +
yusuke says, "ISO and Apple recommend the use of edit list for removing priming samples from the presentation." libavformat's demuxer supports *one* edit list.
 +
There's some work on codec-independent channel mapping, downmix and dynamic range control as part of [http://mpeg.chiariglione.org/standards/mpeg-4/iso-base-media-file-format/text-isoiec-14496-122012-pdam-4-enhanced-audio-support ISO 14496-12 Amd4] We might be able use some of that, but it doesn't support the Opus case of needing to indicated which streams are coupled pairs. We'll still need to define our own extension for this.
There's some work on codec-independent channel mapping, downmix and dynamic range control as part of [http://mpeg.chiariglione.org/standards/mpeg-4/iso-base-media-file-format/text-isoiec-14496-122012-pdam-4-enhanced-audio-support ISO 14496-12 Amd4] We might be able use some of that, but it doesn't support the Opus case of needing to indicated which streams are coupled pairs. We'll still need to define our own extension for this.
Question: Better to reuse the channel mapping header entirely, or just report the coupled stream count and use the downmix table to do the mapping?
Question: Better to reuse the channel mapping header entirely, or just report the coupled stream count and use the downmix table to do the mapping?

Revision as of 17:45, 9 July 2014

The following is a draft. It is at best incomplete and at worst completely broken. In any case, it is not an "official" Xiph spec/codec, so use with care.

This is a draft encapsulation guide for Opus audio in the mp4 (ISO Base) media container.

MP4 already has support for declaring encoder delay and pre-roll.

For pre-roll I believe we can use 'AudioRollRecoveryEntry' for pre-roll.

For delay, Daemon404 suggested "whatever l-smash maps encoder delay to." yusuke says, "ISO and Apple recommend the use of edit list for removing priming samples from the presentation." libavformat's demuxer supports *one* edit list.


There's some work on codec-independent channel mapping, downmix and dynamic range control as part of ISO 14496-12 Amd4 We might be able use some of that, but it doesn't support the Opus case of needing to indicated which streams are coupled pairs. We'll still need to define our own extension for this.

Question: Better to reuse the channel mapping header entirely, or just report the coupled stream count and use the downmix table to do the mapping?

Personal tools


Main Page

Xiph.Org Projects

Audio—

Video—

Text—

Container—

Streaming—