Welcome to Doom9's Forum, THE in-place to be for everyone interested in DVD conversion.

Before you start posting please read the forum rules. By posting to this forum you agree to abide by the rules.

 

Go Back   Doom9's Forum > Video Encoding > MPEG-4 ASP

Reply
 
Thread Tools Search this Thread Display Modes
Old 6th March 2002, 16:42   #1  |  Link
Chibi Jasmin
Registered User
 
Join Date: Oct 2001
Posts: 800
Make DivX5 NOT play DivX3.11 content, the solution!

With some hints from forum members, I actually figured it out. There is a registry key called "FilterData", which defines (among some other stuff I think), what input (FourCC-Codes) a DS-Filter accepts.

You can check this in GraphEdit with Insert DS Filter and then checking the pins, there you can see, which FourCC-Codes a specific filter will take!

Okay, after I finally found the keys in the registry I looked onto the changes between DivX4.12 (play all content), DivX4.12 (play only DivX4) and DivX5...basically it's the following:

All following everytime occur both in upper and lower case (divx/DIVX) in the FilterData, I will only write lower case here.

DivX4All: divx, div3, div4, div5, div6
DivX4Only: divx
DivX5: divx, dx50, div3, div4, div5, div6

At the moment (if we want to continue div3/4 with the old filter), we only need divx and dx50, that is because DivX5 write FourCC-Code divx and used codec dx50 into the avi file (unlike DivX4 which both times wrote divx)

So I overwrote div3-div6 in the filter data entries with something unused, in my case ABCD.

Now only divx/DIVX/dx50/DX50 gets played with the DivX5DS-Filter.

Here on my WinXP System (no guarantees for other systems or whatever), it's the following 6 keys and you have to replace ALL of them:

[HKEY_CLASSES_ROOT\CLSID\{083863F1-70DE-11d0-BD40-00A0C911CE86}\Instance\{78766964-0000-0010-8000-00AA00389B71}]

[HKEY_CLASSES_ROOT\CLSID\{083863F1-70DE-11d0-BD40-00A0C911CE86}\Instance\CLSID_DivXDeux]

[HKEY_CLASSES_ROOT\CLSID\{CF49D4E0-1115-11CE-B03A-0020AF0BA770}\Instance\CLSID_DivXDeux]

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{083863F1-70DE-11d0-BD40-00A0C911CE86}\Instance\{78766964-0000-0010-8000-00AA00389B71}]

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{083863F1-70DE-11d0-BD40-00A0C911CE86}\Instance\CLSID_DivXDeux]

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{CF49D4E0-1115-11CE-B03A-0020AF0BA770}\Instance\CLSID_DivXDeux]

In all 6 locations you have to replace the existing FilterData-entry with this:

"FilterData"=hex:02,00,00,00,00,00,80,00,02,00,00,00,00,00,00,00,30,70,69,33,\
00,00,00,00,00,00,00,00,0c,00,00,00,00,00,00,00,00,00,00,00,30,74,79,33,00,\
00,00,00,10,01,00,00,20,01,00,00,31,74,79,33,00,00,00,00,10,01,00,00,30,01,\
00,00,32,74,79,33,00,00,00,00,10,01,00,00,40,01,00,00,33,74,79,33,00,00,00,\
00,10,01,00,00,50,01,00,00,34,74,79,33,00,00,00,00,10,01,00,00,60,01,00,00,\
35,74,79,33,00,00,00,00,10,01,00,00,70,01,00,00,36,74,79,33,00,00,00,00,10,\
01,00,00,80,01,00,00,37,74,79,33,00,00,00,00,10,01,00,00,90,01,00,00,38,74,\
79,33,00,00,00,00,10,01,00,00,a0,01,00,00,39,74,79,33,00,00,00,00,10,01,00,\
00,b0,01,00,00,3a,74,79,33,00,00,00,00,10,01,00,00,c0,01,00,00,3b,74,79,33,\
00,00,00,00,10,01,00,00,d0,01,00,00,31,70,69,33,08,00,00,00,00,00,00,00,01,\
00,00,00,00,00,00,00,00,00,00,00,30,74,79,33,00,00,00,00,10,01,00,00,e0,01,\
00,00,76,69,64,73,00,00,10,00,80,00,00,aa,00,38,9b,71,64,69,76,78,00,00,10,\
00,80,00,00,aa,00,38,9b,71,44,49,56,58,00,00,10,00,80,00,00,aa,00,38,9b,71,\
64,78,35,30,00,00,10,00,80,00,00,aa,00,38,9b,71,44,58,35,30,00,00,10,00,80,\
00,00,aa,00,38,9b,71,41,42,43,44,00,00,10,00,80,00,00,aa,00,38,9b,71,41,42,\
43,44,00,00,10,00,80,00,00,aa,00,38,9b,71,41,42,43,44,00,00,10,00,80,00,00,\
aa,00,38,9b,71,41,42,43,44,00,00,10,00,80,00,00,aa,00,38,9b,71,41,42,43,44,\
00,00,10,00,80,00,00,aa,00,38,9b,71,41,42,43,44,00,00,10,00,80,00,00,aa,00,\
38,9b,71,41,42,43,44,00,00,10,00,80,00,00,aa,00,38,9b,71,41,42,43,44,00,00,\
10,00,80,00,00,aa,00,38,9b,71,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00

