{"id":1833,"date":"2018-02-04T00:03:37","date_gmt":"2018-02-03T22:03:37","guid":{"rendered":"https:\/\/alax.info\/blog\/?p=1833"},"modified":"2018-02-04T00:03:37","modified_gmt":"2018-02-03T22:03:37","slug":"reference-signal-source-direct3d-11-awareness","status":"publish","type":"post","link":"https:\/\/alax.info\/blog\/1833","title":{"rendered":"Reference Signal Source: Direct3D 11 awareness"},"content":{"rendered":"<p>A few updates to DirectShowReferenceSource module, it&#8217;s <a href=\"https:\/\/msdn.microsoft.com\/en-us\/library\/windows\/desktop\/ms696274\">Media Foundation<\/a> video <a href=\"https:\/\/msdn.microsoft.com\/en-us\/library\/windows\/desktop\/ms697527\">Media Source<\/a> related part today.<\/p>\n<p>First, the video media source is now handling restarts from paused state correctly and resumes frame generation from proper position (not from zero as before).<\/p>\n<p>Second, the video media source is now Direct3D 11 aware. That is, when it participates in Direct3D 11 enabled topologies, the media source generates the video frames using DXGI render target variant of Direct2D (see <a href=\"https:\/\/msdn.microsoft.com\/en-us\/library\/windows\/desktop\/dd371264\"><code>ID2D1Factory::CreateDxgiSurfaceRenderTarget<\/code><\/a> for details) and delivers them downstream as textures. This is, in particular, useful to those who needs a signal to fit to <a href=\"https:\/\/msdn.microsoft.com\/en-us\/library\/windows\/desktop\/ee663585\">Direct3D 11 aware transforms<\/a> and renderers such as <a href=\"https:\/\/github.com\/Microsoft\/Windows-classic-samples\/tree\/master\/Samples\/DX11VideoRenderer\">DX11VideoRenderer<\/a>. Specifically, being connected to DX11VideoRenderer the video media source features\u00c2\u00a0 GPU-only video playback.<\/p>\n<p><a href=\"https:\/\/alax.info\/blog\/wp-content\/uploads\/2018\/02\/PlayMediaSource.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-large wp-image-1834\" src=\"https:\/\/alax.info\/blog\/wp-content\/uploads\/2018\/02\/PlayMediaSource-725x600.png\" alt=\"\" width=\"725\" height=\"600\" srcset=\"https:\/\/alax.info\/blog\/wp-content\/uploads\/2018\/02\/PlayMediaSource-725x600.png 725w, https:\/\/alax.info\/blog\/wp-content\/uploads\/2018\/02\/PlayMediaSource-320x265.png 320w, https:\/\/alax.info\/blog\/wp-content\/uploads\/2018\/02\/PlayMediaSource-768x635.png 768w, https:\/\/alax.info\/blog\/wp-content\/uploads\/2018\/02\/PlayMediaSource-600x496.png 600w, https:\/\/alax.info\/blog\/wp-content\/uploads\/2018\/02\/PlayMediaSource.png 1349w\" sizes=\"auto, (max-width: 725px) 100vw, 725px\" \/><\/a><\/p>\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\/Utilities\/DirectShowReferenceSource\/_Bin\/DirectShowReferenceSource-Win32.dll\">DirectShowReferenceSource-Win32.dll<\/a><\/li>\n<li>64-bit: <a href=\"https:\/\/www.alax.info\/svn\/public\/trunk\/Utilities\/DirectShowReferenceSource\/_Bin\/DirectShowReferenceSource-x64.dll\">DirectShowReferenceSource-x64.dll<\/a><\/li>\n<li>Sample code: <a href=\"https:\/\/www.alax.info\/svn\/public\/trunk\/Utilities\/DirectShowReferenceSource\/Sample\/\">SVN<\/a>, <a href=\"https:\/\/www.alax.info\/trac\/public\/browser\/trunk\/Utilities\/DirectShowReferenceSource\/Sample\/\">Trac<\/a><\/li>\n<li>License: This software is free to use<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>A few updates to DirectShowReferenceSource module, it&#8217;s Media Foundation video Media Source related part today. First, the video media source is now handling restarts from paused state correctly and resumes frame generation from proper position (not from zero as before). Second, the video media source is now Direct3D 11 aware. That is, when it participates&hellip; <\/p>\n<p><a class=\"moretag\" href=\"https:\/\/alax.info\/blog\/1833\">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":[544,424,486],"class_list":["post-1833","post","type-post","status-publish","format-standard","hentry","category-uncategorized","tag-direct3d-11","tag-media-foundation","tag-video"],"_links":{"self":[{"href":"https:\/\/alax.info\/blog\/wp-json\/wp\/v2\/posts\/1833","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=1833"}],"version-history":[{"count":0,"href":"https:\/\/alax.info\/blog\/wp-json\/wp\/v2\/posts\/1833\/revisions"}],"wp:attachment":[{"href":"https:\/\/alax.info\/blog\/wp-json\/wp\/v2\/media?parent=1833"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/alax.info\/blog\/wp-json\/wp\/v2\/categories?post=1833"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/alax.info\/blog\/wp-json\/wp\/v2\/tags?post=1833"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}