blob: 909d377168d4a332e9688452476ee2c8fd9a5ae7 (
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
|
Most important things:
- the entropy coder, replace static huffman
- clean up the pnsr tools
- write docs and do some performance analysis, compare to other codecs
- think about a multiresolution multidimensional motion flow detection scheme,
Marco posted a good paper comparing different algorithms to do this
Open bugs and stuff required to fix them:
- wavelet xform bug at short rows, see workaround in wavelet_xform.c
- (4,x) and (x,4) wavelet implementations have a bug which causes round-off
errors in the two least significand bits
Wavelet-related TODO's:
- remove unecessairy copying in inverse xform
- improve truncation table setup
- try other approaches to encode coefficients, jack was talking about VQ
and reuse vorbis code
- write avitotarkin/quicktimetotarkin/mpegtotarkin/player/recorder
(a libsndfile/libaudiofile/libao alike video library would be great !)
- profile
- add special transform functions for large strides to prevent cache misses
- mmx/3dnow/sse/altivec
Other:
- u and v buffers could get quarter size already at color conversion
this would speed up the whole algorithm; perhaps this should get
configurable
- fast internal 16bitY/U/V->15/16bitRGB for display could make sense
- the wavelet codec could be used for still image compression too
(we just have to define a file format with all goodies you can imagine;)
- to make it perfect someone has to write a good bilevel compressor and
mask seperation algorithm
|