Commit graph

247 commits

Author SHA1 Message Date
Jean-Marc Valin
d7dfb00886 Made pre-computed twiddles the same for forward and inverse FFT 2008-02-08 13:25:03 +11:00
Jean-Marc Valin
711ad251df Changed ordering of real FFT freq data to something more aligned (it's not
used anywhere yet).
2008-02-08 12:22:03 +11:00
Jean-Marc Valin
b3756709ad Fixed incorrect assumption about the number of bytes returned by the
entropy coder. All testcases pass again.
2008-02-08 11:50:17 +11:00
Jean-Marc Valin
e6586d21fa Real FFT cleanup, plus some testcases 2008-02-08 10:48:15 +11:00
Jean-Marc Valin
4d0a7d0f1b Now using an MDCT implementation I can actually understand. 2008-02-08 10:22:52 +11:00
Jean-Marc Valin
012407760c Re-enabled intra-frame prediction, which seems to have exposed a few issues
with the entropy coder.
2008-02-07 21:14:16 +11:00
Jean-Marc Valin
cb0956d06d Add a test for tell(). Turns out we can make it fail by writing zeros. 2008-02-07 20:21:57 +11:00
Jean-Marc Valin
bbe6df88ed Fix reporting of bit-rate in decoder 2008-02-02 21:05:11 +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
1d4dc20e1d oops, forgot the makefile 2008-02-01 18:54:07 +11:00
Jean-Marc Valin
0911f750e6 bit of cleaning up, default sampling rate 2008-02-01 17:34:06 +11:00
Jean-Marc Valin
e623312fda Got the Ogg encoder and decoder to (barely) work. 2008-02-01 16:27:38 +11:00
Jean-Marc Valin
1e98cc5ad1 oops, type safety issue resolved 2008-02-01 10:45:45 +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
Jean-Marc Valin
eaab4b7121 Getting closer to 0.1.0 2008-01-31 17:37:28 +11:00
Jean-Marc Valin
4c6bc884c8 "make check" now actually tried to encode and decode to see if things work
(need to have test files installed otherwise it'll just pass by default)
2008-01-31 17:34:27 +11:00
Jean-Marc Valin
f997ad51dc Mode info 2008-01-31 16:47:16 +11:00
Jean-Marc Valin
abe043f0a1 Moving everything to the same type abstraction (sort of). 2008-01-31 14:26:29 +11:00
Jean-Marc Valin
3d3bb68536 cleaning up 2008-01-31 10:05:39 +11:00
Jean-Marc Valin
ccc988b822 type abstraction header and header definition (still incomplete) 2008-01-31 09:59:15 +11:00
Jean-Marc Valin
4618eee092 Added a check to make sure the encoder signal matches that of the decoder 2008-01-29 08:17:50 +11:00
Jean-Marc Valin
38b6d479a4 remove prob{enc,dec,mod} that were no longer needed 2008-01-29 08:04:01 +11:00
Jean-Marc Valin
0c387d7818 64-bit test for cwrs 2008-01-28 23:01:58 +11:00
Jean-Marc Valin
e84b96bbc1 testcase for 32-bit pulse encoding/decoding 2008-01-28 22:41:55 +11:00
Jean-Marc Valin
6238bc0ece Moved the content of libentcode into libcelt to reduce dependencies,
especially now that we have a custom version of that code anyway. Moved
the test code to tests/
2008-01-28 22:28:54 +11:00
Jean-Marc Valin
94d4ea9305 Bit of cleaning up in the byte dumping part. Making use of any remaining bit(s)
to do error detection in the decoder.
2008-01-27 17:34:35 +11:00
Timothy B. Terriberry
a2fd116d16 Remove end-byte handling to allow arbitrary padding with zeros for CBR.
From d28a530115ee7c739f12a6afb7e233cd29f64869 Mon Sep 17 00:00:00 2001
From: Timothy B. Terriberry <tterribe@xiph.org>
Date: Thu, 24 Jan 2008 21:56:48 -0500
Subject: [PATCH] Remove end-byte handling to allow arbitrary padding with zeros for CBR.
2008-01-25 14:41:04 +11:00
tterribe
bab4fb19e2 Actually free test data vectors in the new random stream tests.
git-svn-id: http://svn.xiph.org/trunk/ghost@14428 0101bb08-14d6-0310-b084-bc0e0c8e3800
2008-01-24 14:36:18 +11:00
tterribe
7e3293f713 Fix the bug that was causing the last byte of the stream to be returned incorrectly, as well as undo jm's reversion, which can cause ec_dec_tell() to operate incorrectly at the end of the stream.
A few other minor updates are included as well.

git-svn-id: http://svn.xiph.org/trunk/ghost@14427 0101bb08-14d6-0310-b084-bc0e0c8e3800
2008-01-24 14:36:13 +11:00
Jean-Marc Valin
77ff83a28c Making the library usable by other projects (install things properly, added
pkg-config file)
2008-01-22 13:16:36 +11:00
Jean-Marc Valin
388f1d6cc8 Tweaks for slightly improving the handling of the last byte (still not
perfect)
2008-01-18 16:28:11 +11:00
jm@0101bb08-14d6-0310-b084-bc0e0c8e3800
e5ec0f8da3 Reverted some of Timothy's changes to the range decoding that were causing decode random decode problems at the end of the stream (but only once in a while).
git-svn-id: http://svn.xiph.org/trunk/ghost@14413 0101bb08-14d6-0310-b084-bc0e0c8e3800
2008-01-18 15:28:49 +11:00
Jean-Marc Valin
3cfcd0594a Big mode cleanup. Keeping only one mono and one stereo mode 2008-01-18 13:56:08 +11:00
Jean-Marc Valin
a76a0b23eb Further simplified the API by passing the rate directly to the
encode function. Also, trying to properly flush the bit packer
(still some problems left).
2008-01-17 22:43:05 +11:00
tterribe
649d5cc23b Update ec_dec_bits64() to correspond to the new ec_enc_bits64(). Not sure why this wasn't committed before.
git-svn-id: http://svn.xiph.org/trunk/ghost@14409 0101bb08-14d6-0310-b084-bc0e0c8e3800
2008-01-17 19:26:17 +11:00
Jean-Marc Valin
b35536a3b0 Enabled pure CBR, though there's still some decoder issues. 2008-01-17 16:57:18 +11:00
Jean-Marc Valin
4fbd18d1f4 Close to getting CBR working 2008-01-17 14:07:55 +11:00
Jean-Marc Valin
f51ca493fb Looks like the bit allocation code is mostly working. Just need to actually
use it now.
2008-01-17 10:58:38 +11:00
Jean-Marc Valin
c6b4390f6a Working allocation interpolation code 2008-01-16 22:04:17 +11:00
Jean-Marc Valin
a663174665 more bit allocation wip 2008-01-16 17:16:04 +11:00
Jean-Marc Valin
b86ed07dc2 bit allocation wip (untested) 2008-01-15 16:33:21 +11:00
Jean-Marc Valin
137bf01afb version number bump 2008-01-15 13:17:35 +11:00
Jean-Marc Valin
33ddd7974d early code for bit-rate management 2008-01-14 17:39:01 +11:00
Jean-Marc Valin
ec71aee772 A bit of tuning and early work on bit allocation 2008-01-12 23:38:01 +11:00
tterribe
3eff11d8d4 Add ec_dec_tell() to report the same information as ec_enc_tell() decode side. Remove ec_enc_tell() and replace it with ec_enc_tellf(): just request 0 fractional bits if you want an integer value.
git-svn-id: http://svn.xiph.org/trunk/ghost@14394 0101bb08-14d6-0310-b084-bc0e0c8e3800
2008-01-11 20:51:03 +11:00
tterribe
fad779ca56 Add ec_enc_tellf, which can return the number of bits used to fractional precision.
git-svn-id: http://svn.xiph.org/trunk/ghost@14393 0101bb08-14d6-0310-b084-bc0e0c8e3800
2008-01-11 20:51:03 +11:00
tterribe
06390d082d Add oc_enc_tell to report an estimate of the number of bits used so far.
Remove the special case for 0 in EC_ILOG, as we never pass it 0 and this
 generates slightly better code.

Update ec_enc_bits64 to split the encoded values along word boundaries...
 this should generate slightly better code, as well as fix a subtle bug (the
 proper bits were not being masked out of the low part).
However, this will render previous streams that used this function undecodable
 (to my knowledge, no one is actually using it yet).

git-svn-id: http://svn.xiph.org/trunk/ghost@14391 0101bb08-14d6-0310-b084-bc0e0c8e3800
2008-01-11 20:51:03 +11:00