Re: [codec] AD review: draft-ietf-codec-opus-11

"Timothy B. Terriberry" <> Wed, 18 April 2012 20:45 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 9211011E8091 for <>; Wed, 18 Apr 2012 13:45:03 -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 NdFeahMKcvpg for <>; Wed, 18 Apr 2012 13:44:59 -0700 (PDT)
Received: from ( []) by (Postfix) with ESMTP id 8414811E80A2 for <>; Wed, 18 Apr 2012 13:44:59 -0700 (PDT)
Received: from [] ( []) (Authenticated sender: by (Postfix) with ESMTP id 2A6BC4AED8E; Wed, 18 Apr 2012 13:44:59 -0700 (PDT)
Message-ID: <>
Date: Wed, 18 Apr 2012 13:44:58 -0700
From: "Timothy B. Terriberry" <>
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:7.0.1) Gecko/20120113 SeaMonkey/2.4.1
MIME-Version: 1.0
To: Robert Sparks <>
References: <>
In-Reply-To: <>
Content-Type: text/plain; charset=windows-1252; format=flowed
Content-Transfer-Encoding: 7bit
Subject: Re: [codec] AD review: draft-ietf-codec-opus-11
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: Wed, 18 Apr 2012 20:45:03 -0000

Thank you for the detailed review. While we will of course address all 
the comments, I wanted to make one brief point now.

Robert Sparks wrote:
> 22) celt/cwrs.c contains nearly two pages of exposition in a comment,
> complete with references. Why isn't this in the main draft text instead?

The exposition here primarily concerns a specific set of optimizations, 
designed to minimize the required ROM usage at the expense of more 
complex code. These are not the only way to implement these functions. 
For example, the code I posted at simply 
uses a moderately-sized lookup table, and requires none of these 
explanations. It reimplements the entire decoding half of cwrs.c, 
roughly 300 lines of code, in one function that is less than 20 lines, 
including comments.

The text in the spec tries to limit itself to the simplest mathematical 
definition of the process, for ease of understanding, leaving specific 
optimizations to the implementor. It also references the same paper the 
code does.