summaryrefslogtreecommitdiff
path: root/TODO
blob: fd3c953aa24662f924f51ede7a3c197c7609ee81 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
For 1.2:
Major points:
- Make documentation match the actual code (especially jitter buffer, AEC and preprocessor)
- Get AGC to work in fixed-point even if not totally converted
- Stabilise all APIs (need feedback)
- Short-term estimate in jitter buffer
- Control delay in new AEC API.
- NaN checks?
- Better error reporting
- Make kiss-fft 32-bit safe

Minor issues:
- Fix last frame of speexenc


Post 1.2:
improve float<->int conversion
split encoder and decoder?
Merge TriMedia stuff
packet dump
Do VAD properly
--enable-{aec,preprocessor,jitter,resampler}

Optimisations
- Add restrict in a few places?
- enable 4x4 version of pitch_xcorr() at least on some archs?
- use __builtin_expect() (likely()/unlikely())

Would be nice:
Implement wideband split as IIR instead of QMF?

Allocator override (speex_lib_ctl?)
Fixed-point:
  - VBR
  - Jitter buffer
  - AGC
Denoiser:
  - Better noise adaptation
AGC:
  - Use median filtering instead of "non-linear mean"?

Standards
-Complete Speex RTP profile
-MIME type registration

ideas:
Peelable stream (double codebook, higher bands, stereo)
LPC from spectral domain