Улучшения воспроизведения видео в Direct3D 11
Благодаря более широкому внедрению технологий Microsoft Direct3D 10 в основных приложениях некоторые разработчики приложений хотят обрабатывать все содержимое одинаково. Это сложно сделать с видео в API Microsoft Direct3D 9, когда все объемное и трехмерные содержимое обрабатывается через API Direct3D 10 или 11. Так как Windows 8 вводит видео в Microsoft Direct3D 11, приложения могут использовать один API для выполнения всех графических операций.
Минимальная версия модели драйвера windows Display Driver (WDDM) | 1,2 |
Минимальная версия Windows | 8 |
Реализация драйвера — полная графика и только отрисовка | Обязательно для всех драйверов WDDM 1.2 с оборудованием с поддержкой Microsoft Direct3D 10, 10.1, 11 или 11.1 (или более поздней версии) |
Требования и тесты WHCK | Device.Graphics : DX11 Video Decode FeatureLevel 9 Device.Graphics — DX11 VideoProcessing |
Ниже приведены основные преимущества использования Direct3D 11.
- Видео Direct3D 11 упрощает взаимодействие между Microsoft Media Foundation и технологиями Microsoft DirectX.
- Использование нескольких API сложнее программировать, поэтому использование видео в Direct3D 11 упрощает программирование и делает приложение более эффективным. API обеспечивает большую гибкость при использовании декодированного и обработанного видео.
- API Direct3D 11 для стереоскопического трехмерного видео распаковывает стереокадры в изображения левого и правого глаз.
- Он имеет равенство с DirectX Video Acceleration (DXVA) 2.0 и DXVA-HD в возможностях декодирования и обработки видео.
- Он работает в сеансе 0 для сценариев перекодирования.
Интерфейсы драйвера видеоустройства Direct3D 11 (DIS)
Эти интерфейсы драйверов устройств (DIS) являются новыми или обновленными для 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
Требования к сертификации оборудования
Поддержка API Direct3D 11 требуется на всех Windows 8 оборудовании.
Сведения о требованиях, которым должны соответствовать аппаратные устройства при реализации этой функции, см. в соответствующей документации по WHCK по Device.Graphics ( DX11 Video Decode FeatureLevel 9 и Device.Graphics ). DX11 VideoProcessing.
Обзор функций, добавленных с помощью Windows 8, см. в разделе Функции WDDM 1.2.