windows vista video pipeline architecture and implementation glenn evans technical lead dmd/wave...

26
Windows Vista Video Windows Vista Video Pipeline Pipeline Architecture Architecture And Implementation And Implementation Glenn Evans Glenn Evans Technical Lead Technical Lead DMD/WAVE DMD/WAVE Microsoft Corporation Microsoft Corporation

Upload: lynette-reed

Post on 11-Jan-2016

212 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Windows Vista Video Pipeline Architecture And Implementation Glenn Evans Technical Lead DMD/WAVE Microsoft Corporation

Windows Vista Video Windows Vista Video Pipeline Architecture Pipeline Architecture And ImplementationAnd Implementation

Glenn EvansGlenn EvansTechnical LeadTechnical LeadDMD/WAVEDMD/WAVEMicrosoft CorporationMicrosoft Corporation

Page 2: Windows Vista Video Pipeline Architecture And Implementation Glenn Evans Technical Lead DMD/WAVE Microsoft Corporation

Session OverviewSession Overview

Video pipelineVideo pipelineOverviewOverview

New components for Windows VistaNew components for Windows Vista

Windows Vista enhancementsWindows Vista enhancementsDirectX Video Acceleration 2.0 (DXVA2)DirectX Video Acceleration 2.0 (DXVA2)

Software componentsSoftware components

Display devicesDisplay devices

ImprovementsImprovementsPerformance and qualityPerformance and quality

Extensibility and integrationExtensibility and integration

Future directionsFuture directions

Call to actionCall to action

Page 3: Windows Vista Video Pipeline Architecture And Implementation Glenn Evans Technical Lead DMD/WAVE Microsoft Corporation

Video Pipeline StagesVideo Pipeline Stages

Decoding

Capture Processing

Processing

Encoding

OutputControls

Storage

Desktop

Display 1

Display NOutputControls

ComponentComponent

DeviceDevice

Page 4: Windows Vista Video Pipeline Architecture And Implementation Glenn Evans Technical Lead DMD/WAVE Microsoft Corporation

New Windows Vista ComponentsNew Windows Vista Components

Video ProcessingDecode

DMMDDC/CI OPM

MFT

Decoders Transforms

EVR D3DManager

WDDMCapture

MediaSources

D3DDXGI

DXVA2

AVStream

APIs/DDIs

Plugins

App/Pipeline

OS Component

Application and Pipeline (Media Foundation, DShow, …)

UVC

MediaSinks

Page 5: Windows Vista Video Pipeline Architecture And Implementation Glenn Evans Technical Lead DMD/WAVE Microsoft Corporation

Example Playback PipelineExample Playback Pipeline

EVR

D3DManager

MediaSource

SW DecoderMFT

DWM

Desktop

Application

Pipeline

APIs/DDIs

Plugins

App/Pipeline

OS Component

GPU assisted

DecoderMFT

XformMFT

Video ProcessingDecode

DMMDDC/CIOPM

D3DDXGI

DXVA2

Page 6: Windows Vista Video Pipeline Architecture And Implementation Glenn Evans Technical Lead DMD/WAVE Microsoft Corporation

DXVA2DXVA2

What is itWhat is itDirectX Video Acceleration 2.0 (DXVA2.0)DirectX Video Acceleration 2.0 (DXVA2.0)

APIs for decoding and processingAPIs for decoding and processing

Separate from renderersSeparate from renderers

Enhanced enumeration, object creationEnhanced enumeration, object creation

APIs for D3D device managementAPIs for D3D device management

Many opportunities for IHVs to differentiate Many opportunities for IHVs to differentiate Power optimizationsPower optimizations

Processing quality and featuresProcessing quality and features

Parallel processing hardwareParallel processing hardware

Bandwidth optimizationsBandwidth optimizations

Page 7: Windows Vista Video Pipeline Architecture And Implementation Glenn Evans Technical Lead DMD/WAVE Microsoft Corporation

DXVA2 – DecodingDXVA2 – Decoding

Simplified enumeration (caps Simplified enumeration (caps versus profiles)versus profiles)

Used by decoder directlyUsed by decoder directly

Renderers take uncompressed buffersRenderers take uncompressed buffers

Support for many codecsSupport for many codecsWMV, VC-1, MPEG2, H.264, and moreWMV, VC-1, MPEG2, H.264, and more

ExtensibleExtensible

Page 8: Windows Vista Video Pipeline Architecture And Implementation Glenn Evans Technical Lead DMD/WAVE Microsoft Corporation

DXVA2 – Video ProcessingDXVA2 – Video Processing

Single step conversion, scaling Single step conversion, scaling and compositionand composition

Vendors can optimizeVendors can optimize

HQ output to match output deviceHQ output to match output device

