Open GoogleCodeExporter opened 9 years ago
In order to support Opus in WebM someone will need to figure out how to handle
an asymptotically convergent audio codec properly in matroska.
Similar to rolling intra in video there are no keyframes in Opus (compared to
to, say, Vorbis where frame is a keyframe), instead when seeking the decoder
must seek 80ms (or so) before the intended point and decode and throw away the
audio. File based Opus also needs the container to provide signaled amount of
audio to throw away at the beginning to align with the encoder delay and allow
for convergence on cropped files. This is all apparently unsolved in matroska.
Original comment by gmaxw...@gmail.com
on 13 Jun 2012 at 4:16
We need to add this to matroska first and then we will try to add it to VPNext.
Original comment by albe...@google.com
on 19 Jul 2012 at 10:06
There's a draft spec with a finished design up to the issues Greg mentions at
https://wiki.xiph.org/MatroskaOpus
This was discussed on the mailing list thread at
http://lists.matroska.org/pipermail/matroska-devel/2011-December/004153.html
One needs to define a new Track::TrackEntry::PreRoll element to signal the
pre-roll/rolling-intra interval to use when seeking. That's straightforward,
except for convincing players to implement the new semantics, since it affects
all the seek and pipeline code. OTOH, it's useful for more than just Opus.
The initial skip at the beginning of the file (which can be less than 80ms, and
is used to compensate for coding and resampling delay in file-based Opus) is a
less serious spec change, since there are already a way to set a timestamp
offset on a block, making some of the timestamps negative. It only supports
half the range of fixed-file opus though, so some files might not round-trip.
Of course, trimming negative-timestamped samples is also an invasive player
change.
Original comment by rillian....@gmail.com
on 21 Jul 2012 at 4:38
Original issue reported on code.google.com by
prescien...@gmail.com
on 8 Jun 2012 at 2:57