stringtranslate.com

DirectShow

DirectShow (иногда сокращенно DS или DShow ), кодовое название Quartz , представляет собой мультимедийную инфраструктуру и API, разработанные Microsoft для разработчиков программного обеспечения для выполнения различных операций с медиафайлами или потоками. Это замена более ранней технологии Microsoft Video for Windows . [1] Основанный на инфраструктуре Microsoft Windows Component Object Model (COM), DirectShow предоставляет общий интерфейс для мультимедиа на различных языках программирования и является расширяемой инфраструктурой на основе фильтров , которая может отображать или записывать медиафайлы по требованию пользователя или разработчика. Инструменты разработки и документация DirectShow изначально распространялись как часть DirectX SDK . [2] В настоящее время они распространяются как часть Windows SDK (ранее известного как Platform SDK). [3]

Microsoft планирует постепенно полностью заменить DirectShow на Media Foundation в будущих версиях Windows. Одной из причин, названных Microsoft, является предоставление «гораздо более надежной поддержки для систем защиты контента» [4] (см. управление цифровыми правами ). Бекки Вайс из Microsoft подтвердила в 2006 году, что «вы заметите, что работа с Media Foundation требует от вас работы на несколько более низком уровне, чем работа с DirectShow. И все еще есть функции DirectShow, которых (пока) нет в Media Foundation». [4] [5] Как описано в статье Media Foundation, приложения Windows Vista и Windows 7 используют Media Foundation вместо DirectShow для нескольких задач, связанных с мультимедиа.

История

Прямой предшественник DirectShow, ActiveMovie (кодовое название Quartz), был разработан для обеспечения поддержки MPEG-1 для Windows. Он также был задуман как будущая замена для фреймворков обработки медиа, таких как Video for Windows и Media Control Interface , которые никогда не были полностью перенесены в 32-битную среду и не использовали COM. [6] [1]

Команда разработчиков использовала уже существующий проект модульного цифрового медиапроцессора под кодовым названием «Clockwork» в качестве основы для DirectShow. Ранее Clockwork использовался в проекте Microsoft Interactive Television. [7]

Первоначально проект назывался «ActiveMovie» и был выпущен в мае 1996 года вместе с бета-версией Internet Explorer 3.0 . [8] [9] В марте 1997 года Microsoft объявила, что ActiveMovie станет частью набора технологий DirectX 5, и примерно в июле начала называть его DirectShow, что отражало усилия Microsoft в то время по консолидации технологий, которые работали напрямую с оборудованием, в рамках общей схемы именования. [10] [11] [12] DirectShow стал стандартным компонентом всех операционных систем Windows, начиная с Windows 98 ; [13] однако он доступен в Windows 95 после установки последней доступной распространяемой версии DirectX. [14] В DirectX версии 8.0 DirectShow стал частью основного DirectX SDK вместе с другими API DirectX. [15]

В октябре 2004 года DirectShow был удалён из основного дистрибутива DirectX и перемещён в загрузку DirectX Extras. [ требуется ссылка ] В апреле 2005 года DirectShow был полностью удалён из DirectX и перемещён в Windows SDK, начиная с версии SDK для Windows Server 2003 SP1. [3] Однако DirectX SDK по-прежнему требовался для сборки некоторых примеров DirectShow. [16]

С ноября 2007 года API DirectShow являются частью Windows SDK . Он включает несколько новых улучшений, кодеков и обновлений фильтров, таких как Enhanced Video Renderer (EVR) и DXVA 2.0 ( DirectX Video Acceleration ). [17]

Архитектура

DirectShow разделяет сложную мультимедийную задачу (например, воспроизведение видео) на последовательность основных этапов обработки, известных как фильтры . [18] [19] Каждый фильтр, представляющий один этап обработки данных, имеет входные и/или выходные контакты , которые могут использоваться для подключения фильтра к другим фильтрам. Универсальная природа этого механизма подключения позволяет подключать фильтры различными способами, чтобы реализовывать различные сложные функции. [20] Чтобы реализовать определенную сложную задачу, разработчик должен сначала построить граф фильтров , создав экземпляры требуемых фильтров, а затем соединив фильтры вместе. [21]