DeinterlacingDeinterlacingStream metadata given to rendererStream metadata given to renderer

More input formatsMore input formatsRGB inputsRGB inputs

Page 9: Windows Vista Video Pipeline Architecture And Implementation Glenn Evans Technical Lead DMD/WAVE Microsoft Corporation

Video ProcessingVideo Processing

Colorspace conversionsColorspace conversionsEnhanced input/output colorspace controlEnhanced input/output colorspace control

High quality output controlHigh quality output controlGamma, colorspace, Y’CbCr and fp output, Gamma, colorspace, Y’CbCr and fp output, ‘studio RGB’‘studio RGB’

Output filtering and ProcAmpOutput filtering and ProcAmp

Extensive linear processing and progressive Extensive linear processing and progressive RGB output supportRGB output support

Page 10: Windows Vista Video Pipeline Architecture And Implementation Glenn Evans Technical Lead DMD/WAVE Microsoft Corporation

RenderersRenderers

Enhanced video renderEnhanced video renderNew render supersedes OvMixer, VMR(7), and VMR9New render supersedes OvMixer, VMR(7), and VMR9

Video mixing, output timing schedulingVideo mixing, output timing scheduling

Many enhancementsMany enhancementsComposites to output – non-square pixel, colorspace supportComposites to output – non-square pixel, colorspace support

Pluggable mixer and presentersPluggable mixer and presenters

Pull basedPull based

Advanced presenter – synchronized with monitorAdvanced presenter – synchronized with monitor

Automatically handles output modeAutomatically handles output modeTear free windowed output, DWM support, fullscreen supportTear free windowed output, DWM support, fullscreen support

Glitch resilience – MMCSS, deep queuing, timeline mappingGlitch resilience – MMCSS, deep queuing, timeline mapping

Application integrationApplication integrationEVR available in Media Foundation and DShowEVR available in Media Foundation and DShow

Stand-alone Mixer MFTStand-alone Mixer MFT

Not dependent on DXVA decodingNot dependent on DXVA decoding

Page 11: Windows Vista Video Pipeline Architecture And Implementation Glenn Evans Technical Lead DMD/WAVE Microsoft Corporation

TransformsTransforms

Media Foundation PipelineMedia Foundation PipelineGlitch resilience, content protectionGlitch resilience, content protection

Media Foundation Transform (MFT) infrastructureMedia Foundation Transform (MFT) infrastructureSimple to use plug-in modelSimple to use plug-in model

Addresses issues with DMOsAddresses issues with DMOs

Supports DXVA and D3D processingSupports DXVA and D3D processing

MFTs useable outside of pipeline MFTs useable outside of pipeline

D3D ManagerD3D ManagerManaged pipeline components use of D3D devicesManaged pipeline components use of D3D devices

Page 12: Windows Vista Video Pipeline Architecture And Implementation Glenn Evans Technical Lead DMD/WAVE Microsoft Corporation

CaptureCapture

AVStreamAVStreamWDDM capture extensionWDDM capture extension

Integration with WDDM and DXVA2 pipelineIntegration with WDDM and DXVA2 pipeline

Robust queuing, simplifies capture driverRobust queuing, simplifies capture driver

Supports analog, BDA, multi-tunersSupports analog, BDA, multi-tuners

A/V sync lockA/V sync lock

Multi-stream (A/V) capture devices (e.g., tuners)Multi-stream (A/V) capture devices (e.g., tuners)

Selective suspend on USBSelective suspend on USB

USB Video Class Driver (UVC)USB Video Class Driver (UVC)Still image 2 supportStill image 2 support

Colorspace supportColorspace support

Page 13: Windows Vista Video Pipeline Architecture And Implementation Glenn Evans Technical Lead DMD/WAVE Microsoft Corporation

DDC/CIDDC/CI

Monitor configuration control via DDC/CIMonitor configuration control via DDC/CIDisplay Data Channel Command InterfaceDisplay Data Channel Command Interface

Bi-directional communication and control Bi-directional communication and control of external devicesof external devices

Remote adjustmentsRemote adjustmentsBrightness, contrast, positioning, color temp Brightness, contrast, positioning, color temp

Low level/high level APIsLow level/high level APIs

ExtensibleExtensible

Implement DDC/CI for improved Implement DDC/CI for improved connectivity and usabilityconnectivity and usability

Page 14: Windows Vista Video Pipeline Architecture And Implementation Glenn Evans Technical Lead DMD/WAVE Microsoft Corporation

PVP-OPM, PVP-UABPVP-OPM, PVP-UAB

PVP-OPMPVP-OPMProtected Video Path Output Protected Video Path Output Protection ManagerProtection Manager

