No subject

Thu Apr 11 16:32:37 PDT 2013

ly or Hybrid frames for 40 or 60ms packet, respectively.  That is based on =
concatenating 20ms frames, right?

Is 60ms the largest packet opus_encode() can generate?  In order to get pac=
kets of up to 120 ms by combining multiple frames as described in RFC6716 c=
lause 2.1.4 one would need to use the "repacketizer".  That is if I want to=
 have a 120 ms  packet, I would need to take two 60 ms packets generated by=
 opus_encode(), extract out the compressed frames from each packet, concate=
nate them and put on a new TOC with frame count code "c" set to 1.


-----Original Message-----
From: opus-bounces at [mailto:opus-bounces at] On Behalf Of Jea=
n-Marc Valin
Sent: Friday, October 25, 2013 7:19 AM
To: O'Connor, Kevin; opus at
Subject: Re: [opus] libopus API question - 120ms encoding

The general ideao of opus_encode() is indeed to encode a single frame.
However, there is an exception for 40 and 60 ms because only one mode
(SILK-only) has this frame size. The original code would automatically forc=
e SILK-only mode on 40 and 60 ms, but that was suboptimal for mode switchin=
g. This why opus_encode() can now generate packets that concatenate 2-3 CEL=
T-only or 2-3 hybrid frames when called for 40 or 60 ms. This is the only e=
xception. It will *not* encode 120 ms, nor 30 ms frames from concatenating =
3 10-ms frames. For anything else, you need the repacketizer.



On 10/24/2013 01:45 PM, O'Connor, Kevin wrote:
> The libopus encoder's opus_encode() method is documented as "Encodes=20
> an Opus frame". Does that  mean that it always produces a single Opus=20
> frame (i.e. the number of frames in the TOC byte will always be 0)?
> It's not clear from the documentation, but the fact that it cannot=20
> produce a 120ms Opus packet makes me wonder if that was the intention=20
> and any multi-frame Opus packets must formed outside the libopus encoder =
> the Repacketizer).
> =20
> If that's not the case and opus_encode() can produce multi-frame Opus=20
> packets, why is it limited to 60ms Opus packets?
> =20
> Kevin O'Connor
> Interacive Intelligence, Inc.
> =20
> _______________________________________________
> opus mailing list
> opus at

opus mailing list
opus at

More information about the opus mailing list