I've always seen Bellard as an engineer who programs rather than a pure programmer.
I've always seen Bellard as an engineer who programs rather than a pure programmer.
What I should have written is that the "hard" part, which is generally left unspecified, is the part that removes redundancy. An MPEG encoder removes redundancy whilst its decoder adds redundancy. An FEC/communications encoder adds redundancy whilst its decoder removes redundancy.
If you have two red boxes on a black background in one frame, and a single red box in the middle on the next, UIUI there are at least two ways to encode this: "left box moved right a bit; right box disappears" and "right box mounts left a bit; let box disappears".
In a complex scene, there is a huge space of possible ways to encode a frame that give identical outputs, and even more that are lossy. Choosing one that compresses well but is visually similar (and not too slow to find) is a quality issue for the codec. It wouldn't make sense to specify the algorithm for that in the spec.
The format for all modern video codecs is not the kind of format where any specific piece of uncompressed input should always be encoded the same way, but more like a very restricted programming language that gives the encoder a lot of tools to compress the video, and which tools they use and how they use them are up to them.