Microsoft Directshow: a New Media Architecture

Total Page:16

File Type:pdf, Size:1020Kb

Microsoft Directshow: a New Media Architecture TECHNICAL PAPER Microsoft Directshow: A New Media Architecture By Amit Chatterjee and Andrew Maltz The desktop revolution in production and post-production has dramatical- streaming. Other motivating factors are ly changed the way film and television programs are made, simultaneously the new hardware buses such as the reducing equipment costs and increasing operator eficiency. The enabling IEEE 1394 serial bus and Universal digital innovations by individual companies using standard computing serial bus (USB), which are designed with multimedia devices in mind and platforms has come at a price-these custom implementations and closed promise to enable broad new classes of solutions make sharing of media and hardware between applications difi- audio and video application programs. cult if not impossible. Microsoft s DirectShowTMStreaming Media To address these and other require- Architecture and Windows Driver Model provide the infrastructure for ments, Microsoft introduced Direct- today’s post-production applications and hardware to truly become inter- ShowTM, a next-generation media- operable. This paper describes the architecture, supporting technologies, streaming architecture for the and their application in post-production scenarios. Windows and Macintosh platforms. In development for two and a half years, Directshow was released in August he year 1989 marked a turning Additionally, every implementation 1996, primarily as an MPEG-1 play- Tpoint in post-production equip- had to fight with operating system back vehicle for Internet applications, ment design with the introduction of constraints and surprises, particularly although the infrastructure was desktop digital nonlinear editing sys- in the areas of internal stream synchro- designed with a wide range of applica- tems. While LBM-compatible personal nization, external device synchroniza- tions in mind. Directshow’s follow-on computers and Apple Macintoshes had tion, and data throughput, to name a release, incorporating substantial input been used in linear editing and control few. from OpenDML and key application systems for several years prior, these Any review of desktop production software developers, addresses many new editing systems forsook analog technologies would be incomplete high-end tools issues and is now in videotape as an online storage medium without mentioning standardization Beta release. High data rate video cap- and instead brought video and audio attempts such as Apple’s Quick ture and playback, seamless nonlinear source material “inside the box” in a TimeTMmultimedia architecture and playback from multiple files, support practical sense for the first time. Other Avid Technologies’ Open Media for transitional effects, improved inter- editing equipment manufacturers Framework Interchange format. stream synchronization, an improved quickly jumped on the desktop band- However, these and other efforts have media file format, external device con- wagon. Those that didn’t (and some not successfully addressed cross-plat- trol, and a new hardware driver model that did) were destined to become form issues on the Microsoft Windows are just part of Directshow’s feature footnotes in the annals of broadcast operating systems or cross-application set. Other benefits include container equipment history. issues much beyond digital audio format independence, location trans- Regardless of the platform on which interchange. Microsoft’s own Video parency of software modules, and they were built, all of these pioneering for Windows multimedia architecture, hardware and software codec inter- digital nonlinear systems, as well as designed for low bit rate consumer changeability and scalability. most of those in production today, had multimedia applications, is also insuf- one thing in common: the internal ficient for the high-performance Inside Directshow-Supporting media handling was performed by cus- demands of professional users. Technology tom engines. Each implementation The formation of the OpenDML A look under the hood of Direct- relied on proprietary and incompatible committee in 1995, consisting of a Show reveals that it builds on several file formats, unique and incompatible very vocal group of Windows-based Microsoft technologies, although it programming interfaces, and nonexis- video tools and hardware manufactur- should not be considered “just another tent data interchange methods. ers, underscored the desire for open layer” of system software (Fig. I). standards in digital media handling and Directshow provides functional parti- interchange. Given the “flattening” of tioning, module connection, media Presented at the 31st SMPTE Advanced Motion Imaging Conference (paper 31-6). New York, N.Y.. the historically vertical tools market, a type negotiation, and stream control February 6 to 8. 1997. Amit Chatterjee is with standardized multimedia architecture services to applications. Other compo- Microsoft Corp., Redmond. WA 98052; Andrew would enable better interchangeability nents provide high-performance media MalU (who co-read the paper) is with Digital Media Technologies. Inc., Van Nuys. CA 9141 I. An unedit- of video and audio hardware with services, low-latency stream handling, ed version of this paper appears in The Age ~f application software as well as merge hardware independence, and an over- COmpression: Nonlinear Editing. Digital Broadcasting, and Other Wonders, SMPTE, 1997. traditionally separate application all model for component construction, Copyright Q 1997 by the Society of Motion Picture spaces such as video editing, video loading, and intercomponent commu- and Television Engineers, Inc. conferencing, and server-based media nication. SMPTE Journal, December 1997 865 Authorized licensed use limited to: IEEE Xplore. Downloaded on October 22,2019 at 16:39:29 UTC from IEEE Xplore. Restrictions apply. MICROSOFT DIRECTSHOW: A NEW MEDIA ARCHITECTURE Figure 1. Microsoft multimedia architecture. Taking a bottom-up approach, the consoles, and Directplay for multima- areas of the operating system running lowest level component is the hard- chine, multiplayer gaming. All of the in kernel mode, it is extremely diffi- ware abstraction layer (HAL) common DirectX drivers were initially released cult for them to “crash” the system. to all Microsoft operating systems. As for the Windows 95 operating system, The downside to this separation is the basis for hardware independence, and most are now being ported to that any direct hardware register this is the key to having one’s applica- Windows NT. They are designed for request or other kernel mode call made tion run transparently on either an low-latency and high-performance by an application program incurs a Intel x86, DEC Alpha, or PowerPC control of hardware, although at pre- time penalty for each user-to-kernel processor, requiring only recompila- sent they are primarily user mode mode transition. This is due to the nec- tion with the proper code generator in modules. This begs the question essary saving of registers and environ- place. Multiprocessor implementations “What is user mode?’ ment state, known as a “context.” are also handled at this level. The Windows NT operating system High-performance applications have Also part of the lowest layer are takes advantage of two distinct privi- recourse for this, as we will see a bit kernel and base driver services, con- lege modes of today’s microproces- later. taining high-priority system tasks, sors, commonly called “user mode” The Windows driver model (WDM) plug-and-play support, and power and “kernel mode.” The primary dif- is a new driver model that makes management. It is at this level that ference between them is that the level development of low-latency, cross low-latency and time-critical software of access to the underlying hardware platform drivers more practical (Fig. resides. This subject will be covered in and memory space is unrestricted to 2). WDM drivers reside completely in more depth further on. software running in kernel mode and kernel mode and can communicate At the top of the kernel services highly restricted to software running directly with other WDM drivers, thus layer, and extending above it as well, in user mode. The result of this privi- eliminating the performance hit asso- are additional Microsoft DirectX lege separation is a robust computing ciated with mode transitions. WDM Media technologies, comprised of environment: application software and drivers are modular, using a class dri- DirectDraw for two-dimensional many operating system components vedminidriver structure. This layered graphics, Directsound for audio, run in separate and protected user approach separates drivers into logical Direct3D for three-dimensional graph- mode memory spaces. Since they do partitions, allowing a particular ics, Directlnput for joysticks and game not have direct access to sensitive “stack” to be configured for a given 866 SMPTE Journal, December 1997 Authorized licensed use limited to: IEEE Xplore. Downloaded on October 22,2019 at 16:39:29 UTC from IEEE Xplore. Restrictions apply. MICROSOFT DIRECTSHOW: A NEW MEDIA ARCHITECTURE peripheral using a given protocol con- nected via a given bus. Microsoft is supplying a class driver I Micmrott UO Manign for streaming media that contains all of the code necessary to support plug- and-play, memory management, prop- erty and method set management, and other core services. This reduces the amount of code development for a hardware manufacturer to a relatively simple minidriver that can bc written in
Recommended publications
  • Semi-Automated Parallel Programming in Heterogeneous Intelligent Reconfigurable Environments (SAPPHIRE) Sean Stanek Iowa State University
    Iowa State University Capstones, Theses and Graduate Theses and Dissertations Dissertations 2012 Semi-automated parallel programming in heterogeneous intelligent reconfigurable environments (SAPPHIRE) Sean Stanek Iowa State University Follow this and additional works at: https://lib.dr.iastate.edu/etd Part of the Computer Sciences Commons Recommended Citation Stanek, Sean, "Semi-automated parallel programming in heterogeneous intelligent reconfigurable environments (SAPPHIRE)" (2012). Graduate Theses and Dissertations. 12560. https://lib.dr.iastate.edu/etd/12560 This Dissertation is brought to you for free and open access by the Iowa State University Capstones, Theses and Dissertations at Iowa State University Digital Repository. It has been accepted for inclusion in Graduate Theses and Dissertations by an authorized administrator of Iowa State University Digital Repository. For more information, please contact [email protected]. Semi-automated parallel programming in heterogeneous intelligent reconfigurable environments (SAPPHIRE) by Sean Stanek A dissertation submitted to the graduate faculty in partial fulfillment of the requirements for the degree of DOCTOR OF PHILOSOPHY Major: Computer Science Program of Study Committee: Carl Chang, Major Professor Johnny Wong Wallapak Tavanapong Les Miller Morris Chang Iowa State University Ames, Iowa 2012 Copyright © Sean Stanek, 2012. All rights reserved. ii TABLE OF CONTENTS LIST OF TABLES .....................................................................................................................
    [Show full text]
  • THINC: a Virtual and Remote Display Architecture for Desktop Computing and Mobile Devices
    THINC: A Virtual and Remote Display Architecture for Desktop Computing and Mobile Devices Ricardo A. Baratto Submitted in partial fulfillment of the requirements for the degree of Doctor of Philosophy in the Graduate School of Arts and Sciences COLUMBIA UNIVERSITY 2011 c 2011 Ricardo A. Baratto This work may be used in accordance with Creative Commons, Attribution-NonCommercial-NoDerivs License. For more information about that license, see http://creativecommons.org/licenses/by-nc-nd/3.0/. For other uses, please contact the author. ABSTRACT THINC: A Virtual and Remote Display Architecture for Desktop Computing and Mobile Devices Ricardo A. Baratto THINC is a new virtual and remote display architecture for desktop computing. It has been designed to address the limitations and performance shortcomings of existing remote display technology, and to provide a building block around which novel desktop architectures can be built. THINC is architected around the notion of a virtual display device driver, a software-only component that behaves like a traditional device driver, but instead of managing specific hardware, enables desktop input and output to be intercepted, manipulated, and redirected at will. On top of this architecture, THINC introduces a simple, low-level, device-independent representation of display changes, and a number of novel optimizations and techniques to perform efficient interception and redirection of display output. This dissertation presents the design and implementation of THINC. It also intro- duces a number of novel systems which build upon THINC's architecture to provide new and improved desktop computing services. The contributions of this dissertation are as follows: • A high performance remote display system for LAN and WAN environments.
    [Show full text]
  • [MS-ERREF]: Windows Error Codes
    [MS-ERREF]: Windows Error Codes Intellectual Property Rights Notice for Open Specifications Documentation . Technical Documentation. Microsoft publishes Open Specifications documentation for protocols, file formats, languages, standards as well as overviews of the interaction among each of these technologies. Copyrights. This documentation is covered by Microsoft copyrights. Regardless of any other terms that are contained in the terms of use for the Microsoft website that hosts this documentation, you may make copies of it in order to develop implementations of the technologies described in the Open Specifications and may distribute portions of it in your implementations using these technologies or your documentation as necessary to properly document the implementation. You may also distribute in your implementation, with or without modification, any schema, IDL's, or code samples that are included in the documentation. This permission also applies to any documents that are referenced in the Open Specifications. No Trade Secrets. Microsoft does not claim any trade secret rights in this documentation. Patents. Microsoft has patents that may cover your implementations of the technologies described in the Open Specifications. Neither this notice nor Microsoft's delivery of the documentation grants any licenses under those or any other Microsoft patents. However, a given Open Specification may be covered by Microsoft Open Specification Promise or the Community Promise. If you would prefer a written license, or if the technologies described in the Open Specifications are not covered by the Open Specifications Promise or Community Promise, as applicable, patent licenses are available by contacting [email protected]. Trademarks. The names of companies and products contained in this documentation may be covered by trademarks or similar intellectual property rights.
    [Show full text]
  • AVT Active Firepackage V1.1 – Release and Revision Notes 19 March 2008
    AVT Active FirePackage v1.1 – Release and revision notes 19 March 2008 Overview The AVT Active FirePackage (AFP) is a software development kit (SDK) that focuses on ActiveX Control based programming, but also provides interfaces for DirectShow and TWAIN for interfacing to third-party imaging software. The SDK is compatible with Microsoft Windows (Vista, XP, 2000) and includes an IEEE1394 digital camera system driver that is based on the Windows Driver Model (WDM). The driver can be installed manually, but also via an automatic driver install tool. The AFP has been created for programmers who are familiar with ActiveX Controls, COM, DirectShow or TWAIN, and who want to achieve their goals quickly in a comfortable way by using application development tools such as Visual C++, Visual Basic, VB.NET, C#, Java, Delphi, or others. This document provides an overview of the components and their versions provided with the AVT Active FirePackage v1.1. Furthermore, the package architecture is shown (see figure 1) and additional information about the system requirements and certain constraints of this release are listed. Package content This version of the AVT Active FirePackage contains the following components: • Camera system driver – based on the Microsoft IEEE1394 driver set, suitable for all AVT IEEE1394 cameras. • ActiveX Control – powerful, multi-function COM interface that provides various PropertyPages to configure the camera and the settings for image acquisition and supports many events. • DirectShow filter – In addition to a (WDM) Video Capture Source filter (see figure 1 for supported DirectShow interfaces) AVT camera specific transform filters for YUV411 and Y800 output formats are provided to support DirectX based video streaming applications.
    [Show full text]
  • 5.1-Channel PCI Sound Card
    PSCPSC705705 5.1-Channel PCI Sound Card • Play all games in 5.1-channel surround sound, including EAX™ 2.0, A3D™ 1.0 and even ordinary stereo games! • Full compatablility with EAX™ 1.0, EAX™ 2.0 and A3D™ 1.0 games • Hear high-impact 3D sound from games, movies, music, and external sources using two, four, or six speakers. • 96 distinct 3D voices, 256 distinct DirectSound voices & 576 distinct synthesized Wavetable voices. • Included software: Sonic Foundry® SIREN Xpress™, Acid XPress™, QSound AudioPix™. 5.1-Channel PCI Sound Card PSCPSC705705 Arouse your senses. Make your games come to life with the excite- Technical Specifications ment of full-blown home cinema. Seismic Edge supports the latest multi-channel audio games and DVD movies, and can transform stereo Digital Acceleration sources into deep-immersion 5.1-channel surround sound. (5.1 refers • 96 streams of 3D audio acceleration including reverb, obstruction, and occlusion to five main speakers – front left, right and center, and rear left and • 256 streams of DirectSound accelerations and digital mixing right – and one bass subwoofer.) All this without straining your com- • Full-duplex, 48khz digital recording and playback puter’s resources, because complex audio demands are handled on- • 64 hardware sample rate conversion channels up to 48khz board by Seismic Edge’s powerful computing chip.You’ve never experi- • Wavetable and FM Synthesis enced games like this before! • DirectInput devices Experience state-of-the-art 360º Surround Sound. An embed- Comprehensive Connectivity ded, patented QSound algorithm extracts complex and distinct 5.1- • 5.1-channel (6 channel) analog output channel information from stereo or ProLogic sources.
    [Show full text]
  • WS-Biometric Devices Walkthrough How to Build a WS-BD Web Camera Service
    WS-Biometric Devices Walkthrough How to Build a WS-BD Web Camera Service For questions or comments, contact [email protected]. 1 Introduction Web Services for Biometric Devices, or WS-BD, is an open source command & control protocol specifically for biometric acquisition devices. Web services use protocols that underlie the web for machine to machine communication. WS-BD allows a target biometric sensor to be exposed to and controlled by a client(s) via a web service. It replaces the need for proprietary software/hardware (e.g. drivers, firewire/USB connectors), eliminates platform restrictions, and allows wired or wireless communication. With a focus on data acquisition, this RESTFUL service architecture affords biometric sensors of any modality communication with any device that is Internet-enabled. This document is written as a “quickstart” aid for development using the WS-Biometric Devices CSDv1.0 document. The specification can be accessed at https://www.oasis- open.org/committees/document.php?document_id=54815&wg_abbrev=biometrics. A .NET reference implementation exists to demonstrate one way to implement a WS-BD service. Libraries from the reference implementation will be used in this walkthrough to build a service. The complete .NET reference implementation can also be downloaded for free at http://www.nist.gov/itl/iad/ig/upload/WS-BD-RefImpl- Jan2015.zip. 1.1 Overview This document provides step by step instructions and source code on how to construct a WS-BD conformant web camera service. It uses a commercial off-the-shelf (COTS) web camera as the biometric sensor. The intent is to provide a quick start to WS-BD development as well as to shorten future WS-BD development time.
    [Show full text]
  • Microsoft Palladium
    Microsoft Palladium: A Business Overview Combining Microsoft Windows Features, Personal Computing Hardware, and Software Applications for Greater Security, Personal Privacy, and System Integrity by Amy Carroll, Mario Juarez, Julia Polk, Tony Leininger Microsoft Content Security Business Unit June 2002 Legal Notice This is a preliminary document and may be changed substantially prior to final commercial release of the software described herein. The information contained in this document represents the current view of Microsoft Corporation on the issues discussed as of the date of publication. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information presented after the date of publication. This White Paper is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, AS TO THE INFORMATION IN THIS DOCUMENT. Complying with all applicable copyright laws is the responsibility of the user. Without limiting the rights under copyright, no part of this document may be reproduced, stored in or introduced into a retrieval system, or transmitted in any form or by any means (electronic, mechanical, photocopying, recording, or otherwise), or for any purpose, without the express written permission of Microsoft Corporation. Microsoft may have patents, patent applications, trademarks, copyrights, or other intellectual property rights covering subject matter in this document. Except as expressly provided in any written license agreement from Microsoft, the furnishing of this document does not give you any license to these patents, trademarks, copyrights, or other intellectual property. Unless otherwise noted, the example companies, organizations, products, domain names, e-mail addresses, logos, people, places and events depicted herein are fictitious, and no association with any real company, organization, product, domain name, e-mail address, logo, person, place or event is intended or should be inferred.
    [Show full text]
  • Directx 11 Extended to the Implementation of Compute Shader
    DirectX 1 DirectX About the Tutorial Microsoft DirectX is considered as a collection of application programming interfaces (APIs) for managing tasks related to multimedia, especially with respect to game programming and video which are designed on Microsoft platforms. Direct3D which is a renowned product of DirectX is also used by other software applications for visualization and graphics tasks such as CAD/CAM engineering. Audience This tutorial has been prepared for developers and programmers in multimedia industry who are interested to pursue their career in DirectX. Prerequisites Before proceeding with this tutorial, it is expected that reader should have knowledge of multimedia, graphics and game programming basics. This includes mathematical foundations as well. Copyright & Disclaimer Copyright 2019 by Tutorials Point (I) Pvt. Ltd. All the content and graphics published in this e-book are the property of Tutorials Point (I) Pvt. Ltd. The user of this e-book is prohibited to reuse, retain, copy, distribute or republish any contents or a part of contents of this e-book in any manner without written consent of the publisher. We strive to update the contents of our website and tutorials as timely and as precisely as possible, however, the contents may contain inaccuracies or errors. Tutorials Point (I) Pvt. Ltd. provides no guarantee regarding the accuracy, timeliness or completeness of our website or its contents including this tutorial. If you discover any errors on our website or in this tutorial, please notify us at [email protected]
    [Show full text]
  • Datastead Multipurpose Directshow Encoder SDK Version 1.1.2
    DATASTEAD SOFTWARE Multipurpose DirectShow Encoder version 1.7.8 March 3, 2021 Copyright © Datastead 2021 www.datastead.com Overview......................................................................................................................................................3 Features...................................................................................................................................................3 System requirements...............................................................................................................................4 Download.................................................................................................................................................4 License.....................................................................................................................................................4 Contact.....................................................................................................................................................4 Limitations of the evaluation version........................................................................................................4 FAQ..............................................................................................................................................................5 Licensing..................................................................................................................................................5 Evaluation version....................................................................................................................................5
    [Show full text]
  • Choosing the Right Media Paths to Facilitate Hardware Acceleration
    White Paper Fan, Fred Choosing the Right Graphics Platform Application Engineer Media Paths to Intel Corporation Tan, Hui Li Facilitate Graphics Platform Application Engineer Hardware Intel Corporation Acceleration Media Solution for Retail Independent Software Vendors (ISVs) September, 2013 329650-001US Choosing the Right Media Paths to Facilitate Hardware Acceleration Executive Summary This paper provides detailed guidance for choosing the right media- development Application Programming Interfaces (APIs) for different retail usage models and devices on Windows* 7 and Windows* 8 operating systems (OSs). When Independent Software Vendors (ISVs) make decisions on which approach to take for their own media applications, there are five key factors that may influence their decisions: hardware investment, software resource investment, performance, flexibility, and software implementation speed. This paper provides detailed guidance for choosing the right media development APIs for different retail segments, from Entry to Mainstream and High-end. This paper does not include implementation details, but does provide related media references, such as Intel® Media SDK and other media development APIs, to help ISVs develop their media content as the next step. The Intel® Embedded Design Center provides qualified developers with web-based access to technical resources. Access Intel Confidential design materials, step-by-step guidance, application reference solutions, training, Intel’s tool loaner program, and connect with an e-help desk and the
    [Show full text]
  • Dnvideox Activex Control Reference Anmo Electronics Corporation
    DNVideoX ActiveX control reference AnMo Electronics Corporation Contents License agreement .............................................................................................................................. 8 Notice .................................................................................................................................................. 9 Tutorial .............................................................................................................................................. 10 Create video preview .................................................................................................................... 10 Capture still image ......................................................................................................................... 10 Capture video sequence ................................................................................................................ 11 Upload video images to WEB server via FTP ................................................................................. 12 Motion detection .......................................................................................................................... 12 Text captions on video (time-stamp, etc.) .................................................................................... 13 Sending video frames through network ........................................................................................ 13 Upload files to WEB server via HTTP ............................................................................................
    [Show full text]
  • 3D Graphics for Virtual Desktops Smackdown
    3D Graphics for Virtual Desktops Smackdown 3D Graphics for Virtual Desktops Smackdown Author(s): Shawn Bass, Benny Tritsch and Ruben Spruijt Version: 1.11 Date: May 2014 Page i CONTENTS 1. Introduction ........................................................................ 1 1.1 Objectives .......................................................................... 1 1.2 Intended Audience .............................................................. 1 1.3 Vendor Involvement ............................................................ 2 1.4 Feedback ............................................................................ 2 1.5 Contact .............................................................................. 2 2. About ................................................................................. 4 2.1 About PQR .......................................................................... 4 2.2 Acknowledgements ............................................................. 4 3. Team Remoting Graphics Experts - TeamRGE ....................... 6 4. Quotes ............................................................................... 7 5. Tomorrow’s Workspace ....................................................... 9 5.1 Vendor Matrix, who delivers what ...................................... 18 6. Desktop Virtualization 101 ................................................. 24 6.1 Server Hosted Desktop Virtualization directions ................... 24 6.2 VDcry?! ...........................................................................
    [Show full text]