Upravit

Sdílet prostřednictvím


DDS Format Overview

This topic provides information about the native DDS codec available through the Windows Imaging Component (WIC).

Codec Identity

The following table provides codec identification information.

Component Description
Formal Name(s) DirectDraw Surface
File Name Extension(s) dds
MIME type image/vnd.ms-dds

 

The following table lists the GUIDs used to identify the native DDS codec components.

Component Friendly Name GUID
Container Format GUID_ContainerFormatDds 9967cb95-2e85-4ac8-8ca283d7ccd425c9
Decoder CLSID_WICDdsDecoder 9053699f-a341-429d-9e90ee437cf80c73
Encoder CLSID_WICDdsEncoder a61dde94-66ce-4ac1-881b71680588895e

 

Pixel Format Support

Note that the DDS format supports any valid DXGI_FORMAT value. However, the WIC DDS codec only supports decoding and encoding files containing the following formats:

  • DXGI_FORMAT_BC1_UNORM
  • DXGI_FORMAT_BC2_UNORM
  • DXGI_FORMAT_BC3_UNORM

Encoding

The WIC encoding APIs are designed to be codec-independent and therefore image encoding for WIC-enabled codecs is essentially the same. For more information about image encoding using the WIC API, see the Encoding Overview.

The DDS file format has unique requirements that arise from its support for concepts such as mipmaps and texture arrays. To fully exercise control over DDS image encoding, you should use the IWICDdsEncoder interface to set DDS-specific encoding parameters.

Decoding

The WIC decoding APIs are designed to be codec-independent and image decoding for WIC-enabled codecs is essentially the same. For more information about image decoding, see the Decoding Overview. For more information about using decoded image data, see the Bitmap Sources Overview.

Block compressed data access

In addition to supporting the standard WIC codec interfaces, the DDS decoder provides direct access to the native block compressed data using the DDS-specific interfaces, IWICDdsDecoder and IWICDdsFrameDecode. To use these interfaces, call QueryInterface off of IWICBitmapDecoder and IWICBitmapFrameDecode, respectively.