mfplat/mediatype: Implement MFInitMediaTypeFromVideoInfoHeader2.
This commit is contained in:
parent
e497f0e88d
commit
4319ada736
3 changed files with 29 additions and 3 deletions
|
@ -25,6 +25,7 @@
|
||||||
#include "uuids.h"
|
#include "uuids.h"
|
||||||
#include "strmif.h"
|
#include "strmif.h"
|
||||||
#include "initguid.h"
|
#include "initguid.h"
|
||||||
|
#include "dvdmedia.h"
|
||||||
#include "ks.h"
|
#include "ks.h"
|
||||||
#include "ksmedia.h"
|
#include "ksmedia.h"
|
||||||
#include "amvideo.h"
|
#include "amvideo.h"
|
||||||
|
@ -3747,9 +3748,9 @@ HRESULT WINAPI MFCreateVideoMediaTypeFromVideoInfoHeader(const KS_VIDEOINFOHEADE
|
||||||
}
|
}
|
||||||
|
|
||||||
/***********************************************************************
|
/***********************************************************************
|
||||||
* MFInitMediaTypeFromVideoInfoHeader (mfplat.@)
|
* MFInitMediaTypeFromVideoInfoHeader2 (mfplat.@)
|
||||||
*/
|
*/
|
||||||
HRESULT WINAPI MFInitMediaTypeFromVideoInfoHeader(IMFMediaType *media_type, const VIDEOINFOHEADER *vih, UINT32 size,
|
HRESULT WINAPI MFInitMediaTypeFromVideoInfoHeader2(IMFMediaType *media_type, const VIDEOINFOHEADER2 *vih, UINT32 size,
|
||||||
const GUID *subtype)
|
const GUID *subtype)
|
||||||
{
|
{
|
||||||
HRESULT hr = S_OK;
|
HRESULT hr = S_OK;
|
||||||
|
@ -3793,6 +3794,27 @@ HRESULT WINAPI MFInitMediaTypeFromVideoInfoHeader(IMFMediaType *media_type, cons
|
||||||
return hr;
|
return hr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* MFInitMediaTypeFromVideoInfoHeader (mfplat.@)
|
||||||
|
*/
|
||||||
|
HRESULT WINAPI MFInitMediaTypeFromVideoInfoHeader(IMFMediaType *media_type, const VIDEOINFOHEADER *vih, UINT32 size,
|
||||||
|
const GUID *subtype)
|
||||||
|
{
|
||||||
|
VIDEOINFOHEADER2 vih2 =
|
||||||
|
{
|
||||||
|
.rcSource = vih->rcSource,
|
||||||
|
.rcTarget = vih->rcTarget,
|
||||||
|
.dwBitRate = vih->dwBitRate,
|
||||||
|
.dwBitErrorRate = vih->dwBitErrorRate,
|
||||||
|
.AvgTimePerFrame = vih->AvgTimePerFrame,
|
||||||
|
.bmiHeader = vih->bmiHeader,
|
||||||
|
};
|
||||||
|
|
||||||
|
TRACE("%p, %p, %u, %s.\n", media_type, vih, size, debugstr_guid(subtype));
|
||||||
|
|
||||||
|
return MFInitMediaTypeFromVideoInfoHeader2(media_type, &vih2, sizeof(vih2), subtype);
|
||||||
|
}
|
||||||
|
|
||||||
static HRESULT init_am_media_type_audio_format(AM_MEDIA_TYPE *am_type, UINT32 user_size, IMFMediaType *media_type)
|
static HRESULT init_am_media_type_audio_format(AM_MEDIA_TYPE *am_type, UINT32 user_size, IMFMediaType *media_type)
|
||||||
{
|
{
|
||||||
UINT32 num_channels, value;
|
UINT32 num_channels, value;
|
||||||
|
|
|
@ -123,7 +123,7 @@
|
||||||
@ stub MFInitMediaTypeFromMFVideoFormat
|
@ stub MFInitMediaTypeFromMFVideoFormat
|
||||||
@ stub MFInitMediaTypeFromMPEG1VideoInfo
|
@ stub MFInitMediaTypeFromMPEG1VideoInfo
|
||||||
@ stub MFInitMediaTypeFromMPEG2VideoInfo
|
@ stub MFInitMediaTypeFromMPEG2VideoInfo
|
||||||
@ stub MFInitMediaTypeFromVideoInfoHeader2
|
@ stdcall MFInitMediaTypeFromVideoInfoHeader2(ptr ptr long ptr)
|
||||||
@ stdcall MFInitMediaTypeFromVideoInfoHeader(ptr ptr long ptr)
|
@ stdcall MFInitMediaTypeFromVideoInfoHeader(ptr ptr long ptr)
|
||||||
@ stdcall MFInitMediaTypeFromWaveFormatEx(ptr ptr long)
|
@ stdcall MFInitMediaTypeFromWaveFormatEx(ptr ptr long)
|
||||||
@ stub MFInitVideoFormat
|
@ stub MFInitVideoFormat
|
||||||
|
|
|
@ -507,6 +507,8 @@ typedef enum
|
||||||
|
|
||||||
struct tagVIDEOINFOHEADER;
|
struct tagVIDEOINFOHEADER;
|
||||||
typedef struct tagVIDEOINFOHEADER VIDEOINFOHEADER;
|
typedef struct tagVIDEOINFOHEADER VIDEOINFOHEADER;
|
||||||
|
struct tagVIDEOINFOHEADER2;
|
||||||
|
typedef struct tagVIDEOINFOHEADER2 VIDEOINFOHEADER2;
|
||||||
typedef struct _AMMediaType AM_MEDIA_TYPE;
|
typedef struct _AMMediaType AM_MEDIA_TYPE;
|
||||||
|
|
||||||
HRESULT WINAPI MFAddPeriodicCallback(MFPERIODICCALLBACK callback, IUnknown *context, DWORD *key);
|
HRESULT WINAPI MFAddPeriodicCallback(MFPERIODICCALLBACK callback, IUnknown *context, DWORD *key);
|
||||||
|
@ -593,6 +595,8 @@ HRESULT WINAPI MFInitAMMediaTypeFromMFMediaType(IMFMediaType *media_type, GUID f
|
||||||
HRESULT WINAPI MFInitMediaTypeFromAMMediaType(IMFMediaType *mediatype, const AM_MEDIA_TYPE *am_type);
|
HRESULT WINAPI MFInitMediaTypeFromAMMediaType(IMFMediaType *mediatype, const AM_MEDIA_TYPE *am_type);
|
||||||
HRESULT WINAPI MFInitMediaTypeFromVideoInfoHeader(IMFMediaType *media_type, const VIDEOINFOHEADER *vih,
|
HRESULT WINAPI MFInitMediaTypeFromVideoInfoHeader(IMFMediaType *media_type, const VIDEOINFOHEADER *vih,
|
||||||
UINT32 size, const GUID *subtype);
|
UINT32 size, const GUID *subtype);
|
||||||
|
HRESULT WINAPI MFInitMediaTypeFromVideoInfoHeader2(IMFMediaType *media_type, const VIDEOINFOHEADER2 *vih,
|
||||||
|
UINT32 size, const GUID *subtype);
|
||||||
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);
|
||||||
HRESULT WINAPI MFInvokeCallback(IMFAsyncResult *result);
|
HRESULT WINAPI MFInvokeCallback(IMFAsyncResult *result);
|
||||||
|
|
Loading…
Add table
Reference in a new issue