Direct3D 11 视频播放改进
随着主流应用中更广泛地采用 Microsoft Direct3D 10 技术,一些应用开发人员希望对所有内容进行相同的处理。 当所有二维和三维内容都通过 Direct3D 10 或 11 API 处理时,Microsoft Direct3D 9 API 上的视频具有挑战性。 由于 Windows 8 引入了 Microsoft Direct3D 11 上的视频,因此应用程序可以使用单个 API 来执行所有图形操作。
最低 Windows 显示驱动程序模型 (WDDM) 版本 | 1.2 |
最大 Windows 版本 | 8 |
驱动程序实现 - 全图形和仅呈现 | 对于支持 Microsoft Direct3D 10、10.1、11 或 11.1 的硬件的所有 WDDM 1.2 驱动程序 (或更高版本) |
WHCK 要求和测试 | Device.Graphics ¦ DX11 视频解码功能Level 9 Device.Graphics ¦ DX11 VideoProcessing |
以下是使用 Direct3D 11 的主要优势:
- Direct3D 11 视频简化了 Microsoft Media Foundation 和 Microsoft DirectX 技术之间的互操作性。
- 使用多个 API 更难编程,因此在 Direct3D 11 上使用视频可以简化编程体验,并使应用更高效。 使用解码和处理的视频时,API 提供了更大的灵活性。
- 用于立体三维视频的 Direct3D 11 API 将立体声帧解压缩为左眼和右眼图像。
- 它在解码和视频处理功能方面与 DirectX 视频加速 (DXVA) 2.0 和 DXVA-HD 相提并论。
- 它在会话 0 中适用于转码方案。
Direct3D 11 视频设备驱动程序接口 (DDI)
这些设备驱动程序接口 (DDI) 是新的或针对Windows 8更新的:
- CalcPrivateCryptoSessionSize
- CalcPrivateAuthenticatedChannelSize
- CalcPrivateVideoDecoderOutputViewSize
- CalcPrivateVideoDecoderSize
- CalcPrivateVideoProcessorEnumSize
- CalcPrivateVideoProcessorInputViewSize
- CalcPrivateVideoProcessorOutputViewSize
- CalcPrivateVideoProcessorSize
- CheckFormatSupport
- CheckVideoDecoderFormat
- CheckVideoProcessorFormat
- ConfigureAuthenticatedChannel (D3D11_1)
- CreateAuthenticatedChannel (D3D11_1)
- CreateCryptoSession
- CreateResource2
- CreateVideoDecoder
- CreateVideoDecoderOutputView
- CreateVideoProcessor
- CreateVideoProcessorEnum
- CreateVideoProcessorInputView
- CreateVideoProcessorOutputView
- CryptoSessionGetHandle
- DecryptionBlt (D3D11_1)
- DestroyAuthenticatedChannel
- DestroyCryptoSession
- DestroyVideoDecoder
- DestroyVideoDecoderOutputView
- DestroyVideoProcessor
- DestroyVideoProcessorEnum
- DestroyVideoProcessorInputView
- DestroyVideoProcessorOutputView
- EncryptionBlt (D3D11_1)
- FinishSessionKeyRefresh
- GetCaptureHandle
- GetCertificate
- GetCertificateSize
- GetContentProtectionCaps
- GetCryptoKeyExchangeType
- GetEncryptionBltKey
- GetVideoDecoderBufferInfo
- GetVideoDecoderBufferTypeCount
- GetVideoDecoderConfig
- GetVideoDecoderConfigCount
- GetVideoDecoderProfile
- GetVideoDecoderProfileCount
- GetVideoProcessorCaps
- GetVideoProcessorCustomRate
- GetVideoProcessorFilterRange
- GetVideoProcessorRateConversionCaps
- NegotiateAuthenticatedChannelKeyExchange
- NegotiateCryptoSessionKeyExchange
- QueryAuthenticatedChannel (D3D11_1)
- RetrieveSubObject (D3D11_1)
- StartSessionKeyRefresh
- VideoDecoderBeginFrame
- VideoDecoderEndFrame
- VideoDecoderExtension
- VideoDecoderGetHandle
- VideoDecoderSubmitBuffers
- VideoProcessorBlt
- VideoProcessorGetOutputExtension
- VideoProcessorGetStreamExtension
- VideoProcessorInputViewReadAfterWriteHazard
- VideoProcessorSetOutputAlphaFillMode
- VideoProcessorSetOutputBackgroundColor
- VideoProcessorSetOutputColorSpace
- VideoProcessorSetOutputConstriction
- VideoProcessorSetOutputExtension
- VideoProcessorSetOutputStereoMode
- VideoProcessorSetOutputTargetRect
- VideoProcessorSetStreamAlpha
- VideoProcessorSetStreamAutoProcessingMode
- VideoProcessorSetStreamColorSpace
- VideoProcessorSetStreamDestRect
- VideoProcessorSetStreamExtension
- VideoProcessorSetStreamFilter
- VideoProcessorSetStreamFrameFormat
- VideoProcessorSetStreamLumaKey
- VideoProcessorSetStreamOutputRate
- VideoProcessorSetStreamPalette
- VideoProcessorSetStreamPixelAspectRatio
- VideoProcessorSetStreamRotation
- VideoProcessorSetStreamSourceRect
- VideoProcessorSetStreamStereoFormat
- D3D10_DDI_RESOURCE_BIND_FLAG
- D3D10_DDI_RESOURCE_MISC_FLAG
- D3D10DDIARG_CREATEDEVICE
- D3D11_1DDI_VIDEO_PROCESSOR_ALPHA_FILL_MODE
- D3D11_1DDI_VIDEO_PROCESSOR_AUTO_STREAM_CAPS
- D3D11_1DDI_VIDEO_PROCESSOR_CAPS
- D3D11_1DDI_VIDEO_PROCESSOR_COLOR_SPACE
- D3D11_1DDI_VIDEO_PROCESSOR_CONTENT_DESC
- D3D11_1DDI_VIDEO_PROCESSOR_CONVERSION_CAPS
- D3D11_1DDI_VIDEO_PROCESSOR_CUSTOM_RATE
- D3D11_1DDI_VIDEO_PROCESSOR_DEVICE_CAPS
- D3D11_1DDI_VIDEO_PROCESSOR_FEATURE_CAPS
- D3D11_1DDI_VIDEO_PROCESSOR_FILTER
- D3D11_1DDI_VIDEO_PROCESSOR_FILTER_CAPS
- D3D11_1DDI_VIDEO_PROCESSOR_FILTER_RANGE
- D3D11_1DDI_VIDEO_PROCESSOR_FORMAT_CAPS
- D3D11_1DDI_VIDEO_PROCESSOR_FORMAT_SUPPORT
- D3D11_1DDI_VIDEO_PROCESSOR_ITELECINE_CAPS
- D3D11_1DDI_VIDEO_PROCESSOR_OUTPUT_RATE
- D3D11_1DDI_VIDEO_PROCESSOR_RATE_CONVERSION_CAPS
- D3D11_1DDI_VIDEO_PROCESSOR_ROTATION
- D3D11_1DDI_VIDEO_PROCESSOR_STEREO_CAPS
- D3D11_1DDI_VIDEO_PROCESSOR_STEREO_FLIP_MODE
- D3D11_1DDI_VIDEO_PROCESSOR_STEREO_FORMAT
- D3D11_1DDI_VIDEO_PROCESSOR_STREAM
- D3D11_1DDI_VIDEO_USAGE
- D3D11_1DDI_VIDEODEVICEFUNCS
- D3D11_1DDIARG_CREATEAUTHENTICATEDCHANNEL
- D3D11_1DDIARG_CREATECRYPTOSESSION
- D3D11_1DDIARG_CREATEVIDEODECODER
- D3D11_1DDIARG_CREATEVIDEODECODEROUTPUTVIEW
- D3D11_1DDIARG_CREATEVIDEOPROCESSOR
- D3D11_1DDIARG_CREATEVIDEOPROCESSORENUM
- D3D11_1DDIARG_CREATEVIDEOPROCESSORINPUTVIEW
- D3D11_1DDIARG_CREATEVIDEOPROCESSOROUTPUTVIEW
- D3D11_1DDIARG_SIGNATURE_ENTRY
- D3D11_1DDIARG_STAGE_IO_SIGNATURES
- D3D11_1DDIARG_TESSELLATION_IO_SIGNATURES
- D3D11_1DDIARG_VIDEODECODERBEGINFRAME
- D3D11_1DDIARG_VIDEODECODEREXTENSION
- D3D11_DDI_SHADER_MIN_PRECISION
- D3D11_DDI_SHADER_MIN_PRECISION_SUPPORT_DATA
- D3D11_DDI_VIDEO_DECODER_BUFFER_TYPE
- D3D11DDI_HANDLETYPE
- D3D11DDIARG_CREATEDEFERREDCONTEXT
- D3D11DDIARG_CREATERESOURCE
- D3DDDI_RESOURCEFLAGS2
- D3DDDIARG_CREATERESOURCE2
- DXVAHDDDI_ROTATION
- DXVAHDDDI_STREAM_STATE
- DXVAHDDDI_STREAM_STATE_ROTATION_DATA
- DXVAHDDDI_VPDEVCAPS
- FORMATOP
硬件认证要求
所有Windows 8硬件都需要 Direct3D 11 API 支持。
有关硬件设备在实现此功能时必须满足的要求的信息,请参阅 Device.Graphics ¦ DX11 Video Decode FeatureLevel 9 和 Device.Graphics ¦ DX11 VideoProcessing 上的相关 WHCK 文档。
有关随 Windows 8 添加的功能的回顾,请参阅 WDDM 1.2 功能。