[PATCH 1/1] d3d11: Add the ID3D11VideoContext interface.
Henri Verbeet
hverbeet at codeweavers.com
Fri Jan 22 05:59:49 CST 2016
From: Andrey Turkin <andrey.turkin at gmail.com>
Signed-off-by: Andrey Turkin <andrey.turkin at gmail.com>
Signed-off-by: Henri Verbeet <hverbeet at codeweavers.com>
---
So what happened here is that Jacek's patch yesterday made me remember this
one, and I assumed Andrey had dropped it. Guess I was wrong, oh well.
---
include/d3d11.idl | 510 +++++++++++++++++++++++++++++++++++++++++++++++++++++-
1 file changed, 507 insertions(+), 3 deletions(-)
diff --git a/include/d3d11.idl b/include/d3d11.idl
index d32fa34..df6ea08 100644
--- a/include/d3d11.idl
+++ b/include/d3d11.idl
@@ -27,6 +27,11 @@ typedef D3D_PRIMITIVE_TOPOLOGY D3D11_PRIMITIVE_TOPOLOGY;
typedef D3D_SRV_DIMENSION D3D11_SRV_DIMENSION;
typedef RECT D3D11_RECT;
+interface ID3D11Device;
+interface ID3D11ClassLinkage;
+interface ID3D11Resource;
+interface ID3D11VideoProcessorInputView;
+
const UINT D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT = 14;
const UINT D3D11_COMMONSHADER_CONSTANT_BUFFER_COMPONENTS = 4;
const UINT D3D11_COMMONSHADER_CONSTANT_BUFFER_COMPONENT_BIT_COUNT = 32;
@@ -106,6 +111,8 @@ const UINT D3D11_SHADER_MAX_TYPES = 65535;
const UINT D3D11_SHADER_MINOR_VERSION = 0;
const UINT D3D11_VS_OUTPUT_REGISTER_COUNT = 32;
+const UINT D3D11_OMAC_SIZE = 16;
+
const UINT D3D11_PS_CS_UAV_REGISTER_COMPONENTS = 1;
const UINT D3D11_PS_CS_UAV_REGISTER_COUNT = 8;
const UINT D3D11_PS_CS_UAV_REGISTER_READS_PER_INST = 1;
@@ -228,6 +235,61 @@ typedef enum D3D11_BLEND_OP
D3D11_BLEND_OP_MAX
} D3D11_BLEND_OP;
+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 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;
+
typedef struct D3D11_BOX
{
UINT left;
@@ -1562,9 +1624,105 @@ typedef struct D3D11_VIDEO_CONTENT_PROTECTION_CAPS
ULONGLONG ProtectedMemorySize;
} D3D11_VIDEO_CONTENT_PROTECTION_CAPS;
-/* A couple forward declarations are needed */
-interface ID3D11Device;
-interface ID3D11ClassLinkage;
+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 struct D3D11_VIDEO_COLOR_YCbCrA
+{
+ float Y;
+ float Cb;
+ float Cr;
+ float A;
+} D3D11_VIDEO_COLOR_YCbCrA;
+
+typedef struct D3D11_VIDEO_COLOR_RGBA
+{
+ float R;
+ float G;
+ float B;
+ float A;
+} D3D11_VIDEO_COLOR_RGBA;
+
+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 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;
+
+typedef struct D3D11_OMAC
+{
+ BYTE Omac[D3D11_OMAC_SIZE];
+} D3D11_OMAC;
+
+typedef struct D3D11_AUTHENTICATED_CONFIGURE_OUTPUT
+{
+ D3D11_OMAC omac;
+ GUID ConfigureType;
+ HANDLE hChannel;
+ UINT SequenceNumber;
+ HRESULT ReturnCode;
+} D3D11_AUTHENTICATED_CONFIGURE_OUTPUT;
[
object,
@@ -2517,6 +2675,352 @@ interface ID3D11VideoDevice : IUnknown
[
object,
+ uuid(61f21c45-3c0e-4a74-9cea-67100d9ad5e4),
+ local,
+ pointer_default(unique)
+]
+interface ID3D11VideoContext : ID3D11DeviceChild
+{
+ HRESULT GetDecoderBuffer(
+ [in] ID3D11VideoDecoder *decoder,
+ [in] D3D11_VIDEO_DECODER_BUFFER_TYPE type,
+ [out] UINT *buffer_size,
+ [out] void **buffer
+ );
+ HRESULT ReleaseDecoderBuffer(
+ [in] ID3D11VideoDecoder *decoder,
+ [in] D3D11_VIDEO_DECODER_BUFFER_TYPE type
+ );
+ HRESULT DecoderBeginFrame(
+ [in] ID3D11VideoDecoder *decoder,
+ [in] ID3D11VideoDecoderOutputView *view,
+ [in] UINT key_size,
+ [in] const void *key
+ );
+ HRESULT DecoderEndFrame(
+ [in] ID3D11VideoDecoder *decoder
+ );
+ HRESULT SubmitDecoderBuffers(
+ [in] ID3D11VideoDecoder *decoder,
+ [in] UINT buffers_count,
+ [in] const D3D11_VIDEO_DECODER_BUFFER_DESC *buffer_desc
+ );
+ HRESULT DecoderExtension(
+ [in] ID3D11VideoDecoder *decoder,
+ [in] const D3D11_VIDEO_DECODER_EXTENSION *extension
+ );
+ void VideoProcessorSetOutputTargetRect(
+ [in] ID3D11VideoProcessor *processor,
+ [in] BOOL enable,
+ [in] const RECT *rect
+ );
+ void VideoProcessorSetOutputBackgroundColor(
+ [in] ID3D11VideoProcessor *processor,
+ [in] BOOL y_cb_cr,
+ [in] const D3D11_VIDEO_COLOR *color
+ );
+ void VideoProcessorSetOutputColorSpace(
+ [in] ID3D11VideoProcessor *processor,
+ [in] const D3D11_VIDEO_PROCESSOR_COLOR_SPACE *color_space
+ );
+ void VideoProcessorSetOutputAlphaFillMode(
+ [in] ID3D11VideoProcessor *processor,
+ [in] D3D11_VIDEO_PROCESSOR_ALPHA_FILL_MODE alpha_fill_mode,
+ [in] UINT stream_idx
+ );
+ void VideoProcessorSetOutputConstriction(
+ [in] ID3D11VideoProcessor *processor,
+ [in] BOOL enable,
+ [in] SIZE size
+ );
+ void VideoProcessorSetOutputStereoMode(
+ [in] ID3D11VideoProcessor *processor,
+ [in] BOOL enable
+ );
+ HRESULT VideoProcessorSetOutputExtension(
+ [in] ID3D11VideoProcessor *processor,
+ [in] const GUID *guid,
+ [in] UINT data_size,
+ [in] void *data
+ );
+ void VideoProcessorGetOutputTargetRect(
+ [in] ID3D11VideoProcessor *processor,
+ [out] BOOL *enabled,
+ [out] RECT *rect
+ );
+ void VideoProcessorGetOutputBackgroundColor(
+ [in] ID3D11VideoProcessor *processor,
+ [out] BOOL *y_cb_cr,
+ [out] D3D11_VIDEO_COLOR *color
+ );
+ void VideoProcessorGetOutputColorSpace(
+ [in] ID3D11VideoProcessor *processor,
+ [out] D3D11_VIDEO_PROCESSOR_COLOR_SPACE *color_space
+ );
+ void VideoProcessorGetOutputAlphaFillMode(
+ [in] ID3D11VideoProcessor *processor,
+ [out] D3D11_VIDEO_PROCESSOR_ALPHA_FILL_MODE *alpha_fill_mode,
+ [out] UINT *stream_idx
+ );
+ void VideoProcessorGetOutputConstriction(
+ [in] ID3D11VideoProcessor *processor,
+ [out] BOOL *enabled,
+ [out] SIZE *size
+ );
+ void VideoProcessorGetOutputStereoMode(
+ [in] ID3D11VideoProcessor *processor,
+ [out] BOOL *enabled
+ );
+ HRESULT VideoProcessorGetOutputExtension(
+ [in] ID3D11VideoProcessor *processor,
+ [in] const GUID *guid,
+ [in] UINT data_size,
+ [out] void *data
+ );
+ void VideoProcessorSetStreamFrameFormat(
+ [in] ID3D11VideoProcessor *processor,
+ [in] UINT stream_idx,
+ [in] D3D11_VIDEO_FRAME_FORMAT format
+ );
+ void VideoProcessorSetStreamColorSpace(
+ [in] ID3D11VideoProcessor *processor,
+ [in] UINT stream_idx,
+ [in] const D3D11_VIDEO_PROCESSOR_COLOR_SPACE *color_space
+ );
+ void VideoProcessorSetStreamOutputRate(
+ [in] ID3D11VideoProcessor *processor,
+ [in] UINT stream_idx,
+ [in] D3D11_VIDEO_PROCESSOR_OUTPUT_RATE rate,
+ [in] BOOL repeat,
+ [in] const DXGI_RATIONAL *custom_rate
+ );
+ void VideoProcessorSetStreamSourceRect(
+ [in] ID3D11VideoProcessor *processor,
+ [in] UINT stream_idx,
+ [in] BOOL enable,
+ [in] const RECT *rect
+ );
+ void VideoProcessorSetStreamDestRect(
+ [in] ID3D11VideoProcessor *processor,
+ [in] UINT stream_idx,
+ [in] BOOL enable,
+ [in] const RECT *rect
+ );
+ void VideoProcessorSetStreamAlpha(
+ [in] ID3D11VideoProcessor *processor,
+ [in] UINT stream_idx,
+ [in] BOOL enable,
+ [in] float alpha
+ );
+ void VideoProcessorSetStreamPalette(
+ [in] ID3D11VideoProcessor *processor,
+ [in] UINT stream_idx,
+ [in] UINT entry_count,
+ [in] const UINT *entries
+ );
+ void VideoProcessorSetStreamPixelAspectRatio(
+ [in] ID3D11VideoProcessor *processor,
+ [in] UINT stream_idx,
+ [in] BOOL enable,
+ [in] const DXGI_RATIONAL *src_aspect_ratio,
+ [in] const DXGI_RATIONAL *dst_aspect_ratio
+ );
+ void VideoProcessorSetStreamLumaKey(
+ [in] ID3D11VideoProcessor *processor,
+ [in] UINT stream_idx,
+ [in] BOOL enable,
+ [in] float lower,
+ [in] float upper
+ );
+ void VideoProcessorSetStreamStereoFormat(
+ [in] ID3D11VideoProcessor *processor,
+ [in] UINT stream_idx,
+ [in] BOOL enable,
+ [in] D3D11_VIDEO_PROCESSOR_STEREO_FORMAT format,
+ [in] BOOL left_view_frame0,
+ [in] BOOL base_view_frame0,
+ [in] D3D11_VIDEO_PROCESSOR_STEREO_FLIP_MODE flip_mode,
+ [in] int mono_offset
+ );
+ void VideoProcessorSetStreamAutoProcessingMode(
+ [in] ID3D11VideoProcessor *processor,
+ [in] UINT stream_idx,
+ [in] BOOL enable
+ );
+ void VideoProcessorSetStreamFilter(
+ [in] ID3D11VideoProcessor *processor,
+ [in] UINT stream_idx,
+ [in] D3D11_VIDEO_PROCESSOR_FILTER filter,
+ [in] BOOL enable,
+ [in] int level
+ );
+ HRESULT VideoProcessorSetStreamExtension(
+ [in] ID3D11VideoProcessor *processor,
+ [in] UINT stream_idx,
+ [in] const GUID *guid,
+ [in] UINT data_size,
+ [in] void *data
+ );
+ void VideoProcessorGetStreamFrameFormat(
+ [in] ID3D11VideoProcessor *processor,
+ [in] UINT stream_idx,
+ [out] D3D11_VIDEO_FRAME_FORMAT *format
+ );
+ void VideoProcessorGetStreamColorSpace(
+ [in] ID3D11VideoProcessor *processor,
+ [in] UINT stream_idx,
+ [out] D3D11_VIDEO_PROCESSOR_COLOR_SPACE *color_space
+ );
+ void VideoProcessorGetStreamOutputRate(
+ [in] ID3D11VideoProcessor *processor,
+ [in] UINT stream_idx,
+ [out] D3D11_VIDEO_PROCESSOR_OUTPUT_RATE *rate,
+ [out] BOOL *repeat,
+ [out] DXGI_RATIONAL *custom_rate
+ );
+ void VideoProcessorGetStreamSourceRect(
+ [in] ID3D11VideoProcessor *processor,
+ [in] UINT stream_idx,
+ [out] BOOL *enabled,
+ [out] RECT *rect
+ );
+ void VideoProcessorGetStreamDestRect(
+ [in] ID3D11VideoProcessor *processor,
+ [in] UINT stream_idx,
+ [out] BOOL *enabled,
+ [out] RECT *rect
+ );
+ void VideoProcessorGetStreamAlpha(
+ [in] ID3D11VideoProcessor *processor,
+ [in] UINT stream_idx,
+ [out] BOOL *enabled,
+ [out] float *alpha
+ );
+ void VideoProcessorGetStreamPalette(
+ [in] ID3D11VideoProcessor *processor,
+ [in] UINT stream_idx,
+ [in] UINT entry_count,
+ [out] UINT *entries
+ );
+ void VideoProcessorGetStreamPixelAspectRatio(
+ [in] ID3D11VideoProcessor *processor,
+ [in] UINT stream_idx,
+ [out] BOOL *enabled,
+ [out] DXGI_RATIONAL *src_aspect_ratio,
+ [out] DXGI_RATIONAL *dst_aspect_ratio
+ );
+ void VideoProcessorGetStreamLumaKey(
+ [in] ID3D11VideoProcessor *processor,
+ [in] UINT stream_idx,
+ [out] BOOL *enabled,
+ [out] float *lower,
+ [out] float *upper
+ );
+ void VideoProcessorGetStreamStereoFormat(
+ [in] ID3D11VideoProcessor *processor,
+ [in] UINT stream_idx,
+ [out] BOOL *enabled,
+ [out] D3D11_VIDEO_PROCESSOR_STEREO_FORMAT *format,
+ [out] BOOL *left_view_frame0,
+ [out] BOOL *base_view_frame0,
+ [out] D3D11_VIDEO_PROCESSOR_STEREO_FLIP_MODE *flip_mode,
+ [out] int *mono_offset
+ );
+ void VideoProcessorGetStreamAutoProcessingMode(
+ [in] ID3D11VideoProcessor *processor,
+ [in] UINT stream_idx,
+ [out] BOOL *enabled
+ );
+ void VideoProcessorGetStreamFilter(
+ [in] ID3D11VideoProcessor *processor,
+ [in] UINT stream_idx,
+ [in] D3D11_VIDEO_PROCESSOR_FILTER filter,
+ [out] BOOL *enabled,
+ [out] int *level
+ );
+ HRESULT VideoProcessorGetStreamExtension(
+ [in] ID3D11VideoProcessor *processor,
+ [in] UINT stream_idx,
+ [in] const GUID *guid,
+ [in] UINT data_size,
+ [out] void *data
+ );
+ HRESULT VideoProcessorBlt(
+ [in] ID3D11VideoProcessor *processor,
+ [in] ID3D11VideoProcessorOutputView *view,
+ [in] UINT frame_idx,
+ [in] UINT stream_count,
+ [in] const D3D11_VIDEO_PROCESSOR_STREAM *streams
+ );
+ HRESULT NegotiateCryptoSessionKeyExchange(
+ [in] ID3D11CryptoSession *session,
+ [in] UINT data_size,
+ [in, out] void *data
+ );
+ void EncryptionBlt(
+ [in] ID3D11CryptoSession *session,
+ [in] ID3D11Texture2D *src_surface,
+ [in] ID3D11Texture2D *dst_surface,
+ [in] UINT iv_size,
+ [in, out] void *iv
+ );
+ void DecryptionBlt(
+ [in] ID3D11CryptoSession *session,
+ [in] ID3D11Texture2D *src_surface,
+ [in] ID3D11Texture2D *dst_surface,
+ [in] D3D11_ENCRYPTED_BLOCK_INFO *block_info,
+ [in] UINT key_size,
+ [in] const void *key,
+ [in] UINT iv_size,
+ [in, out] void *iv
+ );
+ void StartSessionKeyRefresh(
+ [in] ID3D11CryptoSession *session,
+ [in] UINT random_number_size,
+ [out] void *random_number
+ );
+ void FinishSessionKeyRefresh(
+ [in] ID3D11CryptoSession *session
+ );
+ HRESULT GetEncryptionBltKey(
+ [in] ID3D11CryptoSession *session,
+ [in] UINT key_size,
+ [out] void *key
+ );
+ HRESULT NegotiateAuthenticatedChannelKeyExchange(
+ [in] ID3D11AuthenticatedChannel *channel,
+ [in] UINT data_size,
+ [in, out] void *data
+ );
+ HRESULT QueryAuthenticatedChannel(
+ [in] ID3D11AuthenticatedChannel *channel,
+ [in] UINT input_size,
+ [in] const void *input,
+ [in] UINT output_size,
+ [out] void *output
+ );
+ HRESULT ConfigureAuthenticatedChannel(
+ [in] ID3D11AuthenticatedChannel *channel,
+ [in] UINT input_size,
+ [in] const void *input,
+ [out] D3D11_AUTHENTICATED_CONFIGURE_OUTPUT *output
+ );
+ void VideoProcessorSetStreamRotation(
+ [in] ID3D11VideoProcessor *processor,
+ [in] UINT stream_idx,
+ [in] BOOL enable,
+ [in] D3D11_VIDEO_PROCESSOR_ROTATION rotation
+ );
+ void VideoProcessorGetStreamRotation(
+ [in] ID3D11VideoProcessor *processor,
+ [in] UINT stream_idx,
+ [out] BOOL *enable,
+ [out] D3D11_VIDEO_PROCESSOR_ROTATION *rotation
+ );
+}
+
+[
+ object,
local,
uuid(db6f6ddb-ac77-4e88-8253-819df9bbf140)
]
--
2.1.4
More information about the wine-patches
mailing list