View Full Version : MPEG-4 codecs comparisor
BlindClown
11th March 2002, 17:39
http://koti.mbnet.fi/website/mpeg4test/
Test 1:
SBC, DivX 4, DivX 5, XviD
Test 2:
SBC, DivX 4, XviD
Check it out!!!
hegge
11th March 2002, 18:59
Great comparision !
But in my meaning SBC and DivX 3.11 has nothing to do with real ISO MPEG-4. So calling the test MPEG-4 comparision may be a little bit wrong. Many people will mix up the real ISO MPEG-4 standard with these incompatible hacked versions. OK, I agree that DivX 3.11 may be based on MSMPEG-4v1 but that doesn't make it a real MPEG-4 codec. MSMPEG-4v1 was scrapped by M$ long time ago, and didn't turn into the ISO MPEG-4 codec. DivX 5.0 has taken a big step towards ISO MPEG-4 compliance, and the day when all MPEG-4 compatible codecs can decode any MPEG-4 stream I'll be more than happy !
Time to scrap SBC and DivX 3.11 and join the standards with real MPEG-4 ! Many may claim that SBC still has the best quality, and some not. But sometimes you have to make sacrifices to get somewere. This is the time to make that sacrifice and start using true MPEG-4 with DivX 5.0 !
The use of standards makes everything easier for all of us ! When 3G makes it's way into everymans hand streaming true MPEG-4 to the phone will be a reality. But if everybody continues to use old crappy non standard codecs this won't work.
Just my 0.02 $ !
athos
11th March 2002, 20:46
hegge, i totally agree with you. we should all move to iso mpeg-4, because this is the future. some small points however (just because im picky ;)):
* The test does not say ISO mpeg-4, and DivX3 still is a "mpeg-4 technology" if you will.
* DivX3 was based on MSMPEG4v3, not v1. Told you I was picky =)
kagoru
11th March 2002, 22:24
really awesome comparison!
I like it even better than doom9's because you can see the difference at once!
I didn't get the last point though: he sais that Xvid is based on the ISO MPEG4 Standard and could be played back by any conform MPEG-Decompressor. So why does he consider the future for Xvid worse than for Divx5 if Xvid?
TIA.
athos
12th March 2002, 02:23
You should consider MPEG-4 the format, and DivX resp Xvid the Methods for encoding and decoding to this format. The format is the same, but the methods are different.
Beave
12th March 2002, 03:04
Your Flashy way of comparing the frames was the best I have seen so far. Very nice!!
AM Tiainen
12th March 2002, 19:21
For Beave: that test was our, so thanks if you like it.
And for BlindClown: We are very happy if some like so much our comparisor that he told to forward to other people:-)
If you are interest about DivX 5 MPEG-4 support, so read this:
http://www.divx.com/forums/viewtopic.php?topic=28129&forum=5
herbapou
12th March 2002, 19:24
Nice work, I like your site.
Very easy to see the difference between the codecs
OUTPinged_
12th March 2002, 21:16
BlindClown,
can you post average quantizer values percentage at least for divx3 and divx4 encodes?
my point is that your comparison is a case where more newer codecs have easy edge over divx311a
think yourself, the frames where divx311 looks alot worse than other codecs are almost all of high drf's
can you please put a second movie into test? try the low-quantizer case, where first/second pass ratio will be in a 60-70% range.
if you are going to point at frames with shit, then enable antishit for nandub encode. futhermore, all codecs are very customizeable and lower/better results from one or another codecs could be just a better/worse setup of it.
it is just that i expected xvid to have more edge over divx4 :/
i am not trying to prove you wrong. you did a good job and your results arent unexpected. add a 2cd encode (50-70minutes/cd) ot just drop in more movies.
PwR900
12th March 2002, 22:16
@Blindclown
Can you do the Xvid encode again with the new core?
rui
12th March 2002, 22:28
IMHO, the new xvid core doens't give us great improvments.
Wait until the b-frames version gets out, then divx5 will have a very very tough competitor ;)
Prosper
13th March 2002, 02:04
The greatest strength of XVid (and curiously the greatest weakness of DIVX 5) I've noticed is in fast and very fast motion scenes. I don;t see any of these scenes in your comparo (or am I blind?)
BlindClown
13th March 2002, 05:40
To PwR900 & OUTPinged_:
I didn't make this codecs comparisor.
Look AM tiainen reply...
OUTPinged_
13th March 2002, 06:34
blindclown: sorry then. :/ i didnt really checked who did that...
temporance
13th March 2002, 08:54
Just a note on comparing still frames:
B-frames help a codec achieve better overall quality/bitrate performance. But B-frames themselves are often worse quality than their I- and P- frame neighbours.
So, if you are comparing frame number 2345 between CodecA and CodecB you may be mislead if CodecA encodes frame 2345 as a P-frame and CodecB encodes frame 2345 as a B-frame. CodecB's B-frame will most likely look worse when compared as a still image, even though CodecB's overall quality may be better.
I'm not suggesting a work around, just wanted to raise the issue
Teegedeck
13th March 2002, 12:50
Well, IMO there's no technical reason why B-frames should look worse than P-frames. If they do, this shows the weaknesses of the motion-estimation used by the codec (AFAIK the motion-estimation hasn't been improved much since DivX4). It sounds even more plausible that the cause would be the ME if it is true that fast-motion scenes also look worse than low-motion scenes. Is there a general consensus about B-frames and fast motion scenes being weaknesses of DivX5?
I'm quite keen to find out whether the quality of ME is decisive, we'll find out when XviD gets B-frames support.
Well, IMO there's no technical reason why B-frames should look worse than P-frames.
There isn't. It's just that DivX5 doubles the quantizer for B-frames (even if you set it to min=max=3, B-frames still get quantized with quant=6.. nifty). However the visible detriment isn't all that great, and XviD will similarly let people increase quantizers for B-frames. Though it will give users the choice :)
(AFAIK the motion-estimation hasn't been improved much since DivX4).
If it has, it's an incredibly minor refinement. Turn off the new DivX5 features and do a constant quantizer encode, then compare with DivX4. I get a difference < 1%. Then encode the same clip at the same quant with XviD ;)
-h
OUTPinged_
13th March 2002, 13:32
:/
-h, how can one hope b-frames arent encoded with high quantizers than the rest of the movie?
there arent any tools atm that will report quant value for a selected divx5's frame. but i have noticed a decrease in quality for some b-frames in hi-mo scenes too :-(
temporance
13th March 2002, 13:37
It doesn't matter if b-frame quality is better, worse or the same as I and P frames, providing the perceived quality of the clip as a whole is maintained.
B frames are not used for further prediction, so any errors will not propogate to later frames where they must be corrected. So, B's can be quantised harder.
-h: are you saying xvid produces smaller files at the same quantiser than DivX? Is the subjective quality the same, or are the xvid files smaller because more macroblocks are skipped?
OUTPinged_
13th March 2002, 14:34
temporance, wouldnt that lead to picture shimmering?
and how much higher quantizers can be used that it would be impossible to notice a difference?
I guess that 1-2 drf levels lower would be safe for sure (judging from my divx4 encode experience). But it looks like default divx5's setup goes much further than that (i was comparing stream with regular drf average around 5 and some b-frames looked like they were encoded with drf8 or higher. I encountered on a very high bitrate mediom speed pan and small details were shimmering :-(
That effect was _much_ lesser without b-frames.
Is there any way to avoid that?
temporance
13th March 2002, 14:41
yes, take it too far and it will shimmer.
BlueRed
13th March 2002, 20:28
I SIMPLY DON'T AGREE...
Related to the comparison:
Originally posted by BlindClown
http://koti.mbnet.fi/website/mpeg4test/
Test 1:
SBC, DivX 4, DivX 5, XviD
Test 2:
SBC, DivX 4, XviD
Check it out!!!
BlindCrown, did you take into account (for instance) the DRF levels for SBC?
If you just encoded using defaults, you'll get a lot of artifacts, and the quality wont be at the max (the best output the divx vanilla can give).
Now, I tried many times to make people understand that I found a profile that has better output than any other settings I've seen here(for SBC with divx311alpha).
Now, before trying to say this matter has been discussed before, do a little test with my settings before posting anything, and compare the results. You'll see what I mean. It'll be obvious if you'd test this on fast scenes and still ones as well.
I don't say that the SBC is better than DivX5, I just say that if you can get the max quality output from a codec and you know how to do it, you should compare to that.
I should probably mention that I've done 50+ SBC rips and 20+ rips DivX4... I always read ALL the guides and the posts in the appropriate forum and try to figure out by myself the hard way. For instance, the .VCF I created took me 6 days of testing. Why? because if you have seen a Team ViTE release/dvdrip, you'd probably ask yourself how the hell did they make it?...
I'm using Dvd2avi/vfapi/Nandub way, I get best results this way (yes, even better than GordianKnot).
I DO speak from experience. And I post just facts.
Next is the complete .VCF file I use.
---->start file<----
VirtualDub.audio.SetSource(0);
VirtualDub.audio.SetMode(0);
VirtualDub.audio.SetInterleave(1,500,1,0,0);
VirtualDub.audio.SetClipMode(1,1);
VirtualDub.audio.SetConversion(0,0,0,0,0);
VirtualDub.audio.SetVolume();
VirtualDub.audio.SetCompression();
VirtualDub.audio2.SetSource(0);
VirtualDub.video.SetDepth(24,24);
VirtualDub.video.SetMode(3);
VirtualDub.video.SetFrameRate(0,1);
VirtualDub.video.SetIVTC(0,0,-1,0);
VirtualDub.video.SetRange(0,0);
VirtualDub.video.SetDivX(900,4);
VirtualDub.video.SetQualityControl(2,16,1,50);
VirtualDub.video.SetMotionDetection(6,7,300,300);
VirtualDub.video.SetCrispness(15,1);
VirtualDub.video.SpaceKF(10);
VirtualDub.video.InternalSCD(80);
VirtualDub.video.SetMinKBPS(450);
VirtualDub.video.SetCurveFile("C:\\####1\\32.stats");
VirtualDub.video.SetCurveMcFactor(15);
VirtualDub.video.SetCurveCompression(25,3);
VirtualDub.video.SetCurveFilter(300,6000);
VirtualDub.video.SetCurveCredits(0,350);
VirtualDub.video.SetLumaCorrectionAmp(1,10,50);
VirtualDub.video.SetCurveRedist(0);
// VirtualDub.video.CalcCurveCompression();
VirtualDub.video.SetCompLevelsMain(2,8);
VirtualDub.video.SetCompLevelsA(275,2,8);
VirtualDub.video.SetCompLevelsB(280,2,8);
VirtualDub.video.SetCompLevelsC(285,2,7);
VirtualDub.video.SetCompLevelsD(290,2,7);
VirtualDub.video.SetCompLevelsE(295,2,7);
VirtualDub.video.SetCompLevelK(4,31);
VirtualDub.video.SetBitsReservoir(0,35,30,70,25,0);
VirtualDub.video.SetLowBrCorrection(1,1);
VirtualDub.video.NoAVIOutput(0);
VirtualDub.video.GenStats("",0);
VirtualDub.video.SetEncodingControl("");
VirtualDub.video.filters.Clear();
VirtualDub.video.filters.Add("resize");
VirtualDub.video.filters.instance[0].Config(640,432,4);
VirtualDub.subset.Delete();
VirtualDub.brc.Set( 0, 645 );
VirtualDub.brc.Set( 1, 1 );
VirtualDub.brc.Set( 2, 128 );
VirtualDub.brc.Set( 3, 0 );
VirtualDub.brc.Set( 4, 1 );
---->end file<----
BlindClown
13th March 2002, 21:10
BlueRed:
I didn't make this codecs comparisor.
Look "AM Tiainen" reply...
there arent any tools atm that will report quant value for a selected divx5's frame. but i have noticed a decrease in quality for some b-frames in hi-mo scenes too :-(
Isibaar discovered this while implementing B-frame decoding into XviD. There is no way to disable this behaviour in DivX5.
-h: are you saying xvid produces smaller files at the same quantiser than DivX? Is the subjective quality the same, or are the xvid files smaller because more macroblocks are skipped?
XviD produces smaller files, because of its superior motion estimation engine (better matches, less MV overhead thanks to pmvfast's better suggestions), and partly because of revised prediction code (not sure if DivX5 implemented this). I don't think DivX's ME has changed much at all since encore2, which was just a basic mvfast implementation.
-h
OUTPinged_
13th March 2002, 23:35
BlueRed:
you cant claim your profile to be "the best".
some comments on it
resize 640x424 (some 177t aspect ratios here, dont forget to check filter tab in "ultimate configs")
antishit doesnt catch all shit at 16 :P mmod at 50 with 16 thresh :/
and kf interval 10 with anthishit is evil.
internal scd @80. alot of KF lovin'
CC 25+15motion, hi-mo scenes will love you.
motion detection sensitivity is too high. crispness modulation will eat your hi-mo alive. well maybe some ppl like himo blurred instead of giving it more bitrate.
BR modulation enabled :PPPPP
min gauge 30 max _70_ (at bitrate *900* resolution ***640x***). O_o
min kf drf 4 :/
and if you guys are all setting motion based drf range like that i am not wondering why Teegedeck was against it anymore.
BlueRed: man, i rip anime mostly. but i did 10+ movies too. My current anime oriented config would work alot better than yours even on a movie content. I aint even talking about animation encoding :/
Though i dont encode 2h movies into 1cd at 640x, in that case your config looks less extreme.
The point is, dont encode hardly compressable 2h movies at 640x with divx3 :/ crispness wont help you and strict bicubic(!) too. (i assume you encoded last with 900 bitrate and thats not a casual low drf movie bitrate at that res)
no offence was meant (thats not anime ripping discussion after all) :-)
_____OUT____________MooPolice is watching you!____.o/________
OUTPinged_
14th March 2002, 00:03
-h, will we have that aspect of b-frame encoding (amount of quantizer value increase for b-frame) controllable by user in xvid's future implementation?
BlueRed
14th March 2002, 19:14
I dont claim anything.
Have you tried it?
You'll see that theory isnt always right.
Fast-scenes are very well handled.
And it is a general profile, so filters get ignored or modified.
The other settings may vary a bit for 1 or 2 cd.
l8r,
Blue
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.