Log in

View Full Version : Cvs 2002-03-05


Pages : [1] 2

-h
5th March 2002, 12:07
What's new:

- Curve compression and keyframe boost are applied to external mode now (thanks Foxer). This can be disabled, by setting the curve/kf values to 0 (same as internal mode).
- AVI frame overhead is now treated better (thanks again Foxer :)).
- Min keyframe interval only affects 2-pass modes now - this is the way it should be - smaller file sizes for 1-pass encodes this way.

-h

saVe
5th March 2002, 12:45
is mmx still disabled on this build? or is it just when you select custom matrices?

-h
5th March 2002, 13:05
is mmx still disabled on this build? or is it just when you select custom matrices?

The only assembly that is currently disabled, is the MPEG quantization. This is called if you set the quantization type to anything but H.263 - if you use MPEG or Custom, you will see a significant slowdown.

Yes it's being fixed :)

-h

Actron
5th March 2002, 13:23
how long will it take est. ?

EDIT : ah, sorry...didnt understand what you meant...sorry..

Nic
5th March 2002, 13:42
www.freewebz.com/xvid

new CVS code, all compiled with full VC7 optimisation....Not even DivX5 uses VC7

(Ill update stormpages.com later)

Cheers,
-Nic

wing1
5th March 2002, 15:31
@nic

Just d/l new binaries from url and installed. DSfilter tells me that it can't find the dynamic link library MSVCR70.dll anywhere in my putter? Did you recompiled the DSfilter with VC7 as well or it's just me being off somewhere? Never have problem with playback before until now.

wing1
5th March 2002, 15:34
Just replaced the old xvid.ax from previous build and it plays ok now.

Nic
5th March 2002, 16:09
Thanx for the heads up wing1,
yup its all compiled with VC7,

Hold on while I go check it out (I might have to put the VC7 files it needs in the zip)

-Nic

@wing1:
Could you try downloading the following zip & putting the .DLL inside into your system32 directory, then retrying....Thanks! :)

www.freewebz.com/xvid/msvcr70.zip

wing1
5th March 2002, 16:49
@nic

You are great :D That does the trick. Thank you very much.

Nic
5th March 2002, 17:02
No thankyou, :) I didn't know if that would fix it.

Could you report back if you see any speed increase/decrease in the encoding or decoding....

....they'll probably be no difference, but i'd be interested to know... (that ax version has my assembly improvement for brightness, so that should at least be a bit quicker)

(But it could also decrease the speed)

-Nic

Klumsy
5th March 2002, 18:10
I'm still waiting for Koepi's ;)
I do some DivX5 testing now. I just did 'Matrix' with his 04032002-1 build on 2 CDs with full resolution. The result is very, very impressive.
Now let's see what DivX5 can do.

One thing I am thinking of:
It's been on this forum several times, that Virtual Dub can't handle
b-frames. So why is it possible to use them with Divx5?
Or is it just supported by VD1.4.9?

Koepi
5th March 2002, 18:26
Unless i get bored there will be no further release from me until the new core arrives. It's simply because the user defined quantizer matrix breaks the patch to the core that I need for modulated quant type.
(So it needs MUCH of work to apply it...)

The latest additions are very nice and clean up some mess, but not "essential", the 02/03/2002 build should perform to 99.999 % as fine as the new CVS.

And when the new core arrives, I hope there will be no need for me supplying extra binaries anymore since it could be incorporated in CVS then :)

Regards,
Koepi

Foxer
5th March 2002, 20:24
Looked at the sourcecode.
The keyframe spacing applied only to 2pass mode in particular..
if ((codec->keyspacing < codec->config.min_key_interval && codec->framenum) &&
(codec->config.mode == DLG_MODE_2PASS_1 || codec->config.mode == DLG_MODE_2PASS_2_EXT ||
codec->config.mode == DLG_MODE_2PASS_2_EXT))

-h accidentally forgot to change ext to int in one of those pastes it looks like so for the moment, I'd recommend not relying upon today's cvs for internal 2pass encodes unless you don't mind letting the core decide when to insert a keyframe (several shown intra frames probably won't be clamped using the i-frame quantizer range) instead of it relying solely upon 1st pass stats for keyframing.

Sygma21
5th March 2002, 20:26
Thx Nic,

I tested the 04/02 version of your DS filter and I got CPU overload all the time, but with the 04/05 release I turn around 65/75% of CPU load (933Mhz). Great improvement. I use Dering C and Y with their default value. The image quality is really good

