File: TODO

package info (click to toggle)
audacity 2.2.2-1
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 129,312 kB
  • sloc: ansic: 373,350; cpp: 276,880; sh: 56,060; python: 18,922; makefile: 10,309; lisp: 8,365; xml: 1,888; perl: 1,798; java: 1,551; asm: 545; pascal: 395; sed: 58; awk: 35
file content (69 lines) | stat: -rw-r--r-- 1,821 bytes parent folder | download | duplicates (2)
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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69

 libmad - MPEG audio decoder library
 Copyright (C) 2000-2004 Underbit Technologies, Inc.

 $Id: TODO,v 1.2 2005-09-12 07:01:29 dmazzoni Exp $

===============================================================================

libmad:
  - more API layers (buffering, PCM samples, dithering, etc.)
  - x86 performance optimization compiler flags
  - function documentation, general docs
  - finish async API
  - parse system streams?
  - MPEG-2 MC, AAC?
  - logarithmic multiplication?
  - multiple frame decoding for better locality of reference?
  - frame serial numbers, Layer III frame continuity checks

fixed.h:
  - experiment with FPM_INTEL:

# if 1
#    define mad_f_scale64(hi, lo)  \
    ({ mad_fixed_t __result;  \
       asm ("shrl %3,%1\n\t"  \
	    "shll %4,%2\n\t"  \
	    "orl %2,%1"  \
	    : "=rm" (__result)  \
	    : "0" (lo), "r" (hi),  \
	      "I" (MAD_F_SCALEBITS), "I" (32 - MAD_F_SCALEBITS)  \
	    : "cc");  \
       __result;  \
    })
# else
#    define mad_f_scale64(hi, lo)  \
    ({ mad_fixed64hi_t __hi_;  \
       mad_fixed64lo_t __lo_;  \
       mad_fixed_t __result;  \
       asm ("sall %2,%1"  \
	    : "=r" (__hi_)  \
	    : "0" (hi), "I" (32 - MAD_F_SCALEBITS)  \
	    : "cc");  \
       asm ("shrl %2,%1"  \
	    : "=r" (__lo_)  \
	    : "0" (lo), "I" (MAD_F_SCALEBITS)  \
	    : "cc");  \
       asm ("orl %1,%2"  \
	    : "=rm" (__result)  \
	    : "r" (__hi_), "0" (__lo_)  \
	    : "cc");  \
       __result;  \
    })
# endif

libmad Layer I:
  - check frame length sanity

libmad Layer II:
  - check frame length sanity

libmad Layer III:
  - circular buffer
  - optimize zero_part from Huffman decoding throughout
  - MPEG 2.5 8000 Hz sf bands? mixed blocks?
  - stereo->mono conversion optimization?
  - enable frame-at-a-time decoding
  - improve portability of huffman.c