Z paru względów.
Program musi być załadowany do pamięci, jego instrukcje muszą być sukcesywnie pobierane przez procesor, a wyniki z rejestrów muszą być zapisywane do RAM-u. Procesor jako uniwersalna jednostka obliczeniowa nie posiada optymalnej budowy do każdego typu zastosowań, a jego moc jest wykorzystywana również w innych programach.
Widać więc kilka czynników źle wpływających na czas wykonywania takiego software'owego dekodera wideo.
W układach wyspecjalizowanych zaś wszystko jest na miejscu. Jednostka może mieć zoptymalizowaną budowę jedynie pod dany typ operacji, nie musi tak często komunikować się z pamięcią operacyjną, nie musi wykonywać całej masy innych zbędnych obliczeń i zazwyczaj nie jest pod zarządem systemu operacyjnego, co też może mieć wpływ na wydajność.
Oczywiście moje spostrzeżenia są bardziej opinią studenta informatyki niż specjalisty w branży, więc z miłą chęcią poznam zdanie bardziej obeznanych w temacie.