Log in

View Full Version : experimental B-Frame DLL's


wing1
6th July 2002, 19:07
I did some testing with B-Frame encoding using both Nic's dll and Umaniac's dll(debug version). The results are quite amazingly good.

My settings are
1pass-CBR
1250 data rate
DX50 and Xvid (FFDshow filter is used for decoding)
DX50 B-VOP compatible
1 B-Frame max
120-150% B-Frame Ratio (best%-good%); best=bigger filesize

These are what I've noticed during my testings.

If B-P frames option is used, the results stutter/skip frames during playback. If more then 1 B-Frame max are used the file size reduction dramatically; However, the frames at scene changes or heavy motion suffer heavy macroblocks. Playing with the ratio will reduce the macroblock to almost none at @100%; However, the bitrate increases back to as if only I-P frames were used only. Still/moderate motion scenes have great details and virtually no macroblocks.

Also, I noticed that Nic's Dll (EPSZ and EPSZ^2 motion search) which is about 3-4 frames faster over Umaniac's Dll(PMVFast) debug build. Nic's Dll will provides a slightly smaller file size(15Mb) at the same settings, while Umaniac's Dll will provides a slightly sharper edge details.

B-Frame are looking more and more promising :)

TheXung
6th July 2002, 21:18
If you turn off the packing bits check box, the stuttering stops. For me, it also makes slightly lower filesize too.

B-frames and constant bitrate aren't "supported" yet. You might have been results with the scene change if you use fixed quantizer or quality mode.

kastro68
7th July 2002, 11:32
Where can I get my hands on the dlls?

Doom9
7th July 2002, 12:58
I knew that was coming. How about checking out the Q&A? ;)

I'll make it even easier for you: http://forum.doom9.org/showthread.php?s=&postid=83610#post83610 and you're looking for paragraph 4. Where can I get XviD binaries?

kastro68
8th July 2002, 03:23
Every time I log into the forum I look at the post: "Sticky: B-frames in XviD "

I see that there are no replies and assume that B frames are unavailable at this time.

Also, there doesn't seem to be much discussion on B-frames in Xvid.



Edit: Um, I was looking for the experimental B-frame dlls. I am certain that the link you gave me leads to Koepi's/Nics builds...of which I don't believe has support for B frames.

I just checked that link and I don't think it has been updated for ages. I guess I'll have to do a search. It is unusual because if B frames are available, then I'll be expecting more posts about it.

gldblade
8th July 2002, 04:46
Well, Nic's compile is available somewhere on this board. If you go to uManiac's site, the debug version has B-frames activated, although is much slower as it's the debug version.

Nic
8th July 2002, 08:46
I remember I did post the link in an unrelated thread. So here is:
http://nic.dnsalias.com/xvid.dll
(last weeks DLL, might need updating)

I offer it just as a DLL, so copy it over the one you have in your Windows System(32) directory. Dont use unless experienced & B-Frames arent "supported" by the developers yet. So if it doesn't work, just accept it for now :)

-Nic

Doom9
8th July 2002, 10:54
@nic: you posted the link in that thread I linked to ;) and in the q&a you'll find the link to umaniac's site so I did not promise too much but just gave the links to the b-frames.

kastro68
8th July 2002, 15:01
I'll start playing around with the new dlls.

I just need to find the optimal settings. Has anyone done any tests yet?

Does anyone know the "B-Frame quantizer ratio" for DivX5?

Teegedeck
8th July 2002, 18:31
DivX5 compresses B-frames at 200%.

And the experimental DLLs allow you to take a look at something that's under heavy development and not usable, yet. Regard it a psychedelic experience.

kastro68
9th July 2002, 18:43
(Using Nic's Version)

I am not experiencing any colour distortion with the experimental B-frame dll at the moment.

However, I have noticed that changing the "B-frame quantizer ratio" under the B-frame control options has no effect whatsoever. The B-frame quantizer ratio remains constant regardless of whatever value you change it to. I also believe that the constant value that it is set to is much less than 200%.

Another question I would like to ask concerns the "Maximum B-frames" option. Does this feature control the number of B-frames in the GOP? What I find interesting is the word "Maximum" which implies that the number of B frames used does not necessarily have to be contant. I'm curious as to how we can have a GOP if the number of B frames can change. Does this mean that the GOP can change?

Emp3r0r
10th July 2002, 04:49
did a few tests, and I have a question.
What is the best way to playback Xvid with B-Frames?

I tried my regular player and April 22 build of Xvid playback filter and all it showed was pure green. Then I opened in virtual dub and saw the picture... so the actual encode worked.... I'll try changing fourcc and see if I can get other filters to playback, keep up the good work! Koepi, hope your getting the update to Xvid Options Explained ready :D

[edit] well shit, I guess my xvid decoder code is getting old, better update that first off :p

wing1
10th July 2002, 06:57
@kastro68

what do u use to compress your vid? if virtualdub then look at the video tab. you will see three type of frames (red and blue) you will see the I-frame(red) the P-frame(blue, bigger framesize) and the B-frame(blue, smaller ~ 1/2 to 1/3 of the P-frame @200%). As you increase the maximum number of B-frame the spacing of the P-frame increases. What I've found is the more B-frame you use the more macroblock you'll see in fast motion scenes and the biggest difference is the scene change. As for the ratio, you can also observe it with the frame size in the video tab. The bigger your ratio the smaller your filesize and the more macroblock you'll see. If you increase the ratio to 100% the P and the I frame almost the same height and the macro block issue seems to go away.

@Emp3r0r
I am using ffdshow 6/17/2002 as my playback filter for B-frame with DX50 fourCC because i don't have divx5 install on my system. However, it will not work for B-frame if u use xvid fourCC. Instead use Umaniac's current build xvid.ax or Nic's current xvid.ax.

As for pschedelic experience that @Teegedeck has mentioned, i think he meant it as a metaphor of some sort :D

kastro68
10th July 2002, 07:25
I was planning on playing around to try and find the optimal combination of the number of B frames against the B-frame compression.

For instance, instead of using one B frame and a compression of 200%.
Compare it to:
-two B frames and a B-frame compression of 120%,
-or three B frames with B-frame compression of 105%.

However, when I changed the B-frame compression ratio, and look at the video tab in virtual dub, it is obvious that the B-frame ratio is fixed.

For instance if you increase B-frame compression, you should see occasion big frames and many small frames. (The small ones are the B-frames, I think). If you increase the B-frame compression, the difference between teh two should increase. But this is not the case for me. So I'm thinking it may be a bug (I'm using Nic's build). I haven't tried Umaniac's build yet.

Acaila
10th July 2002, 08:02
That video tab in VDub has never felt like a very accurate annalyzer to me. Best way to check if the compression ratios work is to compare debugview logs between the same clip with different ratios.

gldblade
12th July 2002, 05:57
Yeah, Nic's build has a bug in it. If you check the log on uManiac's site, you'll see a fix for it was put in after the Nic's build was made. So if you want to experiment with quantizer ratio, you'll have to update to the latest code.