View Full Version : Codec vs. format
vlada
12th February 2008, 00:24
Hi all,
during last moths I'm getting really tired reading all the articles which are confusing format and codecs. People are talking about H.264 codec, x264 format, MPEG-2 codec, VC-1 codec and WMV format. In my opinoin codec is a SW (or could be also implemented in HW). But it is a concrete implementation of coder and decoder for a certain format. Format is something like a standard or a specification. Do you agree?
In fact can we even call x264 codec? I think no, it is an encoder, since it can't decode.
Even Wikipedia (http://en.wikipedia.org/wiki/Video_codec) is confusing this. They absolutely don't make any difference between a codec and a format.
Will you join in the fight to teach people what a codec is and what a format is? Why not use the correct experssions if they exist? Or you think I have no chance and I should give up? Or you don't agree with me at all?
JohnnyMalaria
12th February 2008, 00:37
The format tells you how the information must be arranged - i.e., what you must do.
An encoder turns source data (e.g., video frame) into data that agrees with the format - i.e., how you can do it.
A decoder take the encoded data and turns it into the original (e.g., video frame).
A codec combines both functions - enCOder and DECoder.
It's like driving from A to B. You must start at A and end at B - the specification or format. You can drive a number of roads, fly, go by train etc. It doesn't matter as long as you start at A and end at B. This would be the encoder (i.e., how you do it). Going from B to A is the decoder equivalent.
Shinigami-Sama
12th February 2008, 00:52
in other words
a format is the description of the item, in this case a video compression protocol
a codec is an implementation of said description
MPEG 4 part 2 = ASP = format
DIVX, XVID = codec
MPEG 4 part 10 = AVC = h.264 = format
x264 = codec
Guest
12th February 2008, 00:58
vlada knows all that. He's trying to recruit us to a pissing-up-a-rope project, i.e., educating every noob on the planet. :)
Adub
12th February 2008, 01:53
Well, so far I think he is succeeding.
Oh, and shinigami-sama x264 is NOT a codec. It is a CO but not a DEC. But, your point has been made.
Essentially there is format, and then there is format implementation.
To modify DeathGod-sama's ;) post above
MPEG 4 part 2 = ASP = format
DIVX, XVID = implementation
MPEG 4 part 10 = AVC = h.264 = format
x264 = implementation
Dark Shikari
12th February 2008, 02:00
Well, so far I think he is succeeding.
Oh, and shinigami-sama x264 is NOT a codec. It is a CO but not a DEC. But, your point has been made.
Essentially there is format, and then there is format implementation.
To modify DeathGod-sama's ;) post above
MPEG 4 part 2 = ASP = format
DIVX, XVID = implementation
MPEG 4 part 10 = AVC = h.264 = format
x264 = implementationx264 technically does decode; it decodes its own output, to use as the reference frames for future frames to be encoded ;)
Shinigami-Sama
12th February 2008, 02:04
I thought x264 had a decoder as well
oh well
now I'm educated
the thread has served its purpose :rolleyes:
Adub
12th February 2008, 03:18
@Dark Shikari
Ah, but not in the general sense of CODEC. And you're explanation kind of goes over the heads of "noobs", as this thread is designed for.
foxyshadis
12th February 2008, 08:07
Who cares, the term codec has been co-opted to mean encoders and/or decoders. As long as there's a consensus on a definition it doesn't matter if it's not historically correct; getting pissy about it won't change that fact, and just makes you sound like a pedant. We had one of these threads a year or two ago, anyway.
Adub
12th February 2008, 08:28
True enough. In short, if a noob wants information :search:
Oh, and I am sorry if I came across as pissy. That is not what I meant. It was kind of a light-hearted jest.
vlada
13th February 2008, 01:54
This is what I was wondering about. If it makes a sens at all explaining all the time to people, that a "DivX player" will play also "XviD video" and even 3ivX, libavcodec ASP, ND ASP (if put inside AVI) etc. Nobody is talking about Xing, lame, Blade or FhG format. But everybody uses XviD and DivX format, which is nonsense.
But if you think I have no chance to teach people using correct expressions, I will give up. I'm not talking about the absolutely noobs. I think this should be targeted at people writing for Wikipedia and technical servers. Because these are the people who are confusing terms and then confusing all the noobs reading their articles.
Shinigami-Sama
13th February 2008, 01:56
to be fare
dvix has their own format(.divx), while not really its own format as a hacked older one(.avi) and is to my knowledge an openstandard now (openDML)
Brother John
13th February 2008, 12:43
Yes, but that’s the container. The video is and always has been plain old MPEG-4 (A)SP.
click2
14th February 2008, 23:09
http://img179.imageshack.us/img179/2749/explanationjp6.jpg
Shinigami-Sama
14th February 2008, 23:16
http://img179.imageshack.us/img179/2749/explanationjp6.jpg
I thought lame didn't have a decoder either?
Brother John
15th February 2008, 00:30
There’s both a LAME ACM and DirectShow decoder floating around. From the top of my head I can’t think of a dnld location though. And I’m pretty sure they’re not actively developped. They’re definitely not a part of the usual LAME encoder package.
Irakli
15th February 2008, 00:55
Lame.exe can decode .mp3 to .wav
Lenny_Nero
20th February 2008, 22:30
It would be nice if people always got things right, but IMO its never going to happen.
Something that really gets my goat is that the term hacker has been corrupted into something people think of as bad and almost always used when cracker was the term that was called for. I often try to tell people that hackers are good, and we have things like the interweb only because of them, I would also add Xvid into that group, and I am a proud hacker.
But as I said people get stuff wrong ...I think the saying goes 'thats life, deal with it' :)
JohnnyMalaria
20th February 2008, 22:33
Unfortunately, 'cracker' means something very different in this part of the world as I learned when I moved over here.
vlada
21st February 2008, 00:13
There’s both a LAME ACM and DirectShow decoder floating around. From the top of my head I can’t think of a dnld location though. And I’m pretty sure they’re not actively developped. They’re definitely not a part of the usual LAME encoder package.
You can find lame binaries including DS filter and ACM codec at http://www.rarewares.org/mp3-lame-dshow-acm.php. As you can see they're still under development and are based on the latest stable and beta releases.
LoRd_MuldeR
21st February 2008, 01:18
There’s both a LAME ACM and DirectShow decoder floating around.
AFAIK the LAME DirectShow filter (which can be found at Rarewares.org for example) is an encoder filter, not a decoder...
dstarfire
23rd February 2008, 21:09
Unfortunately, trying to distinguish between a standard and an app that implements that standard is a lost cause. Most people have too much going on in their lives to "look under the hood" as it were. Once they find a codec that works for the formats they use, they'll start thinking of that format in terms of that codec.
Also, don't most codecs work only for a single format? If so, then the codec implies the format, and has the added benefit of communicating what specific implementation of the format is being discussed. Thus, the discussion of formats becomes is only relevant to the geeks/experts, most of whom will be smart enough to do the neccesary translation.
Language is dynamic, and the most efficient/easiest usage invariably wins out over "proper" forms. You might as well argue to use the "proper" thees, thous, and other archaic forms of expression.
LoRd_MuldeR
23rd February 2008, 22:42
Also, don't most codecs work only for a single format?
Think of libavcodec, maybe the most popular Codec in the OpenSource scene. It supports more than 50 video and 30 audio formats... :rolleyes:
Brother John
23rd February 2008, 23:38
So libavcodec is more a codec pack than a single codec. Shame that the name “codec pack” has such bad connotation.
Shinigami-Sama
23rd February 2008, 23:45
So libavcodec is more a codec pack than a single codec. Shame that the name “codec pack” has such bad connotation.
thats because propritory vendors like real and QT allowed us to have shit like klite and 'super mega codec pack mk234' back in the 90's
and people still think the 90's PC scene is relevant today, which it really isn't...
LoRd_MuldeR
24th February 2008, 00:08
So libavcodec is more a codec pack than a single codec. Shame that the name “codec pack” has such bad connotation.
I definitely wouldn't call libavcodec a Codec Pack, because the so-called "Codec Packs" contain several independent Codecs. Usually each Codec in the "pack" is a separate DirectShow Filter or VFW Codec. In most cases they just bundle the installers of several (proprietary) Codecs. Those Codecs are not related at all, except that somebody decided to put them into the same pack/installer. At the same time libavcodec is one single library (one "big" DLL file), developed by one and the same project! AFAIK the Codecs in libavcodec even share numerous subroutines and they all are available through a common API. Obviously they are very closely related! Maybe "Codec Library" is a better term for libavcodec than just "Codec". But then all Codecs that can decode/encode more than just one single format have to be called "Codec Libraries" ...
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.