evr: Added MFIsFormatYUV().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
8c47f02cb5
commit
68d75bbded
|
@ -25,4 +25,4 @@
|
||||||
@ stub MFGetUncompressedVideoFormat
|
@ stub MFGetUncompressedVideoFormat
|
||||||
@ stub MFInitVideoFormat
|
@ stub MFInitVideoFormat
|
||||||
@ stdcall -import MFInitVideoFormat_RGB(ptr long long long)
|
@ stdcall -import MFInitVideoFormat_RGB(ptr long long long)
|
||||||
@ stub MFIsFormatYUV
|
@ stdcall MFIsFormatYUV(long)
|
||||||
|
|
|
@ -25,6 +25,7 @@
|
||||||
|
|
||||||
#include "ole2.h"
|
#include "ole2.h"
|
||||||
#include "rpcproxy.h"
|
#include "rpcproxy.h"
|
||||||
|
#include "d3d9.h"
|
||||||
|
|
||||||
#include "evr_private.h"
|
#include "evr_private.h"
|
||||||
|
|
||||||
|
@ -206,3 +207,28 @@ HRESULT WINAPI MFCreateVideoMixerAndPresenter(IUnknown *mixer_outer, IUnknown *p
|
||||||
|
|
||||||
return hr;
|
return hr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* MFIsFormatYUV (evr.@)
|
||||||
|
*/
|
||||||
|
BOOL WINAPI MFIsFormatYUV(DWORD format)
|
||||||
|
{
|
||||||
|
TRACE("%s.\n", debugstr_an((char *)&format, 4));
|
||||||
|
|
||||||
|
switch (format)
|
||||||
|
{
|
||||||
|
case D3DFMT_UYVY:
|
||||||
|
case D3DFMT_YUY2:
|
||||||
|
case MAKEFOURCC('A','Y','U','V'):
|
||||||
|
case MAKEFOURCC('I','M','C','1'):
|
||||||
|
case MAKEFOURCC('I','M','C','2'):
|
||||||
|
case MAKEFOURCC('Y','V','1','2'):
|
||||||
|
case MAKEFOURCC('N','V','1','1'):
|
||||||
|
case MAKEFOURCC('N','V','1','2'):
|
||||||
|
case MAKEFOURCC('Y','2','1','0'):
|
||||||
|
case MAKEFOURCC('Y','2','1','6'):
|
||||||
|
return TRUE;
|
||||||
|
default:
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
@ -2722,6 +2722,47 @@ done:
|
||||||
DestroyWindow(window);
|
DestroyWindow(window);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void test_MFIsFormatYUV(void)
|
||||||
|
{
|
||||||
|
static const DWORD formats[] =
|
||||||
|
{
|
||||||
|
D3DFMT_UYVY,
|
||||||
|
D3DFMT_YUY2,
|
||||||
|
MAKEFOURCC('A','Y','U','V'),
|
||||||
|
MAKEFOURCC('I','M','C','1'),
|
||||||
|
MAKEFOURCC('I','M','C','2'),
|
||||||
|
MAKEFOURCC('Y','V','1','2'),
|
||||||
|
MAKEFOURCC('N','V','1','1'),
|
||||||
|
MAKEFOURCC('N','V','1','2'),
|
||||||
|
MAKEFOURCC('Y','2','1','0'),
|
||||||
|
MAKEFOURCC('Y','2','1','6'),
|
||||||
|
};
|
||||||
|
static const DWORD unsupported_formats[] =
|
||||||
|
{
|
||||||
|
D3DFMT_A8R8G8B8,
|
||||||
|
MAKEFOURCC('I','Y','U','V'),
|
||||||
|
MAKEFOURCC('I','4','2','0'),
|
||||||
|
MAKEFOURCC('Y','V','Y','U'),
|
||||||
|
MAKEFOURCC('Y','V','U','9'),
|
||||||
|
MAKEFOURCC('Y','4','1','0'),
|
||||||
|
MAKEFOURCC('Y','4','1','6'),
|
||||||
|
};
|
||||||
|
unsigned int i;
|
||||||
|
BOOL ret;
|
||||||
|
|
||||||
|
for (i = 0; i < ARRAY_SIZE(formats); ++i)
|
||||||
|
{
|
||||||
|
ret = MFIsFormatYUV(formats[i]);
|
||||||
|
ok(ret, "Unexpected ret %d, format %s.\n", ret, debugstr_an((char *)&formats[i], 4));
|
||||||
|
}
|
||||||
|
|
||||||
|
for (i = 0; i < ARRAY_SIZE(unsupported_formats); ++i)
|
||||||
|
{
|
||||||
|
ret = MFIsFormatYUV(unsupported_formats[i]);
|
||||||
|
ok(!ret, "Unexpected ret %d, format %s.\n", ret, debugstr_an((char *)&unsupported_formats[i], 4));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
START_TEST(evr)
|
START_TEST(evr)
|
||||||
{
|
{
|
||||||
CoInitialize(NULL);
|
CoInitialize(NULL);
|
||||||
|
@ -2746,6 +2787,7 @@ START_TEST(evr)
|
||||||
test_mixer_output_rectangle();
|
test_mixer_output_rectangle();
|
||||||
test_mixer_zorder();
|
test_mixer_zorder();
|
||||||
test_mixer_samples();
|
test_mixer_samples();
|
||||||
|
test_MFIsFormatYUV();
|
||||||
|
|
||||||
CoUninitialize();
|
CoUninitialize();
|
||||||
}
|
}
|
||||||
|
|
|
@ -558,6 +558,7 @@ HRESULT WINAPI MFTEnum2(GUID category, UINT32 flags, const MFT_REGISTER_TYPE_INF
|
||||||
HRESULT WINAPI MFTEnumEx(GUID category, UINT32 flags, const MFT_REGISTER_TYPE_INFO *input_type,
|
HRESULT WINAPI MFTEnumEx(GUID category, UINT32 flags, const MFT_REGISTER_TYPE_INFO *input_type,
|
||||||
const MFT_REGISTER_TYPE_INFO *output_type, IMFActivate ***activate,
|
const MFT_REGISTER_TYPE_INFO *output_type, IMFActivate ***activate,
|
||||||
UINT32 *pcount);
|
UINT32 *pcount);
|
||||||
|
BOOL WINAPI MFIsFormatYUV(DWORD format);
|
||||||
HRESULT WINAPI MFInitAttributesFromBlob(IMFAttributes *attributes, const UINT8 *buffer, UINT size);
|
HRESULT WINAPI MFInitAttributesFromBlob(IMFAttributes *attributes, const UINT8 *buffer, UINT size);
|
||||||
HRESULT WINAPI MFInitMediaTypeFromWaveFormatEx(IMFMediaType *mediatype, const WAVEFORMATEX *format, UINT32 size);
|
HRESULT WINAPI MFInitMediaTypeFromWaveFormatEx(IMFMediaType *mediatype, const WAVEFORMATEX *format, UINT32 size);
|
||||||
HRESULT WINAPI MFInitVideoFormat_RGB(MFVIDEOFORMAT *format, DWORD width, DWORD height, DWORD d3dformat);
|
HRESULT WINAPI MFInitVideoFormat_RGB(MFVIDEOFORMAT *format, DWORD width, DWORD height, DWORD d3dformat);
|
||||||
|
|
Loading…
Reference in New Issue