1. A method for encoding a video stream including a plurality of frames, the method comprising: predicting an extrapolated position for a plurality of blocks of a first frame in a second frame using a respective motion vector used for inter-prediction of each of the plurality of blocks of the first frame, the second frame temporally subsequent to the first frame in a sequence of the plurality of frames; calculating a temporal motion vector for a first block of the second frame as a combination of respective motion vectors of blocks overlapping the first block of the second frame using a processor, wherein at least a first block of the overlapping blocks is an extrapolated block at the extrapolated position and at least a second block of the overlapping blocks includes an area of the block of the second frame not overlapped by any extrapolated blocks, the motion vector for the at least the second block of the overlapping blocks being a zero vector when calculating the temporal motion vector; using the temporal motion vector in a motion estimation algorithm to select a motion vector for the first block of the second frame; and encoding the first block of the second frame using the selected motion vector.