mirror of
git://source.winehq.org/git/wine.git
synced 2024-09-15 08:20:20 +00:00
windowscodecs: Implement WICSetEncoderFormat_Proxy.
This commit is contained in:
parent
ddd6fd1ecb
commit
4d30c057bf
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -114,4 +114,4 @@
|
|||
@ stub WICMapShortNameToGuid
|
||||
@ stub WICMatchMetadataContent
|
||||
@ stub WICSerializeMetadataContent
|
||||
@ stub WICSetEncoderFormat_Proxy
|
||||
@ stdcall WICSetEncoderFormat_Proxy(ptr ptr ptr ptr)
|
||||
|
|
Loading…
Reference in a new issue