3.1.8.1.2 Differencing (Optional)
If the RemoteFX codec is to be used as a video codec, the encoder can, optionally, do differencing between current and previous frames to compute the smallest set of tiles that have changed. The differencing is done by comparing the set of input tiles in the current frame with collocated tiles from the previous frame to determine whether any pixels have changed. Only the input tiles with changed pixels in the current frame are processed for compression. Note that the input tile is compressed as is; this algorithm does not compress the tile of difference values formed by subtracting the input tile pixels of the current frame from the collocated tile pixels in the previous frame. This means that the decoder does not need to determine whether the encoder is doing differencing. The encoder can use differencing to reduce the number of tiles that it needs to encode, thereby reducing the bandwidth required to send the compressed tiles to the decoder. If the codec is to be used as an image codec, this stage MUST be skipped.