iDCT rounding
The quantization process in modern video encoders tends to make a lot of assumptions. A common one is that of continuity and uniform step size–that, for example, if we are quantizing the value 2.5, both 2 and 3 will give equal distortion, being exactly 0.5 off from the correct value. But this isn’t always true; in reality, we are working with an 8-bit range in each channel. The inverse transform has to round our high-precision internal values to a small output range.
Normally, this isn’t a problem. Since AC coefficients have (by definition) different output values for each output pixel, they serve to effectively dither the output of the iDCT. But what happens when we don’t have any AC coefficients?