PDA

View Full Version : H.264 encoder/decoder PSNR


tono1234
10th May 2008, 18:55
Hi all,

I am running some experiments with JM 12.4. The work flow of the experiments as usual:

encode -> decode -> calculate PSNR

However I noticed that the PSNR at the end of encoding (written in the encoder output on the screen) is higher that the PSNR at the end of decoding process. Could anyone please tell me if that is normal? Because according to my understanding the encoder performs decoding as well for DPCM, so why these two PSNRs are not the same.

many thanks in advance.

P.S. I am using rate control, if that means anything...

Dark Shikari
10th May 2008, 20:44
Possible reasons:

1. JM might not deblock unreferenced frames when encoding, so the PSNR calculated will be different from the actual value (x264 does this unless you enable DEBUG_DUMP_FRAME).

2. Perhaps one is average PSNR and the other is OPSNR?

tono1234
12th May 2008, 20:38
Thanks for your answer. I have checked and both encoder and encoder calculate average PSNR of all frames in the sequence. Also I have tried to use B frames as references so that now according to my understanding all frames are referenced.

Does anyone know the meaning of leakybucketparam.cfg file which is generated during the encoding. I have tried to search some info on that, but was unable to find anything. It seems to me that the decoder uses that file.

Many thanks

Gabriel_Bouvigne
13th May 2008, 08:51
With such a name, it's a rate control configuration file. (but JM is not really known for its ability to correctly handle rate control...)