Commit graph

36 commits

Author SHA1 Message Date
Jean-Marc Valin
7bb26e13ca Adds a generic CELT_SET_BITRATE() ctl() API for CBR and VBR 2011-02-01 17:04:27 -05:00
Jean-Marc Valin
b35807d75a No longer extracting the frame size from the mode to build the header 2011-01-31 13:27:21 -05:00
Jean-Marc Valin
c97b258c62 celt_encoder_create() now defaults to Opus standard mode
The old constructor is renamed celt_encoder_create_custom(). Same
for the decoder.
2011-01-28 23:07:32 -05:00
Jean-Marc Valin
6b565268fb Fixes constrained VBR
Also removes the 8 byte/packet lower bound
2011-01-12 11:27:03 -05:00
David Schleef
b045a26a68 MSVC build fixes 2011-01-11 09:33:08 -05:00
Jean-Marc Valin
79b34eb83e Add API support for unconstrained VBR
celtenc now defaults to unconstrained VBR.
2010-12-05 17:22:06 -05:00
Gregory Maxwell
a9411472cd Switch example tools to use VBR and 960 sample frames by default on the basis that if the user doesn't have any particular requirements that they probably want this.
Minor change in the VBR behavior to hot-start with some internal state
parameters which were observed to be quite consistent across bitrates,
framesizes, and content. This also prevents it from completely burning
the reserve capacity on the first frame if its a short.

Also switch some maximum frame sizes to match the OPUS draft maximums.
2010-10-28 10:45:00 -04:00
Jean-Marc Valin
3a1006ad2a Updating various version strings 2010-06-27 21:43:34 -04:00
Jean-Marc Valin
d56c610cac API change: optional resynthesis
The main encode call no longer takes a pointer for the optional resynthesis.
It's now done with a call to celt_encode_resynthesis().
2010-05-07 21:20:22 -04:00
Jean-Marc Valin
ce4dd367c2 More work on variable frame size (getting rid of FRAMESIZE() ) 2010-05-07 21:20:22 -04:00
Jean-Marc Valin
017fa85775 Changing the encoder API to add the frame size 2010-05-07 21:20:22 -04:00
Jean-Marc Valin
8b2ff0da5a Updated copyright notices 2009-10-17 21:40:10 -04:00
Jean-Marc Valin
30f7f813ea Changed all the celt*int*_t types to remove the _t suffix, which is reserved
by POSIX. The other _t types that are not part of the API are still there
for now. Also, got rid of all that was left of the 64-bit types.
2009-10-17 14:35:13 -04:00
Jean-Marc Valin
80ed147663 The number of channels is now set when creating the states rather than when
creating the mode. This means that the same mode can be shared for mono and
stereo.
2009-10-15 21:45:32 -04:00
Jean-Marc Valin
54669dc89b Allocating enough mem in celtenc/celtdec to handle 1024-sample frames 2009-08-01 23:22:51 +02:00
Gregory Maxwell
7144200a47 Add support for interframe prediction control in celtenc. 2009-06-08 09:36:05 -04:00
Gregory Maxwell
888d8ce939 VBR support. VBR API and VBR support in celtenc. 2009-05-21 22:23:25 -04:00
Gregory Maxwell
dd91338b0a Add version info to celtenc/celtdec output as suggested on the
mailing list by Rob Til Freedmen. Also add a bitstream version
check to these applications.
2009-02-26 17:05:37 -05:00
Gregory Maxwell
fc8ba9b220 Some additional documentaion in the celtenc UI. 2009-02-03 23:09:57 -05:00
Gregory Maxwell
fea148f284 Additional copyright notices. 2009-02-03 23:09:52 -05:00
Gregory Maxwell
122c98920f Minor enhancements to celtenc to avoid silently capping bitrate and allow an
adjustable frame size. Indentation fix in cwrs.c.
2009-02-03 18:22:50 -05:00
Gregory Maxwell
926131291f Add support for a complexity argument to both testcelt and celtenc. 2008-10-08 19:45:55 -04:00
Gregory Maxwell
8259531160 API: Change celt_encode and celt_encode_float so that they take an optional synthesis parameter after the PCM input. If optional_synthesis is null the encoder will be able to save some computation. If optional_synthesis is non-null if will be used to write the encoder's expectation of the decoder's output. Synthesis may alias the input pcm, so calling the encoder with the same buffer twice will achieve the old behavior. Remove 'restrict' from the CTL prototype. 2008-09-30 23:32:35 -04:00
Jean-Marc Valin
16ca18b9b0 Automatically choosing the overlap based on the frame size. 2008-06-18 23:44:48 +10:00
Jean-Marc Valin
7806230829 Suggesting .oga as extension for Ogg files 2008-06-09 15:40:34 +10:00
Jean-Marc Valin
a82dfdd240 Adjusting/fixing warnings 2008-03-13 23:01:55 +11:00
Jean-Marc Valin
e995c31f44 Put the channel count outside of the energy calculation. Increased the allowed
range for the mono encoder.
2008-02-26 13:48:16 +11:00
Jean-Marc Valin
44ffd5a8da Making sure freed or corrupted modes can't be used (produce a run-time warning). 2008-02-22 00:39:25 +11:00
Jean-Marc Valin
14f5e7cd09 Updated the header and celtenc/celtdec tools to the new way modes are handled. 2008-02-21 23:59:17 +11:00
Jean-Marc Valin
8c19b030df Changed _new() to _create() in the API. Added some documentation
on how to use the API.
2008-02-20 15:53:15 +11:00
Jean-Marc Valin
276e6afc03 Fixed a typo and removed an old warning from speexenc. Also, using more useful
bitrate defaults.
2008-02-02 20:15:51 +11:00
Jean-Marc Valin
69f9dea7c5 couple fixes to Ogg encoder/decoder 2008-02-01 23:25:05 +11:00
Jean-Marc Valin
96dec06380 celtenc and celtdec work for stereo as well. 2008-02-01 23:18:22 +11:00
Jean-Marc Valin
0911f750e6 bit of cleaning up, default sampling rate 2008-02-01 17:34:06 +11:00
Jean-Marc Valin
17e5b805a5 clean up... oh and actually committed the header definition 2008-02-01 09:02:05 +11:00
Jean-Marc Valin
2fecbdf084 Fixed the default int32 type which was wrong on amd64 (and added testcase).
Also, added an Ogg encoder (doesn't work quite yet).
2008-01-31 23:43:10 +11:00