A method and apparatus for performing intra prediction for encoding or decoding adds multiple prediction modes to those of prior intra prediction schemes. A horizontal mode, a vertical mode, and a diagonal mode are added. Reference pixels for each of the added modes can come from multiple pixel positions away from a block to be encoded or decoded. Reference pixels to the left and above a block are reconstructed from those already coded. Reference pixels from right of, and below, a block are estimated or extrapolated and can be based on other pixels around the block. An index can be sent in a bitstream indicating which prediction was used.