0FFmpeg Logoالٹی کوڈیک گائیڈ

Managing the codec system in Windows

64bit sys­tems require twice the work

Tra­di­tion­ally Win­dows was a 32bit oper­at­ing sys­tem. How­ever, since Vista many com­puters have been sup­plied with a 64bit edi­tion of Win­dows. When oper­at­ing on a 64bit sys­tem, 64bit codecs are required. How­ever, this is not the end of the story. 64bit Win­dows still includes full sup­port for 32bit via emu­la­tion, and many parts of Win­dows are still 32bit. In Win­dows 7 مثال کے طور پر, Win­dows Media Cen­ter is 64bit (and uses the Media Play­er 64bit engine behind the scenes).  If you load Win­dows Media Play­er itself how­ever, it oper­ates as 32bit. This fre­quently causes con­fu­sion as some­thing that works in Media Play­er may not work in Media Cen­ter or vice versa. On 64bit sys­tems it is strongly recom­men­ded to install and con­fig­ure both 64bit and 32bit codecs where pos­sible. On 64bit sys­tems, 64bit applic­a­tions install to theProgram Files فولڈر, and 32bit applic­a­tions install to the Program Files (x86) Folder. Some codecs also install applic­a­tion exten­sions into the Win­dows sys­tem folders. 64bit ones will be found in the system32 فولڈر, and 32bit ones will be found in the SysWOW64 folder. In addi­tion to file loc­a­tions there are also extra sec­tions of the registry. Entries related to 64bit soft­ware will be found in the nor­mal loc­a­tions (مثلا. [HKEY_CURRENT_USER\Software], [HKEY_LOCAL_MACHINE\Software] and [HKEY_CLASSES_ROOT])Their 32bit equi­val­ents will be found in [HKEY_CURRENT_USER\Software\Wow6432Node], [HKEY_LOCAL_MACHINE\Software\Wow6432Node] and [HKEY_CLASSES_ROOT\Wow6432Node].

Asso­ci­at­ing files and streams with codecs

Win­dows uses a GUID to identi­fy fil­ters, rather than their names or file­names. Each fil­ter has its own GUID and these are stored in the registry. Streams are also iden­ti­fied by GUIDs (but file exten­sions are not!) Vari­ous registry set­tings can (and usu­ally do) spe­cify which split­ter to use for each file exten­sion, and in some cases (but not com­monly) which fil­ter to use for each type of stream. When installed, each fil­ter provides a list of the GUIDs of stream types it can decode. A fil­ter is selec­ted from the avail­able (and com­pat­ible) ones avail­able. This selec­tion is car­ried out based on the fil­ter­’s “mer­it” (a value they are giv­en by Win­dows).  These “mer­it” val­ues can be changed to make Win­dows pick the fil­ters you want. Sim­il­arly, the asso­ci­ation between file exten­sion and split­ter can be changed to make Win­dows pick the split­ter you want to use for each file exten­sion. Finally, the mer­its of “ren­der­ers” can also be changed, to ensure Win­dows uses the ren­der­er you want. This mer­it sys­tem applies to Dir­ect­Show codecs. If there are com­pat­ible Media Found­a­tion codecs avail­able Win­dows will always prefer them. If this is the case you may need to dis­able some or all of the Media Found­a­tion codecs.

Chan­ging Merits

The mer­its of codecs can be changed, either via the registry (which is unne­ces­sar­ily dif­fi­cult) or with vari­ous free util­it­ies. A com­pany called mono­gram have help­fully pro­duced an improved ver­sion of a Microsoft util­ity called graphed­it. Mono­gram Graph­Stu­dio is avail­able as both 32bit and 64bit. When run as admin­is­trat­or, these util­it­ies can be used to change the mer­its of codecs as shown below. How­ever, some Microsoft codecs can­not, by default, have their mer­it changed, as the admin­is­trat­or user does not have per­mis­sions to the appro­pri­ate val­ues in the registry. This can be over­come by chan­ging the per­mis­sions to these registry paths. If you run into prob­lems chan­ging the mer­its of any codecs, refer to the sec­tion below on tak­ing own­er­ship and chan­ging permissions.

Over-rid­ing mer­its for spe­cif­ic stream types

The mer­it sys­tem can be bypassed with spe­cif­ic asso­ci­ations between stream types and decoders. If for example you want the ffd­show codec to decode most streams, and so set it with the highest mer­it, but want to use the mpc-hc mpeg2 decoder, you can spe­cify in the registry an asso­ci­ation between the GUID for mpeg2 video streams and the GUID for the mpc-hc decoder. This is done by cre­at­ing a String (REG_SZ) in [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\DirectShow\Preferred] (for 32bit codecs on 64bit Win­dows the registry path is [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\DirectShow\Preferred]).  The name of each string should be the GUID of the stream type you want to spe­cify a codec for. The value of the string should be the GUID of the codec you wish to use. Make sure you include curly brack­ets { } at the start and end of each GUID.

Split­ter preferences

