Modern digital video applications, ranging from video compression to content analysis, require both high computation rates and the ability to run a variety of complex algorithms. As a result, many groups have developed programmable architectures tuned for video applications. There have been four solutions to this problem so far: modifications of existing microprocessor architectures, application-specific architectures, fully programmable video signal processors (VSPs), and hybrid systems with reconfigurable hardware. Each approach has both advantages and disadvantages. They target the market from different perspectives. Instruction set extensions are motivated by the desire to speed up video signal processing (and other multimedia applications) by software solely rather than by special-purpose hardware. Application-specific architectures are designed to implement one or a few applications (e.g., MPEG-2 decoding). Programmable VSPs are architectures designed from the ground up for multiple video applications and may not perform well on traditional computer applications. Finally, reconfigurable systems intend to achieve high performance while maintaining flexibility.