{"id":1609,"date":"2016-02-05T18:45:12","date_gmt":"2016-02-05T16:45:12","guid":{"rendered":"https:\/\/alax.info\/blog\/?p=1609"},"modified":"2016-02-05T18:45:12","modified_gmt":"2016-02-05T16:45:12","slug":"mediafoundationvideoencodertransforms-detecting-support-for-hardware-h-264-video-encoders","status":"publish","type":"post","link":"https:\/\/alax.info\/blog\/1609","title":{"rendered":"MediaFoundationVideoEncoderTransforms: Detecting support for hardware H.264 video encoders"},"content":{"rendered":"<p><a href=\"https:\/\/en.wikipedia.org\/wiki\/H.264\/MPEG-4_AVC\">H.264 (MPEG-4 Part 10 also known as MPEG-4 AVC)<\/a> video encoding was never packaged into DirectShow filter by Microsoft and instead they offered Media Foundation Transform (MFT) for the job: <a href=\"https:\/\/msdn.microsoft.com\/en-us\/library\/windows\/desktop\/dd797816\">H.264 Video Encoder<\/a>. Further development gave us third party video encoders also packaged as MFTs. Hardware backed MFTs became a part of video hardware drivers and nevertheless are part of Media Foundation API, can also be very well used standalone.<\/p>\n<p>Detection of H.264 encoding capabilities? <code>MediaFoundationVideoEncoderTransforms<\/code> is here to help.<\/p>\n<p><a href=\"https:\/\/alax.info\/blog\/wp-content\/uploads\/2016\/02\/Clipbrd5.png\" rel=\"attachment wp-att-1610\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-1610\" src=\"https:\/\/alax.info\/blog\/wp-content\/uploads\/2016\/02\/Clipbrd5.png\" alt=\"MediaFoundationVideoEncoderTransforms UI\" width=\"547\" height=\"426\" srcset=\"https:\/\/alax.info\/blog\/wp-content\/uploads\/2016\/02\/Clipbrd5.png 547w, https:\/\/alax.info\/blog\/wp-content\/uploads\/2016\/02\/Clipbrd5-320x249.png 320w\" sizes=\"auto, (max-width: 547px) 100vw, 547px\" \/><\/a><\/p>\n<p>H.264 options include:<\/p>\n<ul>\n<li>H264 Encoder MFT<\/li>\n<li>Intel\u00c2\u00ae Quick Sync Video H.264 Encoder MFT<\/li>\n<li>NVIDIA H.264 Encoder MFT<\/li>\n<li>AMDh264Encoder<\/li>\n<\/ul>\n<p>H.265 encoding will apparently be (already is) using the same encoder packaging.<\/p>\n<p>The tools enumerates the transforms and provides details, similar to <a href=\"https:\/\/alax.info\/blog\/1375\">Enumerating Media Foundation Transforms (MFTs)<\/a> application (source code available).<\/p>\n<blockquote><p># System<\/p>\n<p>[&#8230;]<\/p>\n<p># Display Devices<strong><span style=\"color: #993366;\"> &lt;&lt;&#8211; Same as in Device Manager<\/span><\/strong><\/p>\n<p>* AMD Radeon R7 200 Series<br \/>\n* Instance: PCI\\VEN_1002&amp;DEV_6610&amp;SUBSYS_22BF1458&amp;REV_00\\4&amp;2DB3ECDA&amp;0&amp;0008<br \/>\n* DEVPKEY_Device_Manufacturer: Advanced Micro Devices, Inc.<br \/>\n* DEVPKEY_Device_DriverVersion: 15.201.1151.1008<br \/>\n* Intel(R) HD Graphics 530<strong><span style=\"color: #993366;\"> &lt;&lt;&#8211; Video adapter Intel QSV is available through (if you don&#8217;t see Intel video, then maybe it needs to be turned on in BIOS)<\/span><\/strong><br \/>\n* Instance: PCI\\VEN_8086&amp;DEV_1912&amp;SUBSYS_D0001458&amp;REV_06\\3&amp;11583659&amp;0&amp;10<br \/>\n* DEVPKEY_Device_Manufacturer: Intel Corporation<br \/>\n* DEVPKEY_Device_DriverVersion: 20.19.15.4331<\/p>\n<p># Category `MFT_CATEGORY_VIDEO_ENCODER`<\/p>\n<p>NOTE: Detail is limited to H.264 video encoders.<\/p>\n<p>## Intel\u00c2\u00ae Quick Sync Video H.264 Encoder MFT <strong><span style=\"color: #993366;\">&lt;&lt;&#8211; The guy that does Intel QSV encoding<\/span><\/strong><\/p>\n<p>[&#8230;]<\/p>\n<p>## H264 Encoder MFT<span style=\"color: #993366;\"><strong> &lt;&lt;&#8211; Stock Microsoft software H.264 implementation, available since Windows 7<\/strong><\/span><\/p>\n<p>[&#8230;]<\/p>\n<p><span style=\"color: #993366;\"><strong>(Other encoders like those from AMD, Nvidia will also be listed)<\/strong><\/span><\/p>\n<p>## Intel\u00c2\u00ae Hardware H265 Encoder MFT<span style=\"color: #993366;\"><strong> &lt;&lt;&#8211; Intel also provides now H.265 hardware encoding option<\/strong><\/span><\/p>\n<p>[&#8230;]<\/p>\n<p>## H265 Encoder MFT<\/p>\n<p>[&#8230;]<\/p><\/blockquote>\n<h3>Download links<\/h3>\n<ul>\n<li>Binaries:\n<ul>\n<li>32-bit: <a href=\"https:\/\/www.alax.info\/svn\/public\/trunk\/Toolbox\/MediaFoundationVideoEncoderTransforms-Win32.exe\">MediaFoundationVideoEncoderTransforms-Win32.exe<\/a><\/li>\n<li>64-bit: <a href=\"https:\/\/www.alax.info\/svn\/public\/trunk\/Toolbox\/MediaFoundationVideoEncoderTransforms-x64.exe\">MediaFoundationVideoEncoderTransforms-x64.exe<\/a><\/li>\n<li>License: This software is free to use<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>H.264 (MPEG-4 Part 10 also known as MPEG-4 AVC) video encoding was never packaged into DirectShow filter by Microsoft and instead they offered Media Foundation Transform (MFT) for the job: H.264 Video Encoder. Further development gave us third party video encoders also packaged as MFTs. Hardware backed MFTs became a part of video hardware drivers&hellip; <\/p>\n<p><a class=\"moretag\" href=\"https:\/\/alax.info\/blog\/1609\">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":[379,424,426,486,70],"class_list":["post-1609","post","type-post","status-publish","format-standard","hentry","category-uncategorized","tag-h-264","tag-media-foundation","tag-mft","tag-video","tag-winapi"],"_links":{"self":[{"href":"https:\/\/alax.info\/blog\/wp-json\/wp\/v2\/posts\/1609","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=1609"}],"version-history":[{"count":0,"href":"https:\/\/alax.info\/blog\/wp-json\/wp\/v2\/posts\/1609\/revisions"}],"wp:attachment":[{"href":"https:\/\/alax.info\/blog\/wp-json\/wp\/v2\/media?parent=1609"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/alax.info\/blog\/wp-json\/wp\/v2\/categories?post=1609"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/alax.info\/blog\/wp-json\/wp\/v2\/tags?post=1609"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}