2 libmad - MPEG audio decoder library
3 Copyright (C) 2000-2004 Underbit Technologies, Inc.
7 ===============================================================================
10 - more API layers (buffering, PCM samples, dithering, etc.)
11 - x86 performance optimization compiler flags
12 - function documentation, general docs
14 - parse system streams?
16 - logarithmic multiplication?
17 - multiple frame decoding for better locality of reference?
18 - frame serial numbers, Layer III frame continuity checks
21 - experiment with FPM_INTEL:
24 # define mad_f_scale64(hi, lo) \
25 ({ mad_fixed_t __result; \
26 asm ("shrl %3,%1\n\t" \
30 : "0" (lo), "r" (hi), \
31 "I" (MAD_F_SCALEBITS), "I" (32 - MAD_F_SCALEBITS) \
36 # define mad_f_scale64(hi, lo) \
37 ({ mad_fixed64hi_t __hi_; \
38 mad_fixed64lo_t __lo_; \
39 mad_fixed_t __result; \
42 : "0" (hi), "I" (32 - MAD_F_SCALEBITS) \
46 : "0" (lo), "I" (MAD_F_SCALEBITS) \
50 : "r" (__hi_), "0" (__lo_) \
57 - check frame length sanity
60 - check frame length sanity
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