Matthaeus
23rd May 2003, 03:26
Hi!
I am a newbie here and it is my 1st post. I searched on the forum for
a decoder test because I wanted to know which decoder is the best for
playing XviD encoded movies, but I haven't found any good thread.
So I have decided to create a psnr-test with different mpeg-4 decoders.
I hope you find this test useful:
Source : 704x384 @25fps 3653 frames, RGB24
Encoder : XviD (uManiacs) 14/05/2003, 23:40
Average and Total average PSNR values were calculated using the
PSNR4AVI.EXE utility by Vanguard Software Solutions.
I think Y error has better influence on quality than U and V errors so
I have also calculated the average PSNR with weighted values.
Weighted average uses a 0.5 coefficient for Y-PSNR and 0.25 for U-PSNR
and 0.25 for V-PSNR.
1st Test
--------
Default options (Motion-6, H.263, all other options disabled)
1-pass Quantizer: 2
Compressed file size: 51,331,072 bytes
Decoder: xvid.dll
FourCC Used Codec: XVID, FourCC description Code: xvid
Results:
Average PSNR (Y U V): 41.68, 47.82, 48.07
Total Average PSNR: 45.86
Weighted Average PSNR: 44.81 <--
Decoder: 3ivxVfWCodec.dll (4.0.4.0)
FourCC Used Codec: 3IV2, FourCC description Code: 3iv2
Results:
Average PSNR (Y U V): 43.08, 48.40, 48.09
Total Average PSNR: 46.52
Weighted Average PSNR: 45.66 <--
Decoder: divx.dll (5.0.5.830)
FourCC Used Codec: DIVX, FourCC description Code: divx
Results:
Average PSNR (Y U V): 44.26, 48.47, 48.44
Total Average PSNR: 47.06
Weighted Average PSNR: 46.36 <--
Decoder: ffdshow(alpha)2003/0103 - Simple iDCT (and used grab option)
Results:
Average PSNR (Y U V): 41.62, 47.42, 47.22
Total Average PSNR: 45.42
Weighted Average PSNR: 44.47 <--
Note: the test took about 1 hour (on my computer) and I hadn't got
much time for testing the Reference iDCT in ffdshow, but with
a source of 100 frames I got eqvivalent results with the 3ivx
decoder.
As you can see the XviD decoding algorithm is not very precise, the
psnr is about 1.5db lower than the divx decoder (don't misunderstand
me, I am not a divx fan, these are only pure facts).
But don't think that 1.5db is a small difference!
Here is a demonstration:
2nd Test
--------
a.)Default options (Motion-6, H.263)
1-pass Quality: 80 (min 2, max 3) --> average quant: 2.2
Compressed file size: 48,783,360 bytes
Decoder: xvid.dll
Results:
Average PSNR (Y U V): 41.64, 47.79, 48.06
Total Average PSNR: 45.83
Weighted Average PSNR: 44.78 <--
b.)Default options (Motion-6, H.263) + VHQ=4 (!!!)
1-pass Quantizer: 2
Compressed file size: 48,590,848 bytes
Decoder: xvid.dll
Results:
Average PSNR (Y U V): 41.86, 48.04, 48.32
Total Average PSNR: 46.07
Weighted Average PSNR: 45.02 <--
The two file sizes are approximately the same (as with a 2-pass encode)
and the PSNR difference is "only" 0.24db between the VHQ and non-VHQ
encodes and encoding with VHQ=4 is about 3 or 4 times slower!
You can lose or earn 1.5db on the decoder side and only 0.24db on the encoder side!
That's all for now. Sorry for the long post but it's really my first.
Thanks for your patience.
I am a newbie here and it is my 1st post. I searched on the forum for
a decoder test because I wanted to know which decoder is the best for
playing XviD encoded movies, but I haven't found any good thread.
So I have decided to create a psnr-test with different mpeg-4 decoders.
I hope you find this test useful:
Source : 704x384 @25fps 3653 frames, RGB24
Encoder : XviD (uManiacs) 14/05/2003, 23:40
Average and Total average PSNR values were calculated using the
PSNR4AVI.EXE utility by Vanguard Software Solutions.
I think Y error has better influence on quality than U and V errors so
I have also calculated the average PSNR with weighted values.
Weighted average uses a 0.5 coefficient for Y-PSNR and 0.25 for U-PSNR
and 0.25 for V-PSNR.
1st Test
--------
Default options (Motion-6, H.263, all other options disabled)
1-pass Quantizer: 2
Compressed file size: 51,331,072 bytes
Decoder: xvid.dll
FourCC Used Codec: XVID, FourCC description Code: xvid
Results:
Average PSNR (Y U V): 41.68, 47.82, 48.07
Total Average PSNR: 45.86
Weighted Average PSNR: 44.81 <--
Decoder: 3ivxVfWCodec.dll (4.0.4.0)
FourCC Used Codec: 3IV2, FourCC description Code: 3iv2
Results:
Average PSNR (Y U V): 43.08, 48.40, 48.09
Total Average PSNR: 46.52
Weighted Average PSNR: 45.66 <--
Decoder: divx.dll (5.0.5.830)
FourCC Used Codec: DIVX, FourCC description Code: divx
Results:
Average PSNR (Y U V): 44.26, 48.47, 48.44
Total Average PSNR: 47.06
Weighted Average PSNR: 46.36 <--
Decoder: ffdshow(alpha)2003/0103 - Simple iDCT (and used grab option)
Results:
Average PSNR (Y U V): 41.62, 47.42, 47.22
Total Average PSNR: 45.42
Weighted Average PSNR: 44.47 <--
Note: the test took about 1 hour (on my computer) and I hadn't got
much time for testing the Reference iDCT in ffdshow, but with
a source of 100 frames I got eqvivalent results with the 3ivx
decoder.
As you can see the XviD decoding algorithm is not very precise, the
psnr is about 1.5db lower than the divx decoder (don't misunderstand
me, I am not a divx fan, these are only pure facts).
But don't think that 1.5db is a small difference!
Here is a demonstration:
2nd Test
--------
a.)Default options (Motion-6, H.263)
1-pass Quality: 80 (min 2, max 3) --> average quant: 2.2
Compressed file size: 48,783,360 bytes
Decoder: xvid.dll
Results:
Average PSNR (Y U V): 41.64, 47.79, 48.06
Total Average PSNR: 45.83
Weighted Average PSNR: 44.78 <--
b.)Default options (Motion-6, H.263) + VHQ=4 (!!!)
1-pass Quantizer: 2
Compressed file size: 48,590,848 bytes
Decoder: xvid.dll
Results:
Average PSNR (Y U V): 41.86, 48.04, 48.32
Total Average PSNR: 46.07
Weighted Average PSNR: 45.02 <--
The two file sizes are approximately the same (as with a 2-pass encode)
and the PSNR difference is "only" 0.24db between the VHQ and non-VHQ
encodes and encoding with VHQ=4 is about 3 or 4 times slower!
You can lose or earn 1.5db on the decoder side and only 0.24db on the encoder side!
That's all for now. Sorry for the long post but it's really my first.
Thanks for your patience.