Software optimization of H.263 video encoder on Pentium processor with MMX technology
A key enabling technology for the proliferation of multimedia PCs is the availability of fast video codecs, which are the basic building blocks of many new multimedia applications. Since most industrial video coding standards (e.g., MPEG1, MPEG2, H.261, H.263, etc.) only specify the decoder syntax, there is a lot of room for optimization in a practical implementation. When considering a specific hardware platform like the PC, the algorithmic optimization must be considered in tandem with the architecture of the PC. Specifically, an algorithm that is optimal in the sense of number of operations needed may not be the fastest implementation on the PC. This is because special instructions are available which can perform several operations at once under special circumstances. In this work, we describe a fast implementation of the H.263 video encoder for the Pentium processor with MMX technology.