Quality comparison of Googles VP8 and x264 using "standard" video sequences.
VP8 and x264 comparison using VQM (visual quality metric), PSNR and SSIM evaluation.
Please consider also Jason Garrett-Glasers technical codec comparison.
- Google: VP8 0.9.0-13-g6be1d93 from WebM
- H.264 : x264 0.96.1602 69588a7 (encoder) from VideoLAN &
ffmpeg SVN-r23131 (decoder) from FFmpeg
Command line options
If you think that different settings will make a big difference, feel free to suggest.
- VP8: ivfenc --target-bitrate=$b --timebase=1/25 -w 352 -h 288 yuv ivf
- x264: x264 -B $b -o 264 yuv 352x288
I used all these CIF sequences.
Target bit rate
The target bit rate is reached by both encoders quite good in average; local stability was not yet evaluated. VP8 tends to undershoot the bit rate a bit more for high target settings. There is also one outlier (VP8, Akiyo, target rate 1000 kbps); there is simply not enough information
in this video to justify 1 Mbps.
(click on the picture to see bigger graph)
Visual quality metric as standardized in ITU-T J.144 and ITU-R BT.1683
The visual quality is measured using the NTIA general model, which was selected by VQEG and standardized by ANSI and ITU.
x264 outperforms VP8 here in almost all cases.
A VQM value of zero means: no visible difference to the original. So, smaller VQM is better.
PSNR & SSIM
Actually, considering only the standard metrics, the two current implementations are not that different. x264 has still an advantage in the current incarnation. The PSNR performance could be further "optimized" for x264 by using --tune-psnr, but that would degrade the VQM.
Encoding/decoding speed is a different issue (with clear advantages for x264/ffmpeg at the moment).
(click on the pictures to see detailed graphs)