28#include "wincodecsdk.h"
32DEFINE_GUID(
GUID_NULL,0,0,0,0,0,0,0,0,0,0,0);
40 &IID_IWICImagingFactory, (
void**)&
factory);
41 ok(
hr ==
S_OK,
"CoCreateInstance failed, hr=%x\n",
hr);
46 IWICImagingFactory_Release(
factory);
61 hr = IWICComponentInfo_GetComponentType(
info, &componenttype);
63 IWICComponentInfo_Release(
info);
70 struct decoder_info_test
74 const char *extensions;
76 } decoder_info_tests[] =
90 "image/ico,image/x-icon",
95 &CLSID_WICJpegDecoder,
96 "image/jpeg,image/jpe,image/jpg",
97 ".jpeg,.jpe,.jpg,.jfif,.exif",
101 &CLSID_WICPngDecoder,
106 &CLSID_WICTiffDecoder,
107 "image/tiff,image/tif",
124 struct decoder_info_test *
test = &decoder_info_tests[
i];
126 WCHAR extensionsW[64];
133 hr = IWICBitmapDecoder_GetDecoderInfo(decoder, &decoder_info);
135 "%u: failed to get decoder info, hr %#x.\n",
i,
hr);
139 decoder_info2 =
NULL;
140 hr = IWICBitmapDecoder_GetDecoderInfo(decoder, &decoder_info2);
141 ok(
hr ==
S_OK,
"Failed to get decoder info, hr %#x.\n",
hr);
142 ok(decoder_info == decoder_info2,
"Unexpected decoder info instance.\n");
144 hr = IWICBitmapDecoderInfo_QueryInterface(decoder_info, &IID_IWICBitmapDecoder, (
void **)&decoder2);
147 IWICBitmapDecoderInfo_Release(decoder_info);
148 IWICBitmapDecoderInfo_Release(decoder_info2);
150 IWICBitmapDecoder_Release(decoder);
156 ok(
hr ==
S_OK,
"CreateComponentInfo failed, hr=%x\n",
hr);
158 hr = IWICComponentInfo_QueryInterface(
info, &IID_IWICBitmapDecoderInfo, (
void **)&decoder_info);
159 ok(
hr ==
S_OK,
"QueryInterface failed, hr=%x\n",
hr);
161 hr = IWICBitmapDecoderInfo_GetCLSID(decoder_info,
NULL);
164 hr = IWICBitmapDecoderInfo_GetCLSID(decoder_info, &
clsid);
165 ok(
hr ==
S_OK,
"GetCLSID failed, hr=%x\n",
hr);
168 hr = IWICBitmapDecoderInfo_GetMimeTypes(decoder_info, 0,
NULL,
NULL);
172 hr = IWICBitmapDecoderInfo_GetMimeTypes(decoder_info, 1,
NULL, &
len);
175 ok(
len ==
lstrlenW(mimetypeW) + 1,
"GetMimeType returned wrong len %i\n",
len);
177 hr = IWICBitmapDecoderInfo_GetMimeTypes(decoder_info,
len,
value,
NULL);
181 hr = IWICBitmapDecoderInfo_GetMimeTypes(decoder_info, 0,
NULL, &
len);
182 ok(
hr ==
S_OK,
"GetMimeType failed, hr=%x\n",
hr);
184 ok(
len ==
lstrlenW(mimetypeW) + 1,
"GetMimeType returned wrong len %i\n",
len);
187 hr = IWICBitmapDecoderInfo_GetMimeTypes(decoder_info,
len,
value, &
len);
188 ok(
hr ==
S_OK,
"GetMimeType failed, hr=%x\n",
hr);
191 ok(
len ==
lstrlenW(mimetypeW) + 1,
"GetMimeType returned wrong len %i\n",
len);
193 hr = IWICBitmapDecoderInfo_GetMimeTypes(decoder_info, 1,
value, &
len);
196 ok(
len ==
lstrlenW(mimetypeW) + 1,
"GetMimeType returned wrong len %i\n",
len);
198 hr = IWICBitmapDecoderInfo_GetMimeTypes(decoder_info, 256,
value, &
len);
199 ok(
hr ==
S_OK,
"GetMimeType failed, hr=%x\n",
hr);
202 ok(
len ==
lstrlenW(mimetypeW) + 1,
"GetMimeType returned wrong len %i\n",
len);
204 num_formats = 0xdeadbeef;
205 hr = IWICBitmapDecoderInfo_GetPixelFormats(decoder_info, 0,
NULL, &num_formats);
206 ok(
hr ==
S_OK,
"GetPixelFormats failed, hr=%x\n",
hr);
207 ok((num_formats <= 21 && num_formats >= 1) ||
209 "%u: got %d formats\n",
i, num_formats);
211 hr = IWICBitmapDecoderInfo_GetPixelFormats(decoder_info, 0,
NULL,
NULL);
216 ok(
hr ==
S_OK,
"GetPixelFormats failed, hr=%x\n",
hr);
221 ok(
hr ==
S_OK,
"GetPixelFormats failed, hr=%x\n",
hr);
223 "%u: got %d formats\n",
i, num_formats);
227 hr = IWICBitmapDecoderInfo_GetPixelFormats(decoder_info, num_formats,
pixelformats, &
count);
228 ok(
hr ==
S_OK,
"GetPixelFormats failed, hr=%x\n",
hr);
229 ok(
count == num_formats,
"got %d formats, expected %d\n",
count, num_formats);
230 for (
j = 0;
j < num_formats;
j++)
233 hr = IWICBitmapDecoderInfo_GetPixelFormats(decoder_info, num_formats,
pixelformats,
NULL);
239 ok(
hr ==
S_OK,
"GetPixelFormats failed, hr=%x\n",
hr);
240 ok(
count == num_formats,
"got %d formats, expected %d\n",
count, num_formats);
242 hr = IWICBitmapDecoderInfo_GetFileExtensions(decoder_info, 0,
NULL,
NULL);
245 hr = IWICBitmapDecoderInfo_GetFileExtensions(decoder_info, 1,
NULL, &
len);
248 ok(
len ==
lstrlenW(extensionsW) + 1,
"%u: GetFileExtensions returned wrong len %i\n",
i,
len);
250 hr = IWICBitmapDecoderInfo_GetFileExtensions(decoder_info,
len,
value,
NULL);
253 hr = IWICBitmapDecoderInfo_GetFileExtensions(decoder_info, 0,
NULL, &
len);
254 ok(
hr ==
S_OK,
"GetFileExtensions failed, hr=%x\n",
hr);
256 ok(
len ==
lstrlenW(extensionsW) + 1,
"GetFileExtensions returned wrong len %i\n",
len);
259 hr = IWICBitmapDecoderInfo_GetFileExtensions(decoder_info,
len,
value, &
len);
260 ok(
hr ==
S_OK,
"GetFileExtensions failed, hr=%x\n",
hr);
264 ok(
len ==
lstrlenW(extensionsW) + 1,
"GetFileExtensions returned wrong len %i\n",
len);
266 hr = IWICBitmapDecoderInfo_GetFileExtensions(decoder_info, 1,
value, &
len);
269 ok(
len ==
lstrlenW(extensionsW) + 1,
"GetFileExtensions returned wrong len %i\n",
len);
271 hr = IWICBitmapDecoderInfo_GetFileExtensions(decoder_info, 256,
value, &
len);
272 ok(
hr ==
S_OK,
"GetFileExtensions failed, hr=%x\n",
hr);
276 ok(
len ==
lstrlenW(extensionsW) + 1,
"GetFileExtensions returned wrong len %i\n",
len);
278 IWICBitmapDecoderInfo_Release(decoder_info);
279 IWICComponentInfo_Release(
info);
297 BOOL supportstransparency;
300 ok(
hr ==
S_OK,
"CreateComponentInfo failed, hr=%x\n",
hr);
305 hr = IWICComponentInfo_GetAuthor(
info, 0,
NULL, 0);
310 ok(
hr ==
S_OK,
"GetAuthor failed, hr=%x\n",
hr);
311 ok(len < 255 && len > 0,
"invalid length 0x%x\n",
len);
317 ok(
value[0] == 0xaaaa,
"string modified\n");
323 ok(
len == known_len,
"got length of 0x%x, expected 0x%x\n",
len, known_len);
324 ok(
value[known_len-1] == 0xaaaa,
"string modified past given length\n");
325 ok(
value[0] == 0xaaaa,
"string modified\n");
330 ok(
hr ==
S_OK,
"GetAuthor failed, hr=%x\n",
hr);
331 ok(
len == known_len,
"got length of 0x%x, expected 0x%x\n",
len, known_len);
332 ok(
value[known_len-1] == 0,
"string not terminated at expected length\n");
333 ok(
value[known_len-2] != 0xaaaa,
"string not modified at given length\n");
338 ok(
hr ==
S_OK,
"GetAuthor failed, hr=%x\n",
hr);
339 ok(
len == known_len,
"got length of 0x%x, expected 0x%x\n",
len, known_len);
340 ok(
value[known_len] == 0xaaaa,
"string modified past end\n");
341 ok(
value[known_len-1] == 0,
"string not terminated at expected length\n");
342 ok(
value[known_len-2] != 0xaaaa,
"string not modified at given length\n");
349 ok(
hr ==
S_OK,
"GetCLSID failed, hr=%x\n",
hr);
352 hr = IWICComponentInfo_GetComponentType(
info,
NULL);
355 hr = IWICComponentInfo_GetComponentType(
info, &componenttype);
356 ok(
hr ==
S_OK,
"GetComponentType failed, hr=%x\n",
hr);
357 ok(componenttype ==
WICPixelFormat,
"unexpected component type 0x%x\n", componenttype);
361 ok(
hr ==
S_OK,
"GetFriendlyName failed, hr=%x\n",
hr);
362 ok(len < 255 && len > 0,
"invalid length 0x%x\n",
len);
364 hr = IWICComponentInfo_GetSigningStatus(
info,
NULL);
367 hr = IWICComponentInfo_GetSigningStatus(
info, &signing);
368 ok(
hr ==
S_OK,
"GetSigningStatus failed, hr=%x\n",
hr);
373 ok(
hr ==
S_OK,
"GetSpecVersion failed, hr=%x\n",
hr);
374 ok(
len == 0,
"invalid length 0x%x\n",
len);
377 hr = IWICComponentInfo_GetVendorGUID(
info, &
guid);
378 ok(
hr ==
S_OK,
"GetVendorGUID failed, hr=%x\n",
hr);
384 ok(
hr ==
S_OK,
"GetVersion failed, hr=%x\n",
hr);
385 ok(
len == 0,
"invalid length 0x%x\n",
len);
387 hr = IWICComponentInfo_QueryInterface(
info, &IID_IWICPixelFormatInfo, (
void**)&pixelformat_info);
388 ok(
hr ==
S_OK,
"QueryInterface failed, hr=%x\n",
hr);
392 hr = IWICPixelFormatInfo_GetBitsPerPixel(pixelformat_info,
NULL);
395 hr = IWICPixelFormatInfo_GetBitsPerPixel(pixelformat_info, &uiresult);
396 ok(
hr ==
S_OK,
"GetBitsPerPixel failed, hr=%x\n",
hr);
397 ok(uiresult == 32,
"unexpected bpp %i\n", uiresult);
399 hr = IWICPixelFormatInfo_GetChannelCount(pixelformat_info, &uiresult);
400 ok(
hr ==
S_OK,
"GetChannelCount failed, hr=%x\n",
hr);
401 ok(uiresult == 4,
"unexpected channel count %i\n", uiresult);
403 hr = IWICPixelFormatInfo_GetChannelMask(pixelformat_info, 0, 0,
NULL,
NULL);
406 uiresult = 0xdeadbeef;
407 hr = IWICPixelFormatInfo_GetChannelMask(pixelformat_info, 0, 0,
NULL, &uiresult);
408 ok(
hr ==
S_OK,
"GetChannelMask failed, hr=%x\n",
hr);
409 ok(uiresult == 4,
"unexpected length %i\n", uiresult);
411 memset(abbuffer, 0xaa,
sizeof(abbuffer));
412 hr = IWICPixelFormatInfo_GetChannelMask(pixelformat_info, 0, known_len, abbuffer,
NULL);
414 ok(abbuffer[0] == 0xaa,
"buffer modified\n");
416 uiresult = 0xdeadbeef;
417 memset(abbuffer, 0xaa,
sizeof(abbuffer));
418 hr = IWICPixelFormatInfo_GetChannelMask(pixelformat_info, 0, 3, abbuffer, &uiresult);
420 ok(abbuffer[0] == 0xaa,
"buffer modified\n");
421 ok(uiresult == 4,
"unexpected length %i\n", uiresult);
423 memset(abbuffer, 0xaa,
sizeof(abbuffer));
424 hr = IWICPixelFormatInfo_GetChannelMask(pixelformat_info, 0, 4, abbuffer, &uiresult);
425 ok(
hr ==
S_OK,
"GetChannelMask failed, hr=%x\n",
hr);
426 ok(*((
ULONG*)abbuffer) == 0xff,
"unexpected mask 0x%x\n", *((
ULONG*)abbuffer));
427 ok(uiresult == 4,
"unexpected length %i\n", uiresult);
429 memset(abbuffer, 0xaa,
sizeof(abbuffer));
430 hr = IWICPixelFormatInfo_GetChannelMask(pixelformat_info, 0, 5, abbuffer, &uiresult);
431 ok(
hr ==
S_OK,
"GetChannelMask failed, hr=%x\n",
hr);
432 ok(*((
ULONG*)abbuffer) == 0xff,
"unexpected mask 0x%x\n", *((
ULONG*)abbuffer));
433 ok(abbuffer[4] == 0xaa,
"buffer modified past actual length\n");
434 ok(uiresult == 4,
"unexpected length %i\n", uiresult);
437 hr = IWICPixelFormatInfo_GetFormatGUID(pixelformat_info, &
guid);
438 ok(
hr ==
S_OK,
"GetFormatGUID failed, hr=%x\n",
hr);
441 IWICPixelFormatInfo_Release(pixelformat_info);
444 hr = IWICComponentInfo_QueryInterface(
info, &IID_IWICPixelFormatInfo2, (
void**)&pixelformat_info2);
447 win_skip(
"IWICPixelFormatInfo2 not supported\n");
450 hr = IWICPixelFormatInfo2_GetNumericRepresentation(pixelformat_info2,
NULL);
453 numericrepresentation = 0xdeadbeef;
454 hr = IWICPixelFormatInfo2_GetNumericRepresentation(pixelformat_info2, &numericrepresentation);
455 ok(
hr ==
S_OK,
"GetNumericRepresentation failed, hr=%x\n",
hr);
458 hr = IWICPixelFormatInfo2_SupportsTransparency(pixelformat_info2,
NULL);
461 supportstransparency = 0xdeadbeef;
462 hr = IWICPixelFormatInfo2_SupportsTransparency(pixelformat_info2, &supportstransparency);
463 ok(
hr ==
S_OK,
"SupportsTransparency failed, hr=%x\n",
hr);
464 ok(supportstransparency == 1,
"unexpected value %i\n", supportstransparency);
466 IWICPixelFormatInfo2_Release(pixelformat_info2);
469 IWICComponentInfo_Release(
info);
480 ok(
hr ==
S_OK,
"CreateComponentInfo failed, hr=%x\n",
hr);
482 IWICComponentInfo_Release(
info);
495 GUID container_formats[10];
501 ok(
hr ==
S_OK,
"CreateComponentInfo failed, hr=%x\n",
hr);
502 IWICComponentInfo_Release(info2);
505 &IID_IWICImagingFactory, (
void**)&
factory);
506 ok(
hr ==
S_OK,
"CoCreateInstance failed, hr=%x\n",
hr);
509 hr = IWICImagingFactory_CreateComponentInfo(
factory, &CLSID_WICUnknownMetadataReader, &
info);
510 ok(
hr ==
S_OK,
"CreateComponentInfo failed, hr=%x\n",
hr);
511 ok(
info == info2,
"info != info2\n");
517 hr = IWICComponentInfo_QueryInterface(
info, &IID_IWICMetadataReaderInfo, (
void**)&reader_info);
518 ok(
hr ==
S_OK,
"QueryInterface failed, hr=%x\n",
hr);
520 hr = IWICMetadataReaderInfo_GetCLSID(reader_info,
NULL);
523 hr = IWICMetadataReaderInfo_GetCLSID(reader_info, &
clsid);
524 ok(
hr ==
S_OK,
"GetCLSID failed, hr=%x\n",
hr);
525 ok(
IsEqualGUID(&CLSID_WICUnknownMetadataReader, &
clsid),
"GetCLSID returned wrong result\n");
527 hr = IWICMetadataReaderInfo_GetMetadataFormat(reader_info, &
clsid);
528 ok(
hr ==
S_OK,
"GetMetadataFormat failed, hr=%x\n",
hr);
529 ok(
IsEqualGUID(&GUID_MetadataFormatUnknown, &
clsid),
"GetMetadataFormat returned wrong result\n");
531 hr = IWICMetadataReaderInfo_GetContainerFormats(reader_info, 0,
NULL,
NULL);
535 hr = IWICMetadataReaderInfo_GetContainerFormats(reader_info, 0,
NULL, &
count);
536 ok(
hr ==
S_OK,
"GetContainerFormats failed, hr=%x\n",
hr);
539 hr = IWICMetadataReaderInfo_GetPatterns(reader_info, &GUID_ContainerFormatPng,
544 hr = IWICMetadataReaderInfo_GetPatterns(reader_info, &GUID_ContainerFormatPng,
547 "GetPatterns failed, hr=%x\n",
hr);
548 ok(
count == 0xdeadbeef,
"unexpected count %d\n",
count);
549 ok(
size == 0xdeadbeef,
"unexpected size %d\n",
size);
551 IWICMetadataReaderInfo_Release(reader_info);
553 IWICComponentInfo_Release(
info);
555 hr = IWICImagingFactory_CreateComponentInfo(
factory, &CLSID_WICXMPStructMetadataReader, &
info);
557 ok(
hr ==
S_OK,
"CreateComponentInfo failed, hr=%x\n",
hr);
561 IWICImagingFactory_Release(
factory);
565 hr = IWICComponentInfo_QueryInterface(
info, &IID_IWICMetadataReaderInfo, (
void**)&reader_info);
566 ok(
hr ==
S_OK,
"QueryInterface failed, hr=%x\n",
hr);
568 hr = IWICMetadataReaderInfo_GetCLSID(reader_info,
NULL);
571 hr = IWICMetadataReaderInfo_GetCLSID(reader_info, &
clsid);
572 ok(
hr ==
S_OK,
"GetCLSID failed, hr=%x\n",
hr);
573 ok(
IsEqualGUID(&CLSID_WICXMPStructMetadataReader, &
clsid),
"GetCLSID returned wrong result\n");
575 hr = IWICMetadataReaderInfo_GetMetadataFormat(reader_info, &
clsid);
576 ok(
hr ==
S_OK,
"GetMetadataFormat failed, hr=%x\n",
hr);
577 ok(
IsEqualGUID(&GUID_MetadataFormatXMPStruct, &
clsid),
"GetMetadataFormat returned wrong result\n");
579 hr = IWICMetadataReaderInfo_GetContainerFormats(reader_info, 0,
NULL,
NULL);
583 hr = IWICMetadataReaderInfo_GetContainerFormats(reader_info, 0,
NULL, &
count);
584 ok(
hr ==
S_OK,
"GetContainerFormats failed, hr=%x\n",
hr);
588 hr = IWICMetadataReaderInfo_GetContainerFormats(reader_info, 1, container_formats, &
count);
589 ok(
hr ==
S_OK,
"GetContainerFormats failed, hr=%x\n",
hr);
593 hr = IWICMetadataReaderInfo_GetContainerFormats(reader_info, 10, container_formats, &
count);
594 ok(
hr ==
S_OK,
"GetContainerFormats failed, hr=%x\n",
hr);
598 hr = IWICMetadataReaderInfo_GetPatterns(reader_info, &GUID_ContainerFormatPng,
601 "GetPatterns failed, hr=%x\n",
hr);
602 ok(
count == 0xdeadbeef,
"unexpected count %d\n",
count);
603 ok(
size == 0xdeadbeef,
"unexpected size %d\n",
size);
606 hr = IWICMetadataReaderInfo_GetPatterns(reader_info, &GUID_MetadataFormatXMP,
608 ok(
hr ==
S_OK,
"GetPatterns failed, hr=%x\n",
hr);
617 hr = IWICMetadataReaderInfo_GetPatterns(reader_info, &GUID_MetadataFormatXMP,
619 ok(
hr ==
S_OK,
"GetPatterns failed, hr=%x\n",
hr);
624 hr = IWICMetadataReaderInfo_GetPatterns(reader_info, &GUID_MetadataFormatXMP,
626 ok(
hr ==
S_OK,
"GetPatterns failed, hr=%x\n",
hr);
633 IWICMetadataReaderInfo_Release(reader_info);
635 IWICComponentInfo_Release(
info);
637 IWICImagingFactory_Release(
factory);
648 &IID_IWICImagingFactory2, (
void **)&factory2);
651 win_skip(
"IWICImagingFactory2 is not supported.\n");
655 hr = IWICImagingFactory2_QueryInterface(factory2, &IID_IWICComponentFactory, (
void **)&component_factory);
658 hr = IWICComponentFactory_QueryInterface(component_factory, &IID_IWICImagingFactory, (
void **)&
factory);
661 IWICImagingFactory_Release(
factory);
663 hr = IWICImagingFactory2_QueryInterface(factory2, &IID_IWICImagingFactory, (
void **)&
factory);
667 IWICComponentFactory_Release(component_factory);
668 IWICImagingFactory2_Release(factory2);
669 IWICImagingFactory_Release(
factory);
DDPIXELFORMAT pixelformats[]
#define HeapFree(x, y, z)
#define MultiByteToWideChar
HANDLE WINAPI DECLSPEC_HOTPATCH CreateThread(IN LPSECURITY_ATTRIBUTES lpThreadAttributes, IN DWORD dwStackSize, IN LPTHREAD_START_ROUTINE lpStartAddress, IN LPVOID lpParameter, IN DWORD dwCreationFlags, OUT LPDWORD lpThreadId)
int WINAPI lstrcmpW(LPCWSTR str1, LPCWSTR str2)
HRESULT WINAPI DECLSPEC_HOTPATCH CoCreateInstance(REFCLSID rclsid, LPUNKNOWN pUnkOuter, DWORD dwClsContext, REFIID iid, LPVOID *ppv)
HRESULT WINAPI DECLSPEC_HOTPATCH CoInitializeEx(LPVOID lpReserved, DWORD dwCoInit)
HRESULT WINAPI CoInitialize(LPVOID lpReserved)
void WINAPI DECLSPEC_HOTPATCH CoUninitialize(void)
GLuint GLuint GLsizei count
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint GLint GLint j
#define todo_wine_if(is_todo)
static void test_imagingfactory_interfaces(void)
static DWORD WINAPI cache_across_threads_test(void *arg)
static void test_decoder_info(void)
static void test_pixelformat_info(void)
static HRESULT get_component_info(const GUID *clsid, IWICComponentInfo **result)
static BOOL is_pixelformat(GUID *format)
static void test_reader_info(void)
@ COINIT_APARTMENTTHREADED
#define DEFINE_GUID(name, l, w1, w2, b1, b2, b3, b4, b5, b6, b7, b8)
#define IsEqualGUID(rguid1, rguid2)
#define IsEqualCLSID(rclsid1, rclsid2)
static __inline const char * wine_dbgstr_guid(const GUID *id)
DWORD WINAPI WaitForSingleObject(IN HANDLE hHandle, IN DWORD dwMilliseconds)
WICPixelFormatNumericRepresentation
@ WICPixelFormatNumericRepresentationUnsignedInteger
#define WINCODEC_ERR_COMPONENTNOTFOUND
#define WINCODEC_ERR_INSUFFICIENTBUFFER