Vocabulary please. A "codec" is software that CODes and DECodes multimedia content, while specs describe an encoded file or stream format (occasionally involving network protocols and other concerns).
In a normal standard development process experimental codecs come first, then those that have proved to work well, including having good enough performance, are described in the spec; after standardization there's very little room to "develop the algorithms" because nonconformant implementations would be useless.
Reverse engineering is limited to the abnormal case of having access to some codec but not to the standard that describes it.
> after standardization there's very little room to "develop the algorithms" because nonconformant implementations would be useless.
there is A LOT OF ROOM to develop the algorithms. it seems that you are confused about what an algorithm is, since you seemingly think that there can be only 1 algorithm that can decode a given media file.
There is a lot of room to do exactly the same thing more efficiently, which doesn't count as different algorithms.