[opus] OPUS_SET_MAX_BANDWIDTH does not have expected results

Jean-Marc Valin jmvalin at jmvalin.ca
Thu Feb 27 03:13:40 PST 2014


And what do you set OPUS_SET_BITRATE to?

	Jean-Marc

On 27/02/14 12:03 AM, Philip Gruebele wrote:
> Hi All.
> 
> I am seeing the following unexpected behavior with 
> OPUS_SET_MAX_BANDWIDTH.  I expect that setting this to 
> OPUS_BANDWIDTH_NARROWBAND would give similar results to passing an 8Khz 
> sample rate stream, but OPUS_SET_MAX_BANDWIDTH has almost no effect with 
> any settings.
> 
> My test data has 4Khz bandwidth.  I am testing the opus encoder (latest 
> versions) with the following opus_encoder_ctl options: OPUS_SET_VBR=1, 
> OPUS_SET_VBR_CONSTRAINT=unconstrained, OPUS_SET_COMPLEXITY=10, 
> OPUS_APPLICATION_AUDIO, frame=60ms
> 
> I compress 2 separate audio streams which only differ in the sample 
> rate.   One is 8Khz and the other is 16Khz.  Both contain identical 4Khz 
> bandwidth audio (the 16Khz file is a properly up-sampled copy of the 
> 8Khz file).  When compressing these, the 16Khz input generates about 
> double the opus file size even though the audio content is identical.  I 
> found this to be unexpected since I expected VBR mode to care only about 
> the incoming audio bandwidth and not the incoming sample rate.
> 
> So I tried to use OPUS_SET_MAX_BANDWIDTH=OPUS_BANDWIDTH_NARROWBAND in 
> order to explicitly tell opus that even though the stream is 16Khz, the 
> stream bandwidth is only 4Khz.  However, this does not change the opus 
> file size for the 16Khz stream.  In fact, the OPUS_SET_MAX_BANDWIDTH 
> setting really has little effect regardless of which bandwidth I select 
> with it.  Is this a bug?  Am I misunderstanding something here?
> 
> Basically I will have a 16Khz stream in which the bandwidth will toggle 
> between 4 and 8 Khz.  I would like opus to optimally compress this, but 
> based on these tests it appears that the vbr compression rate is 
> linearly related to the input sample rate even though I expected it to 
> be a function of the actual input audio bandwidth. Because of this 
> shortcoming I am considering using ogg with opus links, and creating a 
> new link every time the bandwidth changes and setting the sample rate to 
> be 2x the bandwidth.  This would generate better compressed output but 
> is a much more complex solution so any advice would be greatly appreciated.
> 
> Cheers
> Philip
> _______________________________________________
> opus mailing list
> opus at xiph.org
> http://lists.xiph.org/mailman/listinfo/opus
> 


More information about the opus mailing list