May I ask you some explanations about the options of post-processing or give a link to a site

Nic
5th March 2002, 21:17
@Sygma:
Ask away :) Any questions you have just ask, its all pretty standard stuff (the help file (through the start menu) that comes with DivX 4.12 explains deblocking & deringing well). The threshold decides when harsher deblocking should be applied. 0 & lower values means more smoothing (turn both to 0 & hit apply to see what I mean) The values given are the ones I liked, but please try your own.

@Koepi:
I hope once the modulated quant is in the CVS you'll move onto some other improvements! :)

Cheers,
-Nic

Koepi
5th March 2002, 21:20
XviD-05032002-1:
- Added Nic's new DirectShow playback filter with assembly optimized brightness control.
- Added msvcrt70.dll, necessary for Nic's new filter as it is compiled with VC7
(even DivX5 isn't compiled with the new compiler ;) )
- Updated .inf file to install the dll as well.

Follow the XviD Options Explained link in my signature to get it.

Regards,
Koepi

P.S.: Nic, I hope you don't mind if I take your DSF again? ;)

Foxer
5th March 2002, 22:05
Took another look at codec.c and noticed something very odd.
Stats1's file pointer isn't being reset in external mode initialization so external mode's screwed too.. :(

I think I'm going to update it without waiting for -h.

-h
5th March 2002, 23:17
Took another look at codec.c and noticed something very odd.
Stats1's file pointer isn't being reset in external mode initialization so external mode's screwed too.. :(

Ah well :)

BTW, the keyframe spacing doesn't "look" right in the code (since there are to EXT's instead of an INT), but in reality you don't even need the EXT there either - as long as you force the keyframes in the 1st pass, that's where the 2nd pass gets its keyframes from, so keyframe spacing is only actually needed in the 1st pass.

But it's still "wrong". I need to get more sleep.

-h

Aktan
5th March 2002, 23:28
@h

mind explaining the difference between Payback with bias and Payback proportionally?

Foxer
5th March 2002, 23:32
lol yea that's true.

btw, cmdline cvs from wincvs 1.2 doesn't like "\n" :(

Being in such different timezones sucks.. When one's on, the other's half asleep and occasionally makes mistakes heh

Foxer
5th March 2002, 23:37
@Aktan

Bias bitrate payback merely adds reserve bytes / payback delay to a frame regardless of it's size whereas proportional adds fewer bytes to smaller frames and more bytes to larger frames.

Aktan
5th March 2002, 23:59
@Foxer
Thx for the info :) But what are the advant/disadvant of each?

Foxer
6th March 2002, 00:39
Bias won't quickly use up the reserve on a demanding scene after a still / highly compressible sequence in the video but might use too much on an easy scene following such a sequence such as stationary text on a static background.

saVe
6th March 2002, 02:42
i must say i'm amazed!

i know i'm a bit late with testing nic's dsf, but i chose to wait until it was optimized (wanted to be kind to my weak old duron 800 ;)).

the waiting was worth it! right now i'm watching an xvid encoded movie (108 minutes/650mb) sitting in front of the screen and it's dark in the room. but i still can't see no damn artefacts anywhere!

i'm a happy man! big thanks to all the coders!

Nic
6th March 2002, 09:53
Im glad its working well for you saVe :)

I think its about time I released the source so others can improve on it, maybe I can go check it into the CVS..... -h? is that wise?

(im not going to be able to work on it this weekend....)

Cheers,
-Nic

rui
6th March 2002, 10:10
This has nothing to do with the subject, but i didn't want to open a new thread so here goes. For that i am sorry.

I just tried using the divx5 mp4 converter, to...convert a xvid avi to an .mp4 file.
Well, it didn't work.

But my doubt is: will xvid ever allow us to creat a mp4 file?
I am asking this because, if i am right, that's all it takes to play our xvid conversions in those yet to be hardware mpega4 players, right?

Nic
6th March 2002, 10:22
Try using AviC to convert the FourCC to DIVX before trying to convert to MP4.

Just worked for me :)

Cheers,
-Nic

rui
6th March 2002, 10:33
Ah, Nic, did anyone ever told you how smart of a guy you are? :D

It worked like a charm. But now i can only open the file in the divx playa.
So for now this ins't of any use, i think.

-h
6th March 2002, 11:54
I think its about time I released the source so others can improve on it, maybe I can go check it into the CVS..... -h? is that wise?

I'd go for a commit - if anything goes wrong, it can always be rolled back :)

