CODEC is an acronym for coder/decoder, or more completely, encoder/decoder.
A codec is software that ‘knows’ how to encode and decode a specific audio or video format.
For example, one encoder might be used to create or interpret certain types of “.avi” encoded videos, while another might be required to handle “.m4p”.
In practice, most audio and video applications come with a set of codecs that allow them to be able to handle a certain pre-defined set of formats, typically those most commonly used. Only when a file comes along that is not in one of those formats is it necessary to consider locating a codec that understands it, or finding a different application that comes with a codec that supports it.
In electronic communications, an endec is a device which acts as both an encoder and a decoder on a signal or data stream, and hence is a type of codec. Endec is a portmanteau of encoder/decoder.
A coder or encoder encodes a data stream or a signal for transmission or storage, possibly in encrypted form, and the decoder function reverses the encoding for playback or editing. Codecs are used in videoconferencing, streaming media, and video editing applications.