//
// Copyright (c) Microsoft Corporation. All rights reserved.
// 
//
// File generated by WinMDIDL version 8.00.0021
//

import "inspectable.idl";
import "AsyncInfo.idl";
import "EventToken.idl";
import "windowscontracts.idl";
import "Windows.Foundation.idl";
import "Windows.Media.Core.idl";
import "Windows.Storage.idl";
import "Windows.Storage.Streams.idl";

// Forward Declare
namespace Windows
{
    namespace Foundation
    {
        apicontract UniversalApiContract;
    }
}
namespace Windows
{
    namespace Media
    {
        namespace Core
        {
            runtimeclass AudioStreamDescriptor;

            runtimeclass TimedMetadataStreamDescriptor;

            runtimeclass VideoStreamDescriptor;
        }
    }
}
namespace Windows
{
    namespace Storage
    {
        interface IStorageFile;
    }
}
namespace Windows
{
    namespace Storage
    {
        namespace Streams
        {
            interface IRandomAccessStream;
        }
    }
}
namespace Windows
{
    namespace Media
    {
        namespace MediaProperties
        {
            typedef enum AudioEncodingQuality AudioEncodingQuality;

            typedef enum MediaMirroringOptions MediaMirroringOptions;

            typedef enum MediaPixelFormat MediaPixelFormat;

            typedef enum MediaRotation MediaRotation;

            typedef enum MediaThumbnailFormat MediaThumbnailFormat;

            typedef enum SphericalVideoFrameFormat SphericalVideoFrameFormat;

            typedef enum StereoscopicVideoPackingMode StereoscopicVideoPackingMode;

            typedef enum VideoEncodingQuality VideoEncodingQuality;

            interface IAudioEncodingProperties;

            interface IAudioEncodingProperties2;

            interface IAudioEncodingProperties3;

            interface IAudioEncodingPropertiesStatics;

            interface IAudioEncodingPropertiesStatics2;

            interface IAudioEncodingPropertiesWithFormatUserData;

            interface IAv1ProfileIdsStatics;

            interface IContainerEncodingProperties;

            interface IContainerEncodingProperties2;

            interface IH264ProfileIdsStatics;

            interface IHevcProfileIdsStatics;

            interface IImageEncodingProperties;

            interface IImageEncodingProperties2;

            interface IImageEncodingPropertiesStatics;

            interface IImageEncodingPropertiesStatics2;

            interface IImageEncodingPropertiesStatics3;

            interface IMediaEncodingProfile;

            interface IMediaEncodingProfile2;

            interface IMediaEncodingProfile3;

            interface IMediaEncodingProfileStatics;

            interface IMediaEncodingProfileStatics2;

            interface IMediaEncodingProfileStatics3;

            interface IMediaEncodingProfileStatics4;

            interface IMediaEncodingProperties;

            interface IMediaEncodingSubtypesStatics;

            interface IMediaEncodingSubtypesStatics2;

            interface IMediaEncodingSubtypesStatics3;

            interface IMediaEncodingSubtypesStatics4;

            interface IMediaEncodingSubtypesStatics5;

            interface IMediaEncodingSubtypesStatics6;

            interface IMediaEncodingSubtypesStatics7;

            interface IMediaRatio;

            interface IMpeg2ProfileIdsStatics;

            interface ITimedMetadataEncodingProperties;

            interface ITimedMetadataEncodingPropertiesStatics;

            interface IVideoEncodingProperties;

            interface IVideoEncodingProperties2;

            interface IVideoEncodingProperties3;

            interface IVideoEncodingProperties4;

            interface IVideoEncodingProperties5;

            interface IVideoEncodingPropertiesStatics;

            interface IVideoEncodingPropertiesStatics2;

            interface IVideoEncodingPropertiesStatics3;

            interface IVp9ProfileIdsStatics;

            runtimeclass AudioEncodingProperties;

            runtimeclass Av1ProfileIds;

            runtimeclass ContainerEncodingProperties;

            runtimeclass H264ProfileIds;

            runtimeclass HevcProfileIds;

            runtimeclass ImageEncodingProperties;

            runtimeclass MediaEncodingProfile;

            runtimeclass MediaEncodingSubtypes;

            runtimeclass MediaPropertySet;

            runtimeclass MediaRatio;

            runtimeclass Mpeg2ProfileIds;

            runtimeclass TimedMetadataEncodingProperties;

            runtimeclass VideoEncodingProperties;

            runtimeclass Vp9ProfileIds;
        }
    }
}

// Generic instantiations
namespace Windows
{
    namespace Media
    {
        namespace MediaProperties
        {
            declare
            {
                interface Windows.Foundation.Collections.IIterable<Windows.Media.MediaProperties.AudioEncodingProperties*>;

                interface Windows.Foundation.Collections.IIterable<Windows.Media.MediaProperties.IMediaEncodingProperties*>;

                interface Windows.Foundation.Collections.IIterable<Windows.Media.MediaProperties.VideoEncodingProperties*>;

                interface Windows.Foundation.Collections.IIterator<Windows.Media.MediaProperties.AudioEncodingProperties*>;

                interface Windows.Foundation.Collections.IIterator<Windows.Media.MediaProperties.IMediaEncodingProperties*>;

                interface Windows.Foundation.Collections.IIterator<Windows.Media.MediaProperties.VideoEncodingProperties*>;

                interface Windows.Foundation.Collections.IVectorView<Windows.Media.MediaProperties.AudioEncodingProperties*>;

                interface Windows.Foundation.Collections.IVectorView<Windows.Media.MediaProperties.IMediaEncodingProperties*>;

                interface Windows.Foundation.Collections.IVectorView<Windows.Media.MediaProperties.VideoEncodingProperties*>;

                interface Windows.Foundation.IAsyncOperation<Windows.Media.MediaProperties.MediaEncodingProfile*>;
            }
        }
    }
}

