我想很多朋友在解码器输出时都会看到PSNR等于0的情况,这代表了什么意思呢?这表示你解码得到的图像和参考图像是一致的。下面基于baseline的情况详细说明一下。
首先看ldecod.c中的main()函数
init_conf(input, argv[1]);
…
img->idr_psnr_number=input->ref_offset;
显然这边的init_conf()是从decoder.cfg配置文件中读取数据,并且input->ref_offset对应的是配置文件中的SNR computation offset的值,在默认的情况下,JM8.6设置为0。
接着看image.c中的find_snr()函数,这就是用来计算PSNR数值的。