If core mods are involved, they may get blasted in the near future remember..

-h

Nic
6th March 2002, 12:15
The only core mod is putting the following in image.h:

#ifdef __cplusplus
extern "C" {
#endif

...

#ifdef __cplusplus
}
#endif

around 4 of the image.h function definitions.

This allows me to do a color conversion in the DSF. I don't think that should be a problem (???)

-Nic

rui
6th March 2002, 12:29
Nic, i am having some trouble with your latest DS filter.
I just made a quick encode of a movie trailer, and when playing it using wmplayer 6.4, the image sometimes freezes, and then gets back to normal. I am using all deblocking options, no deringing because my comp can't handle it (p2-350).

But when i disable all post processing, the image doesn't freezes anymore.

My problem or possible a bug?

With your prior DS filters i never had any problems.

The image quality looks very good, by the way.

I am using Koepi's latest build.

Nic
6th March 2002, 12:40
Its seems faster on fast systems its faster & slower on slow system.

I think ill go back to VC6 (also it could be a bug in my assembly brightnes routine)

Cheers,
-Nic

rui
6th March 2002, 13:04
Nic, i will try this at home later, because there i have a AMD XP MUCH faster than this P2-350. Probably it's my system that can't handle it.

Don't go back to VC6 just because if this. Like i said, the image quality seemed better, i didn't noticed the traile that moving objects leave so much.

By the way, am i the only one that notices this?(the moving objects thing)
This is, IMHO, the only single problem that xvid has in comparison with divx5 :(

The People's Elbow
6th March 2002, 14:29
Nic wrote:
I think ill go back to VC6
- Why u wanna step back to VC6? It was a small but nice improvement in my mind...what's the reason u want to kick VC7?

Nic
6th March 2002, 14:56
Because I've had people having problems, which I never had with VC6 (Rui had his problem & HarryM had a W98 problem with the filter) Also people have to download an extra 180k for the VC7 Runtime libraries,

I think probably the best bet is to offer both, I haven't decided what to do yet....

(I haven't heard of any problems with the codec though, has it improved speed?)

-Nic

Koepi
6th March 2002, 14:58
XviD-06032002-1:
- Changed to the NullSoft Installer System, thanks "kdbla" for sending me a NSIS
template :) It's now much easier to install XviD.

I'll attach the script to this post so you, uManiac and Nic, can download and use it as well. It's hell of a lot nicer this way to install XviD! (overhead is very small btw!)

Thanks a million kdbla for helping us here.

http://www.nullsoft.com/free/nsis/#download

That compiler is needed for compiling the script, you need to adopt every line where a "Koepi's version" shows up, it's easy to find&replace.
You may want to adopt the files installed as well, but that's not too hard to find either.

The only drawback with this solution is, that i don't include my modified sources anymore, but those are in the old build on my site so it shouldn't be a problem :)

Best regards,
Koepi

rui
6th March 2002, 15:34
Nic, please don't go back to VC6 on my account.

I will test the new ds filter in home with my XP, to see if the freezing thing still happens.

Probably it's this shity comp i have here at work that is causing my problems.

To koepi: Nice, very nice, and much more simple :)

wing1
6th March 2002, 15:54
@nic

Sorry for the long delay...d/l and quickly test yesterday morning and went to work and did not get back until 1am this morning. Anyway, the xvid encoder seems to be faster then the previous build but the decoder (DSfilter) seems to be tad slower then previous build: The previous build was consuming approximately 78-85% CPU (Divx5 filter does that too on my system 1900XP AMD) and the VC7 version brought it back to 100% just like the first build that was released.

Nic
6th March 2002, 16:03
Cheers,

Ok, well ill go back to VC6 for the DShow & keep with VC7 for the Core. That sound about right? :)

Thanks for info ill update tomorrow,
Ill also probably update the CVS tomorrow too, (im busy at work, so I dont have that much time now)

Cheers,
-Nic

EDIT:
ps
Someone in my office just sent me a properly cracked version of DivX5 (not the eagle one ;) ). Just when I was so close to doing it myself Doh!

MaTTeR
6th March 2002, 18:37
I just wanted to give you guys yet another pat on the back:) Using the build from the 5th I got truly spectacular results this morning.

