windowscodecs: Implement WICSetEncoderFormat_Proxy.

This commit is contained in:
Vincent Povirk 2013-10-28 16:43:22 -05:00 committed by Alexandre Julliard
parent ddd6fd1ecb
commit 4d30c057bf
2 changed files with 41 additions and 1 deletions

View file

@ -633,3 +633,43 @@ HRESULT WINAPI WICCreateImagingFactory_Proxy(UINT SDKVersion, IWICImagingFactory
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;
}

View file

@ -114,4 +114,4 @@
@ stub WICMapShortNameToGuid
@ stub WICMatchMetadataContent
@ stub WICSerializeMetadataContent
@ stub WICSetEncoderFormat_Proxy
@ stdcall WICSetEncoderFormat_Proxy(ptr ptr ptr ptr)