Log in

View Full Version : Quantiser Matrix Settings: another bug in the GUI...?


Dewi
27th August 2003, 02:57
Hello.

This is my first post, though some of you might have seen me on the XviD IRC channel.

I've been lurking since early June, but for the last month I've been away a bit, so I apologise profusely if this issue has been discussed previously.

First of all I would like to say that I have never played with Custom matrices. People have mentioned a GUI bug where once Custom matrices are used, restoring the normal H.263/MPEG matrices might not work as expected. The problem I have noticed is similar, but since I have never used custom matrices it can't be that simple...

Basically I use 3 different machines to encode (using GKnot and Koepi's latest 24/06 build), and I happened to run an "FC" to check if my settings were the same across all 3 machines. Aside from some line-ordering issues, everything was the same, except for the quantiser matrices, which are all *supposed* to be MPEG.

The XviD GUI produces inconsistent settings, based on factors like:
1) Whether previous versions of XviD had been used on the machine
2) Whether or not "load defaults" has been pressed, and perhaps even
3) The order in which different settings were selected

After lots of deleting of registry trees and reinstalling of XviD, I got all the settings in synch by doing *exactly* the same sequence of operations to set it up.

Pretty much all my encodes have proceeded very nicely, but I do wonder what the real MPEG matrix is supposed to be, and whether I'm using it.

When I started writing this post, the settings on this computer were:

"qmatrix_intra"=hex:08,11,12,13,15,17,19,1b,11,12,13,15,17,19,1b,1c,14,15,16,\
17,18,1a,1c,1e,15,16,17,18,1a,1c,1e,20,16,17,18,1a,1c,1e,20,23,17,18,1a,1c,\
1e,20,23,26,19,1a,1c,1e,20,23,26,29,1b,1c,1e,20,23,26,29

"qmatrix_inter"=hex:10,11,12,13,14,15,16,17,11,12,13,14,15,16,17,18,12,13,14,\
15,16,17,18,19,13,14,15,16,17,18,1a,1b,14,15,16,17,19,1a,1b,1c,15,16,17,18,\
1a,1b,1c,1e,16,17,18,1a,1b,1c,1e,1f,17,18,19,1b,1c,1e,1f

Somehow the settings have gotten out of synch again, because on the other two computers, the settings are:

"qmatrix_intra"=hex:08,11,12,13,15,17,19,1b,11,12,13,15,17,19,1b,1c,14,15,16,\
17,18,1a,1c,1e,15,16,17,18,1a,1c,1e,20,16,17,18,1a,1c,1e,20,23,17,18,1a,1c,\
1e,20,23,26,19,1a,1c,1e,20,23,26,29,1b,1c,1e,20,23,26,29,00

"qmatrix_inter"=hex:10,11,12,13,14,15,16,17,11,12,13,14,15,16,17,18,12,13,14,\
15,16,17,18,19,13,14,15,16,17,18,1a,1b,14,15,16,17,19,1a,1b,1c,15,16,17,18,\
1a,1b,1c,1e,16,17,18,1a,1b,1c,1e,1f,17,18,19,1b,1c,1e,1f,00

The difference is that my other machines have an extra ",00" on the end of both lists.

Furthermore, while writing this post I popped up the gknot configuration dialogue and closed it again without touching anything, and it seems my settings on this machine have changed again:

"qmatrix_intra"=hex:08,11,12,13,15,17,19,1b,11,12,13,15,17,19,1b,1c,14,15,16,\
17,18,1a,1c,1e,15,16,17,18,1a,1c,1e,20,16,17,18,1a,1c,1e,20,23,17,18,1a,1c,\
1e,20,23,26,19,1a,1c,1e,20,23,26,29,1b,1c,1e,20,23,26

"qmatrix_inter"=hex:10,11,12,13,14,15,16,17,11,12,13,14,15,16,17,18,12,13,14,\
15,16,17,18,19,13,14,15,16,17,18,1a,1b,14,15,16,17,19,1a,1b,1c,15,16,17,18,\
1a,1b,1c,1e,16,17,18,1a,1b,1c,1e,1f,17,18,19,1b,1c,1e

Now ",29" and ",1f" have been removed from the ends of the lists...

The discrepancies always seem to occur at the end of the lists, so maybe these are just junk bytes that aren't used, and I'm writing an annoyingly long post about nothing at all.

How many values are there in the standard MPEG quantiser matrix; in fact, what is the standard MPEG quantiser matrix? I have tried looking around for it but I haven't found it yet. Could somebody knowledgable post it here?

So... that is the bug report I've been putting off for months. Maybe it's not even a bug, maybe it is... all I know is that my encodes *seem* to be pretty good, so either I was lucky with my matrix settings, or little differences don't matter a great deal.

I apologise about the length of this post, so thanks for your time if you got through it all. :) Bye for now.