View Full Version : XviD DSF
Ivion
15th March 2002, 23:02
Ok, I have a problem, as you might have guessed.
Please, don't even bother to take a look at my grammar, I know it sucks, but I shall get tot the point. :)
I tried several times to get the XviD DSF to work, but I fail every time.
I tried the newest compilation of Koepi, but then WMP and some other players I have on my computer just crashed when I tried to play the file. I also tried the latest compilation of Nic, wich isn't the newest if I'm not mistaking.
In the readme.txt of Nic's compilation it said that is should use regserv32.exe to get the DSF working, but now I have a problem...where can I find it. Maybe I'm stupid or something, but does anyone know how to solve my problem?
The movies play correctley BTW, when I use Nic's compilation, but I want post-processing. :D
If you need pc-specs, just say that in your reply, and I'll post them.
I hope that someone has a solution (wich I think someone has, because I'm just plain stupid :D :p).
trbarry
15th March 2002, 23:37
Ivion -
There should be a module called regsvr32.dll in your windows/system directory. I keep a copy of it on my desktop. If you drag the xvid.ax module over and drop it on top of regsvr32 it should register it.
- Tom
Ivion
16th March 2002, 00:09
Humzzz, now the problem is, it doesn't. :)
As you can see he gives back an error of wich I do not get a clue from what has gone wrong. Maybe you know why? Or maybe you know another solution?
My system-specs are BTW:
-Pentium III 450 MHZ
-Asus P3V4X
-GeForce 2 MX
-SoundBlaster Live!
-3Com Network-card
-Windows 98 SE
This isn't my ripping system BTW :D, my ripping system is a tad faster. :p And isn't running crappy W98, but W2K.
BTW, trbarry; My name is Ivion (well actually it's David, but that's not the point :D), not Ivian. :)
trbarry
16th March 2002, 03:03
Humzzz, now the problem is, it doesn't.
As you can see he gives back an error of wich I do not get a clue from what has gone wrong. Maybe you know why? Or maybe you know another solution?
Uhhhh, what doesn't what? I'm not sure what you did or what happened.
BTW, sorry about the (now corrected) name.
- Tom
droolian01
16th March 2002, 04:15
Hi there. I had difficulty registering the xvid.ax file with regsvr.dll, in fact i think i got the same error (not sure though). solved it by making sure that the xvid.ax file was in the exact same folder that the regsvr.dll app was in (usually 'c:\windows\system') so cut/paste it right next to regsvr.dll and thendrag and drop it. hope this helps.
Ivion
16th March 2002, 07:44
Originally posted by trbarry
Uhhhh, what doesn't what? I'm not sure what you did or what happened.
BTW, sorry about the (now corrected) name.
- Tom
Can't you see the image I attached? Well, anyhow, the error was:
'LoadLibrary("C:\GKNOT\XVID.AX") failed.
GetLastError returns 0x00000485.'
I hope someone knows what this means. :D
BTW, droolian01; Your method also doesn't work, he gives back the exact same error, except ofcourse for the path.
Koepi
16th March 2002, 09:14
Too few details to solve the matter.
Try my latest build and see what happens.
Regards,
Koepi
Nic
16th March 2002, 11:49
This seems like a win98 & vc7 DShow problem :(
-Nic
ps
Sorry for the short reply, im having terrible trouble posting or sending emails right now :(
Ivion
16th March 2002, 11:53
Originally posted by Koepi
Too few details to solve the matter.
Try my latest build and see what happens.
Regards,
Koepi
Humzzz, if you look in my orginal message you would've seen that I already tried that and that then the players (yes, I tried multiply) I use just crashed.
And Nic, if your guess is corrected, is there a solution to my problem, or not (yet)?
Originally posted by Ivion
I tried the newest compilation of Koepi, but then WMP and some other players I have on my computer just crashed when I tried to play the file.
rui
16th March 2002, 13:33
I had problems playing xvid avi's, using the latest ds filter, when using deringing option.
Media Player 6.4 always crashed, i think that's because deringing it's optimized for SSE, and i was using a P2, but i am not sure of this. But when using only deblocking all went well.
Nic
16th March 2002, 13:46
That is the reason rui :(
Would the old C version of deringing be any use to you? At present, ive got deringing disabled for those with SSE.
Cheers,
-Nic
Koepi
16th March 2002, 14:06
The DSF of Nic i included is built with VC6, so it's no VC7 matter there.
But maybe msvcrt42.sll is an older version? There exist some more versions of it, some with incompatibilities.
For example, between win98 and win98se there are differences... ;)
Regards,
koepi
trbarry
16th March 2002, 14:39
Can't you see the image I attached? Well, anyhow, the error was:
'LoadLibrary("C:\GKNOT\XVID.AX") failed.
GetLastError returns 0x00000485.'
I hope someone knows what this means.
Ivion -
No, I could not see the image, but now I can. Sometimes it takes awhile for images to appear on this board. I think they have to be approved or something. But I don't know what that message means. If you have already tried multiple installs of Xvid and the DSF and it didn't help then maybe you have an old version of DirectX or something. But this is just a wild guess. I don't know if a certain level is required. Anybody ???
- Tom
MaTTeR
16th March 2002, 14:58
Doesn't the filter need to be in the windows/system or system32 directory? I've never tried registering filters in other places.
Could it be your envoronment variables pointing to a wrong directory as well...just throwing out some ideas.
No, I could not see the image, but now I can. Sometimes it takes awhile for images to appear on this board. I think they have to be approved or something. But I don't know what that message means. If you have already tried multiple installs of Xvid and the DSF and it didn't help then maybe you have an old version of DirectX or something. But this is just a wild guess. I don't know if a certain level is required. Anybody ???
The error he's getting (1157) is "One of the library files needed to run this application cannot be found."
So something on his system is absent, or misplaced.
I hope.
-h
Nic
16th March 2002, 15:10
Yup its the VC7 runtime library file....
Anyway goto:
http://nic.dnsalias.com
It now includes it.
Ivion
16th March 2002, 15:21
Originally posted by -h
No, I could not see the image, but now I can. Sometimes it takes awhile for images to appear on this board. I think they have to be approved or something. But I don't know what that message means. If you have already tried multiple installs of Xvid and the DSF and it didn't help then maybe you have an old version of DirectX or something. But this is just a wild guess. I don't know if a certain level is required. Anybody ???
The error he's getting (1157) is "One of the library files needed to run this application cannot be found."
So something on his system is absent, or misplaced.
I hope.
-h
Well the file missing was the msvcr70.dll, the solution to this I found in this topic (wich should've been a reply :)): http://forum.doom9.org/showthread.php?s=&threadid=20669
Now I got the xvid.ax registerd, but now WMP crashes, just like with Koepi's build! I tried other players, but they also crashed. Maybe this is an error wich only happens with W98(SE)? Can someone give feedback on this? (I don't think this is gonna happen, almost everyone here uses W2K or XP rigt?)
But anyhow, I'm going to try to install the XviD-DSF on a W2K machine, I'll see if that'll work. I'll keep ya all informed about my progress. :p :D
BTW, if anyone is interesed, here is the error Windows gives when WMP crashes:
MPLAYER2 heeft een fout met betrekking tot een ongeldige pagina veroorzaakt in
module <onbekend> op0000:b00dc190.
Registers:
EAX=e1ef1000 CS=017f EIP=b00dc190 EFLGS=00010282
EBX=00000004 SS=0187 ESP=00feecd4 EBP=00fe8cee
ECX=00000830 DS=0187 ESI=e1ee8cdc FS=0177
EDX=00feeccc ES=0187 EDI=e1ef3fbf GS=0000
Bytes in CS:EIP:
Stackdump:
00000f59 00000367 0000fbbe 80497160 01872017 10000000 8d08e1ef 03670f90 00000830 00000004 b00dc190 0000017f e1ee8000 26198d4a 08300367 80000000
(The dutch text is saying this: 'MPLAYER2 has created an error by creating a invalid page in module <unknown> on...[etc]' I'm sure this is a bad translation, but I hope it'll do :))
Koepi
16th March 2002, 15:22
Repeat:
My build installs a filter that doesn't need msvcrt70.dll.
As he wrote initially, he tried my latest build (and he sure means 15032002-2.exe with that, else he wouldn't insist that it's the latest. I wonder why we put in a version number there.)
Regards,
Koepi
rui
16th March 2002, 15:23
Originally posted by Nic
That is the reason rui :(
Would the old C version of deringing be any use to you? At present, ive got deringing disabled for those with SSE.
Cheers,
-Nic
Nic, don't worry about that.
My main computer is at home, an AMD XP, and no problems here. The pentium2 is at my work, so i don't care much if it doesn't work there (after all, i should be doing work there, not encode xvid movies :D
And, besides that Pentium2 350 i have there win95B, so maybe that could also be causing my problems with the deringing option, like Koepi points, in spite that he is talking about win98, and the problem with VC6/VC7 compiling.
Ivion
16th March 2002, 15:25
Originally posted by Koepi
Repeat:
My build installs a filter that doesn't need msvcrt70.dll.
As he wrote initially, he tried my latest build (and he sure means 15032002-2.exe with that, else he wouldn't insist that it's the latest. I wonder why we put in a version number there.)
Regards,
Koepi
Humzzz, Koepi, I'll check on more time if I really have your latest version and then update (yes I know that I then first have to remove the old one, else the dll's won't be updated :)).
I'll edit this message as soon as I have results.
Nic
16th March 2002, 15:35
I dont know why you don't believe me rui :) But trust me the problem is the P2 (they don't support the MMX SSE) its not the operating system... :)
Cheers,
-Nic
avih
16th March 2002, 15:55
what's "Humzzz" ??
Koepi
16th March 2002, 15:59
"Humzzz" is the brother of "Bzzzz", it's playing a role in the "5th element" ;)
Regards,
Koepi
avih
16th March 2002, 16:20
and that's what some of the ppl here call u?? ;)
Ivion
16th March 2002, 18:42
Originally posted by avih
what's "Humzzz" ??
Well, humzzz, is an expression. It means that someone is thinking. :)
You know, something like uhhhhhh. :D
And Koepi, it seemed that you already updated (damn, this codec develops to fast!!! :D) your compilation, it seems now, that suddenly it all works! I think I just did something wrong in the beginning before installing your compilation, maybe not deleting all dll's or something? But anyway, thanks for all your support! Sorry for wasting your time, the answer was right in front of me, sorry.
And what is this thing about deringing not working with PII? Does it work with the PIII, or doesn't it? Becuz when I enable it my pc crashes.
Yeeh it works! (The DSF, not the deringing ^^) /me is dancing around :p
Koepi
16th March 2002, 18:46
Strange thing, should work best with P III.
It even works on my old duron...
P II simply lacks the SSE instructions and thus may crash, but P III has them...
Regards,
Koepi
Bluedan
16th March 2002, 19:37
anonymous acronymous attack !!
What does VfW in context with XVid-codec mean ??
Koepi (or KöPi ?), maybe you've taught me physics- I think you are that age and have that skills- for Physicians... years ago. I still live in your town, funny to meet you here being involved into video codec development... good thing
uManiac
16th March 2002, 19:56
VfW = Video for Windows
The front-end that the codec uses (encode front-end) is VFW. You can play your encoded clips using eather VFW or DS (Direct Show, a newer Microsoft thingy made to replace VFW and other things).
uManiac
Ivion
16th March 2002, 20:03
Originally posted by Koepi
Strange thing, should work best with P III.
It even works on my old duron...
P II simply lacks the SSE instructions and thus may crash, but P III has them...
Regards,
Koepi
Humzz, strange. I'll try it when I come home (I'm now at my uncle's computer).
But I also noticed you released another version, wich I know installed here on my uncle's computer, but the funny thing is that he opens the file, gives no errors, but doesn't play, it just returns a black screen and the counter stays at 00:00. This computer has a AMD-K7, maybe it hasn't the instructions the DSF needs? Becuz when I take a look at wich DSF's he uses, it does show the XviD-DSF. Anyone knows the solution? Maybe it's the new version, becuz the old version does work on my computer at home, I don't know if it'll work here, if someone can give it, I can test it. My problems just won't end :p
trbarry
16th March 2002, 21:11
Theoretically Nic's newest DSF should also work just fine on P2's and K6-2's but you don't want to turn on deringing (don't check those check boxes) unless you have an Athlon, P3, or a Celeron 550 or higher. The deringing code is written to use the integer MMXSSE instructions.
Using a lot of pavgb assembler instructions it can do deringing with about only 7 assembler instructions / pixel. But without the MMXSSE intruction set it probably would have been 3 times that, so you probably couldn't have run deringing on a P-II anyway without dropping a lot of frames and messing up your sound sync.
But I'm not sure where a K7 fits into all that.
- Tom
Nic
16th March 2002, 21:28
Wasn't a K7 pretty much the K6-2 ??? (Im using a K6-2 at present :) )
The deringing is automatically turned off & the deringing boxes disabled if MMX SSE is not detected.... :)
Thanks for all your help Tom & I hope you won't stop there :)
-Nic
uManiac
16th March 2002, 21:30
I always thought K7 = Athlon... maybe I'm wrong though...:confused:
uManiac
Pasqui
17th March 2002, 00:26
you're right: K7 (development name) = Athlon (official name)
Nic
17th March 2002, 02:01
Yup, I think you are right...I was getting confused with the K6-3 (Doh! :) )
-Nic
Koepi
17th March 2002, 13:53
@Nic:
it seems some of your DSF code produces plenty debug output (transform, destructor...) - i guess it would speed up a little by removing them?
Regards,
Koepi
it seems some of your DSF code produces plenty debug output (transform, destructor...) - i guess it would speed up a little by removing them?
Hrm should there be classes being constructed/destroyed with every frame? Go one-time creation :)
-h
Nic
17th March 2002, 14:37
That shouldn't be the case....cheers for the heads up, ill go look into that.... :)
(ps Im not creating or closing any classes......thats all their from the original code)
-Nic
rui
17th March 2002, 18:19
Originally posted by Nic
I dont know why you don't believe me rui :) But trust me the problem is the P2 (they don't support the MMX SSE) its not the operating system... :)
Cheers,
-Nic
Nic, of course i believe you :)
I know that the p2 doesn't have SSE MMX. In my post i was saying that, not only i had a shit computer in my work, but i had also a shit operating system :), but i know that the media player crash is caused by not having support of SSE.
But like you said on another post, this problem is solved :
The deringing is automatically turned off & the deringing boxes disabled if MMX SSE is not detected....
-Nic
MaTTeR
18th March 2002, 03:45
Nic,
My hats off to you my friend! Just tried out Koepi's 3-17-2002 build with your 3-16 filter. The CPU usage has dropped dramatically using all the options. In fact with all DSF options on, I'm only see an average of 20% CPU usage. With no DSF options, CPU usage is around 14%.
Great job in a very short time span;)
PS. Keep in mind the clips I test had 5.1 AC3 as well, this could have increased the CPU usage somewhat.
EDIT- -h I didn't mean to leave you out on the props for the DSF either. Just noticed your optimized ASM code was added as well. Kudos to you as well.
Nic
18th March 2002, 09:58
And don't forget Tom (trbarry) thats where the real credit should go in this instance :)
Cheers,
-Nic
MaTTeR
18th March 2002, 17:17
Tom...many thanks go out to you and all others for the contribution. I've honestly never seen a software package develop so fast with so many positive results.
Do you think it might also be possible to include the tooltips for the various DSF functions? I really like the new interface of the codec with the tip information. Having the filter setup with the tips would make all parts consistent.
Nic
18th March 2002, 17:34
Ill look into doing the tooltips, never done them before (outside of MFC) :)
-Nic
Ill look into doing the tooltips, never done them before (outside of MFC) :)
Heh they're a pain. I'm adding "proper" tooltips to vfw, as suxen_drol sent over some source code demonstrating it. It looks suspiciously like what I had before (which wasn't working), so it'll be interesting to play with..
-h
avih
19th March 2002, 00:32
@-h/other xvid mmx developers:
some weeks ago i had a problem with a function of mine that had been messed up during some float operations (inside core)
(heck this thread: http://www.xvid.org/forum/viewtopic.php?topic=297&forum=4&5)
anyway, i'm now learning asm and mmx so i can optimize my postprocessing (already done with contrast/brightness/saturation), and i just learned that if 'emms' is not used after mmx instructions, it may cause float operations to get corrupted.
as i now think of it, it could be the case (since then i moved to integer only algos). exactly same function was working fine outside of the xvid project (i.e. a new msvc project).
what do u think?
cheers
avi.
trbarry
19th March 2002, 01:15
anyway, i'm now learning asm and mmx so i can optimize my postprocessing (already done with contrast/brightness/saturation), and i just learned that if 'emms' is not used after mmx instructions, it may cause float operations to get corrupted.
Yes!
All mmx assembler sections and functions (ones that use mmx registers) should end with emms before exiting. I wondered yesterday looking at some code whether there were also float operations floating around in xvid.
Basically the mmx registers are the same chip storage as the float registers and the cpu tries to keep track of which they are supposed to be. But not all mmx contents represent any valid float number.
I think this was also a problem in Avisynth 1.05 recently if you used Bicubic resize with certain other filters.
- Tom
avih
19th March 2002, 01:29
thx tom.
-slightely of topic-
folowing this, and with your knoledge of optimizations, can u pls recommend a resource for crash course on asm and mmx/sse/etc for programmers? i'm a pretty experienced programmer, but the last real assembly code i wrote was more than 10 years ago for the zx spectrum when i was a teenager :D.
i've done some experiments with mmx in the last few days, and now my mmx'ified brightness/contrast/saturation code is about 60-70% faster than it's c version. i'm happy with that ;)
i've been using 'art of assembly' to learn asm and mmx so far (no sse guide there), and i'm using the hla (high level assembler) for my code. it uses masm, and i added a custom build for my file in core project. it's working fine.
what i need is a ~20-50 pages VERY dense guide that stresses all the important points and options and not a 1000+ pages guide (as is the excellent 'AoA')
any suggestions?
thanx in advance.
avi
ps.
i asked u on the xvid forum about dscaler. do u know anything about it's status? (answering both questions here would be easier for me to read ;)
thx again.
trbarry
19th March 2002, 02:31
avih -
I think the best sources are on the Intel and AMD sites, and of course working code, wherever you can find it. But especially check out the various versions of the Intel Optimization Reference and the video related assembler papers on the Intel site. I think there is also an AMD Guide to Multimedia that talks about MMX optimization.
I have all these around somewhere if you can't find them. I don't suppose you have a better (unofficial) 'Guide to Nasm' do you?
I'm currently somewhat pi$*ed at nasm right now. Try assembling the SSE2 instruction:
movd eax, xmm6
With any known version and see what it generates. I spent hours on this this morning. ;)
As far as DScaler, it went through something of an architectural change to support multiple cards, etc. I follow the mailing list but have not done as much with it recently. But I think there should be a new beta for R4 in a month or two. But DScaler is on sort of a long product cycle. Greedy/HM improvements (sharpness/softness) I made in early November still haven't even made it to beta. But there is supposed to be one soon.
- Tom
avih
19th March 2002, 03:32
> "I don't suppose you have a better (unofficial) 'Guide to Nasm' do you? "
nah. :). i only started with asm few days ago, tried downloading the nasm official guide and saw it's off at the moment due to bandwidth limits. i looked for something else, and fell on hla+masm which worked for me as a kickstart. sorry i can't help u with that.
> " Try assembling the SSE2 instruction: movd eax, xmm6"
just tried. it assembles ok with masm. didn't try to run it though since i have a duron machine, and it'll probably crash before i'll submit this post ;)
i don't suppose u need help for adding masm files to your current project? ;)
avi
[edit]
i ran the program, and nothing happened (i.e. it performed the same as without it). r u sure it's sse2 and not just sse?
afaik, duron (800) machines don't support sse2. or do they?
I'm currently somewhat pi$*ed at nasm right now. Try assembling the SSE2 instruction:
You could give YASM (http://www.tortall.net/projects/yasm/) a try - supposed to be a source-compatible rewrite of NASM, and should support SSE2.
Or it might crash :)
-h
trbarry
19th March 2002, 04:34
just tried. it assembles ok with masm. didn't try to run it though since i have a duron machine, and it'll probably crash before i'll submit this post
avi -
Well good, which version of nasm have you got? I'll use it too.
On mine it assembled ok too. But if you use the disassemble view on VS6 and step through it, it shows it actually generated a movd esi, xmm0. I couldn't figure out why I was getting all I-frames after putting in SSE2 sad16 code. Took me all morning. :(
But no, duron machines don't support sse2. But they support movd to/from mmx registers so who knows what it did.
And I don't really have a masm project. I was just looking around for assembler things to optimze. I started the idea because I wanted fast enough playback for xvid HDTV clips but then just started looking around a bit. But I still don't really understand most of xvid like many of the other folks.
So far I've just done the deringing on Nic's filter and the abortive attempt I mentioned above to optimize sad16 for sse2. And I might try to put in DmitryR's SSE2 IDCT code he donated to DVD2AVI. After all, the next versions of Athlon are supposedly going to support it too.
Or did you mean GreedyHMA? I'm not sure abut that one yet.
But there is certainly no shortage of things to do. Xvid is one of the most interesting things going these days.
- Tom
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.