Video inpainting is the process of repairing missing regions (holes) in videos. Most automatic techniques are computationally intensive and unable to repair large holes. To tackle these challenges, a computationally-efficient algorithm that separately inpaints foreground objects and background is proposed. Using Dynamic Programming, foreground objects are holistically inpainted with object templates that minimizes a sliding-window dissimilarity cost function. Static background are inpainted by adaptive background replacement and image inpainting.