Поделиться через


Метод ID3D11VideoContext3::D ecoderBeginFrame1 (d3d11_4.h)

Запускает операцию декодирования для декодирования видеокадра.

Синтаксис

HRESULT DecoderBeginFrame1(
  ID3D11VideoDecoder           *pDecoder,
  ID3D11VideoDecoderOutputView *pView,
  UINT                         ContentKeySize,
  const void                   *pContentKey,
  UINT                         NumComponentHistograms,
  const UINT                   *pHistogramOffsets,
  ID3D11Buffer                 * const *ppHistogramBuffers
);

Параметры

pDecoder

Указатель на интерфейс ID3D11VideoDecoder . Чтобы получить этот указатель, вызовите ID3D11VideoDevice::CreateVideoDecoder

pView

Указатель на интерфейс ID3D11VideoDecoderOutputView . Этот интерфейс описывает ресурс, который получит декодированные кадры. Чтобы получить этот указатель, вызовите ID3D11VideoDevice::CreateVideoDecoderOutputView.

ContentKeySize

Размер ключа содержимого, указанного в pContentKey. Если pContentKey имеет значение NULL, задайте для contentKeySize значение 0.

pContentKey

Необязательный указатель на ключ содержимого, который использовался для шифрования данных кадра. Если ключ содержимого не использовался, задайте для этого параметра значение NULL. Если вызывающий объект предоставляет ключ содержимого, вызывающий объект должен использовать сеансовый ключ для шифрования ключа содержимого.

NumComponentHistograms

Количество компонентов, для которых записываются гистограммы. Используйте D3D11_FEATURE_VIDEO_DECODE_HISTOGRAM для проверка поддержки. Используйте ноль, если гистограммы не записываю или если эта функция не поддерживается. Указание меньшего количества компонентов, чем в формате , означает, что для этих компонентов не включена запись гистограмм. Максимальное количество компонентов определяется как D3D11_4_VIDEO_DECODER_MAX_HISTOGRAM_COMPONENTS.

pHistogramOffsets

Массив расположений смещения начального буфера в параллельном массиве ppHistogramBuffers . Используйте D3D11_VIDEO_DECODE_HISTOGRAM_COMPONENT для индексирования массива. Если компонент не запрашивается, укажите смещение, равное нулю. Смещения должны быть выровнены по 256 байтам.

ppHistogramBuffers

Массив целевых буферов для аппаратного обеспечения для записи гистограммы компонентов. Используйте D3D11_VIDEO_DECODE_HISTOGRAM_COMPONENT для индексирования массива. Присвойте этому параметру значение nullptr , если гистограмма компонента отключена или не поддерживается

Возвращаемое значение

В случае успешного выполнения возвращает S_OK.

Комментарии

Следующие D3D11_RESOURCE_MISC флаги разрешены при выделении ресурсов для гистограмм декодирования видео.

  • D3D11_RESOURCE_MISC_SHARED
  • D3D11_RESOURCE_MISC_DRAWINDIRECT_ARGS
  • D3D11_RESOURCE_MISC_BUFFER_ALLOW_RAW_VIEWS
  • D3D11_RESOURCE_MISC_BUFFER_STRUCTURED
  • D3D11_RESOURCE_MISC_SHARED_KEYEDMUTEX
  • D3D11_RESOURCE_MISC_SHARED_NTHANDLE
  • D3D11_RESOURCE_MISC_RESTRICT_SHARED_RESOURCE
  • D3D11_RESOURCE_MISC_RESTRICT_SHARED_RESOURCE_DRIVER

Все остальные флаги D3D11_RESOURCE_MISC запрещены.

Требования

Требование Значение
Минимальная версия клиента сборка Windows 10 20348
Минимальная версия сервера сборка Windows 10 20348
Верхняя часть d3d11_4.h