-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
This patch still shows plenty of signs that it was copypasted from Microsoft's headers.
Am 2015-05-11 um 11:00 schrieb Steve Lhomme:
From: Steve Lhomme slhomme@matroska.org
include/d3d11.idl | 878 +++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 870 insertions(+), 8 deletions(-)
diff --git a/include/d3d11.idl b/include/d3d11.idl index 3726d32..70afbd5 100644 --- a/include/d3d11.idl +++ b/include/d3d11.idl @@ -2125,16 +2125,878 @@ interface ID3D11Device : IUnknown UINT GetExceptionMode(); }
+cpp_quote("DEFINE_GUID(D3D11_DECODER_PROFILE_H264_MOCOMP_NOFGT, 0x1b81be64, 0xa0c7, 0x11d3, 0xb9, 0x84, 0x00, 0xc0, 0x4f, 0x2e, 0x73, 0xc5);") +cpp_quote("DEFINE_GUID(D3D11_DECODER_PROFILE_H264_MOCOMP_FGT, 0x1b81be65, 0xa0c7, 0x11d3, 0xb9, 0x84, 0x00, 0xc0, 0x4f, 0x2e, 0x73, 0xc5);") +cpp_quote("DEFINE_GUID(D3D11_DECODER_PROFILE_H264_IDCT_NOFGT, 0x1b81be66, 0xa0c7, 0x11d3, 0xb9, 0x84, 0x00, 0xc0, 0x4f, 0x2e, 0x73, 0xc5);") +cpp_quote("DEFINE_GUID(D3D11_DECODER_PROFILE_H264_IDCT_FGT, 0x1b81be67, 0xa0c7, 0x11d3, 0xb9, 0x84, 0x00, 0xc0, 0x4f, 0x2e, 0x73, 0xc5);") +cpp_quote("DEFINE_GUID(D3D11_DECODER_PROFILE_H264_VLD_NOFGT, 0x1b81be68, 0xa0c7, 0x11d3, 0xb9, 0x84, 0x00, 0xc0, 0x4f, 0x2e, 0x73, 0xc5);") +cpp_quote("DEFINE_GUID(D3D11_DECODER_PROFILE_H264_VLD_FGT, 0x1b81be69, 0xa0c7, 0x11d3, 0xb9, 0x84, 0x00, 0xc0, 0x4f, 0x2e, 0x73, 0xc5);") +cpp_quote("DEFINE_GUID(D3D11_DECODER_PROFILE_H264_VLD_WITHFMOASO_NOFGT, 0xd5f04ff9, 0x3418, 0x45d8, 0x95, 0x61, 0x32, 0xa7, 0x6a, 0xae, 0x2d, 0xdd);") +cpp_quote("DEFINE_GUID(D3D11_DECODER_PROFILE_H264_VLD_STEREO_PROGRESSIVE_NOFGT, 0xd79be8da, 0x0cf1, 0x4c81, 0xb8, 0x2a, 0x69, 0xa4, 0xe2, 0x36, 0xf4, 0x3d);") +cpp_quote("DEFINE_GUID(D3D11_DECODER_PROFILE_H264_VLD_STEREO_NOFGT, 0xf9aaccbb, 0xc2b6, 0x4cfc, 0x87, 0x79, 0x57, 0x07, 0xb1, 0x76, 0x05, 0x52);") +cpp_quote("DEFINE_GUID(D3D11_DECODER_PROFILE_H264_VLD_MULTIVIEW_NOFGT, 0x705b9d82, 0x76cf, 0x49d6, 0xb7, 0xe6, 0xac, 0x88, 0x72, 0xdb, 0x01, 0x3c);") +cpp_quote("DEFINE_GUID(D3D11_DECODER_PROFILE_WMV8_POSTPROC, 0x1b81be80, 0xa0c7, 0x11d3, 0xb9, 0x84, 0x00, 0xc0, 0x4f, 0x2e, 0x73, 0xc5);") +cpp_quote("DEFINE_GUID(D3D11_DECODER_PROFILE_WMV8_MOCOMP, 0x1b81be81, 0xa0c7, 0x11d3, 0xb9, 0x84, 0x00, 0xc0, 0x4f, 0x2e, 0x73, 0xc5);") +cpp_quote("DEFINE_GUID(D3D11_DECODER_PROFILE_WMV9_POSTPROC, 0x1b81be90, 0xa0c7, 0x11d3, 0xb9, 0x84, 0x00, 0xc0, 0x4f, 0x2e, 0x73, 0xc5);") +cpp_quote("DEFINE_GUID(D3D11_DECODER_PROFILE_WMV9_MOCOMP, 0x1b81be91, 0xa0c7, 0x11d3, 0xb9, 0x84, 0x00, 0xc0, 0x4f, 0x2e, 0x73, 0xc5);") +cpp_quote("DEFINE_GUID(D3D11_DECODER_PROFILE_WMV9_IDCT, 0x1b81be94, 0xa0c7, 0x11d3, 0xb9, 0x84, 0x00, 0xc0, 0x4f, 0x2e, 0x73, 0xc5);") +cpp_quote("DEFINE_GUID(D3D11_DECODER_PROFILE_VC1_POSTPROC, 0x1b81beA0, 0xa0c7, 0x11d3, 0xb9, 0x84, 0x00, 0xc0, 0x4f, 0x2e, 0x73, 0xc5);") +cpp_quote("DEFINE_GUID(D3D11_DECODER_PROFILE_VC1_MOCOMP, 0x1b81beA1, 0xa0c7, 0x11d3, 0xb9, 0x84, 0x00, 0xc0, 0x4f, 0x2e, 0x73, 0xc5);") +cpp_quote("DEFINE_GUID(D3D11_DECODER_PROFILE_VC1_IDCT, 0x1b81beA2, 0xa0c7, 0x11d3, 0xb9, 0x84, 0x00, 0xc0, 0x4f, 0x2e, 0x73, 0xc5);") +cpp_quote("DEFINE_GUID(D3D11_DECODER_PROFILE_VC1_VLD, 0x1b81beA3, 0xa0c7, 0x11d3, 0xb9, 0x84, 0x00, 0xc0, 0x4f, 0x2e, 0x73, 0xc5);") +cpp_quote("DEFINE_GUID(D3D11_DECODER_PROFILE_VC1_D2010, 0x1b81beA4, 0xa0c7, 0x11d3, 0xb9, 0x84, 0x00, 0xc0, 0x4f, 0x2e, 0x73, 0xc5);") +cpp_quote("DEFINE_GUID(D3D11_DECODER_PROFILE_MPEG4PT2_VLD_SIMPLE, 0xefd64d74, 0xc9e8, 0x41d7, 0xa5, 0xe9, 0xe9, 0xb0, 0xe3, 0x9f, 0xa3, 0x19);") +cpp_quote("DEFINE_GUID(D3D11_DECODER_PROFILE_MPEG4PT2_VLD_ADVSIMPLE_NOGMC, 0xed418a9f, 0x010d, 0x4eda, 0x9a, 0xe3, 0x9a, 0x65, 0x35, 0x8d, 0x8d, 0x2e);") +cpp_quote("DEFINE_GUID(D3D11_DECODER_PROFILE_MPEG4PT2_VLD_ADVSIMPLE_GMC, 0xab998b5b, 0x4258, 0x44a9, 0x9f, 0xeb, 0x94, 0xe5, 0x97, 0xa6, 0xba, 0xae);") +cpp_quote("DEFINE_GUID(D3D11_DECODER_PROFILE_HEVC_VLD_MAIN, 0x5b11d51b, 0x2f4c, 0x4452, 0xbc, 0xc3, 0x09, 0xf2, 0xa1, 0x16, 0x0c, 0xc0);") +cpp_quote("DEFINE_GUID(D3D11_DECODER_PROFILE_HEVC_VLD_MAIN10, 0x107af0e0, 0xef1a, 0x4d19, 0xab, 0xa8, 0x67, 0xa1, 0x63, 0x07, 0x3d, 0x13);") +cpp_quote("DEFINE_GUID(D3D11_DECODER_PROFILE_MPEG2_MOCOMP, 0xe6a9f44b, 0x61b0, 0x4563, 0x9e, 0xa4, 0x63, 0xd2, 0xa3, 0xc6, 0xfe, 0x66);") +cpp_quote("DEFINE_GUID(D3D11_DECODER_PROFILE_MPEG2_IDCT, 0xbf22ad00, 0x03ea, 0x4690, 0x80, 0x77, 0x47, 0x33, 0x46, 0x20, 0x9b, 0x7e);") +cpp_quote("DEFINE_GUID(D3D11_DECODER_PROFILE_MPEG2_VLD, 0xee27417f, 0x5e28, 0x4e65, 0xbe, 0xea, 0x1d, 0x26, 0xb5, 0x08, 0xad, 0xc9);") +cpp_quote("DEFINE_GUID(D3D11_DECODER_PROFILE_MPEG1_VLD, 0x6f3ec719, 0x3735, 0x42cc, 0x80, 0x63, 0x65, 0xcc, 0x3c, 0xb3, 0x66, 0x16);") +cpp_quote("DEFINE_GUID(D3D11_DECODER_PROFILE_MPEG2and1_VLD, 0x86695f12, 0x340e, 0x4f04, 0x9f, 0xd3, 0x92, 0x53, 0xdd, 0x32, 0x74, 0x60);")
+typedef struct D3D11_VIDEO_DECODER_DESC +{
- GUID Guid;
- UINT SampleWidth;
- UINT SampleHeight;
- DXGI_FORMAT OutputFormat;
+} D3D11_VIDEO_DECODER_DESC;
+typedef struct D3D11_VIDEO_DECODER_CONFIG +{
- GUID guidConfigBitstreamEncryption;
- GUID guidConfigMBcontrolEncryption;
- GUID guidConfigResidDiffEncryption;
- UINT ConfigBitstreamRaw;
- UINT ConfigMBcontrolRasterOrder;
- UINT ConfigResidDiffHost;
- UINT ConfigSpatialResid8;
- UINT ConfigResid8Subtraction;
- UINT ConfigSpatialHost8or9Clipping;
- UINT ConfigSpatialResidInterleaved;
- UINT ConfigIntraResidUnsigned;
- UINT ConfigResidDiffAccelerator;
- UINT ConfigHostInverseScan;
- UINT ConfigSpecificIDCT;
- UINT Config4GroupedCoefs;
- USHORT ConfigMinRenderTargetBuffCount;
- USHORT ConfigDecoderSpecific;
+} D3D11_VIDEO_DECODER_CONFIG;
+typedef enum D3D11_VIDEO_DECODER_BUFFER_TYPE +{
- D3D11_VIDEO_DECODER_BUFFER_PICTURE_PARAMETERS = 0,
- D3D11_VIDEO_DECODER_BUFFER_MACROBLOCK_CONTROL = 1,
- D3D11_VIDEO_DECODER_BUFFER_RESIDUAL_DIFFERENCE = 2,
- D3D11_VIDEO_DECODER_BUFFER_DEBLOCKING_CONTROL = 3,
- D3D11_VIDEO_DECODER_BUFFER_INVERSE_QUANTIZATION_MATRIX = 4,
- D3D11_VIDEO_DECODER_BUFFER_SLICE_CONTROL = 5,
- D3D11_VIDEO_DECODER_BUFFER_BITSTREAM = 6,
- D3D11_VIDEO_DECODER_BUFFER_MOTION_VECTOR = 7,
- D3D11_VIDEO_DECODER_BUFFER_FILM_GRAIN = 8
+} D3D11_VIDEO_DECODER_BUFFER_TYPE;
+typedef struct D3D11_ENCRYPTED_BLOCK_INFO +{
- UINT NumEncryptedBytesAtBeginning;
- UINT NumBytesInSkipPattern;
- UINT NumBytesInEncryptPattern;
+} D3D11_ENCRYPTED_BLOCK_INFO;
+typedef struct D3D11_VIDEO_DECODER_BUFFER_DESC +{
- D3D11_VIDEO_DECODER_BUFFER_TYPE BufferType;
- UINT BufferIndex;
- UINT DataOffset;
- UINT DataSize;
- UINT FirstMBaddress;
- UINT NumMBsInBuffer;
- UINT Width;
- UINT Height;
- UINT Stride;
- UINT ReservedBits;
- void *pIV;
- UINT IVSize;
- BOOL PartialEncryption;
- D3D11_ENCRYPTED_BLOCK_INFO EncryptedBlockInfo;
+} D3D11_VIDEO_DECODER_BUFFER_DESC;
+typedef struct D3D11_VIDEO_DECODER_EXTENSION +{
- UINT Function;
- void *pPrivateInputData;
- UINT PrivateInputDataSize;
- void *pPrivateOutputData;
- UINT PrivateOutputDataSize;
- UINT ResourceCount;
- ID3D11Resource **ppResourceList;
+} D3D11_VIDEO_DECODER_EXTENSION;
+typedef enum D3D11_VIDEO_FRAME_FORMAT +{
- D3D11_VIDEO_FRAME_FORMAT_PROGRESSIVE = 0,
- D3D11_VIDEO_FRAME_FORMAT_INTERLACED_TOP_FIELD_FIRST = 1,
- D3D11_VIDEO_FRAME_FORMAT_INTERLACED_BOTTOM_FIELD_FIRST = 2
+} D3D11_VIDEO_FRAME_FORMAT;
+typedef enum D3D11_VIDEO_USAGE +{
- D3D11_VIDEO_USAGE_PLAYBACK_NORMAL = 0,
- D3D11_VIDEO_USAGE_OPTIMAL_SPEED = 1,
- D3D11_VIDEO_USAGE_OPTIMAL_QUALITY = 2
+} D3D11_VIDEO_USAGE;
+typedef struct D3D11_VIDEO_PROCESSOR_CONTENT_DESC +{
- D3D11_VIDEO_FRAME_FORMAT InputFrameFormat;
- DXGI_RATIONAL InputFrameRate;
- UINT InputWidth;
- UINT InputHeight;
- DXGI_RATIONAL OutputFrameRate;
- UINT OutputWidth;
- UINT OutputHeight;
- D3D11_VIDEO_USAGE Usage;
+} D3D11_VIDEO_PROCESSOR_CONTENT_DESC;
+typedef struct D3D11_VIDEO_PROCESSOR_CAPS +{
- UINT DeviceCaps;
- UINT FeatureCaps;
- UINT FilterCaps;
- UINT InputFormatCaps;
- UINT AutoStreamCaps;
- UINT StereoCaps;
- UINT RateConversionCapsCount;
- UINT MaxInputStreams;
- UINT MaxStreamStates;
+} D3D11_VIDEO_PROCESSOR_CAPS;
+typedef struct D3D11_VIDEO_PROCESSOR_RATE_CONVERSION_CAPS +{
- UINT PastFrames;
- UINT FutureFrames;
- UINT ProcessorCaps;
- UINT ITelecineCaps;
- UINT CustomRateCount;
+} D3D11_VIDEO_PROCESSOR_RATE_CONVERSION_CAPS;
+typedef struct D3D11_VIDEO_PROCESSOR_CUSTOM_RATE +{
- DXGI_RATIONAL CustomRate;
- UINT OutputFrames;
- BOOL InputInterlaced;
- UINT InputFramesOrFields;
+} D3D11_VIDEO_PROCESSOR_CUSTOM_RATE;
+typedef enum D3D11_VIDEO_PROCESSOR_FILTER +{
- D3D11_VIDEO_PROCESSOR_FILTER_BRIGHTNESS = 0,
- D3D11_VIDEO_PROCESSOR_FILTER_CONTRAST = 1,
- D3D11_VIDEO_PROCESSOR_FILTER_HUE = 2,
- D3D11_VIDEO_PROCESSOR_FILTER_SATURATION = 3,
- D3D11_VIDEO_PROCESSOR_FILTER_NOISE_REDUCTION = 4,
- D3D11_VIDEO_PROCESSOR_FILTER_EDGE_ENHANCEMENT = 5,
- D3D11_VIDEO_PROCESSOR_FILTER_ANAMORPHIC_SCALING = 6,
- D3D11_VIDEO_PROCESSOR_FILTER_STEREO_ADJUSTMENT = 7
+} D3D11_VIDEO_PROCESSOR_FILTER;
+typedef struct D3D11_VIDEO_CONTENT_PROTECTION_CAPS +{
- UINT Caps;
- UINT KeyExchangeTypeCount;
- UINT BlockAlignmentSize;
- ULONGLONG ProtectedMemorySize;
+} D3D11_VIDEO_CONTENT_PROTECTION_CAPS;
+typedef struct D3D11_VIDEO_PROCESSOR_FILTER_RANGE +{
- int Minimum;
- int Maximum;
- int Default;
- float Multiplier;
+} D3D11_VIDEO_PROCESSOR_FILTER_RANGE;
+typedef struct D3D11_VIDEO_COLOR_RGBA +{
- float R;
- float G;
- float B;
- float A;
+} D3D11_VIDEO_COLOR_RGBA;
+typedef struct D3D11_VIDEO_COLOR_YCbCrA +{
- float Y;
- float Cb;
- float Cr;
- float A;
+} D3D11_VIDEO_COLOR_YCbCrA;
+typedef struct D3D11_VIDEO_COLOR +{
- union
- {
D3D11_VIDEO_COLOR_YCbCrA YCbCr;
D3D11_VIDEO_COLOR_RGBA RGBA;
- };
+} D3D11_VIDEO_COLOR;
+typedef struct D3D11_VIDEO_PROCESSOR_COLOR_SPACE +{
- UINT Usage :1;
- UINT RGB_Range :1;
- UINT YCbCr_Matrix :1;
- UINT YCbCr_xvYCC :1;
- UINT Nominal_Range :2;
- UINT Reserved : 26;
+} D3D11_VIDEO_PROCESSOR_COLOR_SPACE;
+typedef enum D3D11_VIDEO_PROCESSOR_ALPHA_FILL_MODE +{
- D3D11_VIDEO_PROCESSOR_ALPHA_FILL_MODE_OPAQUE = 0,
- D3D11_VIDEO_PROCESSOR_ALPHA_FILL_MODE_BACKGROUND = 1,
- D3D11_VIDEO_PROCESSOR_ALPHA_FILL_MODE_DESTINATION = 2,
- D3D11_VIDEO_PROCESSOR_ALPHA_FILL_MODE_SOURCE_STREAM = 3
+} D3D11_VIDEO_PROCESSOR_ALPHA_FILL_MODE;
+typedef enum D3D11_VIDEO_PROCESSOR_OUTPUT_RATE +{
- D3D11_VIDEO_PROCESSOR_OUTPUT_RATE_NORMAL = 0,
- D3D11_VIDEO_PROCESSOR_OUTPUT_RATE_HALF = 1,
- D3D11_VIDEO_PROCESSOR_OUTPUT_RATE_CUSTOM = 2
+} D3D11_VIDEO_PROCESSOR_OUTPUT_RATE;
+typedef enum D3D11_VIDEO_PROCESSOR_STEREO_FORMAT +{
- D3D11_VIDEO_PROCESSOR_STEREO_FORMAT_MONO = 0,
- D3D11_VIDEO_PROCESSOR_STEREO_FORMAT_HORIZONTAL = 1,
- D3D11_VIDEO_PROCESSOR_STEREO_FORMAT_VERTICAL = 2,
- D3D11_VIDEO_PROCESSOR_STEREO_FORMAT_SEPARATE = 3,
- D3D11_VIDEO_PROCESSOR_STEREO_FORMAT_MONO_OFFSET = 4,
- D3D11_VIDEO_PROCESSOR_STEREO_FORMAT_ROW_INTERLEAVED = 5,
- D3D11_VIDEO_PROCESSOR_STEREO_FORMAT_COLUMN_INTERLEAVED = 6,
- D3D11_VIDEO_PROCESSOR_STEREO_FORMAT_CHECKERBOARD = 7
+} D3D11_VIDEO_PROCESSOR_STEREO_FORMAT;
+typedef enum D3D11_VIDEO_PROCESSOR_STEREO_FLIP_MODE +{
- D3D11_VIDEO_PROCESSOR_STEREO_FLIP_NONE = 0,
- D3D11_VIDEO_PROCESSOR_STEREO_FLIP_FRAME0 = 1,
- D3D11_VIDEO_PROCESSOR_STEREO_FLIP_FRAME1 = 2
+} D3D11_VIDEO_PROCESSOR_STEREO_FLIP_MODE;
+typedef enum D3D11_VIDEO_PROCESSOR_ROTATION +{
- D3D11_VIDEO_PROCESSOR_ROTATION_IDENTITY = 0,
- D3D11_VIDEO_PROCESSOR_ROTATION_90 = 1,
- D3D11_VIDEO_PROCESSOR_ROTATION_180 = 2,
- D3D11_VIDEO_PROCESSOR_ROTATION_270 = 3
+} D3D11_VIDEO_PROCESSOR_ROTATION;
+[
- object,
- local,
- uuid(3c9c5b51-995d-48d1-9b8d-fa5caeded65c)
+] +interface ID3D11VideoDecoder : ID3D11DeviceChild +{
- HRESULT GetCreationParameters(
[out] D3D11_VIDEO_DECODER_DESC *pVideoDesc,
[out] D3D11_VIDEO_DECODER_CONFIG *pConfig);
- HRESULT GetDriverHandle(
[out] HANDLE *pDriverHandle);
+}
+[
- object,
- local,
- uuid(1d7b0652-185f-41c6-85ce-0c5be3d4ae6c)
+] +interface ID3D11VideoProcessor : ID3D11DeviceChild +{
- void GetContentDesc(
[out] D3D11_VIDEO_PROCESSOR_CONTENT_DESC *pDesc);
- void GetRateConversionCaps(
[out] D3D11_VIDEO_PROCESSOR_RATE_CONVERSION_CAPS *pCaps);
+}
+typedef enum D3D11_VPOV_DIMENSION +{
- D3D11_VPOV_DIMENSION_UNKNOWN = 0,
- D3D11_VPOV_DIMENSION_TEXTURE2D = 1,
- D3D11_VPOV_DIMENSION_TEXTURE2DARRAY = 2
+} D3D11_VPOV_DIMENSION;
+typedef struct D3D11_TEX2D_VPOV +{
- UINT MipSlice;
+} D3D11_TEX2D_VPOV;
+typedef struct D3D11_TEX2D_ARRAY_VPOV +{
- UINT MipSlice;
- UINT FirstArraySlice;
- UINT ArraySize;
+} D3D11_TEX2D_ARRAY_VPOV;
+typedef struct D3D11_VIDEO_PROCESSOR_OUTPUT_VIEW_DESC +{
- D3D11_VPOV_DIMENSION ViewDimension;
- union
- {
D3D11_TEX2D_VPOV Texture2D;
D3D11_TEX2D_ARRAY_VPOV Texture2DArray;
- };
+} D3D11_VIDEO_PROCESSOR_OUTPUT_VIEW_DESC;
+[
- object,
- local,
- uuid(a048285e-25a9-4527-bd93-d68b68c44254)
+] +interface ID3D11VideoProcessorOutputView : ID3D11View +{
- void GetDesc( [out] D3D11_VIDEO_PROCESSOR_OUTPUT_VIEW_DESC *pDesc);
+}
+[
- object,
- local,
- uuid(9b32f9ad-bdcc-40a6-a39d-d5c865845720)
+] +interface ID3D11CryptoSession : ID3D11DeviceChild +{
- void GetCryptoType(
[out] GUID *pCryptoType);
- void GetDecoderProfile(
[out] GUID *pDecoderProfile);
- HRESULT GetCertificateSize(
[out] UINT *pCertificateSize);
- HRESULT GetCertificate(
[in] UINT CertificateSize,
[out] BYTE *pCertificate);
- void GetCryptoSessionHandle(
[out] HANDLE *pCryptoSessionHandle);
+}
+#define D3D11_OMAC_SIZE 16
+typedef struct D3D11_OMAC +{
- BYTE Omac[D3D11_OMAC_SIZE];
+} D3D11_OMAC;
+typedef enum D3D11_AUTHENTICATED_CHANNEL_TYPE +{
- D3D11_AUTHENTICATED_CHANNEL_D3D11 = 1,
- D3D11_AUTHENTICATED_CHANNEL_DRIVER_SOFTWARE = 2,
- D3D11_AUTHENTICATED_CHANNEL_DRIVER_HARDWARE = 3
+} D3D11_AUTHENTICATED_CHANNEL_TYPE;
+typedef struct D3D11_AUTHENTICATED_CONFIGURE_OUTPUT +{
- D3D11_OMAC omac;
- GUID ConfigureType;
- HANDLE hChannel;
- UINT SequenceNumber;
- HRESULT ReturnCode;
+} D3D11_AUTHENTICATED_CONFIGURE_OUTPUT;
+[
- object,
- local,
- uuid(3015a308-dcbd-47aa-a747-192486d14d4a)
+] +interface ID3D11AuthenticatedChannel : ID3D11DeviceChild +{
- HRESULT GetCertificateSize(
[out] UINT *pCertificateSize);
- HRESULT GetCertificate(
[in] UINT CertificateSize,
[out] BYTE *pCertificate);
- void GetChannelHandle(
[out] HANDLE *pChannelHandle);
+}
+typedef enum D3D11_VPIV_DIMENSION +{
- D3D11_VPIV_DIMENSION_UNKNOWN = 0,
- D3D11_VPIV_DIMENSION_TEXTURE2D = 1
+} D3D11_VPIV_DIMENSION;
+typedef struct D3D11_TEX2D_VPIV +{
- UINT MipSlice;
- UINT ArraySlice;
+} D3D11_TEX2D_VPIV;
+typedef struct D3D11_VIDEO_PROCESSOR_INPUT_VIEW_DESC +{
- UINT FourCC;
- D3D11_VPIV_DIMENSION ViewDimension;
- union
- {
D3D11_TEX2D_VPIV Texture2D;
- };
+} D3D11_VIDEO_PROCESSOR_INPUT_VIEW_DESC;
+[
- object,
- local,
- uuid(11ec5a5f-51dc-4945-ab34-6e8c21300ea5)
+] +interface ID3D11VideoProcessorInputView : ID3D11View +{
- void GetDesc( [out] D3D11_VIDEO_PROCESSOR_INPUT_VIEW_DESC *pDesc);
+}
+typedef enum D3D11_VDOV_DIMENSION +{
- D3D11_VDOV_DIMENSION_UNKNOWN = 0,
- D3D11_VDOV_DIMENSION_TEXTURE2D = 1
+} D3D11_VDOV_DIMENSION;
+typedef struct D3D11_TEX2D_VDOV +{
- UINT ArraySlice;
+} D3D11_TEX2D_VDOV;
+typedef struct D3D11_VIDEO_DECODER_OUTPUT_VIEW_DESC +{
- GUID DecodeProfile;
- D3D11_VDOV_DIMENSION ViewDimension;
- union
- {
D3D11_TEX2D_VDOV Texture2D;
- };
+} D3D11_VIDEO_DECODER_OUTPUT_VIEW_DESC;
+[
- object,
- local,
- uuid(c2931aea-2a85-4f20-860f-fba1fd256e18)
+] +interface ID3D11VideoDecoderOutputView : ID3D11View +{
- void GetDesc( [out] D3D11_VIDEO_DECODER_OUTPUT_VIEW_DESC *pDesc);
+}
+typedef struct D3D11_VIDEO_PROCESSOR_STREAM +{
- BOOL Enable;
- UINT OutputIndex;
- UINT InputFrameOrField;
- UINT PastFrames;
- UINT FutureFrames;
- ID3D11VideoProcessorInputView **ppPastSurfaces;
- ID3D11VideoProcessorInputView *pInputSurface;
- ID3D11VideoProcessorInputView **ppFutureSurfaces;
- ID3D11VideoProcessorInputView **ppPastSurfacesRight;
- ID3D11VideoProcessorInputView *pInputSurfaceRight;
- ID3D11VideoProcessorInputView **ppFutureSurfacesRight;
+} D3D11_VIDEO_PROCESSOR_STREAM;
+[
- object,
- local,
- uuid(61f21c45-3c0e-4a74-9cea-67100d9ad5e4)
+] +interface ID3D11VideoContext : ID3D11DeviceChild +{
- HRESULT GetDecoderBuffer(
[in] ID3D11VideoDecoder *pDecoder,
[in] D3D11_VIDEO_DECODER_BUFFER_TYPE Type,
[out] UINT *pBufferSize,
[out] void **ppBuffer);
- HRESULT ReleaseDecoderBuffer(
[in] ID3D11VideoDecoder *pDecoder,
[in] D3D11_VIDEO_DECODER_BUFFER_TYPE Type);
- HRESULT DecoderBeginFrame(
[in] ID3D11VideoDecoder *pDecoder,
[in] ID3D11VideoDecoderOutputView *pView,
[in] UINT ContentKeySize,
[in] const void *pContentKey);
- HRESULT DecoderEndFrame(
[in] ID3D11VideoDecoder *pDecoder);
- HRESULT SubmitDecoderBuffers(
[in] ID3D11VideoDecoder *pDecoder,
[in] UINT NumBuffers,
[in] const D3D11_VIDEO_DECODER_BUFFER_DESC *pBufferDesc);
- HRESULT DecoderExtension(
[in] ID3D11VideoDecoder *pDecoder,
[in] const D3D11_VIDEO_DECODER_EXTENSION *pExtensionData);
- void VideoProcessorSetOutputTargetRect(
[in] ID3D11VideoProcessor *pVideoProcessor,
[in] BOOL Enable,
[in] const RECT *pRect);
- void VideoProcessorSetOutputBackgroundColor(
[in] ID3D11VideoProcessor *pVideoProcessor,
[in] BOOL YCbCr,
[in] const D3D11_VIDEO_COLOR *pColor);
- void VideoProcessorSetOutputColorSpace(
[in] ID3D11VideoProcessor *pVideoProcessor,
[in] const D3D11_VIDEO_PROCESSOR_COLOR_SPACE *pColorSpace);
- void VideoProcessorSetOutputAlphaFillMode(
[in] ID3D11VideoProcessor *pVideoProcessor,
[in] D3D11_VIDEO_PROCESSOR_ALPHA_FILL_MODE AlphaFillMode,
[in] UINT StreamIndex);
- void VideoProcessorSetOutputConstriction(
[in] ID3D11VideoProcessor *pVideoProcessor,
[in] BOOL Enable,
[in] SIZE Size);
- void VideoProcessorSetOutputStereoMode(
[in] ID3D11VideoProcessor *pVideoProcessor,
[in] BOOL Enable);
- HRESULT VideoProcessorSetOutputExtension(
[in] ID3D11VideoProcessor *pVideoProcessor,
[in] const GUID *pExtensionGuid,
[in] UINT DataSize,
[in] void *pData);
- void VideoProcessorGetOutputTargetRect(
[in] ID3D11VideoProcessor *pVideoProcessor,
[out] BOOL *Enabled,
[out] RECT *pRect);
- void VideoProcessorGetOutputBackgroundColor(
[in] ID3D11VideoProcessor *pVideoProcessor,
[out] BOOL *pYCbCr,
[out] D3D11_VIDEO_COLOR *pColor);
- void VideoProcessorGetOutputColorSpace(
[in] ID3D11VideoProcessor *pVideoProcessor,
[out] D3D11_VIDEO_PROCESSOR_COLOR_SPACE *pColorSpace);
- void VideoProcessorGetOutputAlphaFillMode(
[in] ID3D11VideoProcessor *pVideoProcessor,
[out] D3D11_VIDEO_PROCESSOR_ALPHA_FILL_MODE *pAlphaFillMode,
[out] UINT *pStreamIndex);
- void VideoProcessorGetOutputConstriction(
[in] ID3D11VideoProcessor *pVideoProcessor,
[out] BOOL *pEnabled,
[out] SIZE *pSize);
- void VideoProcessorGetOutputStereoMode(
[in] ID3D11VideoProcessor *pVideoProcessor,
[out] BOOL *pEnabled);
- HRESULT VideoProcessorGetOutputExtension(
[in] ID3D11VideoProcessor *pVideoProcessor,
[in] const GUID *pExtensionGuid,
[in] UINT DataSize,
[out] void *pData);
- void VideoProcessorSetStreamFrameFormat(
[in] ID3D11VideoProcessor *pVideoProcessor,
[in] UINT StreamIndex,
[in] D3D11_VIDEO_FRAME_FORMAT FrameFormat);
- void VideoProcessorSetStreamColorSpace(
[in] ID3D11VideoProcessor *pVideoProcessor,
[in] UINT StreamIndex,
[in] const D3D11_VIDEO_PROCESSOR_COLOR_SPACE *pColorSpace);
- void VideoProcessorSetStreamOutputRate(
[in] ID3D11VideoProcessor *pVideoProcessor,
[in] UINT StreamIndex,
[in] D3D11_VIDEO_PROCESSOR_OUTPUT_RATE OutputRate,
[in] BOOL RepeatFrame,
[in] const DXGI_RATIONAL *pCustomRate);
- void VideoProcessorSetStreamSourceRect(
[in] ID3D11VideoProcessor *pVideoProcessor,
[in] UINT StreamIndex,
[in] BOOL Enable,
[in] const RECT *pRect);
- void VideoProcessorSetStreamDestRect(
[in] ID3D11VideoProcessor *pVideoProcessor,
[in] UINT StreamIndex,
[in] BOOL Enable,
[in] const RECT *pRect);
- void VideoProcessorSetStreamAlpha(
[in] ID3D11VideoProcessor *pVideoProcessor,
[in] UINT StreamIndex,
[in] BOOL Enable,
[in] FLOAT Alpha);
- void VideoProcessorSetStreamPalette(
[in] ID3D11VideoProcessor *pVideoProcessor,
[in] UINT StreamIndex,
[in] UINT Count,
[in] const UINT *pEntries);
- void VideoProcessorSetStreamPixelAspectRatio(
[in] ID3D11VideoProcessor *pVideoProcessor,
[in] UINT StreamIndex,
[in] BOOL Enable,
[in] const DXGI_RATIONAL *pSourceAspectRatio,
[in] const DXGI_RATIONAL *pDestinationAspectRatio);
- void VideoProcessorSetStreamLumaKey(
[in] ID3D11VideoProcessor *pVideoProcessor,
[in] UINT StreamIndex,
[in] BOOL Enable,
[in] FLOAT Lower,
[in] FLOAT Upper);
- void VideoProcessorSetStreamStereoFormat(
[in] ID3D11VideoProcessor *pVideoProcessor,
[in] UINT StreamIndex,
[in] BOOL Enable,
[in] D3D11_VIDEO_PROCESSOR_STEREO_FORMAT Format,
[in] BOOL LeftViewFrame0,
[in] BOOL BaseViewFrame0,
[in] D3D11_VIDEO_PROCESSOR_STEREO_FLIP_MODE FlipMode,
[in] int MonoOffset);
- void VideoProcessorSetStreamAutoProcessingMode(
[in] ID3D11VideoProcessor *pVideoProcessor,
[in] UINT StreamIndex,
[in] BOOL Enable);
- void VideoProcessorSetStreamFilter(
[in] ID3D11VideoProcessor *pVideoProcessor,
[in] UINT StreamIndex,
[in] D3D11_VIDEO_PROCESSOR_FILTER Filter,
[in] BOOL Enable,
[in] int Level);
- HRESULT VideoProcessorSetStreamExtension(
[in] ID3D11VideoProcessor *pVideoProcessor,
[in] UINT StreamIndex,
[in] const GUID *pExtensionGuid,
[in] UINT DataSize,
[in] void *pData);
- void VideoProcessorGetStreamFrameFormat(
[in] ID3D11VideoProcessor *pVideoProcessor,
[in] UINT StreamIndex,
[out] D3D11_VIDEO_FRAME_FORMAT *pFrameFormat);
- void VideoProcessorGetStreamColorSpace(
[in] ID3D11VideoProcessor *pVideoProcessor,
[in] UINT StreamIndex,
[out] D3D11_VIDEO_PROCESSOR_COLOR_SPACE *pColorSpace);
- void VideoProcessorGetStreamOutputRate(
[in] ID3D11VideoProcessor *pVideoProcessor,
[in] UINT StreamIndex,
[out] D3D11_VIDEO_PROCESSOR_OUTPUT_RATE *pOutputRate,
[out] BOOL *pRepeatFrame,
[out] DXGI_RATIONAL *pCustomRate);
- void VideoProcessorGetStreamSourceRect(
[in] ID3D11VideoProcessor *pVideoProcessor,
[in] UINT StreamIndex,
[out] BOOL *pEnabled,
[out] RECT *pRect);
- void VideoProcessorGetStreamDestRect(
[in] ID3D11VideoProcessor *pVideoProcessor,
[in] UINT StreamIndex,
[out] BOOL *pEnabled,
[out] RECT *pRect);
- void VideoProcessorGetStreamAlpha(
[in] ID3D11VideoProcessor *pVideoProcessor,
[in] UINT StreamIndex,
[out] BOOL *pEnabled,
[out] FLOAT *pAlpha);
- void VideoProcessorGetStreamPalette(
[in] ID3D11VideoProcessor *pVideoProcessor,
[in] UINT StreamIndex,
[in] UINT Count,
[out] UINT *pEntries);
- void VideoProcessorGetStreamPixelAspectRatio(
[in] ID3D11VideoProcessor *pVideoProcessor,
[in] UINT StreamIndex,
[out] BOOL *pEnabled,
[out] DXGI_RATIONAL *pSourceAspectRatio,
[out] DXGI_RATIONAL *pDestinationAspectRatio);
- void VideoProcessorGetStreamLumaKey(
[in] ID3D11VideoProcessor *pVideoProcessor,
[in] UINT StreamIndex,
[out] BOOL *pEnabled,
[out] FLOAT *pLower,
[out] FLOAT *pUpper);
- void VideoProcessorGetStreamStereoFormat(
[in] ID3D11VideoProcessor *pVideoProcessor,
[in] UINT StreamIndex,
[out] BOOL *pEnable,
[out] D3D11_VIDEO_PROCESSOR_STEREO_FORMAT *pFormat,
[out] BOOL *pLeftViewFrame0,
[out] BOOL *pBaseViewFrame0,
[out] D3D11_VIDEO_PROCESSOR_STEREO_FLIP_MODE *pFlipMode,
[out] int *MonoOffset);
- void VideoProcessorGetStreamAutoProcessingMode(
[in] ID3D11VideoProcessor *pVideoProcessor,
[in] UINT StreamIndex,
[out] BOOL *pEnabled);
- void VideoProcessorGetStreamFilter(
[in] ID3D11VideoProcessor *pVideoProcessor,
[in] UINT StreamIndex,
[in] D3D11_VIDEO_PROCESSOR_FILTER Filter,
[out] BOOL *pEnabled,
[out] int *pLevel);
- HRESULT VideoProcessorGetStreamExtension(
[in] ID3D11VideoProcessor *pVideoProcessor,
[in] UINT StreamIndex,
[in] const GUID *pExtensionGuid,
[in] UINT DataSize,
[out] void *pData);
- HRESULT VideoProcessorBlt(
[in] ID3D11VideoProcessor *pVideoProcessor,
[in] ID3D11VideoProcessorOutputView *pView,
[in] UINT OutputFrame,
[in] UINT StreamCount,
[in] const D3D11_VIDEO_PROCESSOR_STREAM *pStreams);
- HRESULT NegotiateCryptoSessionKeyExchange(
[in] ID3D11CryptoSession *pCryptoSession,
[in] UINT DataSize,
[in,out] void *pData);
- void EncryptionBlt(
[in] ID3D11CryptoSession *pCryptoSession,
[in] ID3D11Texture2D *pSrcSurface,
[in] ID3D11Texture2D *pDstSurface,
[in] UINT IVSize,
[in,out] void *pIV);
- void DecryptionBlt(
[in] ID3D11CryptoSession *pCryptoSession,
[in] ID3D11Texture2D *pSrcSurface,
[in] ID3D11Texture2D *pDstSurface,
[in] D3D11_ENCRYPTED_BLOCK_INFO *pEncryptedBlockInfo,
[in] UINT ContentKeySize,
[in] const void *pContentKey,
[in] UINT IVSize,
[in,out] void *pIV);
- void StartSessionKeyRefresh(
[in] ID3D11CryptoSession *pCryptoSession,
[in] UINT RandomNumberSize,
[out] void *pRandomNumber);
- void FinishSessionKeyRefresh(
[in] ID3D11CryptoSession *pCryptoSession);
- HRESULT GetEncryptionBltKey(
[in] ID3D11CryptoSession *pCryptoSession,
[in] UINT KeySize,
[out] void *pReadbackKey);
- HRESULT NegotiateAuthenticatedChannelKeyExchange(
[in] ID3D11AuthenticatedChannel *pChannel,
[in] UINT DataSize,
[in,out] void *pData);
- HRESULT QueryAuthenticatedChannel(
[in] ID3D11AuthenticatedChannel *pChannel,
[in] UINT InputSize,
[in] const void *pInput,
[in] UINT OutputSize,
[out] void *pOutput);
- HRESULT ConfigureAuthenticatedChannel(
[in] ID3D11AuthenticatedChannel *pChannel,
[in] UINT InputSize,
[in] const void *pInput,
[out] D3D11_AUTHENTICATED_CONFIGURE_OUTPUT *pOutput);
- void VideoProcessorSetStreamRotation(
[in] ID3D11VideoProcessor *pVideoProcessor,
[in] UINT StreamIndex,
[in] BOOL Enable,
[in] D3D11_VIDEO_PROCESSOR_ROTATION Rotation);
- void VideoProcessorGetStreamRotation(
[in] ID3D11VideoProcessor *pVideoProcessor,
[in] UINT StreamIndex,
[out] BOOL *pEnable,
[out] D3D11_VIDEO_PROCESSOR_ROTATION *pRotation);
+}
+[
- object,
- local,
- uuid(31627037-53ab-4200-9061-05faa9ab45f9)
+] +interface ID3D11VideoProcessorEnumerator : ID3D11DeviceChild +{
- HRESULT GetVideoProcessorContentDesc(
[out] D3D11_VIDEO_PROCESSOR_CONTENT_DESC *pContentDesc);
- HRESULT CheckVideoProcessorFormat(
[in] DXGI_FORMAT Format,
[out] UINT *pFlags);
- HRESULT GetVideoProcessorCaps(
[out] D3D11_VIDEO_PROCESSOR_CAPS *pCaps);
- HRESULT GetVideoProcessorRateConversionCaps(
[in] UINT TypeIndex,
[out] D3D11_VIDEO_PROCESSOR_RATE_CONVERSION_CAPS *pCaps);
- HRESULT GetVideoProcessorCustomRate(
[in] UINT TypeIndex,
[in] UINT CustomRateIndex,
[out] D3D11_VIDEO_PROCESSOR_CUSTOM_RATE *pRate);
- HRESULT GetVideoProcessorFilterRange(
[in] D3D11_VIDEO_PROCESSOR_FILTER Filter,
[out] D3D11_VIDEO_PROCESSOR_FILTER_RANGE *pRange);
+}
+[
- object,
- local,
- uuid(10ec4d5b-975a-4689-b9e4-d0aac30fe333)
+] +interface ID3D11VideoDevice : IUnknown +{
- HRESULT CreateVideoDecoder(
[in] const D3D11_VIDEO_DECODER_DESC *pVideoDesc,
[in] const D3D11_VIDEO_DECODER_CONFIG *pConfig,
[out] ID3D11VideoDecoder **ppDecoder);
- HRESULT CreateVideoProcessor(
[in] ID3D11VideoProcessorEnumerator *pEnum,
[in] UINT RateConversionIndex,
[out] ID3D11VideoProcessor **ppVideoProcessor);
- HRESULT CreateAuthenticatedChannel(
[in] D3D11_AUTHENTICATED_CHANNEL_TYPE ChannelType,
[out] ID3D11AuthenticatedChannel **ppAuthenticatedChannel);
- HRESULT CreateCryptoSession(
[in] const GUID *pCryptoType,
[in] const GUID *pDecoderProfile,
[in] const GUID *pKeyExchangeType,
[out] ID3D11CryptoSession **ppCryptoSession);
- HRESULT CreateVideoDecoderOutputView(
[in] ID3D11Resource *pResource,
[in] const D3D11_VIDEO_DECODER_OUTPUT_VIEW_DESC *pDesc,
[out] ID3D11VideoDecoderOutputView **ppVDOVView);
- HRESULT CreateVideoProcessorInputView(
[in] ID3D11Resource *pResource,
[in] ID3D11VideoProcessorEnumerator *pEnum,
[in] const D3D11_VIDEO_PROCESSOR_INPUT_VIEW_DESC *pDesc,
[out] ID3D11VideoProcessorInputView **ppVPIView);
- HRESULT CreateVideoProcessorOutputView(
[in] ID3D11Resource *pResource,
[in] ID3D11VideoProcessorEnumerator *pEnum,
[in] const D3D11_VIDEO_PROCESSOR_OUTPUT_VIEW_DESC *pDesc,
[out] ID3D11VideoProcessorOutputView **ppVPOView);
- HRESULT CreateVideoProcessorEnumerator(
[in] const D3D11_VIDEO_PROCESSOR_CONTENT_DESC *pDesc,
[out] ID3D11VideoProcessorEnumerator **ppEnum);
- UINT GetVideoDecoderProfileCount(void);
- HRESULT GetVideoDecoderProfile(
[in] UINT Index,
[out] GUID *pDecoderProfile);
- HRESULT CheckVideoDecoderFormat(
[in] const GUID *pDecoderProfile,
[in] DXGI_FORMAT Format,
[out] BOOL *pSupported);
- HRESULT GetVideoDecoderConfigCount(
[in] const D3D11_VIDEO_DECODER_DESC *pDesc,
[out] UINT *pCount);
- HRESULT GetVideoDecoderConfig(
[in] const D3D11_VIDEO_DECODER_DESC *pDesc,
[in] UINT Index,
[out] D3D11_VIDEO_DECODER_CONFIG *pConfig);
- HRESULT GetContentProtectionCaps(
[in] const GUID *pCryptoType,
[in] const GUID *pDecoderProfile,
[out] D3D11_VIDEO_CONTENT_PROTECTION_CAPS *pCaps);
- HRESULT CheckCryptoKeyExchange(
[in] const GUID *pCryptoType,
[in] const GUID *pDecoderProfile,
[in] UINT Index,
[out] GUID *pKeyExchangeType);
- HRESULT SetPrivateData(
[in] REFGUID guid,
[in] UINT DataSize,
[in] const void *pData);
- HRESULT SetPrivateDataInterface(
[in] REFGUID guid,
[in] const IUnknown *pData);
+}
typedef enum D3D11_CREATE_DEVICE_FLAG {
- D3D11_CREATE_DEVICE_SINGLETHREADED = 0x0001,
- D3D11_CREATE_DEVICE_DEBUG = 0x0002,
- D3D11_CREATE_DEVICE_SWITCH_TO_REF = 0x0004,
- D3D11_CREATE_DEVICE_PREVENT_INTERNAL_THREADING_OPTIMIZATIONS = 0x0008,
- D3D11_CREATE_DEVICE_BGRA_SUPPORT = 0x0020,
- D3D11_CREATE_DEVICE_DEBUGGABLE = 0x0040,
- D3D11_CREATE_DEVICE_SINGLETHREADED = 0x0001,
- D3D11_CREATE_DEVICE_DEBUG = 0x0002,
- D3D11_CREATE_DEVICE_SWITCH_TO_REF = 0x0004,
- D3D11_CREATE_DEVICE_PREVENT_INTERNAL_THREADING_OPTIMIZATIONS = 0x0008,
- D3D11_CREATE_DEVICE_BGRA_SUPPORT = 0x0020,
- D3D11_CREATE_DEVICE_DEBUGGABLE = 0x0040, D3D11_CREATE_DEVICE_PREVENT_ALTERING_LAYER_SETTINGS_FROM_REGISTRY = 0x0080,
- D3D11_CREATE_DEVICE_DISABLE_GPU_TIMEOUT = 0x0100,
- D3D11_CREATE_DEVICE_VIDEO_SUPPORT = 0x0800
- D3D11_CREATE_DEVICE_DISABLE_GPU_TIMEOUT = 0x0100,
- D3D11_CREATE_DEVICE_VIDEO_SUPPORT = 0x0800
} D3D11_CREATE_DEVICE_FLAG;
const UINT D3D11_SDK_VERSION = 7;