1. A method for encoding a video stream with a plurality of frames, each frame having a plurality of blocks of pixels, the method comprising: identifying, peripheral to a current block of a current frame, pixels in the current frame; determining a prediction block using the pixels for use in an encoding process for the current block, such that a first prediction pixel value from the prediction block differs from a second prediction pixel value from the prediction block, wherein determining the prediction block includes: generating the first prediction pixel value based on a first pixel from a block to the left of the current block, a second pixel from a block above the current block, and a third pixel from a block above and to the left of the current block; on a condition that a fourth pixel from a block to the right of the current block is available for encoding the current block and on a condition that a fifth pixel from a block above and to the right of the current block is available for encoding the current block, generating the second prediction pixel value based on the fourth pixel, the fifth pixel, and a sixth pixel from the block above the current block; on a condition that the fourth pixel is unavailable for encoding the current block or on a condition that the fifth pixel is unavailable for encoding the current block, generating the second prediction pixel value based on the first pixel, the sixth pixel, and the third pixel; on a condition that a seventh pixel from a block below the current block is available for encoding the current block and on a condition that an eighth pixel from a block below and to the left of the current block is available for encoding the current block, generating a third prediction pixel value based on the seventh pixel, the eight pixel, and a ninth pixel from the block to the left of the current block; on a condition that the seventh pixel is unavailable for encoding the current block or on a condition that the eighth pixel is unavailable for encoding the current block, generating the third prediction pixel value based on the second pixel, the ninth pixel, and the third pixel; on a condition that a tenth pixel from the block below the current block is available for encoding the current block and on a condition that an eleventh pixel from a block below and to the right of the current block is available for encoding the current block and on a condition that a twelfth pixel from the block to the right of the current block is available for encoding the current block, generating a fourth prediction pixel value based on the tenth pixel, the eleventh pixel, and the twelfth pixel; and on a condition that the tenth pixel is unavailable for encoding the current block or on a condition that the eleventh pixel is unavailable for encoding the current block or on a condition that the twelfth pixel is unavailable for encoding the current block, generating the fourth prediction pixel value based on the sixth pixel, the ninth pixel, and the third pixel; wherein at least one of the fifth pixel, the eight pixel, or the eleventh pixel is available for encoding the current block.