// Type definition
namespace Windows
{
    namespace Media
    {
        namespace MediaProperties
        {
            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            enum AudioEncodingQuality
            {
                Auto   = 0,
                High   = 1,
                Medium = 2,
                Low    = 3
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [flags]
            enum MediaMirroringOptions
            {
                None       = 0x0,
                Horizontal = 0x1,
                Vertical   = 0x2
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            enum MediaPixelFormat
            {
                Nv12  = 0,
                Bgra8 = 1,
                [contract(Windows.Foundation.UniversalApiContract, 6.0)]
                P010  = 2
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            enum MediaRotation
            {
                None                = 0,
                Clockwise90Degrees  = 1,
                Clockwise180Degrees = 2,
                Clockwise270Degrees = 3
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            enum MediaThumbnailFormat
            {
                Bmp   = 0,
                Bgra8 = 1
            };

            [contract(Windows.Foundation.UniversalApiContract, 4.0)]
            enum SphericalVideoFrameFormat
            {
                None            = 0,
                Unsupported     = 1,
                Equirectangular = 2
            };

            [contract(Windows.Foundation.UniversalApiContract, 3.0)]
            enum StereoscopicVideoPackingMode
            {
                None       = 0,
                SideBySide = 1,
                TopBottom  = 2
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            enum VideoEncodingQuality
            {
                Auto     = 0,
                HD1080p  = 1,
                HD720p   = 2,
                Wvga     = 3,
                Ntsc     = 4,
                Pal      = 5,
                Vga      = 6,
                Qvga     = 7,
                [contract(Windows.Foundation.UniversalApiContract, 4.0)]
                Uhd2160p = 8,
                [contract(Windows.Foundation.UniversalApiContract, 4.0)]
                Uhd4320p = 9
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Media.MediaProperties.AudioEncodingProperties)]
            [uuid(62BC7A16-005C-4B3B-8A0B-0A090E9687F3)]
            interface IAudioEncodingProperties : IInspectable
                requires
                    Windows.Media.MediaProperties.IMediaEncodingProperties
            {
                [propput] HRESULT Bitrate([in] UINT32 value);
                [propget] HRESULT Bitrate([out] [retval] UINT32* value);
                [propput] HRESULT ChannelCount([in] UINT32 value);
                [propget] HRESULT ChannelCount([out] [retval] UINT32* value);
                [propput] HRESULT SampleRate([in] UINT32 value);
                [propget] HRESULT SampleRate([out] [retval] UINT32* value);
                [propput] HRESULT BitsPerSample([in] UINT32 value);
                [propget] HRESULT BitsPerSample([out] [retval] UINT32* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 4.0)]
            [exclusiveto(Windows.Media.MediaProperties.AudioEncodingProperties)]
            [uuid(C45D54DA-80BD-4C23-80D5-72D4A181E894)]
            interface IAudioEncodingProperties2 : IInspectable
            {
                [propget] HRESULT IsSpatial([out] [retval] boolean* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 6.0)]
            [exclusiveto(Windows.Media.MediaProperties.AudioEncodingProperties)]
            [uuid(87600341-748C-4F8D-B0FD-10CAF08FF087)]
            interface IAudioEncodingProperties3 : IInspectable
            {
                HRESULT Copy([out] [retval] Windows.Media.MediaProperties.AudioEncodingProperties** result);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Media.MediaProperties.AudioEncodingProperties)]
            [uuid(0CAD332C-EBE9-4527-B36D-E42A13CF38DB)]
            interface IAudioEncodingPropertiesStatics : IInspectable
            {
                HRESULT CreateAac([in] UINT32 sampleRate, [in] UINT32 channelCount, [in] UINT32 bitrate, [out] [retval] Windows.Media.MediaProperties.AudioEncodingProperties** value);
                HRESULT CreateAacAdts([in] UINT32 sampleRate, [in] UINT32 channelCount, [in] UINT32 bitrate, [out] [retval] Windows.Media.MediaProperties.AudioEncodingProperties** value);
                HRESULT CreateMp3([in] UINT32 sampleRate, [in] UINT32 channelCount, [in] UINT32 bitrate, [out] [retval] Windows.Media.MediaProperties.AudioEncodingProperties** value);
                HRESULT CreatePcm([in] UINT32 sampleRate, [in] UINT32 channelCount, [in] UINT32 bitsPerSample, [out] [retval] Windows.Media.MediaProperties.AudioEncodingProperties** value);
                HRESULT CreateWma([in] UINT32 sampleRate, [in] UINT32 channelCount, [in] UINT32 bitrate, [out] [retval] Windows.Media.MediaProperties.AudioEncodingProperties** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 4.0)]
            [exclusiveto(Windows.Media.MediaProperties.AudioEncodingProperties)]
            [uuid(7489316F-77A0-433D-8ED5-4040280E8665)]
            interface IAudioEncodingPropertiesStatics2 : IInspectable
            {
                HRESULT CreateAlac([in] UINT32 sampleRate, [in] UINT32 channelCount, [in] UINT32 bitsPerSample, [out] [retval] Windows.Media.MediaProperties.AudioEncodingProperties** value);
                HRESULT CreateFlac([in] UINT32 sampleRate, [in] UINT32 channelCount, [in] UINT32 bitsPerSample, [out] [retval] Windows.Media.MediaProperties.AudioEncodingProperties** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Media.MediaProperties.AudioEncodingProperties)]
            [uuid(98F10D79-13EA-49FF-BE70-2673DB69702C)]
            interface IAudioEncodingPropertiesWithFormatUserData : IInspectable
            {
                HRESULT SetFormatUserData([in] UINT32 __valueSize, [in] [size_is(__valueSize)] BYTE* value);
                HRESULT GetFormatUserData([out] UINT32* __valueSize, [out] [size_is(, *__valueSize)] BYTE** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 15.0)]
            [exclusiveto(Windows.Media.MediaProperties.Av1ProfileIds)]
            [uuid(9105812B-7C09-5882-88A4-678008A5174D)]
            interface IAv1ProfileIdsStatics : IInspectable
            {
                [propget] HRESULT MainChromaSubsampling420BitDepth8([out] [retval] INT32* value);
                [propget] HRESULT MainChromaSubsampling420BitDepth10([out] [retval] INT32* value);
                [propget] HRESULT MainChromaSubsampling400BitDepth8([out] [retval] INT32* value);
                [propget] HRESULT MainChromaSubsampling400BitDepth10([out] [retval] INT32* value);
                [propget] HRESULT HighChromaSubsampling444BitDepth8([out] [retval] INT32* value);
                [propget] HRESULT HighChromaSubsampling444BitDepth10([out] [retval] INT32* value);
                [propget] HRESULT ProfessionalChromaSubsampling420BitDepth12([out] [retval] INT32* value);
                [propget] HRESULT ProfessionalChromaSubsampling400BitDepth12([out] [retval] INT32* value);
                [propget] HRESULT ProfessionalChromaSubsampling444BitDepth12([out] [retval] INT32* value);
                [propget] HRESULT ProfessionalChromaSubsampling422BitDepth8([out] [retval] INT32* value);
                [propget] HRESULT ProfessionalChromaSubsampling422BitDepth10([out] [retval] INT32* value);
                [propget] HRESULT ProfessionalChromaSubsampling422BitDepth12([out] [retval] INT32* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Media.MediaProperties.ContainerEncodingProperties)]
            [uuid(59AC2A57-B32A-479E-8A61-4B7F2E9E7EA0)]
            interface IContainerEncodingProperties : IInspectable
                requires
                    Windows.Media.MediaProperties.IMediaEncodingProperties
            {
            }

            [contract(Windows.Foundation.UniversalApiContract, 6.0)]
            [exclusiveto(Windows.Media.MediaProperties.ContainerEncodingProperties)]
            [uuid(B272C029-AE26-4819-BAAD-AD7A49B0A876)]
            interface IContainerEncodingProperties2 : IInspectable
            {
                HRESULT Copy([out] [retval] Windows.Media.MediaProperties.ContainerEncodingProperties** result);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Media.MediaProperties.H264ProfileIds)]
            [uuid(38654CA7-846A-4F97-A2E5-C3A15BBF70FD)]
            interface IH264ProfileIdsStatics : IInspectable
            {
                [propget] HRESULT ConstrainedBaseline([out] [retval] INT32* value);
                [propget] HRESULT Baseline([out] [retval] INT32* value);
                [propget] HRESULT Extended([out] [retval] INT32* value);
                [propget] HRESULT Main([out] [retval] INT32* value);
                [propget] HRESULT High([out] [retval] INT32* value);
                [propget] HRESULT High10([out] [retval] INT32* value);
                [propget] HRESULT High422([out] [retval] INT32* value);
                [propget] HRESULT High444([out] [retval] INT32* value);
                [propget] HRESULT StereoHigh([out] [retval] INT32* value);
                [propget] HRESULT MultiviewHigh([out] [retval] INT32* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 15.0)]
            [exclusiveto(Windows.Media.MediaProperties.HevcProfileIds)]
            [uuid(1E50D280-2AA7-53C1-973F-2189FA656F53)]
            interface IHevcProfileIdsStatics : IInspectable
            {
                [propget] HRESULT MainChromaSubsampling420BitDepth8([out] [retval] INT32* value);
                [propget] HRESULT MainChromaSubsampling420BitDepth10([out] [retval] INT32* value);
                [propget] HRESULT MainChromaSubsampling420BitDepth12([out] [retval] INT32* value);
                [propget] HRESULT MainChromaSubsampling422BitDepth10([out] [retval] INT32* value);
                [propget] HRESULT MainChromaSubsampling422BitDepth12([out] [retval] INT32* value);
                [propget] HRESULT MainChromaSubsampling444BitDepth8([out] [retval] INT32* value);
                [propget] HRESULT MainChromaSubsampling444BitDepth10([out] [retval] INT32* value);
                [propget] HRESULT MainChromaSubsampling444BitDepth12([out] [retval] INT32* value);
                [propget] HRESULT MonochromeBitDepth12([out] [retval] INT32* value);
                [propget] HRESULT MonochromeBitDepth16([out] [retval] INT32* value);
                [propget] HRESULT MainIntraChromaSubsampling420BitDepth8([out] [retval] INT32* value);
                [propget] HRESULT MainIntraChromaSubsampling420BitDepth10([out] [retval] INT32* value);
                [propget] HRESULT MainIntraChromaSubsampling420BitDepth12([out] [retval] INT32* value);
                [propget] HRESULT MainIntraChromaSubsampling422BitDepth10([out] [retval] INT32* value);
                [propget] HRESULT MainIntraChromaSubsampling422BitDepth12([out] [retval] INT32* value);
                [propget] HRESULT MainIntraChromaSubsampling444BitDepth8([out] [retval] INT32* value);
                [propget] HRESULT MainIntraChromaSubsampling444BitDepth10([out] [retval] INT32* value);
                [propget] HRESULT MainIntraChromaSubsampling444BitDepth12([out] [retval] INT32* value);
                [propget] HRESULT MainIntraChromaSubsampling444BitDepth16([out] [retval] INT32* value);
                [propget] HRESULT MainStillChromaSubsampling420BitDepth8([out] [retval] INT32* value);
                [propget] HRESULT MainStillChromaSubsampling444BitDepth8([out] [retval] INT32* value);
                [propget] HRESULT MainStillChromaSubsampling444BitDepth16([out] [retval] INT32* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Media.MediaProperties.ImageEncodingProperties)]
            [uuid(78625635-F331-4189-B1C3-B48D5AE034F1)]
            interface IImageEncodingProperties : IInspectable
                requires
                    Windows.Media.MediaProperties.IMediaEncodingProperties
            {
                [propput] HRESULT Width([in] UINT32 value);
                [propget] HRESULT Width([out] [retval] UINT32* value);
                [propput] HRESULT Height([in] UINT32 value);
                [propget] HRESULT Height([out] [retval] UINT32* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 6.0)]
            [exclusiveto(Windows.Media.MediaProperties.ImageEncodingProperties)]
            [uuid(C854A2DF-C923-469B-AC8E-6A9F3C1CD9E3)]
            interface IImageEncodingProperties2 : IInspectable
            {
                HRESULT Copy([out] [retval] Windows.Media.MediaProperties.ImageEncodingProperties** result);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Media.MediaProperties.ImageEncodingProperties)]
            [uuid(257C68DC-8B99-439E-AA59-913A36161297)]
            interface IImageEncodingPropertiesStatics : IInspectable
            {
                HRESULT CreateJpeg([out] [retval] Windows.Media.MediaProperties.ImageEncodingProperties** value);
                HRESULT CreatePng([out] [retval] Windows.Media.MediaProperties.ImageEncodingProperties** value);
                HRESULT CreateJpegXR([out] [retval] Windows.Media.MediaProperties.ImageEncodingProperties** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Media.MediaProperties.ImageEncodingProperties)]
            [uuid(F6C25B29-3824-46B0-956E-501329E1BE3C)]
            interface IImageEncodingPropertiesStatics2 : IInspectable
            {
                HRESULT CreateUncompressed([in] Windows.Media.MediaProperties.MediaPixelFormat format, [out] [retval] Windows.Media.MediaProperties.ImageEncodingProperties** value);
                HRESULT CreateBmp([out] [retval] Windows.Media.MediaProperties.ImageEncodingProperties** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 7.0)]
            [exclusiveto(Windows.Media.MediaProperties.ImageEncodingProperties)]
            [uuid(48F4814D-A2FF-48DC-8EA0-E90680663656)]
            interface IImageEncodingPropertiesStatics3 : IInspectable
            {
                HRESULT CreateHeif([out] [retval] Windows.Media.MediaProperties.ImageEncodingProperties** result);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Media.MediaProperties.MediaEncodingProfile)]
            [uuid(E7DBF5A8-1DB9-4783-876B-3DFE12ACFDB3)]
            interface IMediaEncodingProfile : IInspectable
            {
                [propput] HRESULT Audio([in] Windows.Media.MediaProperties.AudioEncodingProperties* value);
                [propget] HRESULT Audio([out] [retval] Windows.Media.MediaProperties.AudioEncodingProperties** value);
                [propput] HRESULT Video([in] Windows.Media.MediaProperties.VideoEncodingProperties* value);
                [propget] HRESULT Video([out] [retval] Windows.Media.MediaProperties.VideoEncodingProperties** value);
                [propput] HRESULT Container([in] Windows.Media.MediaProperties.ContainerEncodingProperties* value);
                [propget] HRESULT Container([out] [retval] Windows.Media.MediaProperties.ContainerEncodingProperties** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 5.0)]
            [exclusiveto(Windows.Media.MediaProperties.MediaEncodingProfile)]
            [uuid(349B3E0A-4035-488E-9877-85632865ED10)]
            interface IMediaEncodingProfile2 : IInspectable
            {
                HRESULT SetAudioTracks([in] Windows.Foundation.Collections.IIterable<Windows.Media.Core.AudioStreamDescriptor*>* value);
                HRESULT GetAudioTracks([out] [retval] Windows.Foundation.Collections.IVector<Windows.Media.Core.AudioStreamDescriptor*>** value);
                HRESULT SetVideoTracks([in] Windows.Foundation.Collections.IIterable<Windows.Media.Core.VideoStreamDescriptor*>* value);
                HRESULT GetVideoTracks([out] [retval] Windows.Foundation.Collections.IVector<Windows.Media.Core.VideoStreamDescriptor*>** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 6.0)]
            [exclusiveto(Windows.Media.MediaProperties.MediaEncodingProfile)]
            [uuid(BA6EBE88-7570-4E69-ACCF-5611AD015F88)]
            interface IMediaEncodingProfile3 : IInspectable
            {
                HRESULT SetTimedMetadataTracks([in] Windows.Foundation.Collections.IIterable<Windows.Media.Core.TimedMetadataStreamDescriptor*>* value);
                HRESULT GetTimedMetadataTracks([out] [retval] Windows.Foundation.Collections.IVector<Windows.Media.Core.TimedMetadataStreamDescriptor*>** result);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Media.MediaProperties.MediaEncodingProfile)]
            [uuid(197F352C-2EDE-4A45-A896-817A4854F8FE)]
            interface IMediaEncodingProfileStatics : IInspectable
            {
                HRESULT CreateM4a([in] Windows.Media.MediaProperties.AudioEncodingQuality quality, [out] [retval] Windows.Media.MediaProperties.MediaEncodingProfile** value);
                HRESULT CreateMp3([in] Windows.Media.MediaProperties.AudioEncodingQuality quality, [out] [retval] Windows.Media.MediaProperties.MediaEncodingProfile** value);
                HRESULT CreateWma([in] Windows.Media.MediaProperties.AudioEncodingQuality quality, [out] [retval] Windows.Media.MediaProperties.MediaEncodingProfile** value);
                HRESULT CreateMp4([in] Windows.Media.MediaProperties.VideoEncodingQuality quality, [out] [retval] Windows.Media.MediaProperties.MediaEncodingProfile** value);
                HRESULT CreateWmv([in] Windows.Media.MediaProperties.VideoEncodingQuality quality, [out] [retval] Windows.Media.MediaProperties.MediaEncodingProfile** value);
                HRESULT CreateFromFileAsync([in] Windows.Storage.IStorageFile* file, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.Media.MediaProperties.MediaEncodingProfile*>** operation);
                HRESULT CreateFromStreamAsync([in] Windows.Storage.Streams.IRandomAccessStream* stream, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.Media.MediaProperties.MediaEncodingProfile*>** operation);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Media.MediaProperties.MediaEncodingProfile)]
            [uuid(CE8DE74F-6AF4-4288-8FE2-79ADF1F79A43)]
            interface IMediaEncodingProfileStatics2 : IInspectable
            {
                HRESULT CreateWav([in] Windows.Media.MediaProperties.AudioEncodingQuality quality, [out] [retval] Windows.Media.MediaProperties.MediaEncodingProfile** value);
                HRESULT CreateAvi([in] Windows.Media.MediaProperties.VideoEncodingQuality quality, [out] [retval] Windows.Media.MediaProperties.MediaEncodingProfile** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 4.0)]
            [exclusiveto(Windows.Media.MediaProperties.MediaEncodingProfile)]
            [uuid(90DAC5AA-CF76-4294-A9ED-1A1420F51F6B)]
            interface IMediaEncodingProfileStatics3 : IInspectable
            {
                HRESULT CreateAlac([in] Windows.Media.MediaProperties.AudioEncodingQuality quality, [out] [retval] Windows.Media.MediaProperties.MediaEncodingProfile** value);
                HRESULT CreateFlac([in] Windows.Media.MediaProperties.AudioEncodingQuality quality, [out] [retval] Windows.Media.MediaProperties.MediaEncodingProfile** value);
                HRESULT CreateHevc([in] Windows.Media.MediaProperties.VideoEncodingQuality quality, [out] [retval] Windows.Media.MediaProperties.MediaEncodingProfile** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 15.0)]
            [exclusiveto(Windows.Media.MediaProperties.MediaEncodingProfile)]
            [uuid(6FAFD7B5-9404-514A-81DD-C9444D648AF0)]
            interface IMediaEncodingProfileStatics4 : IInspectable
            {
                HRESULT CreateVp9([in] Windows.Media.MediaProperties.VideoEncodingQuality quality, [out] [retval] Windows.Media.MediaProperties.MediaEncodingProfile** result);
                HRESULT CreateAv1([in] Windows.Media.MediaProperties.VideoEncodingQuality quality, [out] [retval] Windows.Media.MediaProperties.MediaEncodingProfile** result);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [uuid(B4002AF6-ACD4-4E5A-A24B-5D7498A8B8C4)]
            interface IMediaEncodingProperties : IInspectable
            {
                [propget] HRESULT Properties([out] [retval] Windows.Media.MediaProperties.MediaPropertySet** value);
                [propget] HRESULT Type([out] [retval] HSTRING* value);
                [propput] HRESULT Subtype([in] HSTRING value);
                [propget] HRESULT Subtype([out] [retval] HSTRING* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Media.MediaProperties.MediaEncodingSubtypes)]
            [uuid(37B6580E-A171-4464-BA5A-53189E48C1C8)]
            interface IMediaEncodingSubtypesStatics : IInspectable
            {
                [propget] HRESULT Aac([out] [retval] HSTRING* value);
                [propget] HRESULT AacAdts([out] [retval] HSTRING* value);
                [propget] HRESULT Ac3([out] [retval] HSTRING* value);
                [propget] HRESULT AmrNb([out] [retval] HSTRING* value);
                [propget] HRESULT AmrWb([out] [retval] HSTRING* value);
                [propget] HRESULT Argb32([out] [retval] HSTRING* value);
                [propget] HRESULT Asf([out] [retval] HSTRING* value);
                [propget] HRESULT Avi([out] [retval] HSTRING* value);
                [propget] HRESULT Bgra8([out] [retval] HSTRING* value);
                [propget] HRESULT Bmp([out] [retval] HSTRING* value);
                [propget] HRESULT Eac3([out] [retval] HSTRING* value);
                [propget] HRESULT Float([out] [retval] HSTRING* value);
                [propget] HRESULT Gif([out] [retval] HSTRING* value);
                [propget] HRESULT H263([out] [retval] HSTRING* value);
                [propget] HRESULT H264([out] [retval] HSTRING* value);
                [propget] HRESULT H264Es([out] [retval] HSTRING* value);
                [propget] HRESULT Hevc([out] [retval] HSTRING* value);
                [propget] HRESULT HevcEs([out] [retval] HSTRING* value);
                [propget] HRESULT Iyuv([out] [retval] HSTRING* value);
                [propget] HRESULT Jpeg([out] [retval] HSTRING* value);
                [propget] HRESULT JpegXr([out] [retval] HSTRING* value);
                [propget] HRESULT Mjpg([out] [retval] HSTRING* value);
                [propget] HRESULT Mpeg([out] [retval] HSTRING* value);
                [propget] HRESULT Mpeg1([out] [retval] HSTRING* value);
                [propget] HRESULT Mpeg2([out] [retval] HSTRING* value);
                [propget] HRESULT Mp3([out] [retval] HSTRING* value);
                [propget] HRESULT Mpeg4([out] [retval] HSTRING* value);
                [propget] HRESULT Nv12([out] [retval] HSTRING* value);
                [propget] HRESULT Pcm([out] [retval] HSTRING* value);
                [propget] HRESULT Png([out] [retval] HSTRING* value);
                [propget] HRESULT Rgb24([out] [retval] HSTRING* value);
                [propget] HRESULT Rgb32([out] [retval] HSTRING* value);
                [propget] HRESULT Tiff([out] [retval] HSTRING* value);
                [propget] HRESULT Wave([out] [retval] HSTRING* value);
                [propget] HRESULT Wma8([out] [retval] HSTRING* value);
                [propget] HRESULT Wma9([out] [retval] HSTRING* value);
                [propget] HRESULT Wmv3([out] [retval] HSTRING* value);
                [propget] HRESULT Wvc1([out] [retval] HSTRING* value);
                [propget] HRESULT Yuy2([out] [retval] HSTRING* value);
                [propget] HRESULT Yv12([out] [retval] HSTRING* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 4.0)]
            [exclusiveto(Windows.Media.MediaProperties.MediaEncodingSubtypes)]
            [uuid(4B7CD23D-42FF-4D33-8531-0626BEE4B52D)]
            interface IMediaEncodingSubtypesStatics2 : IInspectable
            {
                [propget] HRESULT Vp9([out] [retval] HSTRING* value);
                [propget] HRESULT L8([out] [retval] HSTRING* value);
                [propget] HRESULT L16([out] [retval] HSTRING* value);
                [propget] HRESULT D16([out] [retval] HSTRING* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 4.0)]
            [exclusiveto(Windows.Media.MediaProperties.MediaEncodingSubtypes)]
            [uuid(BA2414E4-883D-464E-A44F-097DA08EF7FF)]
            interface IMediaEncodingSubtypesStatics3 : IInspectable
            {
                [propget] HRESULT Alac([out] [retval] HSTRING* value);
                [propget] HRESULT Flac([out] [retval] HSTRING* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 6.0)]
            [exclusiveto(Windows.Media.MediaProperties.MediaEncodingSubtypes)]
            [uuid(DDECE58A-3949-4644-8A2C-59EF02C642FA)]
            interface IMediaEncodingSubtypesStatics4 : IInspectable
            {
                [propget] HRESULT P010([out] [retval] HSTRING* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 7.0)]
            [exclusiveto(Windows.Media.MediaProperties.MediaEncodingSubtypes)]
            [uuid(5AD4A007-FFCE-4760-9828-5D0C99637E6A)]
            interface IMediaEncodingSubtypesStatics5 : IInspectable
            {
                [propget] HRESULT Heif([out] [retval] HSTRING* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 10.0)]
            [exclusiveto(Windows.Media.MediaProperties.MediaEncodingSubtypes)]
            [uuid(A1252973-A984-5912-93BB-54E7E569E053)]
            interface IMediaEncodingSubtypesStatics6 : IInspectable
            {
                [propget] HRESULT Pgs([out] [retval] HSTRING* value);
                [propget] HRESULT Srt([out] [retval] HSTRING* value);
                [propget] HRESULT Ssa([out] [retval] HSTRING* value);
                [propget] HRESULT VobSub([out] [retval] HSTRING* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 15.0)]
            [exclusiveto(Windows.Media.MediaProperties.MediaEncodingSubtypes)]
            [uuid(92F2DCA7-9937-52A1-B619-DDFAD81CD99C)]
            interface IMediaEncodingSubtypesStatics7 : IInspectable
            {
                [propget] HRESULT Av1([out] [retval] HSTRING* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Media.MediaProperties.MediaRatio)]
            [uuid(D2D0FEE5-8929-401D-AC78-7D357E378163)]
            interface IMediaRatio : IInspectable
            {
                [propput] HRESULT Numerator([in] UINT32 value);
                [propget] HRESULT Numerator([out] [retval] UINT32* value);
                [propput] HRESULT Denominator([in] UINT32 value);
                [propget] HRESULT Denominator([out] [retval] UINT32* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Media.MediaProperties.Mpeg2ProfileIds)]
            [uuid(A461FF85-E57A-4128-9B21-D5331B04235C)]
            interface IMpeg2ProfileIdsStatics : IInspectable
            {
                [propget] HRESULT Simple([out] [retval] INT32* value);
                [propget] HRESULT Main([out] [retval] INT32* value);
                [propget] HRESULT SignalNoiseRatioScalable([out] [retval] INT32* value);
                [propget] HRESULT SpatiallyScalable([out] [retval] INT32* value);
                [propget] HRESULT High([out] [retval] INT32* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 6.0)]
            [exclusiveto(Windows.Media.MediaProperties.TimedMetadataEncodingProperties)]
            [uuid(51CD30D3-D690-4CFA-97F4-4A398E9DB420)]
            interface ITimedMetadataEncodingProperties : IInspectable
            {
                HRESULT SetFormatUserData([in] UINT32 __valueSize, [in] [size_is(__valueSize)] BYTE* value);
                HRESULT GetFormatUserData([out] UINT32* __valueSize, [out] [size_is(, *__valueSize)] BYTE** value);
                HRESULT Copy([out] [retval] Windows.Media.MediaProperties.TimedMetadataEncodingProperties** result);
            }

