{"id":6229,"date":"2017-01-03T18:08:26","date_gmt":"2017-01-03T09:08:26","guid":{"rendered":"http:\/\/umezawa.dyndns.info\/wordpress\/?p=6229"},"modified":"2017-01-03T18:08:26","modified_gmt":"2017-01-03T09:08:26","slug":"lossless-video-codec-benchmark-2016","status":"publish","type":"post","link":"http:\/\/umezawa.dyndns.info\/wordpress\/?p=6229","title":{"rendered":"Lossless Video Codec Benchmark 2016"},"content":{"rendered":"<p>(This article is English translation of <a href=\"http:\/\/umezawa.dyndns.info\/wordpress\/?p=6203\">Japanese version<\/a>. My personal impression is omitted.)<\/p>\n<p>I have benchmarked three latest codecs and one classic codec.<\/p>\n<p><!--more--><\/p>\n<p>Measurement conditions are:<\/p>\n<dl>\n<dt>CPU<\/dt>\n<dd>Core i7-2600K (Sandy Bridge, 3.4GHz, 4C8T) and Core i7-4770 (Haswell, 3.4GHz, 4C8T)<\/dd>\n<dt>Video clip<\/dt>\n<dd>crowd_run, 1920&#215;1080, 500f (converted to 2K from 4K YUV420 in <a href=\"https:\/\/media.xiph.org\/video\/derf\/\">Derf&#8217;s Test Media Collection at Xiph.org<\/a>)<\/dd>\n<dt>Measurement tool<\/dt>\n<dd><a href=\"http:\/\/umezawa.dyndns.info\/wordpress\/?cat=40\">vctest<\/a> 2.1.0 x64<\/dd>\n<\/dl>\n<p>Codecs are:<\/p>\n<ul>\n<li><a href=\"http:\/\/umezawa.dyndns.info\/wordpress\/?cat=28\">Ut Video Codec Suite<\/a> <a href=\"http:\/\/umezawa.dyndns.info\/wordpress\/?p=6198\">17.2.0<\/a> and <a href=\"http:\/\/umezawa.dyndns.info\/wordpress\/?p=6107\">17.1.0<\/a><\/li>\n<li><a href=\"https:\/\/www.magicyuv.com\/\">MagicYUV<\/a> 2.0<\/li>\n<li><a href=\"http:\/\/www.amarectv.com\/amv4\/manual.html\">AMV4<\/a> 4.02<\/li>\n<li><a href=\"https:\/\/lags.leetcode.net\/codec.html\">Lagarith<\/a> 1.3.27<\/li>\n<\/ul>\n<p>MagicYUV and AMV4 state that they are optimized to AVX2. They should achieve high performance on i7-4770, which supports AVX2.<\/p>\n<p>AMV4 does not support multithreading. It is uncommon nowadays. The author says that AMV4 is very fast enough to achieve sufficient performance without multithreading.<\/p>\n<p>AMV4 supports inter-frame compression. However, the results of AMV4 with inter-frame compression are excluded because its performance is almost same whether inter-frame compression is enabled or not (in case of crowd_run).<\/p>\n<h2>Results<\/h2>\n<p>(Click images to enlarge)<\/p>\n<p><a href=\"http:\/\/umezawa.dyndns.info\/wordpress\/wp-content\/uploads\/2016\/12\/cb2016-ratio.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/umezawa.dyndns.info\/wordpress\/wp-content\/uploads\/2016\/12\/cb2016-ratio.png\" alt=\"\" width=\"600\" height=\"400\" class=\"alignnone size-full wp-image-6204\" \/><\/a><\/p>\n<p><a href=\"http:\/\/umezawa.dyndns.info\/wordpress\/wp-content\/uploads\/2016\/12\/cb2016-encfps-i7-2700k.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/umezawa.dyndns.info\/wordpress\/wp-content\/uploads\/2016\/12\/cb2016-encfps-i7-2700k.png\" alt=\"\" width=\"600\" height=\"400\" class=\"alignnone size-full wp-image-6205\" \/><\/a><\/p>\n<p><a href=\"http:\/\/umezawa.dyndns.info\/wordpress\/wp-content\/uploads\/2016\/12\/cb2016-encfps-i7-4770.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/umezawa.dyndns.info\/wordpress\/wp-content\/uploads\/2016\/12\/cb2016-encfps-i7-4770.png\" alt=\"\" width=\"600\" height=\"400\" class=\"alignnone size-full wp-image-6207\" \/><\/a><\/p>\n<p><a href=\"http:\/\/umezawa.dyndns.info\/wordpress\/wp-content\/uploads\/2016\/12\/cb2016-decfps-i7-2700k.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/umezawa.dyndns.info\/wordpress\/wp-content\/uploads\/2016\/12\/cb2016-decfps-i7-2700k.png\" alt=\"\" width=\"600\" height=\"400\" class=\"alignnone size-full wp-image-6206\" \/><\/a><\/p>\n<p><a href=\"http:\/\/umezawa.dyndns.info\/wordpress\/wp-content\/uploads\/2016\/12\/cb2016-decfps-i7-4770.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/umezawa.dyndns.info\/wordpress\/wp-content\/uploads\/2016\/12\/cb2016-decfps-i7-4770.png\" alt=\"\" width=\"600\" height=\"400\" class=\"alignnone size-full wp-image-6208\" \/><\/a><\/p>\n<dl>\n<dt>Compression ratio<\/dt>\n<dd>\n<ul>\n<li>Lagarith and UtVideo (median) achieve highest compression ratio.<\/li>\n<li>UtVideo (left) achieves much lower compression ratio than UtVideo (median).<\/li>\n<li>MagicYUV (median) and MagicYUV (gradient) achieve almost same compression ratio.<\/li>\n<li>AMV4 achieves lowest compression ratio (due to video clip)<\/li>\n<\/ul>\n<\/dd>\n<dt>Encoding speed<\/dt>\n<dd>\n<ul>\n<li>On UtVideo and MagicYUV, difference of encoding speed between different prediction methods is small.<\/li>\n<li>AMV4 (DR3\/DY3) is much slower than AMV4 (DR2\/DY2), because of additional process (the author calls it &#8220;secondary compression&#8221;).<\/li>\n<\/ul>\n<\/dd>\n<dt>Decoding speed<\/dt>\n<dd>\n<ul>\n<li>UtVideo (median) is much slower than UtVideo (left).<\/li>\n<li>MagicYUV (median) and MagicYUV (gradient) are almost same<\/li>\n<li>AMV4 (DR3\/DY3) is much slower than AMV4 (DR2\/DY2) (because of &#8220;secondary compression&#8221;)<\/li>\n<\/ul>\n<\/dd>\n<dt>AVX2<\/dt>\n<dd>\n<ul>\n<li>UtVideo is not very faster on Haswell. UtVideo does not have optimized routine for AVX2<\/li>\n<li>MagicYUV is quite faster on Haswell. Encoding is slightly faster and Decoding is quite faster.<\/li>\n<li>AMV4 is drastically faster on Haswell, both encoding and decoding<\/li>\n<\/ul>\n<\/dd>\n<dt>Others<\/dt>\n<dd>\n<ul>\n<li>AMV4 does not output RGB24 during decoding<\/li>\n<\/ul>\n<\/dd>\n<\/dl>\n","protected":false},"excerpt":{"rendered":"<p>(This article is English translation of Japanese version. My personal impression is omitted.) I have benchmark [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[28,27],"tags":[],"class_list":["post-6229","post","type-post","status-publish","format-standard","hentry","category-ut-video-codec-suite","category-technology"],"_links":{"self":[{"href":"http:\/\/umezawa.dyndns.info\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/6229","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/umezawa.dyndns.info\/wordpress\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/umezawa.dyndns.info\/wordpress\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/umezawa.dyndns.info\/wordpress\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"http:\/\/umezawa.dyndns.info\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=6229"}],"version-history":[{"count":3,"href":"http:\/\/umezawa.dyndns.info\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/6229\/revisions"}],"predecessor-version":[{"id":6233,"href":"http:\/\/umezawa.dyndns.info\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/6229\/revisions\/6233"}],"wp:attachment":[{"href":"http:\/\/umezawa.dyndns.info\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=6229"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/umezawa.dyndns.info\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=6229"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/umezawa.dyndns.info\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=6229"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}