Существует три основных типа фильтров:

Фильтры источника
Они предоставляют исходные потоки данных. Например, чтение сырых байтов из любого медиафайла.
Фильтры преобразования
Они преобразуют данные, которые предоставляются из выходных данных других фильтров. Например, выполняя преобразование, такое как добавление текста поверх видео или распаковка кадра MPEG.
Фильтры рендеринга
Они визуализируют данные. Например, отправляют аудио на звуковую карту, рисуют видео на экране или записывают данные в файл.

В процессе рендеринга граф фильтров ищет в реестре Windows зарегистрированные фильтры и строит свой граф фильтров на основе предоставленных местоположений. После этого он соединяет фильтры вместе и, по запросу разработчика, выполняет (т. е. воспроизводит, приостанавливает и т. д.) созданный граф. [ необходима цитата ] Графы фильтров DirectShow широко используются в воспроизведении видео (в котором фильтры реализуют такие функции, как анализ файлов, демультиплексирование видео и аудио, распаковка и рендеринг), а также для записи видео и аудио, редактирования, кодирования, транскодирования или сетевой передачи мультимедиа. Интерактивные задачи, такие как навигация по DVD, также могут контролироваться DirectShow. [ необходима цитата ]

График фильтра файла mp3 , визуализированный образцом DirectShow в GraphEdit , приложении с графическим интерфейсом для DirectShow, используемом для визуального построения и тестирования графиков фильтров. [22] На этом рисунке прямоугольники представляют фильтры, а серые точки, появляющиеся по бокам фильтров, представляют штифты.

В приведенном выше примере слева направо график содержит исходный фильтр для чтения файла MP3, разделитель потока и фильтры декодера для разбора и декодирования аудио, а также фильтр рендеринга для воспроизведения необработанных аудиосэмплов. Каждый фильтр имеет один или несколько контактов, которые можно использовать для подключения этого фильтра к другим фильтрам. Каждый контакт функционирует либо как выходной, либо как входной источник для передачи данных от одного фильтра к другому. В зависимости от фильтра данные либо «вытягиваются» из входного контакта, либо «проталкиваются» на выходной контакт для передачи данных между фильтрами. Каждый контакт может подключаться только к одному другому контакту, и они должны согласовать, какие данные они отправляют. [ необходима цитата ]

Большинство фильтров создаются с использованием набора классов C++, представленных в DirectShow SDK, называемых базовыми классами DirectShow. [ требуется цитата ] Они обрабатывают большую часть логики создания, регистрации и подключения для фильтра. [23] Чтобы граф фильтров автоматически использовал фильтры, их необходимо зарегистрировать в отдельной записи реестра DirectShow, а также зарегистрировать в COM. Эта регистрация может управляться базовыми классами DirectShow. Однако, если приложение добавляет фильтры вручную, их вообще не нужно регистрировать. [ требуется цитата ] К сожалению, сложно изменить граф, который уже запущен. Обычно проще остановить граф и создать новый граф с нуля. Начиная с DirectShow 8.0, были введены динамическое построение графа, динамическое повторное подключение и цепочки фильтров, чтобы помочь изменить граф во время его работы. [24] Однако многие поставщики фильтров игнорируют эту функцию, что делает изменение графа проблематичным после начала обработки графа. [ требуется цитата ]

Хотя DirectShow способен динамически строить график для визуализации заданного типа мультимедиа, в некоторых случаях разработчикам сложно полагаться на эту функциональность, и им приходится прибегать к ручному построению графиков фильтров, если результирующий график фильтров является переменным. [ необходима цитата ] Графики фильтров могут со временем меняться по мере установки новых фильтров на компьютер. [ необходима цитата ]

Функции

