VideoHelp Forum




+ Reply to Thread
Results 1 to 10 of 10
  1. 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.
    Quote Quote  
  2. Banned
    Join Date
    Feb 2005
    Location
    USA
    Search Comp PM
    How the video is encoded is what decides which codec is used.
    Quote Quote  
  3. Member
    Join Date
    Apr 2002
    Location
    Oskeeweewee Ontario
    Search Comp PM
    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...
    Quote Quote  
  4. 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
    Quote Quote  
  5. 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.
    Quote Quote  
  6. Originally Posted by grendizer
    So is the "codec type" field in Gspot the FourCC code?
    Correct!

    Originally Posted by grendizer
    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?
    Both types of codec are simply executable Windows files and the idea for both kinds is that the codec is available to any application that calls for it.

    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 grendizer
    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.
    Good idea! And, no, I don't mind
    John Miller
    Quote Quote  
  7. 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
    Quote Quote  
  8. Member
    Join Date
    Jul 2002
    Location
    Up in yo' bitch.
    Search Comp PM
    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?
    Quote Quote  
  9. Member
    Join Date
    Jan 2008
    Location
    Australia
    Search Comp PM
    > 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
    Quote Quote  
  10. For DirectShow?
    Quote Quote  



Similar Threads

Visit our sponsor! Try DVDFab and backup Blu-rays!