[Architecture]
* Add-ons are used for input and/or output of FFEncoder, FFPlayer and FFDecoder.
* FFEncoder provides audio/video formats transcoding: intput -> decoding(decompression) -> encoding(compression) -> output.
* FFPlayer plays audio and video files.
* FFDecoder provides media file information and decoding video frames or audio samples.
* FFLogger catchs the log generated by (Add-ons, FFEncoder, FFPlayer, FFDecoder and FFmpeg libraries).
* FFLoader provides loading DLLs in run-time dynamic linking.
* DLLs includes FFmpeg libraries, SDL library and SoundTouch library.

[Add-ons]
* MemoryAccessAdapter provides memory access for intput and output (open, read/write, seek, close).
* FrameInputAdapter provides directly video frames input (Bitmap canvas, Bitmap data, Bitmap DeviceContext, YUV).
* FrameOutputAdapter provides directly video frames output (RGB, MJPEG, H.263, H.264, YUV).
* PacketInputAdapter provides directly video packets input (H.263, H.264, MJPEG, M4V, MPEGVideo, VC1).
* WaveInputAdapter provides directly PCM wave data input.
* WaveOutputAdapter provides directly PCM wave data output.
* GDICapture provides screen capturing for video input and wave recording for audio input.
* DShowCapture(built in FFmpeg libraries) provides webcam capturing for video input and wave recording for audio input.
* Please refer the demos for more information.

[FFEncoder]
* FFEncoder is powerful and a little complex, please refer to the encoder document and demos.
* DLLs needed: AVCodec, AVDevice, AVFilter, AVFormat, AVUtil, SwResample, SwScale.

[FFPlayer]
* FFPlayer is easy to use and still not powerful enough, please refer to the demo application.
* DLLs needed: AVCodec, AVDevice, AVFilter, AVFormat, AVUtil, SwResample, SwScale, SDL and SoundTouch(optional).

[FFDecoder]
* FFDecoder is easy to use, please refer to the demo application.
* DLLs needed: AVCodec, AVFilter, AVFormat, AVUtil, SwResample, SwScale.

[FFLogger]
* FFLogger is an assistant component, it will be automatically created as a global instance when necessary, and only one instance is allowed.

[FFLoader]
* FFLoader is an assistant class, it will be automatically created as a global instance at startup. Please forget it.

[FFmpeg libraries]
* FFmpeg libraries with GPL/LGPL: AVCodec, AVDevice, AVFilter, AVFormat, AVUtil, SwResample, SwScale.
* AVCodec provides decoders and encoders of audio/video stream.
* AVDevice provides VFW capturing and DirectShow capturing.
* AVFilter provides video filter for special effects.
* AVFormat provides demuxers and muxers of containers.
* AVUtil provides common utilities.
* SwResample provides audio resampling.
* SwScale provides video frames resampling.

[SDL]
* SDL provides audio playback and video rendering.

[SoundTouch]
* SoundTouch provides resampling audio for changing tempo(speed).