По умолчанию DirectShow включает в себя ряд фильтров для декодирования некоторых распространенных форматов медиафайлов, таких как MPEG-1 , MP3 , Windows Media Audio , Windows Media Video , MIDI , медиаконтейнеров , таких как AVI , ASF , WAV , некоторых разделителей/демультиплексоров, мультиплексоров, фильтров источника и приемника , некоторых фильтров статических изображений, некоторого ускорения видео и минимальной поддержки управления цифровыми правами (DRM). [25] [26] Стандартный репертуар форматов DirectShow можно легко расширить с помощью различных фильтров, что позволяет DirectShow поддерживать практически любой формат контейнера и любой аудио- или видеокодек. Например, фильтры были разработаны для Ogg Vorbis , Musepack и AC3 , а некоторые кодеки, такие как MPEG-4 Advanced Simple Profile , AAC , H.264 , Vorbis и контейнеры MOV , MP4 доступны у сторонних поставщиков, таких как ffdshow , K-Lite и CCCP . [27] [28] [29] Включение поддержки дополнительных кодеков, таких как эти, может включать оплату лицензионных сборов разработчику технологии кодека или владельцу патента. [ необходима ссылка ] Наконец, существуют «мостовые» фильтры, которые одновременно поддерживают несколько форматов, а также такие функции, как потоковое мультиплексирование, раскрывая функциональность базовых мультимедийных API, таких как VLC . [30]

Объем работы, требуемый для реализации графа фильтра, зависит от нескольких факторов. В простейшем случае DirectShow может автоматически создать граф фильтра из источника, такого как файл или URL. [31] Если это невозможно, разработчик может вручную создать граф фильтра из исходного файла, возможно, с добавлением пользовательского фильтра, а затем позволить DirectShow завершить граф фильтра, соединив фильтры вместе. На следующем уровне разработчик должен построить граф фильтра с нуля, вручную добавив и соединив каждый желаемый фильтр. Наконец, в случаях, когда необходимый фильтр недоступен, разработчик должен создать пользовательский фильтр, прежде чем можно будет построить граф фильтра. [ необходима цитата ]

В отличие от основного API C QuickTime, где необходимо вызывать MoviesTask в цикле для загрузки медиафайла, DirectShow обрабатывает все это прозрачным образом. Он создает несколько фоновых потоков, которые плавно воспроизводят запрошенный файл или URL без особых усилий со стороны программиста. [ требуется цитата ] Также в отличие от QuickTime, ничего особенного не требуется для загрузки URL вместо локального файла на диске — график фильтра DirectShow абстрагирует эти детали от программиста, хотя последние разработки в QuickTime (включая элемент управления ActiveX ) уменьшили это несоответствие. [ требуется цитата ]

Услуги редактирования DirectShow

DirectShow Editing Services (DES), представленный в DirectX 8.0/ Windows XP, представляет собой API, ориентированный на задачи редактирования видео и построенный поверх базовой архитектуры DirectShow. DirectShow Editing Services был представлен для Microsoft Windows Movie Maker . [1] Он включает API для временной шкалы и служб переключения, изменения размера, обрезки, видео- и аудиоэффектов, а также переходов, кеинга , автоматического преобразования частоты кадров и частоты дискретизации и других функций, которые используются в нелинейном видеоредактировании, позволяя создавать композитные медиа из нескольких исходных аудио- и видеопотоков. DirectShow Editing Services позволяет выполнять высокоуровневую композицию во время выполнения, искать поддержку и управлять графикой, при этом позволяя приложениям получать доступ к низкоуровневым функциям DirectShow.

Хотя оригинальный API написан на C++, DirectShow Editing Services доступен на любом языке, совместимом с Microsoft .NET, включая Microsoft Visual C# и Microsoft Visual Basic , с помощью сторонней библиотеки кода под названием «DirectShowNet Library». [32] В качестве альтернативы, весь DirectShow API, включая DirectShow Editing Services, может быть доступен из Borland Delphi 5, 6 и 7, C++ Builder 6 и из более поздних версий с несколькими незначительными изменениями, с помощью сторонней библиотеки программного обеспечения под названием «DSPack». [33]

По состоянию на март 2012 года [34] (и, по-видимому, ещё в 2009 году [35] ) компания Microsoft заявила, что DirectShow Editing Services «API не поддерживается и может быть изменен или недоступен в будущем».

Фильтры видеорендеринга