After that you're set... :-) Enjoy!

On other Windows-Versions you can try to find the Filter Data Keys the same way I found them, if they are in other locations, by searching for "DivX Decoder Filter" in the registry. You find the string a lot of times, it does not always have a filter data entry next to it...

NOTE
The above filter data reg entry was for DivX 5.0 DS-Filter, the DivX 5.01 Filter supports these file types:

divx, dvx1, dx50, div3, div4, div5, div6

So since dvx1 is new, you can't use the above filter data and would have to do it manually as described (overwriting the ones you don't want, for example div3 and div4). But instead of that better use the updated method below.

UPDATE

There is a more elegant method posted further down by orulz. I'll quote it here for your convenience:

Quote:
Originally posted by orulz
There's an easier (and somewhat more kosher, I believe) way to solve this problem.

The key lies in directshow filter priority (aka merit), which a simple edit of the registry can be used to set.

1. Install divx5 first, and then install divx3.11
2. Run regedit
3. Do 'find', tell it to look for "DivX MPEG-4 DVD Video Decompressor"
4. Keep doing 'find again' until you get to one that has a binary value titled "Filter Data" in the same key
5. Choose file menu -> Export and save the key to a .reg file. This backs the key up in case you mess up.
6. Double click that binary value "Filter Data" to edit it
7. The seventh byte (2 digit hex number) from the left on the first line should be "80".
8. Move your cursor onto it, hit delete, and then type "90" in its place (this should also get all the other bytes aligned back to the way that they were before).
9. Reboot
10. And once again enjoy 640x480 DivX3 movies with full postprocessing on a 800MHz system!

That bumps up the DivX3 filter's priority from x00800000 to x00900000 - DivX5's filter stays at x00800000 so DivX3's takes priority on everything that it is capable of playing. I have included a .reg file that performs this on my system but I do not guarantee that it will work on everyone's.

If you run 'regsvr32 DivX_c32.ax' again for whatever reason (or reinstall divx3.11) you will have to repeat this process.

This same method can be used to choose which MPEG2 filter you want to use by default in media/bs/zoom player to play MPEG2/VOB files if you have more than one such filter installed. Say you have windvd, pdvd, and ATI's player. Bump up the priority of the one that you like best, and that'll become the default directshow filter.

*****divx3.reg starts here*****
Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\CLSID\{083863F1-70DE-11d0-BD40-00A0C911CE86}\Instance\{82CCD3E0-F71A-11D0-9FE5-00609778AAAA}]
"FriendlyName"="DivX MPEG-4 DVD Video Decompressor "
"CLSID"="{82CCD3E0-F71A-11D0-9FE5-00609778AAAA}"
"FilterData"=hex:02,00,00,00,00,00,90,00,02,00,00,00,00,00,00,00,30,70,69,33,\
00,00,00,00,00,00,00,00,08,00,00,00,00,00,00,00,00,00,00,00,30,74,79,33,00,\
00,00,00,d0,00,00,00,e0,00,00,00,31,74,79,33,00,00,00,00,d0,00,00,00,f0,00,\
00,00,32,74,79,33,00,00,00,00,d0,00,00,00,00,01,00,00,33,74,79,33,00,00,00,\
00,d0,00,00,00,10,01,00,00,34,74,79,33,00,00,00,00,d0,00,00,00,20,01,00,00,\
35,74,79,33,00,00,00,00,d0,00,00,00,30,01,00,00,36,74,79,33,00,00,00,00,d0,\
00,00,00,40,01,00,00,37,74,79,33,00,00,00,00,d0,00,00,00,50,01,00,00,31,70,\
69,33,08,00,00,00,00,00,00,00,01,00,00,00,00,00,00,00,00,00,00,00,30,74,79,\
33,00,00,00,00,d0,00,00,00,60,01,00,00,76,69,64,73,00,00,10,00,80,00,00,aa,\
00,38,9b,71,44,49,56,31,00,00,10,00,80,00,00,aa,00,38,9b,71,64,69,76,31,00,\
00,10,00,80,00,00,aa,00,38,9b,71,44,49,56,32,00,00,10,00,80,00,00,aa,00,38,\
9b,71,64,69,76,32,00,00,10,00,80,00,00,aa,00,38,9b,71,44,49,56,33,00,00,10,\
00,80,00,00,aa,00,38,9b,71,64,69,76,33,00,00,10,00,80,00,00,aa,00,38,9b,71,\
4d,50,34,53,00,00,10,00,80,00,00,aa,00,38,9b,71,6d,70,34,73,00,00,10,00,80,\
00,00,aa,00,38,9b,71,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00

