headers: Update imported headers to current Wine version.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
diff --git a/mingw-w64-headers/include/d3d11.h b/mingw-w64-headers/include/d3d11.h
index b5c1c31..55c16c1 100644
--- a/mingw-w64-headers/include/d3d11.h
+++ b/mingw-w64-headers/include/d3d11.h
@@ -870,6 +870,60 @@
D3D11_VIDEO_PROCESSOR_ROTATION_180 = 2,
D3D11_VIDEO_PROCESSOR_ROTATION_270 = 3
} D3D11_VIDEO_PROCESSOR_ROTATION;
+typedef enum D3D11_VIDEO_PROCESSOR_DEVICE_CAPS {
+ D3D11_VIDEO_PROCESSOR_DEVICE_CAPS_LINEAR_SPACE = 0x1,
+ D3D11_VIDEO_PROCESSOR_DEVICE_CAPS_xvYCC = 0x2,
+ D3D11_VIDEO_PROCESSOR_DEVICE_CAPS_RGB_RANGE_CONVERSION = 0x4,
+ D3D11_VIDEO_PROCESSOR_DEVICE_CAPS_YCbCr_MATRIX_CONVERSION = 0x8,
+ D3D11_VIDEO_PROCESSOR_DEVICE_CAPS_NOMINAL_RANGE = 0x10
+} D3D11_VIDEO_PROCESSOR_DEVICE_CAPS;
+typedef enum D3D11_VIDEO_PROCESSOR_FEATURE_CAPS {
+ D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_ALPHA_FILL = 0x1,
+ D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_CONSTRICTION = 0x2,
+ D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_LUMA_KEY = 0x4,
+ D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_ALPHA_PALETTE = 0x8,
+ D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_LEGACY = 0x10,
+ D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_STEREO = 0x20,
+ D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_ROTATION = 0x40,
+ D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_ALPHA_STREAM = 0x80,
+ D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_PIXEL_ASPECT_RATIO = 0x100,
+ D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_MIRROR = 0x200,
+ D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_SHADER_USAGE = 0x400,
+ D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_METADATA_HDR10 = 0x800
+} D3D11_VIDEO_PROCESSOR_FEATURE_CAPS;
+typedef enum D3D11_VIDEO_PROCESSOR_FILTER_CAPS {
+ D3D11_VIDEO_PROCESSOR_FILTER_CAPS_BRIGHTNESS = 0x1,
+ D3D11_VIDEO_PROCESSOR_FILTER_CAPS_CONTRAST = 0x2,
+ D3D11_VIDEO_PROCESSOR_FILTER_CAPS_HUE = 0x4,
+ D3D11_VIDEO_PROCESSOR_FILTER_CAPS_SATURATION = 0x8,
+ D3D11_VIDEO_PROCESSOR_FILTER_CAPS_NOISE_REDUCTION = 0x10,
+ D3D11_VIDEO_PROCESSOR_FILTER_CAPS_EDGE_ENHANCEMENT = 0x20,
+ D3D11_VIDEO_PROCESSOR_FILTER_CAPS_ANAMORPHIC_SCALING = 0x40,
+ D3D11_VIDEO_PROCESSOR_FILTER_CAPS_STEREO_ADJUSTMENT = 0x80
+} D3D11_VIDEO_PROCESSOR_FILTER_CAPS;
+typedef enum D3D11_VIDEO_PROCESSOR_FORMAT_CAPS {
+ D3D11_VIDEO_PROCESSOR_FORMAT_CAPS_RGB_INTERLACED = 0x1,
+ D3D11_VIDEO_PROCESSOR_FORMAT_CAPS_RGB_PROCAMP = 0x2,
+ D3D11_VIDEO_PROCESSOR_FORMAT_CAPS_RGB_LUMA_KEY = 0x4,
+ D3D11_VIDEO_PROCESSOR_FORMAT_CAPS_PALETTE_INTERLACED = 0x8
+} D3D11_VIDEO_PROCESSOR_FORMAT_CAPS;
+typedef enum D3D11_VIDEO_PROCESSOR_AUTO_STREAM_CAPS {
+ D3D11_VIDEO_PROCESSOR_AUTO_STREAM_CAPS_DENOISE = 0x1,
+ D3D11_VIDEO_PROCESSOR_AUTO_STREAM_CAPS_DERINGING = 0x2,
+ D3D11_VIDEO_PROCESSOR_AUTO_STREAM_CAPS_EDGE_ENHANCEMENT = 0x4,
+ D3D11_VIDEO_PROCESSOR_AUTO_STREAM_CAPS_COLOR_CORRECTION = 0x8,
+ D3D11_VIDEO_PROCESSOR_AUTO_STREAM_CAPS_FLESH_TONE_MAPPING = 0x10,
+ D3D11_VIDEO_PROCESSOR_AUTO_STREAM_CAPS_IMAGE_STABILIZATION = 0x20,
+ D3D11_VIDEO_PROCESSOR_AUTO_STREAM_CAPS_SUPER_RESOLUTION = 0x40,
+ D3D11_VIDEO_PROCESSOR_AUTO_STREAM_CAPS_ANAMORPHIC_SCALING = 0x80
+} D3D11_VIDEO_PROCESSOR_AUTO_STREAM_CAPS;
+typedef enum D3D11_VIDEO_PROCESSOR_STEREO_CAPS {
+ D3D11_VIDEO_PROCESSOR_STEREO_CAPS_MONO_OFFSET = 0x1,
+ D3D11_VIDEO_PROCESSOR_STEREO_CAPS_ROW_INTERLEAVED = 0x2,
+ D3D11_VIDEO_PROCESSOR_STEREO_CAPS_COLUMN_INTERLEAVED = 0x4,
+ D3D11_VIDEO_PROCESSOR_STEREO_CAPS_CHECKERBOARD = 0x8,
+ D3D11_VIDEO_PROCESSOR_STEREO_CAPS_FLIP_MODE = 0x10
+} D3D11_VIDEO_PROCESSOR_STEREO_CAPS;
typedef enum D3D11_VIDEO_PROCESSOR_PROCESSOR_CAPS {
D3D11_VIDEO_PROCESSOR_PROCESSOR_CAPS_DEINTERLACE_BLEND = 0x1,
D3D11_VIDEO_PROCESSOR_PROCESSOR_CAPS_DEINTERLACE_BOB = 0x2,
diff --git a/mingw-w64-headers/include/d3d11.idl b/mingw-w64-headers/include/d3d11.idl
index f4be49e..24ecc31 100644
--- a/mingw-w64-headers/include/d3d11.idl
+++ b/mingw-w64-headers/include/d3d11.idl
@@ -360,6 +360,72 @@
D3D11_VIDEO_PROCESSOR_ROTATION_270 = 3,
} D3D11_VIDEO_PROCESSOR_ROTATION;
+typedef enum D3D11_VIDEO_PROCESSOR_DEVICE_CAPS
+{
+ D3D11_VIDEO_PROCESSOR_DEVICE_CAPS_LINEAR_SPACE = 0x00000001,
+ D3D11_VIDEO_PROCESSOR_DEVICE_CAPS_xvYCC = 0x00000002,
+ D3D11_VIDEO_PROCESSOR_DEVICE_CAPS_RGB_RANGE_CONVERSION = 0x00000004,
+ D3D11_VIDEO_PROCESSOR_DEVICE_CAPS_YCbCr_MATRIX_CONVERSION = 0x00000008,
+ D3D11_VIDEO_PROCESSOR_DEVICE_CAPS_NOMINAL_RANGE = 0x00000010,
+} D3D11_VIDEO_PROCESSOR_DEVICE_CAPS;
+
+typedef enum D3D11_VIDEO_PROCESSOR_FEATURE_CAPS
+{
+ D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_ALPHA_FILL = 0x00000001,
+ D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_CONSTRICTION = 0x00000002,
+ D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_LUMA_KEY = 0x00000004,
+ D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_ALPHA_PALETTE = 0x00000008,
+ D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_LEGACY = 0x00000010,
+ D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_STEREO = 0x00000020,
+ D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_ROTATION = 0x00000040,
+ D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_ALPHA_STREAM = 0x00000080,
+ D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_PIXEL_ASPECT_RATIO = 0x00000100,
+ D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_MIRROR = 0x00000200,
+ D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_SHADER_USAGE = 0x00000400,
+ D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_METADATA_HDR10 = 0x00000800,
+} D3D11_VIDEO_PROCESSOR_FEATURE_CAPS;
+
+typedef enum D3D11_VIDEO_PROCESSOR_FILTER_CAPS
+{
+ D3D11_VIDEO_PROCESSOR_FILTER_CAPS_BRIGHTNESS = 0x00000001,
+ D3D11_VIDEO_PROCESSOR_FILTER_CAPS_CONTRAST = 0x00000002,
+ D3D11_VIDEO_PROCESSOR_FILTER_CAPS_HUE = 0x00000004,
+ D3D11_VIDEO_PROCESSOR_FILTER_CAPS_SATURATION = 0x00000008,
+ D3D11_VIDEO_PROCESSOR_FILTER_CAPS_NOISE_REDUCTION = 0x00000010,
+ D3D11_VIDEO_PROCESSOR_FILTER_CAPS_EDGE_ENHANCEMENT = 0x00000020,
+ D3D11_VIDEO_PROCESSOR_FILTER_CAPS_ANAMORPHIC_SCALING = 0x00000040,
+ D3D11_VIDEO_PROCESSOR_FILTER_CAPS_STEREO_ADJUSTMENT = 0x00000080,
+} D3D11_VIDEO_PROCESSOR_FILTER_CAPS;
+
+typedef enum D3D11_VIDEO_PROCESSOR_FORMAT_CAPS
+{
+ D3D11_VIDEO_PROCESSOR_FORMAT_CAPS_RGB_INTERLACED = 0x00000001,
+ D3D11_VIDEO_PROCESSOR_FORMAT_CAPS_RGB_PROCAMP = 0x00000002,
+ D3D11_VIDEO_PROCESSOR_FORMAT_CAPS_RGB_LUMA_KEY = 0x00000004,
+ D3D11_VIDEO_PROCESSOR_FORMAT_CAPS_PALETTE_INTERLACED = 0x00000008,
+} D3D11_VIDEO_PROCESSOR_FORMAT_CAPS;
+
+typedef enum D3D11_VIDEO_PROCESSOR_AUTO_STREAM_CAPS
+{
+ D3D11_VIDEO_PROCESSOR_AUTO_STREAM_CAPS_DENOISE = 0x00000001,
+ D3D11_VIDEO_PROCESSOR_AUTO_STREAM_CAPS_DERINGING = 0x00000002,
+ D3D11_VIDEO_PROCESSOR_AUTO_STREAM_CAPS_EDGE_ENHANCEMENT = 0x00000004,
+ D3D11_VIDEO_PROCESSOR_AUTO_STREAM_CAPS_COLOR_CORRECTION = 0x00000008,
+ D3D11_VIDEO_PROCESSOR_AUTO_STREAM_CAPS_FLESH_TONE_MAPPING = 0x00000010,
+ D3D11_VIDEO_PROCESSOR_AUTO_STREAM_CAPS_IMAGE_STABILIZATION = 0x00000020,
+ D3D11_VIDEO_PROCESSOR_AUTO_STREAM_CAPS_SUPER_RESOLUTION = 0x00000040,
+ D3D11_VIDEO_PROCESSOR_AUTO_STREAM_CAPS_ANAMORPHIC_SCALING = 0x00000080,
+} D3D11_VIDEO_PROCESSOR_AUTO_STREAM_CAPS;
+
+typedef enum D3D11_VIDEO_PROCESSOR_STEREO_CAPS
+{
+ D3D11_VIDEO_PROCESSOR_STEREO_CAPS_MONO_OFFSET = 0x00000001,
+ D3D11_VIDEO_PROCESSOR_STEREO_CAPS_ROW_INTERLEAVED = 0x00000002,
+ D3D11_VIDEO_PROCESSOR_STEREO_CAPS_COLUMN_INTERLEAVED = 0x00000004,
+ D3D11_VIDEO_PROCESSOR_STEREO_CAPS_CHECKERBOARD = 0x00000008,
+ D3D11_VIDEO_PROCESSOR_STEREO_CAPS_FLIP_MODE = 0x00000010,
+} D3D11_VIDEO_PROCESSOR_STEREO_CAPS;
+
typedef enum D3D11_VIDEO_PROCESSOR_PROCESSOR_CAPS
{
D3D11_VIDEO_PROCESSOR_PROCESSOR_CAPS_DEINTERLACE_BLEND = 0x01,
diff --git a/mingw-w64-headers/include/dxgi.h b/mingw-w64-headers/include/dxgi.h
index 3324942..93354a5 100644
--- a/mingw-w64-headers/include/dxgi.h
+++ b/mingw-w64-headers/include/dxgi.h
@@ -152,6 +152,16 @@
} LUID;
typedef struct _LUID *PLUID;
#endif
+#define DXGI_CPU_ACCESS_NONE (0)
+
+#define DXGI_CPU_ACCESS_DYNAMIC (1)
+
+#define DXGI_CPU_ACCESS_READ_WRITE (2)
+
+#define DXGI_CPU_ACCESS_SCRATCH (3)
+
+#define DXGI_CPU_ACCESS_FIELD (15)
+
typedef UINT DXGI_USAGE;
#define DXGI_USAGE_SHADER_INPUT (0x10)
@@ -2139,6 +2149,7 @@
typedef enum DXGI_ADAPTER_FLAG {
DXGI_ADAPTER_FLAG_NONE = 0,
DXGI_ADAPTER_FLAG_REMOTE = 1,
+ DXGI_ADAPTER_FLAG_SOFTWARE = 2,
DXGI_ADAPTER_FLAG_FORCE_DWORD = 0xffffffff
} DXGI_ADAPTER_FLAG;
typedef struct DXGI_ADAPTER_DESC1 {
diff --git a/mingw-w64-headers/include/dxgi.idl b/mingw-w64-headers/include/dxgi.idl
index b724770..c2960fd 100644
--- a/mingw-w64-headers/include/dxgi.idl
+++ b/mingw-w64-headers/include/dxgi.idl
@@ -33,6 +33,12 @@
} LUID, *PLUID;
cpp_quote("#endif")
+const UINT DXGI_CPU_ACCESS_NONE = 0;
+const UINT DXGI_CPU_ACCESS_DYNAMIC = 1;
+const UINT DXGI_CPU_ACCESS_READ_WRITE = 2;
+const UINT DXGI_CPU_ACCESS_SCRATCH = 3;
+const UINT DXGI_CPU_ACCESS_FIELD = 15;
+
typedef UINT DXGI_USAGE;
const DXGI_USAGE DXGI_USAGE_SHADER_INPUT = 0x10L;
const DXGI_USAGE DXGI_USAGE_RENDER_TARGET_OUTPUT = 0x20L;
@@ -439,6 +445,7 @@
typedef enum DXGI_ADAPTER_FLAG {
DXGI_ADAPTER_FLAG_NONE = 0,
DXGI_ADAPTER_FLAG_REMOTE = 1,
+ DXGI_ADAPTER_FLAG_SOFTWARE = 2,
DXGI_ADAPTER_FLAG_FORCE_DWORD = 0xFFFFFFFF
} DXGI_ADAPTER_FLAG;
diff --git a/mingw-w64-headers/include/vmr9.h b/mingw-w64-headers/include/vmr9.h
index 0258136..4777275 100644
--- a/mingw-w64-headers/include/vmr9.h
+++ b/mingw-w64-headers/include/vmr9.h
@@ -2318,6 +2318,11 @@
virtual HRESULT STDMETHODCALLTYPE TermCompositionDevice(
IUnknown *d3ddev) = 0;
+ virtual HRESULT STDMETHODCALLTYPE SetStreamMediaType(
+ DWORD stream,
+ AM_MEDIA_TYPE *mt,
+ WINBOOL texture) = 0;
+
virtual HRESULT STDMETHODCALLTYPE CompositeImage(
IUnknown *d3ddev,
IDirect3DSurface9 *d3dtarget,
@@ -2357,6 +2362,12 @@
IVMRImageCompositor9 *This,
IUnknown *d3ddev);
+ HRESULT (STDMETHODCALLTYPE *SetStreamMediaType)(
+ IVMRImageCompositor9 *This,
+ DWORD stream,
+ AM_MEDIA_TYPE *mt,
+ WINBOOL texture);
+
HRESULT (STDMETHODCALLTYPE *CompositeImage)(
IVMRImageCompositor9 *This,
IUnknown *d3ddev,
@@ -2384,6 +2395,7 @@
/*** IVMRImageCompositor9 methods ***/
#define IVMRImageCompositor9_InitCompositionDevice(This,d3ddev) (This)->lpVtbl->InitCompositionDevice(This,d3ddev)
#define IVMRImageCompositor9_TermCompositionDevice(This,d3ddev) (This)->lpVtbl->TermCompositionDevice(This,d3ddev)
+#define IVMRImageCompositor9_SetStreamMediaType(This,stream,mt,texture) (This)->lpVtbl->SetStreamMediaType(This,stream,mt,texture)
#define IVMRImageCompositor9_CompositeImage(This,d3ddev,d3dtarget,mttarget,start,stop,back,info,streams) (This)->lpVtbl->CompositeImage(This,d3ddev,d3dtarget,mttarget,start,stop,back,info,streams)
#else
/*** IUnknown methods ***/
@@ -2403,6 +2415,9 @@
static FORCEINLINE HRESULT IVMRImageCompositor9_TermCompositionDevice(IVMRImageCompositor9* This,IUnknown *d3ddev) {
return This->lpVtbl->TermCompositionDevice(This,d3ddev);
}
+static FORCEINLINE HRESULT IVMRImageCompositor9_SetStreamMediaType(IVMRImageCompositor9* This,DWORD stream,AM_MEDIA_TYPE *mt,WINBOOL texture) {
+ return This->lpVtbl->SetStreamMediaType(This,stream,mt,texture);
+}
static FORCEINLINE HRESULT IVMRImageCompositor9_CompositeImage(IVMRImageCompositor9* This,IUnknown *d3ddev,IDirect3DSurface9 *d3dtarget,AM_MEDIA_TYPE *mttarget,REFERENCE_TIME start,REFERENCE_TIME stop,D3DCOLOR back,VMR9VideoStreamInfo *info,UINT streams) {
return This->lpVtbl->CompositeImage(This,d3ddev,d3dtarget,mttarget,start,stop,back,info,streams);
}
diff --git a/mingw-w64-headers/include/vmr9.idl b/mingw-w64-headers/include/vmr9.idl
index 98524b0..526cfbd 100644
--- a/mingw-w64-headers/include/vmr9.idl
+++ b/mingw-w64-headers/include/vmr9.idl
@@ -518,6 +518,7 @@
{
HRESULT InitCompositionDevice([in] IUnknown *d3ddev);
HRESULT TermCompositionDevice([in] IUnknown *d3ddev);
+ HRESULT SetStreamMediaType([in] DWORD stream, [in] AM_MEDIA_TYPE *mt, [in] BOOL texture);
HRESULT CompositeImage([in] IUnknown *d3ddev, [in] IDirect3DSurface9 *d3dtarget, [in] AM_MEDIA_TYPE *mttarget,
[in] REFERENCE_TIME start, [in] REFERENCE_TIME stop, D3DCOLOR back,
[in] VMR9VideoStreamInfo *info, [in] UINT streams);
diff --git a/mingw-w64-headers/include/wincodec.h b/mingw-w64-headers/include/wincodec.h
index a5a52ed..35e88c4 100644
--- a/mingw-w64-headers/include/wincodec.h
+++ b/mingw-w64-headers/include/wincodec.h
@@ -250,11 +250,28 @@
#endif /* __cplusplus */
#endif
+#ifndef __IWICDdsDecoder_FWD_DEFINED__
+#define __IWICDdsDecoder_FWD_DEFINED__
+typedef interface IWICDdsDecoder IWICDdsDecoder;
+#ifdef __cplusplus
+interface IWICDdsDecoder;
+#endif /* __cplusplus */
+#endif
+
+#ifndef __IWICDdsFrameDecode_FWD_DEFINED__
+#define __IWICDdsFrameDecode_FWD_DEFINED__
+typedef interface IWICDdsFrameDecode IWICDdsFrameDecode;
+#ifdef __cplusplus
+interface IWICDdsFrameDecode;
+#endif /* __cplusplus */
+#endif
+
/* Headers for imported files */
#include <wtypes.h>
#include <propidl.h>
#include <ocidl.h>
+#include <dxgiformat.h>
#ifdef __cplusplus
extern "C" {
@@ -412,6 +429,21 @@
WICSectionAccessLevelReadWrite = 0x3,
WICSectionAccessLevel_FORCE_DWORD = 0x7fffffff
} WICSectionAccessLevel;
+typedef enum WICDdsDimension {
+ WICDdsTexture1D = 0x0,
+ WICDdsTexture2D = 0x1,
+ WICDdsTexture3D = 0x2,
+ WICDdsTextureCube = 0x3,
+ WICDDSTEXTURE_FORCE_DWORD = 0x7fffffff
+} WICDdsDimension;
+typedef enum WICDdsAlphaMode {
+ WICDdsAlphaModeUnknown = 0x0,
+ WICDdsAlphaModeStraight = 0x1,
+ WICDdsAlphaModePremultiplied = 0x2,
+ WICDdsAlphaModeOpaque = 0x3,
+ WICDdsAlphaModeCustom = 0x4,
+ WICDDSALPHAMODE_FORCE_DWORD = 0x7fffffff
+} WICDdsAlphaMode;
typedef GUID WICPixelFormatGUID;
typedef REFGUID REFWICPixelFormatGUID;
DEFINE_GUID(GUID_WICPixelFormatDontCare, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x00);
@@ -530,6 +562,22 @@
UINT32 PixelWidth;
UINT32 PixelHeight;
} WICImageParameters;
+typedef struct WICDdsParameters {
+ UINT Width;
+ UINT Height;
+ UINT Depth;
+ UINT MipLevels;
+ UINT ArraySize;
+ DXGI_FORMAT DxgiFormat;
+ WICDdsDimension Dimension;
+ WICDdsAlphaMode AlphaMode;
+} WICDdsParameters;
+typedef struct WICDdsFormatInfo {
+ DXGI_FORMAT DxgiFormat;
+ UINT BytesPerBlock;
+ UINT BlockWidth;
+ UINT BlockHeight;
+} WICDdsFormatInfo;
typedef UINT32 WICColor;
#ifndef __ID2D1Device_FWD_DEFINED__
#define __ID2D1Device_FWD_DEFINED__
@@ -5837,6 +5885,207 @@
#endif /* __IWICEnumMetadataItem_INTERFACE_DEFINED__ */
+/*****************************************************************************
+ * IWICDdsDecoder interface
+ */
+#ifndef __IWICDdsDecoder_INTERFACE_DEFINED__
+#define __IWICDdsDecoder_INTERFACE_DEFINED__
+
+DEFINE_GUID(IID_IWICDdsDecoder, 0x409cd537, 0x8532, 0x40cb, 0x97,0x74, 0xe2,0xfe,0xb2,0xdf,0x4e,0x9c);
+#if defined(__cplusplus) && !defined(CINTERFACE)
+MIDL_INTERFACE("409cd537-8532-40cb-9774-e2feb2df4e9c")
+IWICDdsDecoder : public IUnknown
+{
+ virtual HRESULT STDMETHODCALLTYPE GetParameters(
+ WICDdsParameters *parameters) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetFrame(
+ UINT arrayIndex,
+ UINT mipLevel,
+ UINT sliceIndex,
+ IWICBitmapFrameDecode **bitmapFrame) = 0;
+
+};
+#ifdef __CRT_UUID_DECL
+__CRT_UUID_DECL(IWICDdsDecoder, 0x409cd537, 0x8532, 0x40cb, 0x97,0x74, 0xe2,0xfe,0xb2,0xdf,0x4e,0x9c)
+#endif
+#else
+typedef struct IWICDdsDecoderVtbl {
+ BEGIN_INTERFACE
+
+ /*** IUnknown methods ***/
+ HRESULT (STDMETHODCALLTYPE *QueryInterface)(
+ IWICDdsDecoder *This,
+ REFIID riid,
+ void **ppvObject);
+
+ ULONG (STDMETHODCALLTYPE *AddRef)(
+ IWICDdsDecoder *This);
+
+ ULONG (STDMETHODCALLTYPE *Release)(
+ IWICDdsDecoder *This);
+
+ /*** IWICDdsDecoder methods ***/
+ HRESULT (STDMETHODCALLTYPE *GetParameters)(
+ IWICDdsDecoder *This,
+ WICDdsParameters *parameters);
+
+ HRESULT (STDMETHODCALLTYPE *GetFrame)(
+ IWICDdsDecoder *This,
+ UINT arrayIndex,
+ UINT mipLevel,
+ UINT sliceIndex,
+ IWICBitmapFrameDecode **bitmapFrame);
+
+ END_INTERFACE
+} IWICDdsDecoderVtbl;
+
+interface IWICDdsDecoder {
+ CONST_VTBL IWICDdsDecoderVtbl* lpVtbl;
+};
+
+#ifdef COBJMACROS
+#ifndef WIDL_C_INLINE_WRAPPERS
+/*** IUnknown methods ***/
+#define IWICDdsDecoder_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
+#define IWICDdsDecoder_AddRef(This) (This)->lpVtbl->AddRef(This)
+#define IWICDdsDecoder_Release(This) (This)->lpVtbl->Release(This)
+/*** IWICDdsDecoder methods ***/
+#define IWICDdsDecoder_GetParameters(This,parameters) (This)->lpVtbl->GetParameters(This,parameters)
+#define IWICDdsDecoder_GetFrame(This,arrayIndex,mipLevel,sliceIndex,bitmapFrame) (This)->lpVtbl->GetFrame(This,arrayIndex,mipLevel,sliceIndex,bitmapFrame)
+#else
+/*** IUnknown methods ***/
+static FORCEINLINE HRESULT IWICDdsDecoder_QueryInterface(IWICDdsDecoder* This,REFIID riid,void **ppvObject) {
+ return This->lpVtbl->QueryInterface(This,riid,ppvObject);
+}
+static FORCEINLINE ULONG IWICDdsDecoder_AddRef(IWICDdsDecoder* This) {
+ return This->lpVtbl->AddRef(This);
+}
+static FORCEINLINE ULONG IWICDdsDecoder_Release(IWICDdsDecoder* This) {
+ return This->lpVtbl->Release(This);
+}
+/*** IWICDdsDecoder methods ***/
+static FORCEINLINE HRESULT IWICDdsDecoder_GetParameters(IWICDdsDecoder* This,WICDdsParameters *parameters) {
+ return This->lpVtbl->GetParameters(This,parameters);
+}
+static FORCEINLINE HRESULT IWICDdsDecoder_GetFrame(IWICDdsDecoder* This,UINT arrayIndex,UINT mipLevel,UINT sliceIndex,IWICBitmapFrameDecode **bitmapFrame) {
+ return This->lpVtbl->GetFrame(This,arrayIndex,mipLevel,sliceIndex,bitmapFrame);
+}
+#endif
+#endif
+
+#endif
+
+
+#endif /* __IWICDdsDecoder_INTERFACE_DEFINED__ */
+
+/*****************************************************************************
+ * IWICDdsFrameDecode interface
+ */
+#ifndef __IWICDdsFrameDecode_INTERFACE_DEFINED__
+#define __IWICDdsFrameDecode_INTERFACE_DEFINED__
+
+DEFINE_GUID(IID_IWICDdsFrameDecode, 0x3d4c0c61, 0x18a4, 0x41e4, 0xbd,0x80, 0x48,0x1a,0x4f,0xc9,0xf4,0x64);
+#if defined(__cplusplus) && !defined(CINTERFACE)
+MIDL_INTERFACE("3d4c0c61-18a4-41e4-bd80-481a4fc9f464")
+IWICDdsFrameDecode : public IUnknown
+{
+ virtual HRESULT STDMETHODCALLTYPE GetSizeInBlocks(
+ UINT *widthInBlocks,
+ UINT *heightInBlocks) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetFormatInfo(
+ WICDdsFormatInfo *formatInfo) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE CopyBlocks(
+ const WICRect *boundsInBlocks,
+ UINT stride,
+ UINT bufferSize,
+ BYTE *buffer) = 0;
+
+};
+#ifdef __CRT_UUID_DECL
+__CRT_UUID_DECL(IWICDdsFrameDecode, 0x3d4c0c61, 0x18a4, 0x41e4, 0xbd,0x80, 0x48,0x1a,0x4f,0xc9,0xf4,0x64)
+#endif
+#else
+typedef struct IWICDdsFrameDecodeVtbl {
+ BEGIN_INTERFACE
+
+ /*** IUnknown methods ***/
+ HRESULT (STDMETHODCALLTYPE *QueryInterface)(
+ IWICDdsFrameDecode *This,
+ REFIID riid,
+ void **ppvObject);
+
+ ULONG (STDMETHODCALLTYPE *AddRef)(
+ IWICDdsFrameDecode *This);
+
+ ULONG (STDMETHODCALLTYPE *Release)(
+ IWICDdsFrameDecode *This);
+
+ /*** IWICDdsFrameDecode methods ***/
+ HRESULT (STDMETHODCALLTYPE *GetSizeInBlocks)(
+ IWICDdsFrameDecode *This,
+ UINT *widthInBlocks,
+ UINT *heightInBlocks);
+
+ HRESULT (STDMETHODCALLTYPE *GetFormatInfo)(
+ IWICDdsFrameDecode *This,
+ WICDdsFormatInfo *formatInfo);
+
+ HRESULT (STDMETHODCALLTYPE *CopyBlocks)(
+ IWICDdsFrameDecode *This,
+ const WICRect *boundsInBlocks,
+ UINT stride,
+ UINT bufferSize,
+ BYTE *buffer);
+
+ END_INTERFACE
+} IWICDdsFrameDecodeVtbl;
+
+interface IWICDdsFrameDecode {
+ CONST_VTBL IWICDdsFrameDecodeVtbl* lpVtbl;
+};
+
+#ifdef COBJMACROS
+#ifndef WIDL_C_INLINE_WRAPPERS
+/*** IUnknown methods ***/
+#define IWICDdsFrameDecode_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
+#define IWICDdsFrameDecode_AddRef(This) (This)->lpVtbl->AddRef(This)
+#define IWICDdsFrameDecode_Release(This) (This)->lpVtbl->Release(This)
+/*** IWICDdsFrameDecode methods ***/
+#define IWICDdsFrameDecode_GetSizeInBlocks(This,widthInBlocks,heightInBlocks) (This)->lpVtbl->GetSizeInBlocks(This,widthInBlocks,heightInBlocks)
+#define IWICDdsFrameDecode_GetFormatInfo(This,formatInfo) (This)->lpVtbl->GetFormatInfo(This,formatInfo)
+#define IWICDdsFrameDecode_CopyBlocks(This,boundsInBlocks,stride,bufferSize,buffer) (This)->lpVtbl->CopyBlocks(This,boundsInBlocks,stride,bufferSize,buffer)
+#else
+/*** IUnknown methods ***/
+static FORCEINLINE HRESULT IWICDdsFrameDecode_QueryInterface(IWICDdsFrameDecode* This,REFIID riid,void **ppvObject) {
+ return This->lpVtbl->QueryInterface(This,riid,ppvObject);
+}
+static FORCEINLINE ULONG IWICDdsFrameDecode_AddRef(IWICDdsFrameDecode* This) {
+ return This->lpVtbl->AddRef(This);
+}
+static FORCEINLINE ULONG IWICDdsFrameDecode_Release(IWICDdsFrameDecode* This) {
+ return This->lpVtbl->Release(This);
+}
+/*** IWICDdsFrameDecode methods ***/
+static FORCEINLINE HRESULT IWICDdsFrameDecode_GetSizeInBlocks(IWICDdsFrameDecode* This,UINT *widthInBlocks,UINT *heightInBlocks) {
+ return This->lpVtbl->GetSizeInBlocks(This,widthInBlocks,heightInBlocks);
+}
+static FORCEINLINE HRESULT IWICDdsFrameDecode_GetFormatInfo(IWICDdsFrameDecode* This,WICDdsFormatInfo *formatInfo) {
+ return This->lpVtbl->GetFormatInfo(This,formatInfo);
+}
+static FORCEINLINE HRESULT IWICDdsFrameDecode_CopyBlocks(IWICDdsFrameDecode* This,const WICRect *boundsInBlocks,UINT stride,UINT bufferSize,BYTE *buffer) {
+ return This->lpVtbl->CopyBlocks(This,boundsInBlocks,stride,bufferSize,buffer);
+}
+#endif
+#endif
+
+#endif
+
+
+#endif /* __IWICDdsFrameDecode_INTERFACE_DEFINED__ */
+
HRESULT WINAPI WICConvertBitmapSource(REFWICPixelFormatGUID dstFormat, IWICBitmapSource *pISrc, IWICBitmapSource **ppIDst);
HRESULT WINAPI WICCreateBitmapFromSection(UINT width, UINT height, REFWICPixelFormatGUID format, HANDLE section, UINT stride, UINT offset, IWICBitmap **bitmap);
HRESULT WINAPI WICCreateBitmapFromSectionEx(UINT width, UINT height, REFWICPixelFormatGUID format, HANDLE section, UINT stride, UINT offset, WICSectionAccessLevel access, IWICBitmap **bitmap);
diff --git a/mingw-w64-headers/include/wincodec.idl b/mingw-w64-headers/include/wincodec.idl
index b26e055..e64d9ed 100644
--- a/mingw-w64-headers/include/wincodec.idl
+++ b/mingw-w64-headers/include/wincodec.idl
@@ -19,6 +19,7 @@
import "wtypes.idl";
import "propidl.idl";
import "ocidl.idl";
+import "dxgiformat.idl";
cpp_quote ("#include \"dcommon.h\"")
@@ -195,6 +196,23 @@
WICSectionAccessLevel_FORCE_DWORD = CODEC_FORCE_DWORD
} WICSectionAccessLevel;
+typedef enum WICDdsDimension {
+ WICDdsTexture1D = 0x00000000,
+ WICDdsTexture2D = 0x00000001,
+ WICDdsTexture3D = 0x00000002,
+ WICDdsTextureCube = 0x00000003,
+ WICDDSTEXTURE_FORCE_DWORD = CODEC_FORCE_DWORD
+} WICDdsDimension;
+
+typedef enum WICDdsAlphaMode {
+ WICDdsAlphaModeUnknown = 0x00000000,
+ WICDdsAlphaModeStraight = 0x00000001,
+ WICDdsAlphaModePremultiplied = 0x00000002,
+ WICDdsAlphaModeOpaque = 0x00000003,
+ WICDdsAlphaModeCustom = 0x00000004,
+ WICDDSALPHAMODE_FORCE_DWORD = CODEC_FORCE_DWORD
+} WICDdsAlphaMode;
+
typedef GUID WICPixelFormatGUID;
typedef REFGUID REFWICPixelFormatGUID;
@@ -342,6 +360,24 @@
UINT32 PixelHeight;
} WICImageParameters;
+typedef struct WICDdsParameters {
+ UINT Width;
+ UINT Height;
+ UINT Depth;
+ UINT MipLevels;
+ UINT ArraySize;
+ DXGI_FORMAT DxgiFormat;
+ WICDdsDimension Dimension;
+ WICDdsAlphaMode AlphaMode;
+} WICDdsParameters;
+
+typedef struct WICDdsFormatInfo {
+ DXGI_FORMAT DxgiFormat;
+ UINT BytesPerBlock;
+ UINT BlockWidth;
+ UINT BlockHeight;
+} WICDdsFormatInfo;
+
typedef UINT32 WICColor;
interface ID2D1Device;
@@ -1144,6 +1180,43 @@
[out] IWICEnumMetadataItem **ppIEnumMetadataItem);
}
+[
+ object,
+ uuid(409cd537-8532-40cb-9774-e2feb2df4e9c)
+]
+interface IWICDdsDecoder : IUnknown
+{
+ HRESULT GetParameters(
+ [out] WICDdsParameters *parameters);
+
+ HRESULT GetFrame(
+ [in] UINT arrayIndex,
+ [in] UINT mipLevel,
+ [in] UINT sliceIndex,
+ [out, retval] IWICBitmapFrameDecode **bitmapFrame);
+};
+
+[
+ object,
+ uuid(3d4c0c61-18a4-41e4-bd80-481a4fc9f464)
+]
+interface IWICDdsFrameDecode : IUnknown
+{
+ HRESULT GetSizeInBlocks(
+ [out] UINT *widthInBlocks,
+ [out] UINT *heightInBlocks);
+
+ HRESULT GetFormatInfo(
+ [out] WICDdsFormatInfo *formatInfo);
+
+ HRESULT CopyBlocks(
+ [in, unique] const WICRect *boundsInBlocks,
+ [in] UINT stride,
+ [in] UINT bufferSize,
+ [out, size_is(bufferSize)] BYTE *buffer);
+};
+
+
cpp_quote("HRESULT WINAPI WICConvertBitmapSource(REFWICPixelFormatGUID dstFormat, IWICBitmapSource *pISrc, IWICBitmapSource **ppIDst);")
cpp_quote("HRESULT WINAPI WICCreateBitmapFromSection(UINT width, UINT height, REFWICPixelFormatGUID format, HANDLE section, UINT stride, UINT offset, IWICBitmap **bitmap);")
cpp_quote("HRESULT WINAPI WICCreateBitmapFromSectionEx(UINT width, UINT height, REFWICPixelFormatGUID format, HANDLE section, UINT stride, UINT offset, WICSectionAccessLevel access, IWICBitmap **bitmap);")