Let's say I have the Divx codec installed on Windows. I also have the ffdshow codec installed. Now when I play a divx video, one of these 2 codecs will be chosen by Windows. How does Windows make this choice? What makes a codec have a higher priority?
Thanks in advance for the information.
+ Reply to Thread
Results 1 to 10 of 10
-
-
There's a FourCC header at the beginning of the .AVI that tells the player to use that same codec for playback (decompressing)..
In some cases, people need to change the FourCC header with this program... -
It depends whether the software is based upon the older Video for Windows system (which Microsoft wish everyone would stop writing new software for!) or DirectShow.
For Video for Windows, only one codec can be "registered" for a specific type of video (the FourCC mentioned elsewhere in this thread).
For DirectShow, however, you can have multiple codecs all registered for the same video format (e.g., a DV codec by Microsoft, MainConcept, Panasonic, Enosoft). The information contained within the computer's registry about the codec contains an entry called FilterData. Part of the FilterData entry is a "merit" value. (Some kinds of filters called DMOs have an entry called "Merit" instead of the FilterData). Basically, it is this merit value that determines the priority. Some actually have a merit of "Do not use" - this means that the operating system will never choose it - to use it, it has to be explicitly requested by the application.John Miller -
Thanks Johnny and pijetro for the interesting information.
Now I have other questions if you don't mind:
- I think Gspot can help me check the FourCC header of an AVI file, but I want to be sure it does it right. So is the "codec type" field in Gspot the FourCC code? Watch the first picture in this web page : http://www.headbands.com/gspot/minifaq.html
- With directshow, codecs are standalones. But with the Video for Windows system, can the codec be installed as standalone in Windows, or does it need to be part of the video player program?
I'm making a FAQ for the codecs newbies like me: http://david.saber.free.fr/bazaar/codecs/codecs.html . You can add suggestions and corrections. I hope you don't mind I copied pasted some parts of your posts. -
Originally Posted by grendizer
Originally Posted by grendizer
Video for Windows (VfW) codecs use the FourCC to define what compression it can handle and the computer's registry has a list of FourCCs that are available and which specific codec file is used. This is obviously very limiting since only one codec for a given format can be "registered". Also limiting is the fact that the codec FourCC is - well - just four characters. As new compressions schemes come along, a new FourCC has to be invented. But you can't just make one up. e.g., let's say I have a new compression scheme and decide to call it 'nhoj'. What if someone else creates their new - but totally different - scheme and call it 'nhoj', too? Obviously, chaos and confusion should both end up in the public domain! So, new FourCCs have to be registered with Microsoft!
In the DirectShow world, a codec is still registered with the computer. Instead of a FourCC, a much more complicated item is used called a Universally Unique Identifier (UUID) that is more like a "SixteenCC". It is written (usually) in hexadecimal format, e.g:
{B65D9851-0B54-11DA-B692-001150776A3C}
However, new UUIDs can be created whenever they are needed without having to get permission to use them.
Unlikely the VfW case when the computer's registry holds a list of FourCCs and the corresponding files to use, DirectShow queries a DirectShow codec to see if it can support a specific compression scheme. This querying occurs when an application needs a codec. More than one codec for the same compression can exist and the one with the highest 'merit' generally wins.
In both DirectShow and VfW cases, the application (e.g., a media player) can completely bypass the operating system's selection process and explicitly load a particular codec. This is one way to get around the limitation with VfW. Let's say I have a media player and I always want it to use my version of a codec - I just need to know where the codec is and load it.
Finally, DirectShow can "wrap" VfW codecs so that VfW codecs can be visible to DirectShow applications.
Originally Posted by grendizerJohn Miller -
Thanks a lot JohnnyMalaria for this useful and interesting information. As a developper , you seem to be aware of everything! I'm glad I found you
-
Wow! That's alot of information. And here I thought there were tiny little (ever heard of anything that was tiny big?) gnomes in my computer.
So where is all the food been going that I've throwing in there? -
> In both DirectShow and VfW cases, the application (e.g., a media player) can completely bypass
> the operating system's selection process and explicitly load a particular codec. This is one way
> to get around the limitation with VfW. Let's say I have a media player and I always want
> it to use my version of a codec - I just need to know where the codec is and load it.
Could you please advise how this can be achieved?
Thanks
Similar Threads
-
How to tell what codec are already in Windows 7 ?
By pchan in forum ComputerReplies: 6Last Post: 17th Dec 2011, 07:21 -
Codec Pack for windows 7 x64
By moprh1 in forum Video ConversionReplies: 5Last Post: 2nd Jan 2010, 07:54 -
Windows XP: none of the video codec is working
By cheerful in forum Newbie / General discussionsReplies: 1Last Post: 2nd Dec 2008, 22:55 -
Selecting MPEG-2 Codec in Windows XP
By DeeBeeOZ in forum Newbie / General discussionsReplies: 5Last Post: 8th Feb 2008, 08:02 -
What codec pack to use in windows Vista
By bambam in forum Software PlayingReplies: 1Last Post: 22nd May 2007, 21:47