Differences
This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
x264_quality [2014/08/17 15:34] beandog created |
x264_quality [2014/08/17 15:47] (current) beandog |
||
---|---|---|---|
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) | ||
+ | </code> | ||
+ | |||
+ | Here's the formula: | ||
+ | <code> | ||
+ | (((1 - old) / (1 - new)) - 1) * 100 | ||
+ | </code> | ||
+ | |||
+ | 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 | ||
+ | </code> | ||
+ | |||
+ | 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; | ||
+ | |||
+ | } | ||
+ | </code> | ||
+ | |||
+ | === PSNR === | ||
+ | |||
+ | Using the doom9 forum post as a reference, the equation is: | ||
+ | |||
+ | <code> | ||
+ | (new - old) / 0.05 = % improvement | ||
</code> | </code> |