 Although video coding formats such as H.264 are sometimes referred to as "codecs", there is a clear conceptual difference between a specification and its implementations.Video coding formats are described in specifications, and software or hardware to encode/decode data in a given video coding format from/to uncompressed video are implementations of those specifications.As an analogy, the video coding format H.264 (specification) is to the codec OpenH264 (specific implementation) what the C Programming Language (specification) is to the compiler GCC (specific implementation).