By the time software is robust enough to make it worth while to be placed into hardware, it's pretty damn efficient. For something like ASICs, you could at least upgrade the firmware with new code, but what about Apple's chips that do the decoding? Can they be upgraded, or does that mean needing to wait for the M++ chip?
Sometimes there are hybrid coders that can use some of the resources on the chip and some shader code to handle new codecs or codec features after the fact, but you pay a power and performance penalty to use these.