From: Zebediah Figura zfigura@codeweavers.com
Signed-off-by: Zebediah Figura zfigura@codeweavers.com --- include/mediaobj.idl | 38 +++++++++++++++++++++++++++++++++++--- 1 file changed, 35 insertions(+), 3 deletions(-)
diff --git a/include/mediaobj.idl b/include/mediaobj.idl index 77599214852..793e1bcf8e0 100644 --- a/include/mediaobj.idl +++ b/include/mediaobj.idl @@ -21,9 +21,6 @@ import "unknwn.idl"; import "objidl.idl"; import "strmif.idl";
-interface IDMOQualityControl; -interface IDMOVideoOutputOptimizations; - typedef struct _DMOMediaType { GUID majortype; @@ -252,3 +249,38 @@ interface IMediaObjectInPlace : IUnknown { [out] REFERENCE_TIME *pLatencyTime ); } + +enum _DMO_QUALITY_STATUS_FLAGS +{ + DMO_QUALITY_STATUS_ENABLED = 0x00000001, +}; + +[ + object, + uuid(65abea96-cf36-453f-af8a-705e98f16260), + local +] +interface IDMOQualityControl : IUnknown +{ + HRESULT SetNow([in] REFERENCE_TIME now); + HRESULT SetStatus([in] DWORD flags); + HRESULT GetStatus([out] DWORD *flags); +} + +enum _DMO_VIDEO_OUTPUT_STREAM_FLAGS +{ + DMO_VOSF_NEEDS_PREVIOUS_SAMPLE = 0x00000001, +}; + +[ + object, + uuid(be8f4f4e-5b16-4d29-b350-7f6b5d9298ac), + local +] +interface IDMOVideoOutputOptimizations : IUnknown +{ + HRESULT QueryOperationModePreferences(ULONG index, DWORD *flags); + HRESULT SetOperationMode(ULONG index, DWORD flags); + HRESULT GetCurrentOperationMode(ULONG index, DWORD *flags); + HRESULT GetCurrentSampleRequirements(ULONG index, DWORD *flags); +}