**This is an old revision of the document!**
Encoding-Quality-Testing
Created with vmaf-docker repo.
VAAPI vs current settings
Currently no confidence intervals (values may differ, but the difference may not be relevant)
All the content is 1080p25.
Codec Settings
- vaapi: nothing but keyint and bitrates set
-vaapi_device /dev/dri/renderD128
-hwaccel vaapi -hwaccel_output_format vaapi
-i $ref
-vf 'format=nv12|vaapi,hwupload'
-c:v {codec}_vaapi
-keyint_min:v 75 -g:v 75
-b:v {rate}k -maxrate:v {rate}k -bufsize {rate}k
- libvpx-vp9 (current C3VOC transcoding settings)
-i $ref
-c:v libvpx-vp9
-deadline:v realtime -cpu-used:v 8
-threads:v 8
-frame-parallel:v 1 -tile-columns:v 2
-keyint_min:v 75 -g:v 75
-crf:v 23
-b:v {rate}k -maxrate:v {rate}k -bufsize {rate}k
- x264 (current C3VOC encoder-stream settings)
-i $ref
-c:v libx264 -preset:v veryfast
-profile:v main -flags +cgop
-threads:v 0 -g:v 75
-crf:v 21
-maxrate:v {rate}k -bufsize {rate}k
The codecs are tested with bitrates from 1Mbit/s to 5.2Mbit/s. Currently the 1080p25 streams are coded with 2.8Mbit/s maxrate.
Versions
- CPU: Intel(R) Core(TM) i7-8665U CPU @ 1.90GHz
- ffmpeg-4.1.4
- libvmaf-1.3.15
- libvpx-1.7.0 (buster)
- libx264-2:0.155.2917+git0a84d98-2 (buster)
Ref1 - Noisy MPEG2 36C3
- no improvement beyond 2Mbit/s
- VAAPI HEVC & h.264 with best quality
- libvpx-VP9 better and faster than x264
- VAAPI HEVC not faster than software encoding
Ref2 - MPEG2 36C3
- no improvement beyond 1.5Mbit/s
- similar Mean for all codecs
- better Minimum scores for libvpx/x264
- high speeds for libvpx/x264
Red Kayak - Xiph (converted to 8Bit 25FPS)
- very good quality never reached
- VAAPI VP9 has rate control problems at low bitrates (resulting bitrate large but quality low)
- VAAPI HEVC > VAAPI h.264 > libvpx-VP9 at high bitrates
- libvpx-VP9 best at low bitrates
- libvpx-VP9 better than VAAPI VP9, albeit slower
- libvpx-VP9 better and faster than x264
Rush Hour - Xiph
Conclusion
Keep in mind that this only applies to the stream-settings used
- Quality: VAAPI HEVC > VAAPI h.264 > libvpx-VP9 > VAAPI-VP9 > x264
- Speed: VAAPI h.264 > VAAPI VP9 > VAAPI HEVC >= libvpx-VP9 ~= x264
- VAAPI VP9 has lower speeds and quality than VAAPI h.264
- libvpx-VP9 has higher quality than x264 at the same speeds
- VAAPI-HEVC outperforms VAAPI-h.264 on hard content, but is 3x slower