# Differences

This shows you the differences between two versions of the page.

 x264_quality [2014/08/17 15:34]beandog created x264_quality [2014/08/17 15:47] (current)beandog 2014/08/17 15:47 beandog 2014/08/17 15:46 beandog [SSIM] 2014/08/17 15:44 beandog 2014/08/17 15:43 beandog 2014/08/17 15:37 beandog 2014/08/17 15:36 beandog 2014/08/17 15:34 beandog created Next revision Previous revision 2014/08/17 15:47 beandog 2014/08/17 15:46 beandog [SSIM] 2014/08/17 15:44 beandog 2014/08/17 15:43 beandog 2014/08/17 15:37 beandog 2014/08/17 15:36 beandog 2014/08/17 15:34 beandog created Line 6: Line 6: Use SSIM or PSNR to gauge differences between encoding settings. Use SSIM or PSNR to gauge differences between encoding settings. + + ==== SSIM ==== When comparing two values, here is the formula to discern what percentage amount something has improved. When comparing two values, here is the formula to discern what percentage amount something has improved. Line 33: Line 35: <​code>​ <​code>​ x264 [info]: SSIM Mean Y:0.9751283 (16.043db) x264 [info]: SSIM Mean Y:0.9751283 (16.043db) + ​ + + Here's the formula: + <​code>​ + (((1 - old) / (1 - new)) - 1) * 100 + ​ + + Here's a simpler visualization:​ + + <​code>​ + 1 - 0.9613678 = 0.0386322 + 1 - 0.9751283 = 0.0248717 + 0.0386322 / 0.0248717 = 1.55325932686547361057 + 1.55325932686547361057 - 1 = 0.55325932686547361057 + 0.55325932686547361057 * 100 = 55.325932686547361057 + ​ + + Rounding it out to an integer, would be 55, for a result of 55%.  So when encoding this particular video at double the bitrate, the SSIM increases by 55%.  Not bad! + + Here's a PHP function to do the same thing: + + <​code>​ + function ssim_improvement(\$old_ssim,​ \$new_ssim) { + + \$a = 1 - \$old_ssim; + \$b = 1 - \$new_ssim; + + \$c = \$a / \$b; + + \$d = \$c - 1; + + \$e = \$d * 100; + + return \$e; + + } + ​ + + === PSNR === + + Using the doom9 forum post as a reference, the equation is: + + <​code>​ + (new - old) / 0.05 = % improvement 