The Loop Filter


Loop filtering is the process of removing blocking artifacts introduced by quantization of DCT coefficients from block transforms. On2 VP8 brings several loop-filtering innovations to the VPx codec line. These innovations speed decoding by not applying any loop filter at all in the right situations, and they improve quality by allowing different loop filtering for different parts of the image, and in this manner, On2 VP8 applies no more nor less loop filtering than a particular image region is likely to benefit from.
Loop Filter

Even when loop filtering is necessary On2 VP8s loop filtering is defined for speed. Like other codecs VP8's loop filtering involves applying an adaptive one-dimensional blurring / low pass filter across block boundaries. Unlike other filters, VP8's filter is designed to work solely in character arithmetic, with any intermediate operation that might otherwise outrange (exceed character boundaries 0-255) getting clamped. This ensures maximum width of SIMD instruction use and means that if a given processor has support for 64 bit SIMD, VP8's loop filter can be made to run nearly eight times faster than the same operation would in C code.