| BitParser | A BitParser maintains a cursor into a BitStream |
| BitStream | A BitStream is an abstraction for a memory buffer |
| MntByteImage | MntByteImage is an abstraction of a 2D array of bytes |
| MntColor | MntColor is a general routine for converting color space between RGB and YUV |
| MntComponent | MntComponent is the base class of all Mnt components |
| MntData | MntData is the base class for all data objects |
| MntDCTImage | MntDCTImage is very similar to a byte image, except that each atomic component is a semi-compress block instead of a byte |
| MntImage | An MntImage class is an abstract class for an "image" of any type |
| MntMediaTimeStamper | This object is responsible for generating media timestamp with a random offset |
| MntMPEG1GopHdr | The MpegGopHdr structure contains all the parameters contained in the GOP header of a mpeg stream |
| MntMPEG1PicHdr | The MpegPicHdr structure contains all the parameters contained in the picture header of a mpeg stream |
| MntMPEG1SeqHdr | Sequence header of an MPEG-1 video file |
| MntMPEG1SliceHdr | This class encapsulates a MPEG-1 slice header |
| MntMPEGFileRTPizer | This class reads an MPEG-1 video file, and generates RTP packets from the video file according to RFC2250 |
| MntMPEGFrame | An MntMPEGFrame object encapsulates a partially decoded MPEG frame, which consists three DCT images, one for each color plane in YUV color space, and optionally forward and backward motion vector images |
| MntMPEGFrameDecoder | This component receives an MntMPEGRTPReassemblerBuffer, which contains an array of RTP packets, and decode the packets into YUV data |
| MntMPEGRTPReassembler | An MntMPEGRTPReassembler is a component which buffer RTP packets before passing it to other components for decoding |
| MntMPEGRTPReassemblerBuffer | MntMPEGRTPReassemblerBuffer is a packet buffer where received packets are stored (in increasing order of sequence number) before the packets are passed to decoder |
| MntPnmFile | This class provides static methods that read and write PPM and PGM files |
| MntPnmHdr | An abstraction of a header from a PNM file |
| MntPPMWriter | MntPPMWriter is a component that takes in a MntYUVFrame object and writes the object to disk as PPM image file |
| MntPSNRCalculator | This component receives a YUV frame, calcuate its PSNR values, and logged the output to disk |
| MntPump | An MntPump object is a special component which does not receive data from anyone |
| MntPump::PumpTimer | This inner class of MntPump is responsilble for scheduling the next call to pump_some() |
| MntRTPDropper | This component receives MntData objects, and randomly drops the objects |
| MntRTPFileReader | This class is a pump that pumps MntRTPMPEGpacket from a file and sends it to other components |
| MntRTPFileWriter | This object class expects to recv() MntRTPMPEGPacket objects and write the content of the object to a binary file, before pushing it to other components linked from this object The format of the binary file is a sequence of records, with each records prefixed by a 4 bytes field that indicates the length of the record |
| MntRTPHdr | MntRTPHdr encapsulates the RTP header |
| MntRTPMPEGHdr | 32 bits structure that store the RTP Payload header for MPEG-1 video according to RFC 2250 |
| MntRTPMPEGPacket | Encapsulates an RTP packet with MPEG1 video payload |
| MntRTPPayloadDumper | This component expects an MntRTPMPEGPacket as input, dumps the payload of the packet to a binary file, and push the received MntRTPMPEGPacket down streams |
| MntVectorImage | A vector image is very similar to byte image, except that each atomic component is two integer (x,y) instead of a byte |
| MntYUVFrame | MntYUVFrame is an abstraction for a uncompressed image in YUV color space |