Первоначально в Windows 9x DirectShow использовал фильтр Video Renderer . Он рисовал изображения с помощью DirectDraw 3, но также мог возвращаться к режимам GDI или наложения в некоторых обстоятельствах (в зависимости от видимости видеоокна и возможностей видеокарты). [14] [36] Он имел ограниченный доступ к видеоокну. [ необходима цитата ] Видео для Windows страдало от взаимоблокировок, вызванных неправильной обработкой видеоокна приложениями, поэтому в ранних выпусках DirectShow дескриптор окна воспроизведения был скрыт от приложений. Также не было надежного способа рисовать текст субтитров или графику поверх видео. [ необходима цитата ]

DirectShow 6.0, выпущенный как часть DirectX Media, представил рендерер Overlay Mixer, предназначенный для воспроизведения DVD и трансляции видеопотоков с субтитрами и скрытыми субтитрами . [ требуется ссылка ] Overlay Mixer использует DirectDraw 5 для рендеринга. [14] Для управления окнами требуется нисходящее соединение с Video Renderer . [ требуется ссылка ] Overlay Mixer также поддерживает Video Port Extensions (VPE), что позволяет ему работать с аналоговыми ТВ-тюнерами с возможностью наложения (отправка видео напрямую на видеокарту через аналоговый канал, а не через шину PCI ). Overlay Mixer также поддерживает соединения DXVA . [ требуется ссылка ] Поскольку он всегда рендерит в режиме наложения , полноэкранное видео на ТВ-выход всегда активировано.

Начиная с Windows XP , был представлен новый фильтр под названием Video Mixing Renderer 7 ( VMR-7 или иногда просто VMR ). Номер 7 был выбран потому, что VMR-7 использовал только DirectDraw версии 7 для рендеринга видео и не имел возможности использовать GDI-рисование. Главной новой функцией VMR-7 была возможность смешивать несколько потоков и графику с альфа-смешением, что позволяло приложениям рисовать текст и графику поверх видео и поддерживать пользовательские эффекты. [37] Он также имел «безоконный режим» (доступ к составному изображению до его рендеринга), который исправлял проблемы с доступом к дескриптору окна. [38]

DirectX 9 представил VMR-9 , который включен в Windows XP SP2 и более поздние версии. [39] Эта версия использует Direct3D 9 вместо DirectDraw, что позволяет разработчикам преобразовывать видеоизображения с помощью пиксельных шейдеров Direct3D. [40] Он доступен для всех платформ Windows как часть распространяемого пакета DirectX 9. [ требуется ссылка ] Как и VMR-7, он обеспечивает безоконный режим. Однако, в отличие от микшера Overlay или VMR-7, он не поддерживает видеопорты. [41] Использование параметра загрузки /3GB может привести к сбою VMR-9. [42]

Windows Vista и Windows 7 поставляются с новым рендерером, доступным как компонент Media Foundation и фильтр DirectShow, называемым Enhanced Video Renderer ( EVR ). [43] EVR разработан для работы с Desktop Window Manager и поддерживает DXVA 2.0 , который доступен в Windows Vista и Windows 7. [44] [ необходима цитата ] Он обеспечивает лучшую производительность и лучшее качество по данным Microsoft. [45]

Прием

Награды

8 января 2007 года компания Microsoft получила премию «Эмми» за архитектуру и компоненты потокового мультимедиа на 58-й ежегодной церемонии вручения премии «Эмми» в области технологий и инжиниринга . [46]

Простота

Командовать DirectShow для воспроизведения файла — сравнительно простая задача. Однако при программировании более сложных настроек, таких как команда DirectShow для отображения определенных сообщений Windows из видеоокна или создание пользовательских фильтров, многие разработчики жалуются на трудности. [47] [48] Она считается одной из самых сложных библиотек разработки/API Microsoft. [49] [ необходима цитата ]

