Log in

View Full Version : Unavoidable Artefacts even with Qual100%:Tuning possible?


Ewi
2nd October 2002, 21:36
Here are 2 screenshots of "Kiss of the dragon" - PAL (scaled an 200%)

http://www21.brinkster.com/gunter123/

bicubic_sharp/DivX 5.02 with B-Frames&GMC : nothing else

Coding is done with Quality Based 100%.

Please look at the red circles I included in the pictures.
There are these blocks on the wall (in general on areas with similiar colour values ??)

I used Quality 100%, so I can't tune here anything more. So my question is: What can I do to compensate these artefacts? Is there a filter that could help?

Technically: Why is DivX5 forced to use at least quantizer 2? Is there any technically reason that the picture can't look a better way?

-h
3rd October 2002, 01:45
Well for one thing that might be a B-frame, and the B-frame would be stored with quant=4. Or the blocks might be in your source material.

The quant=2 minimum is in DivX 5 because quant=1 is a waste of space, frame sizes are three times that of quant=2 usually.

-h

jggimi
3rd October 2002, 05:50
@-h:

Stupid question time... if this was a single pass encoding, would b-frames be produced?

---

@Ewi:
One thought on isolating the artifact source -- .vob, resizing, or codec:

Previewing the .avs with resizing active, and then again disabled, would show whether or not the source or resizing produced it. And if the artifacts don't appear at all, then you'd know the codec produced it.

-h
3rd October 2002, 06:00
Stupid question time... if this was a single pass encoding, would b-frames be produced?

Yes. And by default (unless constrained or with a registry hack), all B-frames in this case would have quant=4.

-h

Ewi
3rd October 2002, 08:20
I will give it a second try without b-frame when my examinations are done.

But a question remains: If I have a good value in Gknots Comp Test (perhaps 75%+), should I disable B Frames? And what kind of registry hack do you mean; are comp tests and 2-pass encoding still working with it on?

DJ Bobo
3rd October 2002, 13:23
Wow wow wow, what the hell are you talking about? what has the registry to do with this?
b-frames are enabled if you check it on the encoder, disabled if you don't check it, point final! (no matter what type of encoding you choose, 1 or 2-pass has nothing to do with this)
No need for registry hack or what so ever ¬.¬

And yes this might be because of b-frames and NEVER ENABLE GMC UNLESS DIVX NETWORKS RELEASES A FIXED VERSION, GMC IS STILL DAMN FREAKIN' BUGGY! (search the forum if you don't believe me, some screenshots were posted to show this)

So you want "perfect" quality, disable all pro functions!

Nic
3rd October 2002, 13:42
The esteemed -h is referring to the quant multiplier in the registry. e.g you can change this so the quant is quadrupled for b-frames rather than doubled.

look for: "Bidir quant multiplier" in the divxnetworks registry key. (current user section).

Dont be so quick to correct people, specially not moderators ...

(Now go write out a hundred times: "-h is never wrong")
:) ;)

-Nic

DJ Bobo
3rd October 2002, 16:04
@ Nic
I never talked about the quantizer, I talked about the feature ¬.¬

-h
3rd October 2002, 16:16
I never talked about the quantizer, I talked about the feature ¬.¬

As did I :)

And by default (unless constrained or with a registry hack), all B-frames in this case would have quant=4.

That is, unless you alter the registry, any B-frame the codec inserts (when the B-frame feature is enabled) will have double the base quantizer.

-h

Hiro2k
3rd October 2002, 21:50
@ -H

what would the B-frame quantasizer be in a 2 pass encoding where the quantasizers are constantly changing?

-h
3rd October 2002, 23:12
what would the B-frame quantasizer be in a 2 pass encoding where the quantasizers are constantly changing?

That depends on the rate control code, which I can't really look at anymore. I dare say it would be double the P-frame quantizers around it.

Once we have a working MPEG-4 parser it'll be easy to find out.

-h

khp
6th October 2002, 12:08
I'am pretty sure it works like this.

For all P- and B-frames the codec decides what quantizer to use as if it's a P frame. After this decision has been made, the B-frame quantizer is multiplied by the Bidir quant multiplier.

I have come to this conclusion, by looking at the analyse.log file created by divx5 durring the second pass. In this file you can see, what quantizer the codec decided to use, for each frame. If you calculate the average P- and B-frame quantizer you will see that they are next to identical. Which can only mean that the Bidir quant multiplier has not been taken into account when the codec decided what quantizer to use for each frame. Which means that the multiplication happens after the codec has decided what quantizer to use.