Important Concepts for the Codec Comparision Site
The ways codecs can be tweaked are myriad. In order to simplify this somewhat, this site defines a few concepts and tries to stick to them throughout its design.
-
A “codec” is a way to encode a video stream. Usually it corresponds to a specific technology (VP8, H.264, Theora), but sometimes it also makes sense to refer to operational modes of these technologies as “codecs”, because the parameter sets for them are going to be different, or because one wants to compare two sets of settings for a codec in the way one usually compares technologies – for example VP8 2 pass mode, H.264 Constrained Baseline.
-
An “encoder” is a codec run with a certain set of parameters. The parameters can be set freely, but each encoder has its own identity, and always produces the same results for the same video file and the same target bitrate. Within the context of a codec, an encoder has a unique identifier (an MD5 checksum over its parameters) and may have a name; the name can change over time, but the unique identifier never does.
-
An “encoding” is an encoder applied to a certain video file. The only things it depends on are the video file (including its width, height and frames per second), the encoder, and the target bitrate.
-
An “encoding set” is a set of encodings for a video file that are related in some deterministic way. The two most common types of encoding sets are encoding sets that vary the target bitrate while keeping the encoder constant, and encoding sets where a single parameter (such as a base QP) varies while all other parameters are kept constant.