Un codec est un dispositif matériel ou logiciel permettant de mettre en œuvre l'encodage ou le décodage d'un flux de données numérique, en vue d'une transmission ou d'un stockage. Certains codec intègrent également une fonction de compression ou encore de chiffrement des données.
L'acronyme « codec » vient de « codeur décodeur » (coder-decoder en anglais).
Codecs, normes et conteneurs
Il est important de bien distinguer les notions de codec, de norme et de format conteneur.
La norme décrit un procédé, pouvant définir un format conteneur ou un format de compression.
Le codec est l'implémentation matérielle ou logicielle qui met en œuvre une norme.
Par exemple, MPEG-4 AVC/H.264 est une norme vidéo, et x264 est un codec capable de produire un flux vidéo dans le format de compression décrit par la norme. Il existe d'autres codecs implémentant cette norme. Lorsqu'il n'existe qu'une seule implémentation, il arrive que le nom du codec adopte celui de la norme (exemple : VC-1).
Le format conteneur est lui aussi décrit par une norme. Il peut embarquer des flux audio et/ou vidéo, des données techniques descriptives des flux en présence pour permettre leur décodage, mais aussi, en fonction du conteneur, toute sorte de métadonnées comme des sous-titres, du chapitrage, du timecode etc. Les formats conteneurs ne sont pas compatibles avec tous les formats de compression.
Par exemple, un conteneur MPEG-2 ne peut contenir que des flux vidéo MPEG-2, des flux audio MPEG (layers 1, 2 ou 3) ou des flux audio AAC.
Codecs propriétaires et libres
Certains constructeurs de matériels électroniques développent eux-mêmes des codecs audio ou vidéo.
On peut citer l'AVCHD par exemple, qui est en fait un dérivé du x264, une implémentation de H.264 ; mais ayant certaines fonctionnalités qui sont propres aux fabricants qui l'utilisent ou à l'éditeur du logiciel.
Certains codecs dérivés d'une pré-version de norme ; par exemple DivX, qui était une implémentation de la norme en cours d'élaboration H.263 et H.264.
Les codecs propriétaires sont développés par des entreprises, et font souvent l'objet de brevets dans les pays où c'est possible.
Les codecs libres ou ouverts comme Vorbis sont inventés et développés par des acteurs du logiciel libre pour permettre aux utilisateurs de garder le contrôle des médias qu'ils produisent eux-mêmes.
Lorsqu'une norme ISO est publiée, il est demandé aux entreprises de ne pas déposer de brevets ou de ne pas réclamer de droits sur ceux existant, quant à la décompression. Les normes ISO des formats MPEG ne définissent que la manière de décompresser ; chaque entreprise est alors libre de faire ce qu'elle veut sur les astuces de compression.