TODO
上传用户:xjjlds
上传日期:2015-12-05
资源大小:22823k
文件大小:2k
- libmad - MPEG audio decoder library
- Copyright (C) 2000-2003 Underbit Technologies, Inc.
- $Id: TODO,v 1.1 2003/08/31 18:59:46 gabest 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,%1nt"
- "shll %4,%2nt"
- "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 legal bitrate/mode combinations
- - 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