Split­ter pref­er­ences are best edited in the registry. This is a fairly simple oper­a­tion to com­plete. Each file exten­sion has a key under [HKEY_CLASSES_ROOT\Media Type\Extensions] (32bit split­ters on 64bit sys­tems will be under [HKEY_CLASSES_ROOT\Wow6432Node\Media Type\Extensions]).  In each key there should be a String Value (REG_SZ) called Source FilterThis will be set to the GUID of the rel­ev­ant fil­ter. You can change the GUID val­ues to change the split­ters. You can also add new keys for oth­er file types. The GUID val­ues for split­ters can be found in Graph­Stu­dio. The GUIDs for the most com­mon split­ters are loc­ated in the table at the bot­tom of this article.

Media Cen­ter pre­ferred decoders & لائیو ٹی وی

There is anoth­er registry set­ting that tweak­ers must be aware of. Win­dows Media Cen­ter has 2 keys which apply only to it, which over-ride mer­its and all oth­er pref­er­ences. These keys are found in [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Media Center\Decoder]In my exper­i­ence if these are set to any oth­er codecs, Media Cen­ter can­not decode live ٹی ویIf they are left as they are, Media Cen­ter will use these codecs to decode a lot of video files that you may not want to decode with these fil­ters. To bypass this prob­lem, the 2 keys should be removed and the mer­its of Microsoft DTV-ڈی وی ڈی Video Decoder and Microsoft DTV-ڈی وی ڈی Audio Decoder should be raised to at least 00800000 (by default they are set too low for Win­dows to ever use them).  If you want to use a dif­fer­ent codec for mpeg2, simply set its mer­it high­er than 00800000 and Win­dows will use your pre­ferred codec, except for live ٹی وی, where it will recog­nise that your chosen codec is incom­pat­ible and will instead use the DTV-ڈی وی ڈی decoders that work with liv­eTV. Before the mer­its for the DTV-ڈی وی ڈی decoders can be changed the per­mis­sions of the registry path that stores their set­tings must be changed. The paths in ques­tion are [HKEY_CLASSES_ROOT\CLSID\{083863F1-70DE-11D0-BD40-00A0C911CE86}\Instance\{212690FB-83E5-4526-8FD7-74478B7939CD}] and [HKEY_CLASSES_ROOT\CLSID\{083863F1-70DE-11D0-BD40-00A0C911CE86}\Instance\{E1F1A0B8-BEEE-490D-BA7C-066C40B5E2B9}]To change the per­mis­sions of these paths see the sec­tion below on tak­ing own­er­ship and chan­ging permissions.

Tak­ing own­er­ship & chan­ging permissions

To com­plete some changes it is neces­sary to change the per­mis­sions of some files and some registry entries. Before chan­ging per­mis­sions it is often also neces­sary to “take own­er­ship”. To take own­er­ship of files right click on a file and select prop­er­ties. Select the secur­ity tab and click on advanced. Next, click on the own­er tab and click on edit. Select admin­is­trat­ors in the list which appears and click ok. Click ok twice to close the file prop­er­ties. Then right click and re-select prop­er­ties. And click on the secur­ity tab again. Click the edit but­ton and select Admin­is­trat­ors and tick full-con­trol. Click ok and ok again.

The pro­ced­ure for chan­ging per­mis­sions in the registry is sim­il­ar. Open reged­it and browse to the key you wish to change. Right click and select per­mis­sions and then click on Advanced. Select the own­er tab, and click on Admin­is­trat­ors to high­light it. If it is present, tick the box which says “Replace own­er on sub­con­tain­ers and objects” and click ok. In the secur­ity win­dow that you have been returned to, high­light admin­is­trat­ors, and tick “Allow” to full con­trol, and finally click ok.

Dis­abling Media Found­a­tion par­tially or fully

To use Dir­ect­Show codecs to decode formats sup­por­ted by Media Found­a­tion it is neces­sary to dis­able part or all of Media Found­a­tion. The easi­est way to do this is to use the Win7DSFilterTweaker util­ity. You can also dis­able Media Found­a­tion manu­ally – to do this requires sev­er­al Win­dows files to be renamed or moved. Before they can be renamed or removed you will have to take own­er­ship and change their per­mis­sions. These files are found in the System32 فولڈر (32bit files on 64bit sys­tems are found in the SysWOW64 فولڈر).  To dis­able Media Found­a­tion gen­er­ally rename or move the file mfds.dll. It is also pos­sible to dis­able spe­cif­ic Media Found­a­tion codecs. mp3dmod.dll is the Media Found­a­tion MP3 decoder, mp4sdecd.dll and mp43decd.dll are Microsoft Mpeg4 decoders, msmpeg2adec.dll is the DTV-ڈی وی ڈی Audio Decoder and msmpeg2vdec.dll is the DTV-ڈی وی ڈی Video Decoder. Do not dis­able these last 2 if you wish to view Live ٹی وی in Media Center.

You might also like...

Leave a Reply