Mercurial > hg > sv-dependency-builds
comparison src/libmad-0.15.1b/TODO @ 0:c7265573341e
Import initial set of sources
author | Chris Cannam |
---|---|
date | Mon, 18 Mar 2013 14:12:14 +0000 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:c7265573341e |
---|---|
1 | |
2 libmad - MPEG audio decoder library | |
3 Copyright (C) 2000-2004 Underbit Technologies, Inc. | |
4 | |
5 $Id: TODO,v 1.3 2004/02/05 09:02:39 rob Exp $ | |
6 | |
7 =============================================================================== | |
8 | |
9 libmad: | |
10 - more API layers (buffering, PCM samples, dithering, etc.) | |
11 - x86 performance optimization compiler flags | |
12 - function documentation, general docs | |
13 - finish async API | |
14 - parse system streams? | |
15 - MPEG-2 MC, AAC? | |
16 - logarithmic multiplication? | |
17 - multiple frame decoding for better locality of reference? | |
18 - frame serial numbers, Layer III frame continuity checks | |
19 | |
20 fixed.h: | |
21 - experiment with FPM_INTEL: | |
22 | |
23 # if 1 | |
24 # define mad_f_scale64(hi, lo) \ | |
25 ({ mad_fixed_t __result; \ | |
26 asm ("shrl %3,%1\n\t" \ | |
27 "shll %4,%2\n\t" \ | |
28 "orl %2,%1" \ | |
29 : "=rm" (__result) \ | |
30 : "0" (lo), "r" (hi), \ | |
31 "I" (MAD_F_SCALEBITS), "I" (32 - MAD_F_SCALEBITS) \ | |
32 : "cc"); \ | |
33 __result; \ | |
34 }) | |
35 # else | |
36 # define mad_f_scale64(hi, lo) \ | |
37 ({ mad_fixed64hi_t __hi_; \ | |
38 mad_fixed64lo_t __lo_; \ | |
39 mad_fixed_t __result; \ | |
40 asm ("sall %2,%1" \ | |
41 : "=r" (__hi_) \ | |
42 : "0" (hi), "I" (32 - MAD_F_SCALEBITS) \ | |
43 : "cc"); \ | |
44 asm ("shrl %2,%1" \ | |
45 : "=r" (__lo_) \ | |
46 : "0" (lo), "I" (MAD_F_SCALEBITS) \ | |
47 : "cc"); \ | |
48 asm ("orl %1,%2" \ | |
49 : "=rm" (__result) \ | |
50 : "r" (__hi_), "0" (__lo_) \ | |
51 : "cc"); \ | |
52 __result; \ | |
53 }) | |
54 # endif | |
55 | |
56 libmad Layer I: | |
57 - check frame length sanity | |
58 | |
59 libmad Layer II: | |
60 - check frame length sanity | |
61 | |
62 libmad Layer III: | |
63 - circular buffer | |
64 - optimize zero_part from Huffman decoding throughout | |
65 - MPEG 2.5 8000 Hz sf bands? mixed blocks? | |
66 - stereo->mono conversion optimization? | |
67 - enable frame-at-a-time decoding | |
68 - improve portability of huffman.c | |
69 |