Разработчики редко создают фильтры DirectShow с нуля. Вместо этого они используют базовые классы DirectShow. [ необходима цитата ] Базовые классы часто могут упростить разработку, позволяя программисту обходить определенные задачи. Однако процесс может оставаться относительно сложным; [ необходима цитата ] код, найденный в базовых классах, составляет почти половину размера всей библиотеки MFC . [ необходима цитата ] В результате, даже с базовыми классами, количество объектов COM, которые содержит DirectShow, часто подавляет разработчиков. [ необходима цитата ] [ обтекаемые слова ] В некоторых случаях API DirectShow отклоняется от традиционных правил COM, особенно в отношении параметров, используемых для методов . [ необходима цитата ] [ обтекаемые слова ] Чтобы преодолеть свои трудности с уникальными правилами COM DirectShow, разработчики часто обращаются к API более высокого уровня, который использует DirectShow, в частности, к Windows Media Player SDK , API, предоставляющему разработчику элемент управления ActiveX, который имеет меньше интерфейсов COM для работы. [ необходима цитата ] [ ласковые слова ]

Хотя DirectShow способен динамически строить график для визуализации заданного типа мультимедиа, в некоторых случаях разработчикам сложно полагаться на эту функциональность, и им приходится прибегать к ручному построению графиков фильтров, если результирующий график фильтров является переменным. [ необходима цитата ] Графики фильтров могут со временем меняться по мере установки новых фильтров на компьютер. [ необходима цитата ]

Ад кодеков

Codec hell (термин, полученный от DLL hell ) — это когда несколько фильтров DirectShow конфликтуют из-за выполнения одной и той же задачи. Большое количество компаний теперь разрабатывают кодеки в форме фильтров DirectShow, что приводит к наличию нескольких фильтров, которые могут декодировать один и тот же тип медиа. [50] [51] Эта проблема еще больше усугубляется системой заслуг DirectShow, где реализации фильтров в конечном итоге конкурируют друг с другом, регистрируя себя со все более высоким приоритетом. [51]

Тед Йоманс из Microsoft объяснил, что «DirectShow был основан на системе заслуг, идея которой заключалась в том, что, используя комбинацию заслуг фильтра и того, насколько специфичен тип/подтип носителя, можно было бы разумно выбирать правильный кодек каждый раз. Он на самом деле не был разработан для конкурирующей гонки ядерных вооружений заслуг». [51]

Инструментом, помогающим в устранении неполадок «кодек-ада», на который обычно ссылаются, является GSpot Codec Information Appliance, который может быть полезен для определения того, какой кодек используется для рендеринга видеофайлов в AVI и других контейнерах. [52] GraphEdit также может помочь понять последовательность фильтров, которые DirectShow использует для рендеринга медиафайла. Кодек-ад можно устранить, вручную построив графики фильтров, используя медиаплеер, который поддерживает игнорирование или переопределение достоинств фильтров, или используя менеджер фильтров, который изменяет достоинства фильтров в реестре Windows . [22]

Инструменты для конечного пользователя

DirectShow, будучи ориентированной на разработчика инфраструктурой и API, не предлагает конечному пользователю напрямую управлять кодированием контента, а также не включает пользовательский интерфейс для кодирования с использованием установленных кодеков или в различные форматы; вместо этого он полагается на разработчиков, которые разрабатывают программное обеспечение с использованием API. Напротив, другие мультимедийные инфраструктурные среды, такие как QuickTime или Video for Windows, позволяют конечным пользователям выполнять основные задачи, связанные с видео, такие как повторное кодирование с использованием другого кодека и редактирование файлов и потоков. [ необходима цитата ] Удобство, предлагаемое графическим интерфейсом конечного пользователя, очевидно, поскольку формат AVI и кодеки, используемые Video for Windows , по-прежнему остаются в использовании, например VirtualDub .

Смотрите также

