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