1. A method of estimating local motion in a video programmed in a memory of a device comprising: phase correlating a first extended block and a second extended block to determine one or more motion vector candidates, wherein the first extended block is a first block larger than a reference block and the second extended block is a second block larger than a current block, further wherein Fast Fourier Transforms are carried out on the first extended block and the second extended block; implementing a variable block search using the one or more motion vector candidates to determine a best motion vector, wherein the best motion vector has a lowest computation cost function relative to a pre-defined threshold, wherein implementing the variable block search comprises: splitting the current block into a set of 8 pixel×8 pixel blocks; performing an 8 pixel×8 pixel block search; else performing a 4 pixel×4 pixel block search, if the 8 pixel×8 pixel block search does not determine the best motion vector; and else performing a 2 pixel×2 pixel block search, if the 4 pixel×4 pixel block search does not determine the best motion vector; and implementing a predictive motion vector search and temporal tracking to ensure the best motion vector represents true motion.