Counter Strike : Global Offensive Source Code
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

69 lines
1.8 KiB

  1. libmad - MPEG audio decoder library
  2. Copyright (C) 2000-2004 Underbit Technologies, Inc.
  3. $Id: TODO,v 1.3 2004/02/05 09:02:39 rob 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,%1\n\t" \
  21. "shll %4,%2\n\t" \
  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 frame length sanity
  53. libmad Layer III:
  54. - circular buffer
  55. - optimize zero_part from Huffman decoding throughout
  56. - MPEG 2.5 8000 Hz sf bands? mixed blocks?
  57. - stereo->mono conversion optimization?
  58. - enable frame-at-a-time decoding
  59. - improve portability of huffman.c