Ссылки

  1. ^ abc Blome, Michael; Wasson, Mike (июль 2002 г.). «Базовая технология мультимедиа в Windows XP позволяет создавать пользовательские компоненты обработки аудио/видео». Журнал MSDN . Microsoft . Получено 2007-04-02 .
  2. ^ "DirectShow". MSDN . 2012-12-01 . Получено 2013-01-21 .
  3. ^ ab "DirectShow documentation". Библиотека MSDN . Microsoft. 2006-01-01 . Получено 2006-01-01 .
  4. ^ ab Weiss, Becky (30 мая 2006 г.). «Является ли новый Media Foundation заменой Direct Show?». Форум Microsoft Developer Network .
  5. ^ "Переход с DirectShow на Media Foundation". Библиотека MSDN . Microsoft. Июль 2006. Получено 17 августа 2010 г.
  6. ^ «DirectShow: Core Media Technology в Windows XP позволяет вам создавать собственные компоненты обработки аудио/видео». docs.microsoft.com . 23 октября 2019 г. . Получено 31 марта 2021 г. .
  7. ^ B. Jones, Michael (июль 1997 г.). «The Microsoft Interactive TV System: An Experience Report». Microsoft Research . Microsoft. Архивировано из оригинала 2007-05-16 . Получено 2007-04-02 .
  8. ^ "Microsoft объявляет об ActiveMovie" (пресс-релиз). Microsoft. 1996-03-05. Архивировано из оригинала 2011-07-17 . Получено 2006-12-31 .
  9. ^ "Microsoft Internet Explorer 3.0 Beta Now Available" (пресс-релиз). Microsoft. 1996-05-29. Архивировано из оригинала 2007-07-07 . Получено 2006-12-31 .
  10. ^ "Microsoft представляет первую унифицированную стратегию API мультимедиа" (пресс-релиз). Microsoft. 1997-03-31. Архивировано из оригинала 2007-10-24 . Получено 2006-12-31 .
  11. ^ "Microsoft и Progressive Networks сотрудничают в области потокового мультимедиа" (пресс-релиз). Microsoft. 1997-07-21. Архивировано из оригинала 2006-12-10 . Получено 2006-12-31 .
  12. ^ Эйслер, Крейг (2006-02-20). "DirectX Then and Now". Размышления Крейга . Архивировано из оригинала 2012-07-11 . Получено 2010-08-17 .
  13. ^ "Microsoft выпускает DirectShow SDK — универсальный проигрыватель для DVD, цифрового видео и аудио, а также Интернета" (пресс-релиз). Microsoft. 1997-12-10. Архивировано из оригинала 2010-02-12 . Получено 2010-08-17 .
  14. ^ abc "DirectShow FAQ". Библиотека MSDN . Microsoft. 2010-07-06 . Получено 2010-08-17 .
  15. ^ "Часто задаваемые вопросы о DirectShow и Windows Media SDK". Библиотека MSDN . Microsoft. Декабрь 2001 г. Получено 17 августа 2010 г.
  16. ^ "Примеры DirectX". Библиотека MSDN . Microsoft. 2005-09-11 . Получено 2005-09-11 .
  17. ^ "Что нового в DirectShow Windows Vista". Библиотека MSDN . Microsoft. 2006-11-08 . Получено 2006-11-08 .
  18. ^ Введение в программирование приложений DirectShow
  19. ^ Обзор системы DirectShow
  20. ^ "О фильтрах DirectShow". Библиотека MSDN . Microsoft. 7 марта 2008 г. Получено 17 августа 2010 г.
  21. ^ "Обзор построения графов". Библиотека MSDN . Microsoft. 7 марта 2008 г. Получено 17 августа 2010 г.
  22. ^ ab "Обзор GraphEdit". Библиотека MSDN . Microsoft . Получено 2010-08-17 .
  23. ^ "Базовые классы DirectShow". Библиотека MSDN . Microsoft. 7 марта 2008 г. Получено 17 августа 2010 г.
  24. ^ "Dynamic Graph Building". Библиотека MSDN . Microsoft. 7 марта 2008 г. Получено 17 августа 2010 г.
  25. ^ "Форматы, поддерживаемые по умолчанию в DirectShow". Библиотека MSDN . Microsoft . Получено 2005-09-11 .
  26. ^ "Следующий козел отпущения Microsoft - DirectShow!". retrakker . 2007-01-13 . Получено 2010-08-18 .
  27. ^ "illiminable Directshow Filters for Ogg Vorbis, Speex, Theora and FLAC". Архивировано из оригинала 2006-02-24 . Получено 2006-03-11 .
  28. ^ "Фильтры DirectShow от Monogram для Musepack, AAC и AMR". Архивировано из оригинала 2011-09-26 . Получено 2008-03-08 .
  29. ^ "AC3Filter" . Получено 2010-08-13 .
  30. ^ Андерсон, Дин; Ламберсон, Джим (2007). «Использование VideoLan VLC в DirectShow». Мост с открытым исходным кодом от VLC к DirectShow . Получено 15.02.2008 .
  31. ^ Томпсон, Крис (13 сентября 2000 г.). «DirectShow для воспроизведения мультимедиа в Windows — часть III: настройка графиков». FLIPCODE.COM . Получено 18 августа 2010 г.
  32. ^ "О библиотеке DirectShowNet". Сайт DirectShowNet SourceForge . SourceForge . Получено 18.08.2010 .
  33. ^ "Проект DSPack". Архивировано из оригинала 2010-06-14 . Получено 2010-08-18 .
  34. ^ "Службы редактирования DirectShow" . Получено 2012-04-09 .
  35. ^ "Видеомонтаж, как "DirectShow Editing Services"". Архивировано из оригинала 2011-08-05 . Получено 2012-04-09 .
  36. ^ "Фильтр DirectShow Video Renderer". Библиотека MSDN . Microsoft . Получено 2010-08-17 .
  37. ^ "Video Mixing Renderer 7 (VMR-7)" . Получено 11 сентября 2005 г.
  38. ^ "VMR Windowless Mode". Библиотека MSDN . Microsoft . Получено 2005-09-11 .
  39. ^ "Руководство по программированию для DirectX SDK". msdn.microsoft.com . Архивировано из оригинала 18 октября 2010 г. Получено 11 января 2022 г.
  40. ^ "Video Mixing Renderer 9 (VMR-9)". Библиотека MSDN . Microsoft . Получено 2005-09-11 .
  41. ^ "Video Mixing Renderer Filter 9". Библиотека MSDN . Microsoft . Получено 2005-09-11 .
  42. ^ «Потеря DirectDraw Overlay и VMR9 после обновления».
  43. ^ "Enhanced Video Renderer". Библиотека MSDN . Microsoft . Получено 28.02.2007 .
  44. ^ Разное. "DXVA 1.0 translater". Форум MSDN Media Foundation . Microsoft. Архивировано из оригинала 2009-01-13 . Получено 2010-08-18 .
  45. ^ "Выбор правильного видеорендерера". Библиотека MSDN . Microsoft . Получено 2005-09-11 .
  46. ^ "НАЦИОНАЛЬНАЯ ТЕЛЕВИЗИОННАЯ АКАДЕМИЯ ОБЪЯВЛЯЕТ О ДОСТИЖЕНИЯХ, ПОБЕДИВШИХ ПРЕМИЮ ЭММИ: НАГРАДЫ, ДАРЕННЫЕ НА 58-Й ЕЖЕГОДНОЙ ЦЕРЕМОНИИ ПРЕМИИ ЭММИ В ОБЛАСТИ ТЕХНОЛОГИЙ И ИНЖЕНЕРИИ" (PDF) . Премия Эмми . Национальная телевизионная академия. Январь 2007 г. Архивировано из оригинала (PDF) 22-09-2010 . Получено 08-01-2007 .
  47. ^ "Использование DirectShow с Media Center Edition". /mceDirectShow . Архивировано из оригинала 2010-11-21 . Получено 2010-08-18 .
  48. ^ Roushu, Kurifu (2001-03-13). "Основы использования DirectShow". Gamedev.net . Архивировано из оригинала 2012-02-08 . Получено 2010-08-18 .
  49. ^ Ричардс, Марк (2008-08-26). «Обзор: Что такое набор инструментов дополненной реальности?». Архивировано из оригинала 2008-07-19 . Получено 2009-01-25 .
  50. ^ "Codec Hell". Блог HomeVideo101 . 2007-06-22. Архивировано из оригинала 2012-02-11 . Получено 2010-08-18 .
  51. ^ abc Ланье, Крис (27.01.2005). "New Age DLL Hell? Hell Yes". Блог Криса Ланье . MSMVPS.COM. Архивировано из оригинала 12.02.2007 . Получено 27.02.2007 .
  52. ^ "GSpot Codec Information Appliance" . Получено 2010-08-18 .

Внешние ссылки