home *** CD-ROM | disk | FTP | other *** search
- So here we are...
- I've compiled the sources from this archive (using StormC V3) to make sure
- you'll not have too much troubles with them. But because of copyrights
- issues, I can't give one of the asm headers, making the asm source unusable
- "as is".
-
- ===============================================================================
- Quick guide :
-
- PegaseCond.hpp
- Conditional compilation. Usage of ASM functions has been disabled
- (_USE_ASM_FCT_ = 0).
-
- Misc_funcs.asm
- ASM versions for some functions. Pegase is slightly faster with
- them (copyrighted asm header required to compile it).
-
- InputStreamC.hpp
- InputStreamC.cpp
- Input streams handling for the various file types.
-
- FileInfosC.hpp
- FileInfosC.cpp
- Misc infos about the input files.
-
- StringClass.hpp
- StringClass.cpp
- Simple string class.
-
- PsychoC.hpp
- PsychoC.cpp
- Psycho analyzer.
-
- Pegase.h
- Pegase.hpp
- Pegase.cpp
- Main source.
-
- FastFFTC.hpp
- FastFFTC.cpp
- Fast FFT code.
-
- Display.hpp
- Display.cpp
- Output handling (unfinished).
-
- Common.hpp
- Common.cpp
- Misc functions. Also contains the main loop (while encoding).
-
- CoderC.hpp
- CoderC.cpp
- Coder classes (Layers 1/2).
-
- ArgsControlClass.hpp
- ArgsControlClass.cpp
- A little class to handle CLI args and tooltypes.
-
- AmigaOS.hpp
- AmigaOS.cpp
- AmigaOS wrappers (check arguments and track ressources).
-
- Tables.cpp
- Encoder tables (the real tables are built upon startup from
- these tables).
-
- EncoderConfigC.hpp
- Memory.hpp
- lists.hpp
- Misc classes.
- ===============================================================================
-
- To resume the situation :
- - Encoder part, including file output : CoderC + PsychoC + FastFFTC + Tables
- - File input : FileInfosC + InputStreamC
-
- All parts of the encoder have been defined to work together, so it would be
- difficult to extract one of these part to use it "as is". Anyway, I think
- the most important things are the ideas and algorythms used in Pegase. I
- really think they could improve mp3 encoding speed a lot as well.
- Please take a special look at the FastFFT and SubBandCoding sources (the
- latter including 3 functions of the original MPEG source). In the current
- implementation, these 2 functions eat ~50% of the encoding time, but
- they are at least 2-3 times faster than their conterparts in Musicin.
-
- Another big improvement concerns the buffers : MPEG's sources used to copy
- datas back and forth into several buffers, while Pegase do its stuff from
- the input buffer (SubBandCoding and SetupWinSamples_1024) without any
- intermediate buffer involved. This makes a big difference because memory
- bandwidth limits the encoding speed in a great amount (even with a 68060 !).
-
- As you can see, Pegase's sources have nothing to do with the original
- sources, which make them difficult to insert into another project. But
- that's why Pegase is so faaaast :))
- Now, it's up to you to continue the job ;-)
-
-