Congrats to the team for 0.10.0. It sounds really good in the tests I've done so far. I'm really looking forward to the 1.0 release. One question though: could you explain briefly the difference between VBR and unconstrained VBR? And, in my case, the $64K question: is there any situation where CELT could produce more data than specified by nbCompressedBytes when encoding? Thanks much, John RIdges
> One question though: could you explain briefly the difference between > VBR and unconstrained VBR? And, in my case, the $64K question: is thereConstrained VBR still strictly limits the bitrate variation so that you only need to buffer one additional packet, at most, to be sure that you don't stall waiting for data if you're only reading at the average rate. This is important to maintain low delay. Unconstrained VBR removes this limit (and thus requires more buffering, and thus introduces more delay).> any situation where CELT could produce more data than specified by > nbCompressedBytes when encoding?No. It is possible that the encoder can't fit the packet in the buffer you requested at all (currently around 12-13 bytes for stereo), in which case it will return CELT_CORRUPTED_DATA, but it won't produce a packet larger than the output buffer. We're actively working on reducing the situations when this occurs.
John Ridges <jridges at masque.com> a ?crit?:> One question though: could you explain briefly the difference between > VBR and unconstrained VBR? And, in my case, the $64K question: is there > any situation where CELT could produce more data than specified by > nbCompressedBytes when encoding?That *cannot* happen. What constrained vs unconstrained VBR means is how the bit-rate is used over time. In constrained VBR mode, the encoder assumes that the network speed is the same as the average bit-rate so it constrains the bit-rate to not add more than one frame of delay due to network transmission. In unconstrained VBR, the encoder assumes that the network is fast enough to transmit at the max speed, so it uses the best possible bit-rates at any time -- always subject to the max bit-rate specified. Jean-Marc