This document provides a comprehensive survey of block matching algorithms (BMAs) used for motion estimation in video coding, detailing their performance, computational complexity, and categorization. Key algorithms discussed include the three-step search (TSS), new three-step search (NTSS), diamond search (DS), and hexagon-based search (HS), along with their enhancements. The analysis aims to guide system designers in selecting the most effective algorithm based on their requirements.