home *** CD-ROM | disk | FTP | other *** search
/ Magazyn Amiga 14 / MA_Cover_14.iso / source / c / pegase_src / readme.first < prev    next >
Encoding:
Text File  |  2000-01-15  |  2.8 KB  |  97 lines

  1. So here we are...
  2. I've compiled the sources from this archive (using StormC V3) to make sure
  3. you'll not have too much troubles with them. But because of copyrights
  4. issues, I can't give one of the asm headers, making the asm source unusable
  5. "as is".
  6.  
  7. ===============================================================================
  8. Quick guide :
  9.  
  10. PegaseCond.hpp
  11. Conditional compilation. Usage of ASM functions has been disabled
  12. (_USE_ASM_FCT_ = 0).
  13.  
  14. Misc_funcs.asm
  15. ASM versions for some functions. Pegase is slightly faster with
  16. them (copyrighted asm header required to compile it).
  17.  
  18. InputStreamC.hpp
  19. InputStreamC.cpp
  20. Input streams handling for the various file types.
  21.  
  22. FileInfosC.hpp
  23. FileInfosC.cpp
  24. Misc infos about the input files.
  25.  
  26. StringClass.hpp
  27. StringClass.cpp
  28. Simple string class.
  29.  
  30. PsychoC.hpp
  31. PsychoC.cpp
  32. Psycho analyzer.
  33.  
  34. Pegase.h
  35. Pegase.hpp
  36. Pegase.cpp
  37. Main source.
  38.  
  39. FastFFTC.hpp
  40. FastFFTC.cpp
  41. Fast FFT code.
  42.  
  43. Display.hpp
  44. Display.cpp
  45. Output handling (unfinished).
  46.  
  47. Common.hpp
  48. Common.cpp
  49. Misc functions. Also contains the main loop (while encoding).
  50.  
  51. CoderC.hpp
  52. CoderC.cpp
  53. Coder classes (Layers 1/2).
  54.  
  55. ArgsControlClass.hpp
  56. ArgsControlClass.cpp
  57. A little class to handle CLI args and tooltypes.
  58.  
  59. AmigaOS.hpp
  60. AmigaOS.cpp
  61. AmigaOS wrappers (check arguments and track ressources).
  62.  
  63. Tables.cpp
  64. Encoder tables (the real tables are built upon startup from
  65. these tables).
  66.  
  67. EncoderConfigC.hpp
  68. Memory.hpp
  69. lists.hpp
  70. Misc classes.
  71. ===============================================================================
  72.  
  73. To resume the situation :
  74. - Encoder part, including file output : CoderC + PsychoC + FastFFTC + Tables
  75. - File input : FileInfosC + InputStreamC
  76.  
  77. All parts of the encoder have been defined to work together, so it would be
  78. difficult to extract one of these part to use it "as is". Anyway, I think
  79. the most important things are the ideas and algorythms used in Pegase. I
  80. really think they could improve mp3 encoding speed a lot as well.
  81. Please take a special look at the FastFFT and SubBandCoding sources (the
  82. latter including 3 functions of the original MPEG source). In the current
  83. implementation, these 2 functions eat ~50% of the encoding time, but
  84. they are at least 2-3 times faster than their conterparts in Musicin.
  85.  
  86. Another big improvement concerns the buffers : MPEG's sources used to copy
  87. datas back and forth into several buffers, while Pegase do its stuff from
  88. the input buffer (SubBandCoding and SetupWinSamples_1024) without any
  89. intermediate buffer involved. This makes a big difference because memory
  90. bandwidth limits the encoding speed in a great amount (even with a 68060 !).
  91.  
  92. As you can see, Pegase's sources have nothing to do with the original
  93. sources, which make them difficult to insert into another project. But
  94. that's why Pegase is so faaaast :))
  95. Now, it's up to you to continue the job ;-)
  96.  
  97.