The word codec is a portmanteau of “coder” and “decoder”, appropriate since a codec is a combination of a piece of software or hardware that encodes information, usually streamed data such as audio or video, and a piece of software or hardare that decodes that information.  A codec always includes both pieces because the decoding algorithm is designed to decode what the encoder produces.  Examples of modern codecs for real-time communications include VP8, VP9, H.264, H.265, AV1, Opus, and G.711.