Re: [codec] it MUST NOT exceed 1275 bytes?

Gregory Maxwell <> Mon, 25 July 2011 18:21 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id BB77E21F8BF8 for <>; Mon, 25 Jul 2011 11:21:57 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -6.599
X-Spam-Status: No, score=-6.599 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, RCVD_IN_DNSWL_MED=-4]
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id wDGHbnAHUIh9 for <>; Mon, 25 Jul 2011 11:21:57 -0700 (PDT)
Received: from ( []) by (Postfix) with ESMTP id F2C4E21F8BED for <>; Mon, 25 Jul 2011 11:21:56 -0700 (PDT)
Received: from ([]) (using TLSv1) by ([]) with SMTP ID; Mon, 25 Jul 2011 11:21:57 PDT
Received: from ([fe80::c821:7c81:f21f:8bc7]) by ([::1]) with mapi; Mon, 25 Jul 2011 11:21:29 -0700
From: Gregory Maxwell <>
To: Christian Hoene <>, "" <>
Date: Mon, 25 Jul 2011 11:21:29 -0700
Thread-Topic: [codec] it MUST NOT exceed 1275 bytes?
Thread-Index: AcxK7tzxgC0BPNxeTx+5gk9WftgtygABrQYT
Message-ID: <>
References: <007101cc4aee$e622bd50$b26837f0$>
In-Reply-To: <007101cc4aee$e622bd50$b26837f0$>
Accept-Language: en-US
Content-Language: en-US
acceptlanguage: en-US
Content-Type: text/plain; charset="Windows-1252"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Subject: Re: [codec] it MUST NOT exceed 1275 bytes?
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Codec WG <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Mon, 25 Jul 2011 18:21:57 -0000

Christian Hoene [] wrote:
> 3) The requirement "Repacketization by gateways, conference bridges, or
> other software." is not listed in the requirements draft. As I still believe
> in the end-to-end principle, I also do not see the need for this
> requirement. Why do you need an Opus-to-Opus gateway if have can have
> end-to-end or if you can use a TURN server?
> BTW conference bridges mix audio streams.

Unfortunate as it may be, connectivity is not always end to end.  People may
deploy gateways for useful purposes as applying repackaization to make
better use of low capacity networks even if the far end is not cooperating.

While the gateway applications did not end up enumerated as requirements
they certainly were discussed here.

The ability to pack multiple frames is also requirement for the ability to
produce constant duration packets even if the underlying transform block
size is changing due to changing signal characteristics.  As such this
is deeply a codec layer issue, as it allows the codec to be able to meet
a reasonable requirement (constant duration frames) while changing
modes based on its coding analysis.

I don't think it's enough to say that something could be removed—
there are many things that could be removed: Shall we remove the
codec's effectiveness for encoding speech in Pig Latin because
that was never mandated in the requirements?

Removing the ability to encode multiple frames would not even
save one byte per packet in the case where it is not used. So
what would be the benefit?

> Padding is support because of security reasons as VBR frame size might leaks
> information. But in the draft, you support padding mainly for VBR having
> multiple frames? Multiple VBR frames concatenated in one packet do leak even
>less information than single frames….
> I just want to note again that “padding” has not been listed in the
> requirement draft and thus can be dropped.

Any frame can be encoded with the the N frames of VBR header type, it just
takes more channel capacity in those cases. The fact that padding is
limited to this one header type means that the padding signaling
costs zero bits in general.

If not for padding— which could not be supported with zero overhead if done
externally (you'd probably have to shim another bit, or more likely byte, on every
packet to indicate its presence)— what else would you define the remaining
bit in that particular header type to be?

What cost do you perceive this feature to have, and what benefit would
we enjoy by removing it?