[XviD-devel] Comparison "old" vs "new" adaptive quant code

Dirk Knop xvid-devel@xvid.org
Tue, 06 Aug 2002 09:42:55 +0200


This is a multi-part message in MIME format.
--------------040003020701000405010501
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

since I was collecting some "statistcal" relevant data for the use of 
h263/mpeg quant type in first pass when using modulated quantiser in 
second pass, I took the (CPU) time to do some further tests, see the 
results attached.

I think this isn't a real valid quality-test because it just has an 
average quantizer as result, but you can see somehow why the "new" 
adaptive quant code somewhat worked (looking at the quantizer 
distribution it shows as well why it looked bad sometimes), and that it 
sometimes didn't work at all (Rush hour 2 result is clearly speaking for 
itself in that matter).

Further I tested EPZS^2 vs. PMVfast using the same settings and it shows 
that the current implementation is a little bit better (in the sense of 
average quantiser reached) as PMVfast, even if it's "buggy". If someone 
could clarify what is working wrong there I would appreciate it, since I 
_believe_ I ran into a situation where that code was "smearing" a wrong 
detail through the picture (residues of a light during camera movement 
having a "trail") which isn't there when using PMVfast code - is that an 
error that could be caused by this?

A further note, if you take a look at the screenshots over at doom9 in 
the comparison, take a look at the brighter picture of XviD, there are 
strange yellow/greenish spots on the left side of the picture, 
alternating every pixel ("on-off toggle"). One user over at doom9 found 
some scenes where he could see that, and when looking at my clips I can 
verify that it's there sometimes. Is that intentional, a feature, or 
even a bug?

Well, too much stuff for a single mail, but that's what I've done so far 
now ;)

Ah, and another one:
Should I update VFW/DShow so they include the xvid.h from the core 
sources? I think this is a step which should be made. And I wanted to 
add #defines for EPZS and other things, if I find them, so that in 
XviD.h we get a small "feature enable/disable" section. I would add 
something like a #define-based XVID_SPECIAL_BUILD comment, so it is 
easily to see which of these experimental features are activated in a build.
Any objections?

Best regards,
Koepi

--------------040003020701000405010501
Content-Type: text/plain;
 name="1stpass_quant_type.txt"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
 filename="1stpass_quant_type.txt"

------------------------------------------------------------------
    Comparison of old & new luma masking (and EPZS vs PMVfast)
------------------------------------------------------------------

"New" means the luma masking code which was added in june, "old"
means the code we used before that with EPZS^2 ME and "old"+
PMVfast means the former (and now again actual) adaptive quant
code in conjunction with PMVfast motion estimation.

##################################################################
Matrix R2:

First pass:
Filesize 1.570 MB ("new"), 1.255MB ("Old"), 1.254 ("old"+PMVfast)

Heading for 590.000 KB
*for 599.000 KB at "old"+PMVfast, biasing the results 1.5254%

Quantizer distribution for 2nd pass:
   "new"	"old"		"old"+PMVfast
Q:2:534		Q:2:735		Q:2:841
Q:3:82697	Q:3:85112	Q:3:88077
Q:4:84036	Q:4:86183	Q:4:83973
Q:5:14927	Q:5:12830	Q:5:11999
Q:6:2645	Q:6:1263	Q:6:1238
Q:7:1026	Q:7:64		Q:7:60
Q:8:263		Q:8:1
Q:9:46
Q:10:14

Average quants: 
   "new"	"old"		"old"+PMVfast
3.6826		3.6185		3.5966 (3.6515 corrected by *bias)

##################################################################
Rush Hour2 R2:

First Pass:
Filesize 1.494 MB ("new"), 1.286MB ("old"), 1.290 MB("old"+PMVfast)

Heading for 641.000 KB

Quantizer distribution for 2nd pass:
   "new"	"old"		"old"+PMVfast
Q:2:79 		Q:2:172		Q:2:173
Q:3:14515	Q:3:39412	Q:3:38108
Q:4:80631	Q:4:75900	Q:4:76306
Q:5:27470	Q:5:10808	Q:5:11649
Q:6:3847 	Q:6:487		Q:6:539
Q:7:406		Q:7:13		Q:7:17
Q:8:44 

Average quant:
   "new"	"old"		"old"+PMVfast
4.1499		3.7797		3.7975

##################################################################

--------------040003020701000405010501--