Analog protection controlAnalog protection controlBeyond COPP, VideoParametersBeyond COPP, VideoParameters

Digital protection controlDigital protection control

Output device topology discovery Output device topology discovery (clone mode)(clone mode)

PVP-UABPVP-UABProtected Video Path – Protected Video Path – User Accessible BusUser Accessible Bus

Page 15: Windows Vista Video Pipeline Architecture And Implementation Glenn Evans Technical Lead DMD/WAVE Microsoft Corporation

Display SupportDisplay Support

Improved TV mode supportImproved TV mode supportNative OS support for TV modes and resolutionsNative OS support for TV modes and resolutions

p24, p48, i60, i50, +p24, p48, i60, i50, +

1080i, 720p, +1080i, 720p, +

Clone modeClone mode

Drivers can populate modes and users can overrideDrivers can populate modes and users can override

Better EDID supportBetter EDID support

Presentation feedback APIs (DX9L)Presentation feedback APIs (DX9L)History of presented framesHistory of presented frames

Tighter A/V sync, glitch detectionTighter A/V sync, glitch detection

scRGB framebuffer supportscRGB framebuffer supportHQ output, including 10 bit Y’CbCrHQ output, including 10 bit Y’CbCr

Page 16: Windows Vista Video Pipeline Architecture And Implementation Glenn Evans Technical Lead DMD/WAVE Microsoft Corporation

Video ImprovementsVideo Improvements

Areas of improvements for video Areas of improvements for video in Windows Vistain Windows Vista

PerformancePerformance

QualityQuality

ExtensibilityExtensibility

IntegrationIntegration

Connectivity – input and outputConnectivity – input and output

Page 17: Windows Vista Video Pipeline Architecture And Implementation Glenn Evans Technical Lead DMD/WAVE Microsoft Corporation

PerformancePerformance

CaptureCaptureHigh glitch resilience on uncompressed captureHigh glitch resilience on uncompressed capture

Results available for direct GPU processing (VP, encode,…)Results available for direct GPU processing (VP, encode,…)

DecodersDecodersWork queued ahead of HW (lock/discard semantics)Work queued ahead of HW (lock/discard semantics)

Decoder no longer watches HW completionsDecoder no longer watches HW completions

HW/driver throttledHW/driver throttled

Video processingVideo processingMultiple frames queued for processingMultiple frames queued for processing

Pipelined into display queue – no stallsPipelined into display queue – no stalls

Driver can influence queueDriver can influence queue

Parallelizable with D3D, decoding – use it!Parallelizable with D3D, decoding – use it!

Video bandwidth reductionVideo bandwidth reduction

Page 18: Windows Vista Video Pipeline Architecture And Implementation Glenn Evans Technical Lead DMD/WAVE Microsoft Corporation

PerformancePerformance

DisplayDisplayFrames decoded, processed, queued Frames decoded, processed, queued in advance of presentationin advance of presentation

Renderers schedule/queue aheadRenderers schedule/queue ahead

Hybrid planar Y’CbCr formatsHybrid planar Y’CbCr formatsNV11, NV12, P208, Y416…NV11, NV12, P208, Y416…

Improved cache usage, fewer DMA engines Improved cache usage, fewer DMA engines needed,…needed,…

Fewer conversions/temporaries in pipelineFewer conversions/temporaries in pipeline

Simplifies apps, drivers, HW supportSimplifies apps, drivers, HW support

Page 19: Windows Vista Video Pipeline Architecture And Implementation Glenn Evans Technical Lead DMD/WAVE Microsoft Corporation

QualityQuality

Glitch resilienceGlitch resilienceImproved queuing and latency controlImproved queuing and latency control

HW should implement Vsync reporting, deep queuesHW should implement Vsync reporting, deep queues

Multimedia class schedulerMultimedia class scheduler

FidelityFidelitySingle step composition to native device characteristicsSingle step composition to native device characteristics

HQ video processing and scalingHQ video processing and scaling

Renderers now monitor awareRenderers now monitor aware

End to end pipeline support for color spaces and overscanEnd to end pipeline support for color spaces and overscanCapture, decoders, transforms should implement itCapture, decoders, transforms should implement it

Optimized for output deviceOptimized for output device

Chroma handling reduces conversionsChroma handling reduces conversions

Lossless Y’CbCr <-> RGB conversions and interlace supportLossless Y’CbCr <-> RGB conversions and interlace support

High precision fp scRGB supportHigh precision fp scRGB support

Page 20: Windows Vista Video Pipeline Architecture And Implementation Glenn Evans Technical Lead DMD/WAVE Microsoft Corporation

IntegrationIntegration

CaptureCaptureUncompressed output can pass directly to GPU for DXVA processingUncompressed output can pass directly to GPU for DXVA processing