Any questions? let me know.

Get it from http://www4.ncsu.edu/~opevans/divx3fix.reg

-orulz
UPDATE again (quoted from further down):

Quote:
Originally posted by Tsui
Here is a solution for all OS.
You needn't change the registry, just change the byte in the decompressor itself.

DivX 3.x Decompressor-Priority-Patch

FileName : divx_c32.ax
FileSize : 240.400 Bytes
FileVersion : 4.1.0.3917

0. If you are running Win9x then go to Windows\System
If you are running Win2k/XP then go to Windows\system32

1. deregister the current decompressor :
regsvr32 /u divx_c32.ax

2. change one byte in the file with an hex-editor
Offset 0xc4a (dezimal 3146)
change 80 to 90

3. register the patched decompressor :
regsvr32 /s divx_c32.ax

thats all


Maybe you have another version of the decompressor,
then you must search for 'div3' (lowercase, without '),
and substract 174 (dezimal) of the offset where the strin 'div3' was found.

In my version the offset of 'div3' is 0xcf8 (3320 dezimal).
3320 minus 174 is 3146 (dezimal) converted to hex : 0xc4a

'div3' is found 6 times, you must use the first one (lowest offset).

If you aren't firm in using an hex-editor,
I can make a patch or upload the patched version of the decompressor (look at geil.webpark.cz).
I also will integrate that patched decompressor in my filter-pack.


Greetings
Tsunami
mpeg2hq@lycos.de
geil.webpark.cz
ONE MORE UPDATE

If you are interested in the new DivX3 (decoder V8.0.0.4487, encoder V4.1.0.3927), there's a pack that contains this version with already priority patched decoder filter, see here for more information: http://forum.doom9.org/showthread.php?s=&threadid=32453! The final version V1.0 of the pack from the page linked in that thread (http://www.geocities.com/xkodi) is the one with the priority patched decoder filter!

Update for DivX 5.2+

If you want to make the DivX3 Priority Patch work again with DivX 5.2, you can do the following:

Look here:

[HKEY_CLASSES_ROOT\CLSID\{083863F1-70DE-11d0-BD40-00A0C911CE86}\Instance\{78766964-0000-0010-8000-00AA00389B71}]

and here:

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{083863F1-70DE-11d0-BD40-00A0C911CE86}\Instance\{78766964-0000-0010-8000-00AA00389B71}]

in the filter data entries...the 8th byte now reads FF instead of 00 which it reads in the other 4 locations mentioned in first post...replacing the FF with 00 in these two locations makes the priority patched Div3 work again...bit easier than to overwrite the fourccs in the filter data entry, but still not an elegant solution.

Better alternative:

Do the exact opposite to the Div3 Priority Filter Data (leaving the DivX5 Filter data alone), that means in these two locations replace the 8th byte 00 with FF:

[HKEY_CLASSES_ROOT\CLSID\{083863F1-70DE-11d0-BD40-00A0C911CE86}\Instance\{82CCD3E0-F71A-11D0-9FE5-00609778AAAA}]
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{083863F1-70DE-11d0-BD40-00A0C911CE86}\Instance\{82CCD3E0-F71A-11D0-9FE5-00609778AAAA}]

This is the better version in my opinion, because Div3 don't get updated anymore and you won't have to repeat this process, every time you install a new DivX5 (as you would have with first version)

Still no ideal thing, maybe someone can patch DivXC_32.ax again to include the 90 FF (7th-8th byte filter data) now instead of 90 00...

Last edited by Chibi Jasmin; 8th September 2004 at 17:10.
Chibi Jasmin is offline   Reply With Quote
Old 6th March 2002, 16:58   #2  |  Link
Uli
XviDiver ;)
 
