3 ms·
It's best to think of many codecs ([en]CODers/DECoders) as sets of tools. The encoder "tools" can be used in many different ways (with different parameters and
by dperfect 13y ago
It's best to think of many codecs ([en]CODers/DECoders) as sets of tools. The encoder "tools" can be used in many different ways (with different parameters and combinations) to produce valid encoded versions of input data. The decoder then uses various methods to take the tools and data used in the encoded version, and interpolates the encoded data into something resembling the original. Sometimes that interpolation is "lossy" (detail is lost, but may be acceptably close to the original), while other times it is "lossless" (decoded bit-for-bit to be the same as the original).
Just like there are many ways to encode data with a given codec/format, there are often many different ways (or tools used) to decode, some of which - as in the case of lossy codecs - may produce more "natural" or pleasing results than others. For example, some MPEG decoders will analyze motion vectors and interpolate extra spatial resolution that was not present in the original, thereby "upscaling" (e.g., from standard resolution to HD) the output. In this case, it's important to remember that data/detail is never created from nothing, but is instead "guessed", so it may produce nice-looking results, but it's also likely to introduce more artifacts (erroneous details that were actually not present in the original).