TODO
上传用户:xjjlds
上传日期:2015-12-05
资源大小:22823k
文件大小:2k
源码类别:

多媒体编程

开发平台:

Visual C++

  1.  libmad - MPEG audio decoder library
  2.  Copyright (C) 2000-2003 Underbit Technologies, Inc.
  3.  $Id: TODO,v 1.1 2003/08/31 18:59:46 gabest Exp $
  4. ===============================================================================
  5. libmad:
  6.   - more API layers (buffering, PCM samples, dithering, etc.)
  7.   - x86 performance optimization compiler flags
  8.   - function documentation, general docs
  9.   - finish async API
  10.   - parse system streams?
  11.   - MPEG-2 MC, AAC?
  12.   - logarithmic multiplication?
  13.   - multiple frame decoding for better locality of reference?
  14.   - frame serial numbers, Layer III frame continuity checks
  15. fixed.h:
  16.   - experiment with FPM_INTEL:
  17. # if 1
  18. #    define mad_f_scale64(hi, lo)  
  19.     ({ mad_fixed_t __result;  
  20.        asm ("shrl %3,%1nt"  
  21.     "shll %4,%2nt"  
  22.     "orl %2,%1"  
  23.     : "=rm" (__result)  
  24.     : "0" (lo), "r" (hi),  
  25.       "I" (MAD_F_SCALEBITS), "I" (32 - MAD_F_SCALEBITS)  
  26.     : "cc");  
  27.        __result;  
  28.     })
  29. # else
  30. #    define mad_f_scale64(hi, lo)  
  31.     ({ mad_fixed64hi_t __hi_;  
  32.        mad_fixed64lo_t __lo_;  
  33.        mad_fixed_t __result;  
  34.        asm ("sall %2,%1"  
  35.     : "=r" (__hi_)  
  36.     : "0" (hi), "I" (32 - MAD_F_SCALEBITS)  
  37.     : "cc");  
  38.        asm ("shrl %2,%1"  
  39.     : "=r" (__lo_)  
  40.     : "0" (lo), "I" (MAD_F_SCALEBITS)  
  41.     : "cc");  
  42.        asm ("orl %1,%2"  
  43.     : "=rm" (__result)  
  44.     : "r" (__hi_), "0" (__lo_)  
  45.     : "cc");  
  46.        __result;  
  47.     })
  48. # endif
  49. libmad Layer I:
  50.   - check frame length sanity
  51. libmad Layer II:
  52.   - check legal bitrate/mode combinations
  53.   - check frame length sanity
  54. libmad Layer III:
  55.   - circular buffer
  56.   - optimize zero_part from Huffman decoding throughout
  57.   - MPEG 2.5 8000 Hz sf bands? mixed blocks?
  58.   - stereo->mono conversion optimization?
  59.   - enable frame-at-a-time decoding
  60.   - improve portability of huffman.c