Uli's Avatar
 
Join Date: Oct 2001
Location: Braunschweig, Germany
Posts: 249
Great!

I had only replaced 4 Locations (with the DivXDeuX).
I will try this evening (when i'm back from work) all 6 Locations.

greetz, Uli
Uli is offline   Reply With Quote
Old 6th March 2002, 17:07   #3  |  Link
KoVaR
Registered User
 
Join Date: Jan 2002
Posts: 62
coul you export changed keys and post .reg file somewhere ?
KoVaR is offline   Reply With Quote
Old 6th March 2002, 17:23   #4  |  Link
mwillberg
Registered User
 
Join Date: Oct 2001
Posts: 59
I read your post too early to get the file, so I did it manually. Thank you very much, it works! Funny thing though, it didn't work at first, but after I rebooted the change kicked in. Just something to try for everyone else if it doesn't seem to work at first...

Thanks a lot for finding this!
mwillberg is offline   Reply With Quote
Old 6th March 2002, 21:36   #5  |  Link
Uli
XviDiver ;)
 
Uli's Avatar
 
Join Date: Oct 2001
Location: Braunschweig, Germany
Posts: 249
Yup it worked

But thanks DivXNetworks ( to you!! ) it screwed the XviD directshow filter No filtering at all!
I'll stick with DivX 4.12 till the su**ers (sorry) at DXN got it right. I hate this almighty attitude of them.

greetz, Uli

BTW: I'm using the free version, not that "pro" system damager
Uli is offline   Reply With Quote
Old 7th March 2002, 08:02   #6  |  Link
Chibi Jasmin
Registered User
 
Join Date: Oct 2001
Posts: 800
...

I'm not into XVid at all, so maybe I am wrong, but doesn't the XVid-DS-Filter kick in with FourCC-Code XVID? So the above manipulation shouldn't have to do with it...

What do you mean DivxNetworks screwed it? Does the DivX5 installation somehow affect a registered Filter for FourCC XVID?
Chibi Jasmin is offline   Reply With Quote
Old 7th March 2002, 08:53   #7  |  Link
Chibi Jasmin
Registered User
 
Join Date: Oct 2001
Posts: 800
XVID-DS-Filter

There is a post in the XVID-Forum about this I just saw. But the "solution" was to uninstall DivX5...I'm not into researching this right now, but if anyone knows a better one keeping DivX5 installed, please let us know :-)
Chibi Jasmin is offline   Reply With Quote
Old 7th March 2002, 10:11   #8  |  Link
rui
Registered User
 
Join Date: Dec 2001
Location: Portugal
Posts: 730
Chibi Jasmin, first i want to congrat you for your excelent post.

Then i want to say that the divx5 ds filter messing with the xvid ds filter still isn't confirmed.

I am using Xvid almost from the moment it appeard, and i too (like so many) installed divx5 when it came to surface. But i still have to experience any problems with my xvid encodings using xvid ds filter caused by having divx5 installed.
I too saw that post at the xvid forum, and made some tests, by having divx5 installed and uninstalled, and i couldn't reproduce the problems
those guys were having. The only problems i ever encountered with xvid ds filter were caused by my shity P2-350 (too damn slow) i have at work. By using a faster cpu, i had none.

By the way, the other day i saw a post where some guys were saying that girls weren't any good at this "rip thing". Maybe they should come here to see your work

(You are a girl, right? If not, i am making a fool out of myself )
__________________
Rui

Last edited by rui; 7th March 2002 at 10:18.
rui is offline   Reply With Quote
Old 7th March 2002, 11:46   #9  |  Link
sierrafoxtrot
asleep for far too long
 
Join Date: Oct 2001
Posts: 131
the divx5pro codec hasn't tried to hijack any of my xvid rips yet, but two thumbs up for chibi, now i got the divx3 filter back.

sierrafoxtrot is offline   Reply With Quote
Old 7th March 2002, 13:54   #10  |  Link
theReal
Piper at theGates of Dawn
 
theReal's Avatar
 
Join Date: Nov 2001
Posts: 2,136
I find the divx5 playback filter pretty good. The adjustment of how much post-processing you want is really good, I think. It plays back all files really nice, including DivX 3.11 SBC.

But, as always, that's a matter of taste, I guess :-)
theReal is offline   Reply With Quote
Old 7th March 2002, 14:59   #11  |  Link
Chibi Jasmin
Registered User
 
Join Date: Oct 2001
Posts: 800
...

