Общие сведения о формате DDS

В этом разделе содержатся сведения о собственном кодеке DDS, доступном через компонент образов Windows (WIC).

Удостоверение кодека

В следующей таблице приведены сведения об идентификации кодека.

Компонент Описание
Формальные имена DirectDraw Surface
Расширения имен файлов Dds
тип MIME image/vnd.ms-dds

 

В следующей таблице перечислены идентификаторы GUID, используемые для идентификации собственных компонентов кодека DDS.

Компонент Понятное имя GUID
Формат контейнера GUID_ContainerFormatDds 9967cb95-2e85-4ac8-8ca283d7ccd425c9
Декодер CLSID_WICDdsDecoder 9053699f-a341-429d-9e90ee437cf80c73
Кодировщик CLSID_WICDdsEncoder a61dde94-66ce-4ac1-881b71680588895e

 

Поддержка формата пикселей

Обратите внимание, что формат DDS поддерживает любое допустимое значение DXGI_FORMAT . Однако кодек WIC DDS поддерживает только декодирование и кодирование файлов, содержащих следующие форматы:

  • DXGI_FORMAT_BC1_UNORM
  • DXGI_FORMAT_BC2_UNORM
  • DXGI_FORMAT_BC3_UNORM

Кодирование

API кодирования WIC не зависят от кодеков, поэтому кодирование изображений для кодеков с поддержкой WIC по сути совпадает. Дополнительные сведения о кодировании изображений с помощью API WIC см. в разделе Общие сведения о кодировании.

Формат файлов DDS имеет уникальные требования, которые возникают в результате поддержки таких концепций, как MIP-карты и массивы текстур. Чтобы полностью контролировать кодирование изображений DDS, следует использовать интерфейс IWICDdsEncoder для задания параметров кодирования, относящихся к DDS.

Декодирование

API-интерфейсы декодирования WIC не зависят от кодеков, а декодирование изображений для кодеков с поддержкой WIC по сути совпадает. Дополнительные сведения о декодировании изображений см. в разделе Общие сведения о декодировании. Дополнительные сведения об использовании декодированных данных изображений см. в обзоре источников растровых изображений.

Блокировка доступа к сжатым данным

Помимо поддержки стандартных интерфейсов кодека WIC декодер DDS предоставляет прямой доступ к данным, сжатым собственным блоком, с помощью интерфейсов, зависящих от DDS, IWICDdsDecoder и IWICDdsFrameDecode. Чтобы использовать эти интерфейсы, вызовите QueryInterface из IWICBitmapDecoder и IWICBitmapFrameDecode соответственно.