I also got curious and decided to try something. Simply changing the iDCT algorithm used by MPEG2Source can change the output quite a bit in PSNR terms. All using the same 5002 frame MPEG-2 source.
The three 32 bit routines compared to the IEEE-1180 Reference:
PSNR y:62.449197 u:62.938405 v:62.566806 average:62.546733 min:58.816064 max:90.653474
The 64-bit floating point compared to the IEEE-1180 Reference:
PSNR y:102.999039 u:104.085312 v:104.101176 average:103.334047 min:89.595436 max:inf
SSEMMX (Skal) compared to the IEEE-1180 Reference:
PSNR y:62.376757 u:62.547402 v:62.376608 average:62.404711 min:58.623051 max:90.653474
Simple MMX (XviD) compared to the IEEE-1180 Reference:
PSNR y:65.242412 u:67.925161 v:66.576349 average:65.801940 min:61.771485 max:90.653474
ffms2 vs MPEG2Source (IEEE-1180 Reference):
PSNR y:65.346402 u:66.217016 v:65.103104 average:65.437119 min:61.781376 max:inf
Does H264 have similarly vague iDCT specs that allows different decoders to do different things that give slightly different results?
|