{"id":2114,"date":"2020-10-10T20:21:22","date_gmt":"2020-10-10T18:21:22","guid":{"rendered":"https:\/\/alax.info\/blog\/?p=2114"},"modified":"2020-10-10T20:21:22","modified_gmt":"2020-10-10T18:21:22","slug":"incorrect-video-output-of-nvidia-h-264-encoder-mft","status":"publish","type":"post","link":"https:\/\/alax.info\/blog\/2114","title":{"rendered":"Incorrect video output of NVIDIA H.264 Encoder MFT"},"content":{"rendered":"\n<p>I mentioned issues in AMD&#8217;s and Intel&#8217;s video encoding related drivers, APIs and integration components. Now I switched development box video card to NVIDIA&#8217;s and immediately hit their glitch too.<\/p>\n\n\n\n<p>NVIDIA GeForce RTX 2060 SUPER offers really fast video encoder and consumer hardware from AMD and Intel is simply nowhere near. 3840&#215;2160@144 video can be encoded as fast as under with 10 ms per frame:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>H264\r\n\r\n640x360@144\t1.09\r\n640x360@260\t1.02\r\n1280x720@60\t2.00\r\n1280x720@120\t2.00\r\n1920x1080@60\t3.26\r\n1920x1080@72\t3.30\r\n1920x1080@90\t3.26\r\n1920x1080@120\t3.29\r\n1920x1080@144\t3.77\r\n2560x1440@60\t5.23\r\n2560x1440@72\t5.22\r\n2560x1440@90\t5.33\r\n2560x1440@120\t5.71\r\n2560x1440@144\t5.75\r\n3840x2160@30\t11.00\r\n3840x2160@60\t11.33\r\n3840x2160@72\t11.32\r\n3840x2160@90\t9.41\r\n3840x2160@120\t7.62\r\n3840x2160@144\t8.54\r\n\r\nHEVC\r\n\r\n640x360@144\t1.00\r\n640x360@260\t1.00\r\n1280x720@60\t2.05\r\n1280x720@120\t2.05\r\n1920x1080@60\t4.03\r\n1920x1080@72\t4.01\r\n1920x1080@90\t4.01\r\n1920x1080@120\t4.63\r\n1920x1080@144\t4.67\r\n2560x1440@60\t4.00\r\n2560x1440@72\t4.00\r\n2560x1440@90\t4.00\r\n2560x1440@120\t4.10\r\n2560x1440@144\t4.18\r\n3840x2160@30\t8.00\r\n3840x2160@60\t8.33\r\n3840x2160@72\t8.43\r\n3840x2160@90\t8.42\r\n3840x2160@120\t7.88\r\n3840x2160@144\t6.89<\/code><\/pre>\n\n\n\n<p>However this is their hardware and API, and Media Foundation integration based on custom Media Foundation wrapper.<\/p>\n\n\n\n<p>NVIDIA&#8217;s Media Foundation encoder transform (MFT) shipped with video driver fails to do even simple thing correctly. Encoding texture using NVIDIA MFT:<\/p>\n\n\n\n<figure class=\"wp-block-video\"><video height=\"720\" style=\"aspect-ratio: 1280 \/ 720;\" width=\"1280\" controls src=\"https:\/\/alax.info\/blog\/wp-content\/uploads\/2020\/10\/nvidia-mft-h264.mp4\"><\/video><\/figure>\n\n\n\n<p>It looks like internal color space conversion taking place inside the transform is failing&#8230;<\/p>\n\n\n\n<p>NVIDIA HEVC Encoder MFT handles the same input (textures) correctly.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I mentioned issues in AMD&#8217;s and Intel&#8217;s video encoding related drivers, APIs and integration components. Now I switched development box video card to NVIDIA&#8217;s and immediately hit their glitch too. NVIDIA GeForce RTX 2060 SUPER offers really fast video encoder and consumer hardware from AMD and Intel is simply nowhere near. 3840&#215;2160@144 video can be&hellip; <\/p>\n<p><a class=\"moretag\" href=\"https:\/\/alax.info\/blog\/2114\">Read the full article<\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[63,424,426,547,486],"class_list":["post-2114","post","type-post","status-publish","format-standard","hentry","category-uncategorized","tag-bug","tag-media-foundation","tag-mft","tag-nvidia","tag-video"],"_links":{"self":[{"href":"https:\/\/alax.info\/blog\/wp-json\/wp\/v2\/posts\/2114","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/alax.info\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/alax.info\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/alax.info\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/alax.info\/blog\/wp-json\/wp\/v2\/comments?post=2114"}],"version-history":[{"count":0,"href":"https:\/\/alax.info\/blog\/wp-json\/wp\/v2\/posts\/2114\/revisions"}],"wp:attachment":[{"href":"https:\/\/alax.info\/blog\/wp-json\/wp\/v2\/media?parent=2114"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/alax.info\/blog\/wp-json\/wp\/v2\/categories?post=2114"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/alax.info\/blog\/wp-json\/wp\/v2\/tags?post=2114"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}