Source-Immortal Beloved DVD Anamorphic(Just released yesterday, great flick)
Length-121 minutes
Audio-Ac3->Ogg Vorbis using q-2(73.7MB)
Xvid Build- 2002-03-05
Motion Search-6
Quant-H.263
Min/Max KF-10 and 300
Min/Max Quant-1 and 31
FourCC-Xvid of course;) (Nic's latest build)
Luminance-No
Video Target FileSize via Gknot-634MB
Actual Video Filesize-634MB:D
Average Bitrate-734kBits/s

The final pictue quality shocked me as I wasn't expecting near this kind of quality. I usually don't use such low bitrates and tend to spring for 2CDs with AC3. In all fairness, the movie is not an action flick, quite the opposite. The movie doesn't contain alot of motion but the colors are rich, in fact this may be the DVD I use from now on for PQ reference. Also, the dark backgrounds and wood grained walls had exceptional detail with no visual artifacts seen whatsoever. It's worth noting that I had turned on all(4) deblock functions in Nic's post processing filter.

What else can I say? Truly amazing results to fit such a rich source onto 1CD at such a low bitrate! Keep up the great work guys, it's much appreciated;)

EDIT-
@Nic

I think SAD released a fully cracked version of Divx5 Pro within hours of the press release. LOL

EDIT2-
@All
Immortal Beloved is a very well made film if you haven't seen it. I'm not much of a fan for drama but come on...it's Gary Oldham playing Beethoven. A must see IMHO.

tangent
6th March 2002, 21:07
Just wondering, what was your first pass size, resolution and filters used for this encode?

MaTTeR
6th March 2002, 21:23
@tangent
Resololution-560x224 using HMOD32
No filters were used.
Bicubic Soft
First pass size was 11.5MB

The PQ was still sharp despite the resolution and Soft Bicubic that were used. Again, this could be mostly due to the excellent source material. This DVD could easily compete with a SuperBit DVD IMO.

rui
6th March 2002, 23:29
To Nic:

Like i expected, i didn't have any problems with your latest ds filter using my AMD at home.
The problem i had with it at work was caused by the P2-350 i have there. So, at least for me, i don't have to go back to VC6.

To all:

By the way, i made a new encoding of The Replacements trailer using divx5, but this time not using any pre-processing (the first one i made, i had choosed it), and i must say that in some scenes divx5 seemed a bit more sharper than xvid. (?) At least to my eyes.
I know that i recently posted a message saying otherwize, but i must admite here that i was wrong.
Divx5 IS more sharper than divx4 ever were. I used 800Kb bitrate for both codecs, with all the fancy options in divx5 enabled, and in xvid using 6 motion serach precision, H.263 for 1 pass, and modulated for second. I used 40% in keyframe boost, 25%/15% high and low curve compression, and 250 payback delay.

I am doing as i type this a full movie encoding using divx5, and already done the same movie with xvid. Then i will compare both, to come to a final conclusion, both about if the file sizes are on target for both codec, and image quality.

tangent
7th March 2002, 06:03
Originally posted by MaTTeR
@tangent
First pass size was 11.5MB

Sorry, I meant the first pass size when you read the .stats file into Nandub Stats Reader. Or alternatively, if you load the .stats file into Gordian Knot (under Bits/Pixel*Frame), you get a % of compressibility test.

MaTTeR
7th March 2002, 06:28
Doh! I should have know that:D First pass was at 69.7% or something real close to that.

Nic
7th March 2002, 10:57
-h? Foxer?

The bugs you mentioned at the start of this thread, are you in the process of fixing them? Do you want me to do it??

2 days since a CVS update? Whats wrong? :D

-Nic

Hanty
7th March 2002, 11:09
The way I understood it they were holding back until the weekend for something big happening.

-h
7th March 2002, 11:45
Oh! Um, Foxer merged fixes for the things mentioned (keyframe placing bug, external mode setfilepointer bug, etc.).

-h

Nic
7th March 2002, 12:46
Ooops, Sorry, didn't notice (I just checked the history & saw the changes)

My version hasn't got those changes, so ill go update it & ill compile the DShow filter in VC6 (I think thats safest) (but keep the core in VC7)

Cheers,
-Nic

Koepi
7th March 2002, 15:28
XviD-07032002-1:
- Created a chm help file for XviD, so XviD Options Explained mustn't be shipped with
the binary anymore! :) Just Use the XviD Help from your start menu!
- Included the modified sources as zip again.

Fetch it the usual way. You might wnat to uninstall the old build first, since the .chm is smaller and contains the same as the XviD Options Explained.

Regards,
Koepi

P.S.: can someone commit the .chm to the CVS please?