From: Nikolay Sivov nsivov@codeweavers.com
Signed-off-by: Nikolay Sivov nsivov@codeweavers.com --- dlls/mfplat/main.c | 19 +++++++++++++++++++ include/mfidl.idl | 39 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 58 insertions(+)
diff --git a/dlls/mfplat/main.c b/dlls/mfplat/main.c index 1e4e026d1d7..1afec10405b 100644 --- a/dlls/mfplat/main.c +++ b/dlls/mfplat/main.c @@ -1678,14 +1678,17 @@ const char *debugstr_attr(const GUID *guid) X(MF_MT_ALPHA_MODE), X(MF_MT_MPEG2_TIMECODE), X(MF_PMP_SERVER_CONTEXT), + X(MF_TRANSCODE_TOPOLOGYMODE), X(MFT_SUPPORT_DYNAMIC_FORMAT_CHANGE), X(MF_MEDIA_ENGINE_TRACK_ID), + X(MFTranscodeContainerType_MP3), X(MF_MT_CUSTOM_VIDEO_PRIMARIES), X(MF_MT_TIMESTAMP_CAN_BE_DTS), X(MFT_CODEC_MERIT_Attribute), X(MF_TOPOLOGY_PLAYBACK_MAX_DIMS), X(MF_XVP_DISABLE_FRC), X(MF_LOW_LATENCY), + X(MF_TRANSCODE_ADJUST_PROFILE), X(MF_READWRITE_ENABLE_HARDWARE_TRANSFORMS), X(MF_MT_MPEG2_FLAGS), X(MF_MEDIA_ENGINE_AUDIO_CATEGORY), @@ -1732,6 +1735,7 @@ const char *debugstr_attr(const GUID *guid) X(MF_PD_PLAYBACK_BOUNDARY_TIME), X(MF_MEDIA_ENGINE_TELEMETRY_APPLICATION_ID), X(MF_ACTIVATE_MFT_LOCKED), + X(MFTranscodeContainerType_WAVE), X(MF_MEDIA_ENGINE_VIDEO_OUTPUT_FORMAT), X(MF_SOURCE_READER_ENABLE_VIDEO_PROCESSING), X(MF_MT_FRAME_SIZE), @@ -1739,6 +1743,7 @@ const char *debugstr_attr(const GUID *guid) X(MF_SINK_WRITER_ASYNC_CALLBACK), X(MF_TOPOLOGY_START_TIME_ON_PRESENTATION_SWITCH), X(MFT_DECODER_EXPOSE_OUTPUT_TYPES_IN_NATIVE_ORDER), + X(MF_TRANSCODE_CONTAINERTYPE), X(MF_TOPONODE_WORKQUEUE_MMCSS_PRIORITY), X(MF_MT_FRAME_RATE_RANGE_MAX), X(MF_MT_PALETTE), @@ -1770,6 +1775,7 @@ const char *debugstr_attr(const GUID *guid) X(MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE_AUDCAP_ENDPOINT_ID), X(MF_DEVSOURCE_ATTRIBUTE_FRIENDLY_NAME), X(MF_MT_VIDEO_ROTATION), + X(MFTranscodeContainerType_MPEG4), X(MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE_AUDCAP_SYMBOLIC_LINK), X(MF_MEDIA_ENGINE_BROWSER_COMPATIBILITY_MODE_IE11), X(MF_MT_USER_DATA), @@ -1789,12 +1795,14 @@ const char *debugstr_attr(const GUID *guid) X(MF_SA_D3D12_HEAP_FLAGS), X(MF_MT_MINIMUM_DISPLAY_APERTURE), X(MFSampleExtension_Token), + X(MFTranscodeContainerType_3GP), X(MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE_VIDCAP_CATEGORY), X(MF_D3D12_SYNCHRONIZATION_OBJECT), X(MF_MT_AUDIO_VALID_BITS_PER_SAMPLE), X(MF_TRANSFORM_ASYNC_UNLOCK), X(MF_DISABLE_FRAME_CORRUPTION_INFO), X(MF_TOPOLOGY_ENUMERATE_SOURCE_TYPES), + X(MFTranscodeContainerType_ASF), X(MF_MT_VIDEO_NO_FRAME_ORDERING), X(MF_MEDIA_ENGINE_PLAYBACK_VISUAL), X(MF_MT_VIDEO_CHROMA_SITING), @@ -1809,8 +1817,10 @@ const char *debugstr_attr(const GUID *guid) X(MF_MT_AAC_PAYLOAD_TYPE), X(MF_TOPOLOGY_PLAYBACK_FRAMERATE), X(MF_SOURCE_READER_D3D11_BIND_FLAGS), + X(MF_TRANSCODE_ENCODINGPROFILE), X(MF_MT_AUDIO_FOLDDOWN_MATRIX), X(MF_MT_AUDIO_WMADRC_PEAKREF), + X(MFTranscodeContainerType_ADTS), X(MF_MT_AUDIO_WMADRC_PEAKTARGET), X(MF_TRANSFORM_FLAGS_Attribute), X(MF_MT_H264_SUPPORTED_RATE_CONTROL_MODES), @@ -1879,6 +1889,7 @@ const char *debugstr_attr(const GUID *guid) X(MF_MT_VIDEO_3D_FORMAT), X(MF_EVENT_STREAM_METADATA_KEYDATA), X(MF_READER_WRITER_D3D_MANAGER), + X(MFTranscodeContainerType_FLAC), X(MFSampleExtension_3DVideo), X(MF_SA_MINIMUM_OUTPUT_SAMPLE_COUNT_PROGRESSIVE), X(MF_MT_H264_USAGE), @@ -1897,6 +1908,7 @@ const char *debugstr_attr(const GUID *guid) X(MFT_ENCODER_SUPPORTS_CONFIG_EVENT), X(MF_MT_AUDIO_FLAC_MAX_BLOCK_SIZE), X(MFT_FRIENDLY_NAME_Attribute), + X(MFTranscodeContainerType_AVI), X(MF_MT_FIXED_SIZE_SAMPLES), X(MFT_SUPPORT_3DVIDEO), X(MFT_SUPPORT_3DVIDEO), @@ -1920,6 +1932,7 @@ const char *debugstr_attr(const GUID *guid) X(MF_SA_D3D11_SHARED), X(MF_MT_PAN_SCAN_ENABLED), X(MF_MT_D3D12_RESOURCE_FLAG_ALLOW_DEPTH_STENCIL), + X(MFTranscodeContainerType_AC3), X(MF_AUDIO_RENDERER_ATTRIBUTE_ENDPOINT_ID), X(MF_MT_DV_VAUX_CTRL_PACK), X(MFSampleExtension_ForwardedDecodeUnitType), @@ -1934,6 +1947,7 @@ const char *debugstr_attr(const GUID *guid) X(MFT_ENUM_HARDWARE_VENDOR_ID_Attribute), X(MFT_ENUM_TRANSCODE_ONLY_ATTRIBUTE), X(MF_READWRITE_MMCSS_PRIORITY), + X(MF_TRANSCODE_DONOT_INSERT_ENCODER), X(MF_MT_VIDEO_3D), X(MF_EVENT_START_PRESENTATION_TIME), X(MF_EVENT_SESSIONCAPS), @@ -1941,6 +1955,7 @@ const char *debugstr_attr(const GUID *guid) X(MF_MEDIA_ENGINE_AUDIO_ENDPOINT_ROLE), X(MF_EVENT_SESSIONCAPS_DELTA), X(MF_EVENT_START_PRESENTATION_TIME_AT_OUTPUT), + X(MFTranscodeContainerType_AMR), X(MFSampleExtension_DecodeTimestamp), X(MF_MEDIA_ENGINE_COMPATIBILITY_MODE), X(MF_SA_MINIMUM_OUTPUT_SAMPLE_COUNT), @@ -1991,8 +2006,10 @@ const char *debugstr_attr(const GUID *guid) X(MF_TOPONODE_STREAM_DESCRIPTOR), X(MF_TOPONODE_ERRORCODE), X(MF_TOPONODE_SEQUENCE_ELEMENTID), + X(MF_TRANSCODE_SKIP_METADATA_TRANSFER), X(MF_EVENT_MFT_CONTEXT), X(MF_MT_FORWARD_CUSTOM_SEI), + X(MFTranscodeContainerType_FMPEG4), X(MF_TOPONODE_CONNECT_METHOD), X(MFT_OUTPUT_TYPES_Attributes), X(MF_MT_IMAGE_LOSS_TOLERANT), @@ -2002,9 +2019,11 @@ const char *debugstr_attr(const GUID *guid) X(MF_MT_ARBITRARY_HEADER), X(MF_TOPOLOGY_DXVA_MODE), X(MF_TOPONODE_LOCKED), + X(MF_TRANSCODE_QUALITYVSSPEED), X(MF_TOPONODE_WORKQUEUE_ID), X(MF_MEDIA_ENGINE_CONTINUE_ON_CODEC_ERROR), X(MF_TOPONODE_WORKQUEUE_MMCSS_CLASS), + X(MFTranscodeContainerType_MPEG2), X(MF_TOPONODE_DECRYPTOR), X(MF_EVENT_DO_THINNING), X(MF_TOPONODE_DISCARDABLE), diff --git a/include/mfidl.idl b/include/mfidl.idl index e492bf8daf0..14e2dd7ce4d 100644 --- a/include/mfidl.idl +++ b/include/mfidl.idl @@ -113,6 +113,24 @@ typedef enum _MFSTREAMSINK_MARKER_TYPE MFSTREAMSINK_MARKER_EVENT, } MFSTREAMSINK_MARKER_TYPE;
+typedef enum _MF_TRANSCODE_TOPOLOGYMODE_FLAGS +{ + MF_TRANSCODE_TOPOLOGYMODE_SOFTWARE_ONLY = 0, + MF_TRANSCODE_TOPOLOGYMODE_HARDWARE_ALLOWED = 1, +} MF_TRANSCODE_TOPOLOGYMODE_FLAGS; + +typedef enum _MF_TRANSCODE_ADJUST_PROFILE_FLAGS +{ + MF_TRANSCODE_ADJUST_PROFILE_DEFAULT = 0, + MF_TRANSCODE_ADJUST_PROFILE_USE_SOURCE_ATTRIBUTES = 1, +} MF_TRANSCODE_ADJUST_PROFILE_FLAGS; + +typedef enum _MF_VIDEO_PROCESSOR_ALGORITHM_TYPE +{ + MF_VIDEO_PROCESSOR_ALGORITHM_DEFAULT = 0, + MF_VIDEO_PROCESSOR_ALGORITHM_MRF_CRF_444 = 1, +} MF_VIDEO_PROCESSOR_ALGORITHM_TYPE; + [ object, uuid(2eb1e945-18b8-4139-9b1a-d5d584818530), @@ -1639,3 +1657,24 @@ cpp_quote("EXTERN_GUID(CLSID_WMADecMediaObject, 0x2eeb4adf, 0x4578, 0x4d10, 0xbc cpp_quote("EXTERN_GUID(CLSID_HttpSchemePlugin, 0x44cb442b, 0x9da9, 0x49df, 0xb3, 0xfd, 0x02, 0x37, 0x77, 0xb1, 0x6e, 0x50);") cpp_quote("EXTERN_GUID(CLSID_NetSchemePlugin, 0xe9f4ebab, 0xd97b, 0x463e, 0xa2, 0xb1, 0xc5, 0x4e, 0xe3, 0xf9, 0x41, 0x4d);") cpp_quote("EXTERN_GUID(CLSID_UrlmonSchemePlugin, 0x9ec4b4f9, 0x3029, 0x45ad, 0x94, 0x7b, 0x34, 0x4d, 0xe2, 0xa2, 0x49, 0xe2);") + +cpp_quote("EXTERN_GUID(MF_TRANSCODE_ADJUST_PROFILE, 0x9c37c21b, 0x060f, 0x487c, 0xa6, 0x90, 0x80, 0xd7, 0xf5, 0x0d, 0x1c, 0x72);") +cpp_quote("EXTERN_GUID(MF_TRANSCODE_CONTAINERTYPE, 0x150ff23f, 0x4abc, 0x478b, 0xac, 0x4f, 0xe1, 0x91, 0x6f, 0xba, 0x1c, 0xca);") +cpp_quote("EXTERN_GUID(MF_TRANSCODE_DONOT_INSERT_ENCODER, 0xf45aa7ce, 0xab24, 0x4012, 0xa1, 0x1b, 0xdc, 0x82, 0x20, 0x20, 0x14, 0x10);") +cpp_quote("EXTERN_GUID(MF_TRANSCODE_ENCODINGPROFILE, 0x6947787c, 0xf508, 0x4ea9, 0xb1, 0xe9, 0xa1, 0xfe, 0x3a, 0x49, 0xfb, 0xc9);") +cpp_quote("EXTERN_GUID(MF_TRANSCODE_SKIP_METADATA_TRANSFER, 0x4e4469ef, 0xb571, 0x4959, 0x8f, 0x83, 0x3d, 0xcf, 0xba, 0x33, 0xa3, 0x93);") +cpp_quote("EXTERN_GUID(MF_TRANSCODE_TOPOLOGYMODE, 0x3e3df610, 0x394a, 0x40b2, 0x9d, 0xea, 0x3b, 0xab, 0x65, 0x0b, 0xeb, 0xf2);") +cpp_quote("EXTERN_GUID(MF_TRANSCODE_QUALITYVSSPEED, 0x98332df8, 0x03cd, 0x476b, 0x89, 0xfa, 0x3f, 0x9e, 0x44, 0x2d, 0xec, 0x9f);") + +cpp_quote("EXTERN_GUID(MFTranscodeContainerType_3GP, 0x34c50167, 0x4472, 0x4f34, 0x9e, 0xa0, 0xc4, 0x9f, 0xba, 0xcf, 0x03, 0x7d);") +cpp_quote("EXTERN_GUID(MFTranscodeContainerType_AC3, 0x6d8d91c3, 0x8c91, 0x4ed1, 0x87, 0x42, 0x8c, 0x34, 0x7d, 0x5b, 0x44, 0xd0);") +cpp_quote("EXTERN_GUID(MFTranscodeContainerType_ADTS, 0x132fd27d, 0x0f02, 0x43de, 0xa3, 0x01, 0x38, 0xfb, 0xbb, 0xb3, 0x83, 0x4e);") +cpp_quote("EXTERN_GUID(MFTranscodeContainerType_AMR, 0x25d5ad3, 0x621a, 0x475b, 0x96, 0x4d, 0x66, 0xb1, 0xc8, 0x24, 0xf0, 0x79);") +cpp_quote("EXTERN_GUID(MFTranscodeContainerType_ASF, 0x430f6f6e, 0xb6bf, 0x4fc1, 0xa0, 0xbd, 0x9e, 0xe4, 0x6e, 0xee, 0x2a, 0xfb);") +cpp_quote("EXTERN_GUID(MFTranscodeContainerType_AVI, 0x7edfe8af, 0x402f, 0x4d76, 0xa3, 0x3c, 0x61, 0x9f, 0xd1, 0x57, 0xd0, 0xf1);") +cpp_quote("EXTERN_GUID(MFTranscodeContainerType_FLAC, 0x31344aa3, 0x05a9, 0x42b5, 0x90, 0x1b, 0x8e, 0x9d, 0x42, 0x57, 0xf7, 0x5e);") +cpp_quote("EXTERN_GUID(MFTranscodeContainerType_FMPEG4, 0x9ba876f1, 0x419f, 0x4b77, 0xa1, 0xe0, 0x35, 0x95, 0x9d, 0x9d, 0x40, 0x04);") +cpp_quote("EXTERN_GUID(MFTranscodeContainerType_MP3, 0xe438b912, 0x83f1, 0x4de6, 0x9e, 0x3a, 0x9f, 0xfb, 0xc6, 0xdd, 0x24, 0xd1);") +cpp_quote("EXTERN_GUID(MFTranscodeContainerType_MPEG2, 0xbfc2dbf9, 0x7bb4, 0x4f8f, 0xaf, 0xde, 0xe1, 0x12, 0xc4, 0x4b, 0xa8, 0x82);") +cpp_quote("EXTERN_GUID(MFTranscodeContainerType_MPEG4, 0xdc6cd05d, 0xb9d0, 0x40ef, 0xbd, 0x35, 0xfa, 0x62, 0x2c, 0x1a, 0xb2, 0x8a);") +cpp_quote("EXTERN_GUID(MFTranscodeContainerType_WAVE, 0x64c3453c, 0x0f26, 0x4741, 0xbe, 0x63, 0x87, 0xbd, 0xf8, 0xbb, 0x93, 0x5b);")