WES7相关杂记

来源:互联网 发布:设计网页的软件 编辑:程序博客网 时间:2024/05/29 08:35

DirectShow:
DirectShow (sometimes abbreviated as DS or DShow), codename Quartz, is a multimedia framework and API produced by Microsoft for software developers to perform various operations with media files or streams. DirectShow provides a common interface for media across various programming languages, and is an extensible, filter-based framework that can render or record media files on demand at the request of the user or developer. DirectShow development tools and documentation are distributed as part of the Windows SDK.
DirectShow's counterparts on other platforms include Apple's QuickTime framework and various Linux multimedia frameworks such as GStreamer or Xine. Microsoft plans to completely replace DirectShow gradually with Media Foundation in future Windows versions.
DirectShow divides a complex multimedia task (e.g. video playback) into a sequence of fundamental processing steps known as filters. Each filter — which represents one stage in the processing of the data — has input and/or output pins that may be used to connect the filter to other filters. To implement a specific complex task, a developer must first build a filter graph by creating instances of the required filters, and then connecting the filters together.
During the rendering process, the filter graph searches the Windows Registry for registered filters and builds its graph of filters based on the locations provided. After this, it connects the filters together, and, at the developer's request, executes (i.e., plays, pauses, etc.) the created graph. DirectShow filter graphs are widely used in video playback (in which the filters implement functions such as file parsing, video and audio demultiplexing, decompressing and rendering) as well as for video and audio recording, editing, encoding, transcoding or network transmission of media. Interactive tasks such as DVD navigation may also be controlled by DirectShow.
Depending on the filter, data is either "pulled" from an input pin or "pushed" to an output pin in order to transfer data between filters. Each pin can only connect to one other pin and they have to agree on what kind of data they are sending.
Most filters are built using a set of C++ classes provided in the DirectShow SDK, called the DirectShow Base Classes. These handle much of the creation, registration and connection logic for the filter. For the filter graph to use filters automatically, they need to be registered in a separate DirectShow registry entry as well as being registered with COM.
By default, DirectShow includes a number of filters for decoding some common media file formats. Since the associated patented technologies are licensed in Windows, no license fees are required.
DirectShow Editing Services (DES), introduced in DirectX 8.0/Windows XP is an API targeted at video editing tasks and built on top of the core DirectShow architecture.
Video rendering filters: Windows Vista and Windows 7 ship with a new renderer, available as both a Media Foundation component and a DirectShow filter, called the Enhanced Video Renderer (EVR). EVR is designed to work with Desktop Window Manager and supports DXVA 2.0, which is available on Windows Vista and Windows 7. It offers better performance and better quality according to Microsoft.


src: http://en.wikipedia.org/wiki/DirectShow

原创粉丝点击