Subject: [codec] CUSTOM MODES on Opus 0.9.8 and 16bit bug fixed

From: Riccardo Micci <[email-masked]>
Date: Tue, 20 Mar 2012 16:51:32 +0000

Hi,
I have some questions regarding the custom modes on Opus 0.9.8. I used to 
work with Celt 0.7.1 and I see the situation changed a bit since then. On 
Celt 0.7.1 the memory was dynamically allocated according to the input 
parameters.
Now I see that "celt_encoder_get_size" is actually calling 
"opus_custom_mode_create(48000, 960, NULL);" Does this mean that the 
allocation is cast to these settings?
I'd like also to understand what is the define "CUSTOM_MODES" doing. I see 
is disabled by default, can someone point me to the right document? I'm 
writing this because on my embedded platform Opus is using too much memory 
and I'd like to see how it can be reduced

I also fixed a bug on 16bit platforms:
file: laplace.c, function: ec_laplace_get_freq1
the last line of the function: "return ft*(16384-decay)>>15;" must be 
modified into "return ft*(16384L-decay)>>15;" to correctly work on a 16bit 
platform.

Regards
Riccardo

Riccardo Micci
Senior DSP Engineer, Wireless Division 
Cambridge Consultants
Science Park, Milton Road 
Cambridge, CB4 0DW, England
Switchboard: +44 (0)1223 420024
Direct dial: +44 (0)1223 392402
Mobile: +44 (0)
Fax: +44 (0)1223 423373
[email-masked]
www.CambridgeConsultants.com

This email is from Cambridge Consultants Limited, Science Park, Milton 
Road, Cambridge CB4 0DW with registered number 1036298 England. It may 
contain confidential information. It is intended for the addressee only 
and may not be copied or disclosed to any third party without our 
permission. If you are not the intended recipient please contact the 
sender as soon as possible and delete the material from any computer. If 
this email has been sent as a personal message to the addressee, the 
sender is not acting in his/her capacity as an employee or officer of 
Cambridge Consultants Limited and no liability is accepted for the content 
of any such email. Outgoing email may be monitored for the purpose of 
ensuring compliance with our email policy and relevant laws.