            [contract(Windows.Foundation.UniversalApiContract, 10.0)]
            [exclusiveto(Windows.Media.MediaProperties.TimedMetadataEncodingProperties)]
            [uuid(6629BB67-6E55-5643-89A0-7A7E8D85B52C)]
            interface ITimedMetadataEncodingPropertiesStatics : IInspectable
            {
                HRESULT CreatePgs([out] [retval] Windows.Media.MediaProperties.TimedMetadataEncodingProperties** result);
                HRESULT CreateSrt([out] [retval] Windows.Media.MediaProperties.TimedMetadataEncodingProperties** result);
                HRESULT CreateSsa([in] UINT32 __formatUserDataSize, [in] [size_is(__formatUserDataSize)] BYTE* formatUserData, [out] [retval] Windows.Media.MediaProperties.TimedMetadataEncodingProperties** result);
                HRESULT CreateVobSub([in] UINT32 __formatUserDataSize, [in] [size_is(__formatUserDataSize)] BYTE* formatUserData, [out] [retval] Windows.Media.MediaProperties.TimedMetadataEncodingProperties** result);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Media.MediaProperties.VideoEncodingProperties)]
            [uuid(76EE6C9A-37C2-4F2A-880A-1282BBB4373D)]
            interface IVideoEncodingProperties : IInspectable
                requires
                    Windows.Media.MediaProperties.IMediaEncodingProperties
            {
                [propput] HRESULT Bitrate([in] UINT32 value);
                [propget] HRESULT Bitrate([out] [retval] UINT32* value);
                [propput] HRESULT Width([in] UINT32 value);
                [propget] HRESULT Width([out] [retval] UINT32* value);
                [propput] HRESULT Height([in] UINT32 value);
                [propget] HRESULT Height([out] [retval] UINT32* value);
                [propget] HRESULT FrameRate([out] [retval] Windows.Media.MediaProperties.MediaRatio** value);
                [propget] HRESULT PixelAspectRatio([out] [retval] Windows.Media.MediaProperties.MediaRatio** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Media.MediaProperties.VideoEncodingProperties)]
            [uuid(F743A1EF-D465-4290-A94B-EF0F1528F8E3)]
            interface IVideoEncodingProperties2 : IInspectable
            {
                HRESULT SetFormatUserData([in] UINT32 __valueSize, [in] [size_is(__valueSize)] BYTE* value);
                HRESULT GetFormatUserData([out] UINT32* __valueSize, [out] [size_is(, *__valueSize)] BYTE** value);
                [propput] HRESULT ProfileId([in] INT32 value);
                [propget] HRESULT ProfileId([out] [retval] INT32* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 3.0)]
            [exclusiveto(Windows.Media.MediaProperties.VideoEncodingProperties)]
            [uuid(386BCDC4-873A-479F-B3EB-56C1FCBEC6D7)]
            interface IVideoEncodingProperties3 : IInspectable
            {
                [propget] HRESULT StereoscopicVideoPackingMode([out] [retval] Windows.Media.MediaProperties.StereoscopicVideoPackingMode* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 4.0)]
            [exclusiveto(Windows.Media.MediaProperties.VideoEncodingProperties)]
            [uuid(724EF014-C10C-40F2-9D72-3EE13B45FA8E)]
            interface IVideoEncodingProperties4 : IInspectable
            {
                [propget] HRESULT SphericalVideoFrameFormat([out] [retval] Windows.Media.MediaProperties.SphericalVideoFrameFormat* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 6.0)]
            [exclusiveto(Windows.Media.MediaProperties.VideoEncodingProperties)]
            [uuid(4959080F-272F-4ECE-A4DF-C0CCDB33D840)]
            interface IVideoEncodingProperties5 : IInspectable
            {
                HRESULT Copy([out] [retval] Windows.Media.MediaProperties.VideoEncodingProperties** result);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Media.MediaProperties.VideoEncodingProperties)]
            [uuid(3CE14D44-1DC5-43DB-9F38-EBEBF90152CB)]
            interface IVideoEncodingPropertiesStatics : IInspectable
            {
                HRESULT CreateH264([out] [retval] Windows.Media.MediaProperties.VideoEncodingProperties** value);
                HRESULT CreateMpeg2([out] [retval] Windows.Media.MediaProperties.VideoEncodingProperties** value);
                HRESULT CreateUncompressed([in] HSTRING subtype, [in] UINT32 width, [in] UINT32 height, [out] [retval] Windows.Media.MediaProperties.VideoEncodingProperties** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 4.0)]
            [exclusiveto(Windows.Media.MediaProperties.VideoEncodingProperties)]
            [uuid(CF1EBD5D-49FE-4D00-B59A-CFA4DFC51944)]
            interface IVideoEncodingPropertiesStatics2 : IInspectable
            {
                HRESULT CreateHevc([out] [retval] Windows.Media.MediaProperties.VideoEncodingProperties** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 15.0)]
            [exclusiveto(Windows.Media.MediaProperties.VideoEncodingProperties)]
            [uuid(65B46685-60DA-5E51-91A2-B38C4763B872)]
            interface IVideoEncodingPropertiesStatics3 : IInspectable
            {
                HRESULT CreateVp9([out] [retval] Windows.Media.MediaProperties.VideoEncodingProperties** result);
                HRESULT CreateAv1([out] [retval] Windows.Media.MediaProperties.VideoEncodingProperties** result);
            }

            [contract(Windows.Foundation.UniversalApiContract, 15.0)]
            [exclusiveto(Windows.Media.MediaProperties.Vp9ProfileIds)]
            [uuid(20311A55-FE06-5883-92D9-6080C97743E5)]
            interface IVp9ProfileIdsStatics : IInspectable
            {
                [propget] HRESULT Profile0ChromaSubsampling420BitDepth8([out] [retval] INT32* value);
                [propget] HRESULT Profile2ChromaSubsampling420BitDepth10([out] [retval] INT32* value);
                [propget] HRESULT Profile2ChromaSubsampling420BitDepth12([out] [retval] INT32* value);
            }

            [activatable(Windows.Foundation.UniversalApiContract, 1.0)]
            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            [static(Windows.Media.MediaProperties.IAudioEncodingPropertiesStatics, Windows.Foundation.UniversalApiContract, 1.0)]
            [static(Windows.Media.MediaProperties.IAudioEncodingPropertiesStatics2, Windows.Foundation.UniversalApiContract, 4.0)]
            [threading(both)]
            runtimeclass AudioEncodingProperties
            {
                [default] interface Windows.Media.MediaProperties.IAudioEncodingProperties;
                interface Windows.Media.MediaProperties.IMediaEncodingProperties;
                [contract(Windows.Foundation.UniversalApiContract, 1.0)] interface Windows.Media.MediaProperties.IAudioEncodingPropertiesWithFormatUserData;
                [contract(Windows.Foundation.UniversalApiContract, 4.0)] interface Windows.Media.MediaProperties.IAudioEncodingProperties2;
                [contract(Windows.Foundation.UniversalApiContract, 6.0)] interface Windows.Media.MediaProperties.IAudioEncodingProperties3;
            }

            [contract(Windows.Foundation.UniversalApiContract, 15.0)]
            [marshaling_behavior(agile)]
            [static(Windows.Media.MediaProperties.IAv1ProfileIdsStatics, Windows.Foundation.UniversalApiContract, 15.0)]
            [threading(both)]
            runtimeclass Av1ProfileIds
            {
            }

            [activatable(Windows.Foundation.UniversalApiContract, 1.0)]
            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass ContainerEncodingProperties
            {
                [default] interface Windows.Media.MediaProperties.IContainerEncodingProperties;
                interface Windows.Media.MediaProperties.IMediaEncodingProperties;
                [contract(Windows.Foundation.UniversalApiContract, 6.0)] interface Windows.Media.MediaProperties.IContainerEncodingProperties2;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            [static(Windows.Media.MediaProperties.IH264ProfileIdsStatics, Windows.Foundation.UniversalApiContract, 1.0)]
            [threading(both)]
            runtimeclass H264ProfileIds
            {
            }

            [contract(Windows.Foundation.UniversalApiContract, 15.0)]
            [marshaling_behavior(agile)]
            [static(Windows.Media.MediaProperties.IHevcProfileIdsStatics, Windows.Foundation.UniversalApiContract, 15.0)]
            [threading(both)]
            runtimeclass HevcProfileIds
            {
            }

            [activatable(Windows.Foundation.UniversalApiContract, 1.0)]
            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            [static(Windows.Media.MediaProperties.IImageEncodingPropertiesStatics, Windows.Foundation.UniversalApiContract, 1.0)]
            [static(Windows.Media.MediaProperties.IImageEncodingPropertiesStatics2, Windows.Foundation.UniversalApiContract, 1.0)]
            [static(Windows.Media.MediaProperties.IImageEncodingPropertiesStatics3, Windows.Foundation.UniversalApiContract, 7.0)]
            [threading(both)]
            runtimeclass ImageEncodingProperties
            {
                [default] interface Windows.Media.MediaProperties.IImageEncodingProperties;
                interface Windows.Media.MediaProperties.IMediaEncodingProperties;
                [contract(Windows.Foundation.UniversalApiContract, 6.0)] interface Windows.Media.MediaProperties.IImageEncodingProperties2;
            }

            [activatable(Windows.Foundation.UniversalApiContract, 1.0)]
            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            [static(Windows.Media.MediaProperties.IMediaEncodingProfileStatics, Windows.Foundation.UniversalApiContract, 1.0)]
            [static(Windows.Media.MediaProperties.IMediaEncodingProfileStatics2, Windows.Foundation.UniversalApiContract, 1.0)]
            [static(Windows.Media.MediaProperties.IMediaEncodingProfileStatics3, Windows.Foundation.UniversalApiContract, 4.0)]
            [static(Windows.Media.MediaProperties.IMediaEncodingProfileStatics4, Windows.Foundation.UniversalApiContract, 15.0)]
            [threading(mta)]
            runtimeclass MediaEncodingProfile
            {
                [default] interface Windows.Media.MediaProperties.IMediaEncodingProfile;
                [contract(Windows.Foundation.UniversalApiContract, 5.0)] interface Windows.Media.MediaProperties.IMediaEncodingProfile2;
                [contract(Windows.Foundation.UniversalApiContract, 6.0)] interface Windows.Media.MediaProperties.IMediaEncodingProfile3;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            [static(Windows.Media.MediaProperties.IMediaEncodingSubtypesStatics, Windows.Foundation.UniversalApiContract, 1.0)]
            [static(Windows.Media.MediaProperties.IMediaEncodingSubtypesStatics2, Windows.Foundation.UniversalApiContract, 4.0)]
            [static(Windows.Media.MediaProperties.IMediaEncodingSubtypesStatics3, Windows.Foundation.UniversalApiContract, 4.0)]
            [static(Windows.Media.MediaProperties.IMediaEncodingSubtypesStatics4, Windows.Foundation.UniversalApiContract, 6.0)]
            [static(Windows.Media.MediaProperties.IMediaEncodingSubtypesStatics5, Windows.Foundation.UniversalApiContract, 7.0)]
            [static(Windows.Media.MediaProperties.IMediaEncodingSubtypesStatics6, Windows.Foundation.UniversalApiContract, 10.0)]
            [static(Windows.Media.MediaProperties.IMediaEncodingSubtypesStatics7, Windows.Foundation.UniversalApiContract, 15.0)]
            [threading(both)]
            runtimeclass MediaEncodingSubtypes
            {
            }

            [activatable(Windows.Foundation.UniversalApiContract, 1.0)]
            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass MediaPropertySet
            {
                [default] interface Windows.Foundation.Collections.IMap<GUID, IInspectable*>;
                interface Windows.Foundation.Collections.IIterable<Windows.Foundation.Collections.IKeyValuePair<GUID, IInspectable*>*>;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass MediaRatio
            {
                [default] interface Windows.Media.MediaProperties.IMediaRatio;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            [static(Windows.Media.MediaProperties.IMpeg2ProfileIdsStatics, Windows.Foundation.UniversalApiContract, 1.0)]
            [threading(both)]
            runtimeclass Mpeg2ProfileIds
            {
            }

            [activatable(Windows.Foundation.UniversalApiContract, 6.0)]
            [contract(Windows.Foundation.UniversalApiContract, 6.0)]
            [marshaling_behavior(agile)]
            [static(Windows.Media.MediaProperties.ITimedMetadataEncodingPropertiesStatics, Windows.Foundation.UniversalApiContract, 10.0)]
            [threading(both)]
            runtimeclass TimedMetadataEncodingProperties
            {
                interface Windows.Media.MediaProperties.ITimedMetadataEncodingProperties;
                [default] interface Windows.Media.MediaProperties.IMediaEncodingProperties;
            }

            [activatable(Windows.Foundation.UniversalApiContract, 1.0)]
            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            [static(Windows.Media.MediaProperties.IVideoEncodingPropertiesStatics, Windows.Foundation.UniversalApiContract, 1.0)]
            [static(Windows.Media.MediaProperties.IVideoEncodingPropertiesStatics2, Windows.Foundation.UniversalApiContract, 4.0)]
            [static(Windows.Media.MediaProperties.IVideoEncodingPropertiesStatics3, Windows.Foundation.UniversalApiContract, 15.0)]
            [threading(both)]
            runtimeclass VideoEncodingProperties
            {
                [default] interface Windows.Media.MediaProperties.IVideoEncodingProperties;
                interface Windows.Media.MediaProperties.IMediaEncodingProperties;
                [contract(Windows.Foundation.UniversalApiContract, 1.0)] interface Windows.Media.MediaProperties.IVideoEncodingProperties2;
                [contract(Windows.Foundation.UniversalApiContract, 3.0)] interface Windows.Media.MediaProperties.IVideoEncodingProperties3;
                [contract(Windows.Foundation.UniversalApiContract, 4.0)] interface Windows.Media.MediaProperties.IVideoEncodingProperties4;
                [contract(Windows.Foundation.UniversalApiContract, 6.0)] interface Windows.Media.MediaProperties.IVideoEncodingProperties5;
            }

            [contract(Windows.Foundation.UniversalApiContract, 15.0)]
            [marshaling_behavior(agile)]
            [static(Windows.Media.MediaProperties.IVp9ProfileIdsStatics, Windows.Foundation.UniversalApiContract, 15.0)]
            [threading(both)]
            runtimeclass Vp9ProfileIds
            {
            }
        }
    }
}