During reg-searching and realtime monitoring reg-changes and stuff, I also couldn't find any references from DivX5 to FourCC-Code XVID, so I think, there's no relation...but who knows :-)
Chibi Jasmin is offline   Reply With Quote
Old 7th March 2002, 17:16   #12  |  Link
Chibi Jasmin
Registered User
 
Join Date: Oct 2001
Posts: 800
...

READ UPDATE ABOVE, DivX5 Playback got screwed with first version, now fixed!
Chibi Jasmin is offline   Reply With Quote
Old 7th March 2002, 23:22   #13  |  Link
Uli
XviDiver ;)
 
Uli's Avatar
 
Join Date: Oct 2001
Location: Braunschweig, Germany
Posts: 249
About the XviD-DS filter...

Maybe the DivX 5 Codec gets pissed because the XviD-DS filter also decodes 'divx' and 'DIVX' FourCCs, as you can see in XviDs FilterData.
I will discuss that over in the XviD-Forum.

greetz, Uli
Uli is offline   Reply With Quote
Old 8th March 2002, 00:10   #14  |  Link
Chibi Jasmin
Registered User
 
Join Date: Oct 2001
Posts: 800
...

if it acts as with div3 and so on, it will just override...and the solution could be the same...maybe overwriting DIVX in the XVid-FilterData will help? :-)
Chibi Jasmin is offline   Reply With Quote
Old 8th March 2002, 10:05   #15  |  Link
Nic
Moderator
 
Join Date: Oct 2001
Location: England
Posts: 3,285
The XviD filter does have DivX FourCC as a code it supports, however the code in the filter, doesn't allow a connection to the DivX FourCC.

Ill turn off all support for the DivX FourCC in the code, I doubt this is the cause of the problem, but its worth a shot

(Is someone writing a regisrty program to modify the Div3 fourcc in all the filterdata of the DivX Decoder...it would be useful, I could do it, if there are no other volunteers (im pretty busy till tuesday))

Cheers,
-Nic
Nic is offline   Reply With Quote
Old 8th March 2002, 12:24   #16  |  Link
Chibi Jasmin
Registered User
 
Join Date: Oct 2001
Posts: 800
...

Don't forget to at least turn off also div4 then... (was used by Fast Motion encodes).
Chibi Jasmin is offline   Reply With Quote
Old 9th March 2002, 02:13   #17  |  Link
slapper
Registered User
 
Join Date: Dec 2001
Posts: 5
Anybody know if these regfiles work for win98SE?
slapper is offline   Reply With Quote
Old 9th March 2002, 09:41   #18  |  Link
Chibi Jasmin
Registered User
 
Join Date: Oct 2001
Posts: 800
...

I don't, but you can search for "DivX Decoder Filter" and I think you will find some FilterData-Keys and change it as described...you will see then, if it's the same keys or not...but it will work, I guess...
Chibi Jasmin is offline   Reply With Quote
Old 11th March 2002, 11:39   #19  |  Link
Uli
XviDiver ;)
 
Uli's Avatar
 
Join Date: Oct 2001
Location: Braunschweig, Germany
Posts: 249
About the XviD-DS-filter (again)

After uninstall of DivX 5 (std) and uninstall of XviD, i reinstalled the 'pro' version of DivX 5, modified the FilterData to not play DivX 3 content ( BTW: worked great on Win98SE ) and after that i reinstalled XviD. Same again, XviD content is'nt filtered anymore. Instead it is played by VFW with the xvid.dll. Only way to get filtering, is uninstall of DivX 5. No probs with DivX 4.12

A special question to Nic:
... deleted ... Nic already responded in the XviD forum

greetz, Uli

Last edited by Uli; 11th March 2002 at 14:44.
Uli is offline   Reply With Quote
Old 13th March 2002, 11:32   #20  |  Link
Uli
XviDiver ;)
 
Uli's Avatar
 
Join Date: Oct 2001
Location: Braunschweig, Germany
Posts: 249
Now i have a working solution:
If i use BSPlayer the XviD-DS-filter kicks in correctly and the output gets properly filtered

But i noticed another side effect of DivX 5:
With DivX 5 installed, mediaplayer is'nt able to play Mpeg2 files anymore ( i have WinDVD 3.0 installed ), it is looking for a codec
Without DivX 5 installed mediaplayer uses correctly the intervideo filters and plays Mpeg2 files fine... weird...
WTF has DivX 5 to do with Mpeg2
...anyway...

greetz, Uli
Uli is offline   Reply With Quote
Reply

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +1. The time now is 09:25.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.