TransformsTransformsMFTs – write once, use everywhere (MF, DShow, custom apps)MFTs – write once, use everywhere (MF, DShow, custom apps)

Support for HW acceleration (DXVA/D3D)Support for HW acceleration (DXVA/D3D)

EVR presenter designEVR presenter designSame presenter plug-in useable in both MF and DShowSame presenter plug-in useable in both MF and DShow

Surface formatsSurface formatsStandardized Y’CbCr formatsStandardized Y’CbCr formats

Fewer conversions and copiesFewer conversions and copies

Simplifies capture, transforms, video output formatsSimplifies capture, transforms, video output formats

Chroma sampling info preserved – avoid resamplingChroma sampling info preserved – avoid resampling

High precision scRGB (fp16) surfacesHigh precision scRGB (fp16) surfacesEasy mixing of text, video, photos, etc.Easy mixing of text, video, photos, etc.

Leverage color calibration for videoLeverage color calibration for video

Page 21: Windows Vista Video Pipeline Architecture And Implementation Glenn Evans Technical Lead DMD/WAVE Microsoft Corporation

Future DirectionsFuture Directions

Expand video processing featuresExpand video processing features

Improve performance, usability and qualityImprove performance, usability and quality

Page 22: Windows Vista Video Pipeline Architecture And Implementation Glenn Evans Technical Lead DMD/WAVE Microsoft Corporation

Future DirectionsFuture Directions

Video analysisVideo analysisEncode accelerationEncode acceleration

Motion estimation, DCT,…Motion estimation, DCT,…

Inverse telecine support (IVT)Inverse telecine support (IVT)

Programmable video processingProgrammable video processingAdvanced de-interlacing and frame rate conversionAdvanced de-interlacing and frame rate conversion

Extended output device supportExtended output device supportTVs completely integrated into operating systemTVs completely integrated into operating system

Cross-process pipelining of videoCross-process pipelining of video

Efficient streaming of data between CPUs and GPUsEfficient streaming of data between CPUs and GPUs

Resource management and load balancingResource management and load balancingCPU multi-cores, 3-DCPU multi-cores, 3-D

Video decoding and processingVideo decoding and processing

Page 23: Windows Vista Video Pipeline Architecture And Implementation Glenn Evans Technical Lead DMD/WAVE Microsoft Corporation

Call To ActionCall To Action

Take advantage of new features in Windows VistaTake advantage of new features in Windows Vista

Graphics IHVsGraphics IHVsPipelining of decoding, processing operationsPipelining of decoding, processing operations

Parallel hardware to improve concurrencyParallel hardware to improve concurrency

DXVA2 is power management and quality API/DDIDXVA2 is power management and quality API/DDIHigher power density decode, VP, encode, deinterlaceHigher power density decode, VP, encode, deinterlace

Accurate vsync and deep queuing supportAccurate vsync and deep queuing support

Video processingVideo processingColorspace support, multi-tap, gamma correct scalingColorspace support, multi-tap, gamma correct scaling

10 bit and scRGB buffer support10 bit and scRGB buffer support

WDDM capture driversWDDM capture drivers

ISVsISVsStart the transition to MF, MFTs and EVRStart the transition to MF, MFTs and EVR

Page 24: Windows Vista Video Pipeline Architecture And Implementation Glenn Evans Technical Lead DMD/WAVE Microsoft Corporation

Additional ResourcesAdditional Resources

Web ResourcesWeb ResourcesSpecifications Specifications http://msdn.microsoft.com/library/default.asp?url=/library/en-us/Dhttp://msdn.microsoft.com/library/default.asp?url=/library/en-us/Display_d/hh/Display_d/UserModeDisplayDriver_Guide_9205cb11isplay_d/hh/Display_d/UserModeDisplayDriver_Guide_9205cb11-857b-4ea0-b0d0-a4fb5bdb3e83.xml.asp-857b-4ea0-b0d0-a4fb5bdb3e83.xml.asp

Related SessionsRelated SessionsWindows Vista Output Content ProtectionWindows Vista Output Content Protection

DXVA 2.0: A New Hardware Video Acceleration DXVA 2.0: A New Hardware Video Acceleration Pipeline For Windows VistaPipeline For Windows Vista

Questions and commentsQuestions and comments askDXVA @ microsoft.comaskDXVA @ microsoft.com

Page 25: Windows Vista Video Pipeline Architecture And Implementation Glenn Evans Technical Lead DMD/WAVE Microsoft Corporation

© 2006 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.

The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. 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 provided after the date of this presentation.

MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Page 26: Windows Vista Video Pipeline Architecture And Implementation Glenn Evans Technical Lead DMD/WAVE Microsoft Corporation