The creation of a video codec from scratch for various applications.
The video codec supports the baseline profile of the ITU-T Recommendation H.263, which is video coding for low bit rate communication. Baseline profile, in this case, refers to the syntax of the recommendation with no optional modes of operation. The codec is designed and coded from scratch therefore doesn’t inherit reference ITU implementation.
Video Codec Features
- The encoder part of the codec operates at constant output bit rate in order to optimize performance for applications such as videoconferencing. The codec dynamically adjusts quality and compression ratios at various parts of video stream to provide equal number of bits for each compressed frame.
- All time critical algorithms are optimized for Intel IA32 architecture by means of MMX technology. Compression of a single 176×144 frame on PC (Celeron, 500 MHz) takes about 25 milliseconds.
- Compression control in encoding phase is made on a frame by frame basis in contrast with reference software, where macro blocks stream controls compression. Such design allows more precise and smooth selection of encoding parameters.
- Special care is taken for algorithmic optimization. Most time consuming compression operations were optimized by means of design and selection of special, fast algorithms. Motion compensation between neighbor frames is implemented with fast compensation search algorithm.
- A High-speed quantization algorithm is used. The quantization algorithm is 6 times faster than the C-based analog.
C/C++, Multimedia Compression (H.263, G.711)