Codecs are almost like programming languages. They are highly modular and flexible.
Implementations and encoders actually use algorithms to turn the media into something that is compatible with a codec.
Implementations and encoders actually use algorithms to turn the media into something that is compatible with a codec.
But how can an implementation be compatible with a codec, if a codec is not set in the stone -- i.e. if there are different versions of a codec?
Obviously encoders are constrained by the fact that they must produce a series of bits that can be decoded according to a certain standard, so a new video format can enable encoders to compress information more efficiently (i.e. less perceptual loss of quality at the same bitrate).