Commit 4d30c057 authored by Vincent Povirk's avatar Vincent Povirk Committed by Alexandre Julliard

windowscodecs: Implement WICSetEncoderFormat_Proxy.

parent ddd6fd1e
...@@ -633,3 +633,43 @@ HRESULT WINAPI WICCreateImagingFactory_Proxy(UINT SDKVersion, IWICImagingFactory ...@@ -633,3 +633,43 @@ HRESULT WINAPI WICCreateImagingFactory_Proxy(UINT SDKVersion, IWICImagingFactory
return ComponentFactory_CreateInstance(NULL, &IID_IWICImagingFactory, (void**)ppIImagingFactory); return ComponentFactory_CreateInstance(NULL, &IID_IWICImagingFactory, (void**)ppIImagingFactory);
} }
HRESULT WINAPI WICSetEncoderFormat_Proxy(IWICBitmapSource *pSourceIn,
IWICPalette *pIPalette, IWICBitmapFrameEncode *pIFrameEncode,
IWICBitmapSource **ppSourceOut)
{
HRESULT hr;
WICPixelFormatGUID pixelformat, framepixelformat;
TRACE("%p,%p,%p,%p\n", pSourceIn, pIPalette, pIFrameEncode, ppSourceOut);
if (pIPalette) FIXME("ignoring palette\n");
if (!pSourceIn || !pIFrameEncode || !ppSourceOut)
return E_INVALIDARG;
*ppSourceOut = NULL;
hr = IWICBitmapSource_GetPixelFormat(pSourceIn, &pixelformat);
if (SUCCEEDED(hr))
{
framepixelformat = pixelformat;
hr = IWICBitmapFrameEncode_SetPixelFormat(pIFrameEncode, &framepixelformat);
}
if (SUCCEEDED(hr))
{
if (IsEqualGUID(&pixelformat, &framepixelformat))
{
*ppSourceOut = pSourceIn;
IWICBitmapSource_AddRef(pSourceIn);
}
else
{
hr = WICConvertBitmapSource(&framepixelformat, pSourceIn, ppSourceOut);
}
}
return hr;
}
...@@ -114,4 +114,4 @@ ...@@ -114,4 +114,4 @@
@ stub WICMapShortNameToGuid @ stub WICMapShortNameToGuid
@ stub WICMatchMetadataContent @ stub WICMatchMetadataContent
@ stub WICSerializeMetadataContent @ stub WICSerializeMetadataContent
@ stub WICSetEncoderFormat_Proxy @ stdcall WICSetEncoderFormat_Proxy(ptr ptr ptr ptr)
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment