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


структура DXVA2_AES_CTR_IV (dxva2api.h)

Содержит вектор инициализации (IV) для блочного шифрования блочного шифрования в режиме расширенного шифрования CTR (AES-CTR).

Синтаксис

typedef struct _DXVA2_AES_CTR_IV {
  UINT64 IV;
  UINT64 Count;
} DXVA2_AES_CTR_IV;

Члены

IV

IV, в формате биг-эндиана.

Count

Число блоков в формате big-endian.

Комментарии

Для шифрования AES-CTR член pvPVPState структуры DXVA2_DecodeBufferDesc указывает на DXVA2_AES_CTR_IV структуру.

Структура D3DAES_CTR_IV и структура DXVA2_AES_CTR_IV эквивалентны.

Последовательные счетчики

Если метод IDirect3DDevice9Video::GetContentProtectionCaps возвращает флаг D3DCPCAPS_SEQUENTIAL_CTR_IV , вызывающий объект должен сохранить iv без изменений при отправке нескольких буферов для одного и того же видеокадра, а значение Count должно быть в последовательном порядке предыдущей отправки для кадра.

Пример. Предположим, что программный декодер отправляет три буфера для одного кадра и что каждый буфер содержит три 128-разрядных блока. Для первого буфера IV может быть любым значением. Для следующих двух буферов необходимо использовать то же значение IV . Значение Count начинается с 1. Для второго буфера значение Count равно 4 (1 + 3 блока из первой отправки). Для третьего буфера значение Count равно 7 (4 + 3 блока из второй отправки).

При наличии возможности D3DCPCAPS_SEQUENTIAL_CTR_IV рекомендуется отправлять данные в 128-разрядных блоках.

Требования

   
Минимальная версия клиента Windows 7 [только классические приложения]
Минимальная версия сервера Windows Server 2008 R2 [только классические приложения]
Верхняя часть dxva2api.h

См. также раздел

DXVA2_DecodeBufferDesc

Структуры Media Foundation