Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-cw
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-cw
Commits
3b1f51d6
Commit
3b1f51d6
authored
Sep 23, 2023
by
Biswapriyo Nath
Committed by
Alexandre Julliard
Sep 25, 2023
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
include: Add ID3D12VideoDevice in d3d12video.idl.
parent
56e58cbe
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
197 additions
and
0 deletions
+197
-0
d3d12video.idl
include/d3d12video.idl
+197
-0
No files found.
include/d3d12video.idl
View file @
3b1f51d6
...
...
@@ -21,12 +21,72 @@ import "ocidl.idl";
import
"dxgicommon.idl"
;
import
"d3d12.idl"
;
typedef
enum
D3D12_VIDEO_FIELD_TYPE
{
D3D12_VIDEO_FIELD_TYPE_NONE
=
0
,
D3D12_VIDEO_FIELD_TYPE_INTERLACED_TOP_FIELD_FIRST
=
1
,
D3D12_VIDEO_FIELD_TYPE_INTERLACED_BOTTOM_FIELD_FIRST
=
2
,
}
D3D12_VIDEO_FIELD_TYPE
;
typedef
enum
D3D12_VIDEO_FRAME_STEREO_FORMAT
{
D3D12_VIDEO_FRAME_STEREO_FORMAT_NONE
=
0
,
D3D12_VIDEO_FRAME_STEREO_FORMAT_MONO
=
1
,
D3D12_VIDEO_FRAME_STEREO_FORMAT_HORIZONTAL
=
2
,
D3D12_VIDEO_FRAME_STEREO_FORMAT_VERTICAL
=
3
,
D3D12_VIDEO_FRAME_STEREO_FORMAT_SEPARATE
=
4
,
}
D3D12_VIDEO_FRAME_STEREO_FORMAT
;
typedef
enum
D3D12_VIDEO_FRAME_CODED_INTERLACE_TYPE
{
D3D12_VIDEO_FRAME_CODED_INTERLACE_TYPE_NONE
=
0
,
D3D12_VIDEO_FRAME_CODED_INTERLACE_TYPE_FIELD_BASED
=
1
,
}
D3D12_VIDEO_FRAME_CODED_INTERLACE_TYPE
;
typedef
enum
D3D12_FEATURE_VIDEO
{
D3D12_FEATURE_VIDEO_DECODE_SUPPORT
=
0
,
D3D12_FEATURE_VIDEO_DECODE_PROFILES
=
1
,
D3D12_FEATURE_VIDEO_DECODE_FORMATS
=
2
,
D3D12_FEATURE_VIDEO_DECODE_CONVERSION_SUPPORT
=
3
,
D3D12_FEATURE_VIDEO_PROCESS_SUPPORT
=
5
,
D3D12_FEATURE_VIDEO_PROCESS_MAX_INPUT_STREAMS
=
6
,
D3D12_FEATURE_VIDEO_PROCESS_REFERENCE_INFO
=
7
,
D3D12_FEATURE_VIDEO_DECODER_HEAP_SIZE
=
8
,
D3D12_FEATURE_VIDEO_PROCESSOR_SIZE
=
9
,
D3D12_FEATURE_VIDEO_DECODE_PROFILE_COUNT
=
10
,
D3D12_FEATURE_VIDEO_DECODE_FORMAT_COUNT
=
11
,
D3D12_FEATURE_VIDEO_ARCHITECTURE
=
17
,
D3D12_FEATURE_VIDEO_DECODE_HISTOGRAM
=
18
,
D3D12_FEATURE_VIDEO_FEATURE_AREA_SUPPORT
=
19
,
D3D12_FEATURE_VIDEO_MOTION_ESTIMATOR
=
20
,
D3D12_FEATURE_VIDEO_MOTION_ESTIMATOR_SIZE
=
21
,
D3D12_FEATURE_VIDEO_EXTENSION_COMMAND_COUNT
=
22
,
D3D12_FEATURE_VIDEO_EXTENSION_COMMANDS
=
23
,
D3D12_FEATURE_VIDEO_EXTENSION_COMMAND_PARAMETER_COUNT
=
24
,
D3D12_FEATURE_VIDEO_EXTENSION_COMMAND_PARAMETERS
=
25
,
D3D12_FEATURE_VIDEO_EXTENSION_COMMAND_SUPPORT
=
26
,
D3D12_FEATURE_VIDEO_EXTENSION_COMMAND_SIZE
=
27
,
D3D12_FEATURE_VIDEO_DECODE_PROTECTED_RESOURCES
=
28
,
D3D12_FEATURE_VIDEO_PROCESS_PROTECTED_RESOURCES
=
29
,
D3D12_FEATURE_VIDEO_MOTION_ESTIMATOR_PROTECTED_RESOURCES
=
30
,
D3D12_FEATURE_VIDEO_DECODER_HEAP_SIZE1
=
31
,
D3D12_FEATURE_VIDEO_PROCESSOR_SIZE1
=
32
,
D3D12_FEATURE_VIDEO_ENCODER_CODEC
=
33
,
D3D12_FEATURE_VIDEO_ENCODER_PROFILE_LEVEL
=
34
,
D3D12_FEATURE_VIDEO_ENCODER_OUTPUT_RESOLUTION_RATIOS_COUNT
=
35
,
D3D12_FEATURE_VIDEO_ENCODER_OUTPUT_RESOLUTION
=
36
,
D3D12_FEATURE_VIDEO_ENCODER_INPUT_FORMAT
=
37
,
D3D12_FEATURE_VIDEO_ENCODER_RATE_CONTROL_MODE
=
38
,
D3D12_FEATURE_VIDEO_ENCODER_INTRA_REFRESH_MODE
=
39
,
D3D12_FEATURE_VIDEO_ENCODER_FRAME_SUBREGION_LAYOUT_MODE
=
40
,
D3D12_FEATURE_VIDEO_ENCODER_HEAP_SIZE
=
41
,
D3D12_FEATURE_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT
=
42
,
D3D12_FEATURE_VIDEO_ENCODER_SUPPORT
=
43
,
D3D12_FEATURE_VIDEO_ENCODER_CODEC_PICTURE_CONTROL_SUPPORT
=
44
,
D3D12_FEATURE_VIDEO_ENCODER_RESOURCE_REQUIREMENTS
=
45
,
}
D3D12_FEATURE_VIDEO
;
typedef
enum
D3D12_BITSTREAM_ENCRYPTION_TYPE
{
D3D12_BITSTREAM_ENCRYPTION_TYPE_NONE
=
0
,
...
...
@@ -45,6 +105,143 @@ typedef struct D3D12_VIDEO_DECODER_DESC
D3D12_VIDEO_DECODE_CONFIGURATION
Configuration
;
}
D3D12_VIDEO_DECODER_DESC
;
typedef
struct
D3D12_VIDEO_DECODER_HEAP_DESC
{
UINT
NodeMask
;
D3D12_VIDEO_DECODE_CONFIGURATION
Configuration
;
UINT
DecodeWidth
;
UINT
DecodeHeight
;
DXGI_FORMAT
Format
;
DXGI_RATIONAL
FrameRate
;
UINT
BitRate
;
UINT
MaxDecodePictureBufferCount
;
}
D3D12_VIDEO_DECODER_HEAP_DESC
;
typedef
struct
D3D12_VIDEO_SIZE_RANGE
{
UINT
MaxWidth
;
UINT
MaxHeight
;
UINT
MinWidth
;
UINT
MinHeight
;
}
D3D12_VIDEO_SIZE_RANGE
;
typedef
enum
D3D12_VIDEO_PROCESS_FILTER
{
D3D12_VIDEO_PROCESS_FILTER_BRIGHTNESS
=
0
,
D3D12_VIDEO_PROCESS_FILTER_CONTRAST
=
1
,
D3D12_VIDEO_PROCESS_FILTER_HUE
=
2
,
D3D12_VIDEO_PROCESS_FILTER_SATURATION
=
3
,
D3D12_VIDEO_PROCESS_FILTER_NOISE_REDUCTION
=
4
,
D3D12_VIDEO_PROCESS_FILTER_EDGE_ENHANCEMENT
=
5
,
D3D12_VIDEO_PROCESS_FILTER_ANAMORPHIC_SCALING
=
6
,
D3D12_VIDEO_PROCESS_FILTER_STEREO_ADJUSTMENT
=
7
,
}
D3D12_VIDEO_PROCESS_FILTER
;
typedef
enum
D3D12_VIDEO_PROCESS_FILTER_FLAGS
{
D3D12_VIDEO_PROCESS_FILTER_FLAG_NONE
=
0
x0
,
D3D12_VIDEO_PROCESS_FILTER_FLAG_BRIGHTNESS
=
(
1
<<
D3D12_VIDEO_PROCESS_FILTER_BRIGHTNESS
),
D3D12_VIDEO_PROCESS_FILTER_FLAG_CONTRAST
=
(
1
<<
D3D12_VIDEO_PROCESS_FILTER_CONTRAST
),
D3D12_VIDEO_PROCESS_FILTER_FLAG_HUE
=
(
1
<<
D3D12_VIDEO_PROCESS_FILTER_HUE
),
D3D12_VIDEO_PROCESS_FILTER_FLAG_SATURATION
=
(
1
<<
D3D12_VIDEO_PROCESS_FILTER_SATURATION
),
D3D12_VIDEO_PROCESS_FILTER_FLAG_NOISE_REDUCTION
=
(
1
<<
D3D12_VIDEO_PROCESS_FILTER_NOISE_REDUCTION
),
D3D12_VIDEO_PROCESS_FILTER_FLAG_EDGE_ENHANCEMENT
=
(
1
<<
D3D12_VIDEO_PROCESS_FILTER_EDGE_ENHANCEMENT
),
D3D12_VIDEO_PROCESS_FILTER_FLAG_ANAMORPHIC_SCALING
=
(
1
<<
D3D12_VIDEO_PROCESS_FILTER_ANAMORPHIC_SCALING
),
D3D12_VIDEO_PROCESS_FILTER_FLAG_STEREO_ADJUSTMENT
=
(
1
<<
D3D12_VIDEO_PROCESS_FILTER_STEREO_ADJUSTMENT
),
}
D3D12_VIDEO_PROCESS_FILTER_FLAGS
;
cpp_quote
(
"DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_PROCESS_FILTER_FLAGS);"
)
typedef
enum
D3D12_VIDEO_PROCESS_DEINTERLACE_FLAGS
{
D3D12_VIDEO_PROCESS_DEINTERLACE_FLAG_NONE
=
0
x0
,
D3D12_VIDEO_PROCESS_DEINTERLACE_FLAG_BOB
=
0
x1
,
D3D12_VIDEO_PROCESS_DEINTERLACE_FLAG_CUSTOM
=
0
x80000000
,
}
D3D12_VIDEO_PROCESS_DEINTERLACE_FLAGS
;
cpp_quote
(
"DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_PROCESS_DEINTERLACE_FLAGS );"
)
typedef
struct
D3D12_VIDEO_PROCESS_LUMA_KEY
{
BOOL
Enable
;
FLOAT
Lower
;
FLOAT
Upper
;
}
D3D12_VIDEO_PROCESS_LUMA_KEY
;
typedef
struct
D3D12_VIDEO_PROCESS_INPUT_STREAM_DESC
{
DXGI_FORMAT
Format
;
DXGI_COLOR_SPACE_TYPE
ColorSpace
;
DXGI_RATIONAL
SourceAspectRatio
;
DXGI_RATIONAL
DestinationAspectRatio
;
DXGI_RATIONAL
FrameRate
;
D3D12_VIDEO_SIZE_RANGE
SourceSizeRange
;
D3D12_VIDEO_SIZE_RANGE
DestinationSizeRange
;
BOOL
EnableOrientation
;
D3D12_VIDEO_PROCESS_FILTER_FLAGS
FilterFlags
;
D3D12_VIDEO_FRAME_STEREO_FORMAT
StereoFormat
;
D3D12_VIDEO_FIELD_TYPE
FieldType
;
D3D12_VIDEO_PROCESS_DEINTERLACE_FLAGS
DeinterlaceMode
;
BOOL
EnableAlphaBlending
;
D3D12_VIDEO_PROCESS_LUMA_KEY
LumaKey
;
UINT
NumPastFrames
;
UINT
NumFutureFrames
;
BOOL
EnableAutoProcessing
;
}
D3D12_VIDEO_PROCESS_INPUT_STREAM_DESC
;
typedef
enum
D3D12_VIDEO_PROCESS_ALPHA_FILL_MODE
{
D3D12_VIDEO_PROCESS_ALPHA_FILL_MODE_OPAQUE
=
0
,
D3D12_VIDEO_PROCESS_ALPHA_FILL_MODE_BACKGROUND
=
1
,
D3D12_VIDEO_PROCESS_ALPHA_FILL_MODE_DESTINATION
=
2
,
D3D12_VIDEO_PROCESS_ALPHA_FILL_MODE_SOURCE_STREAM
=
3
,
}
D3D12_VIDEO_PROCESS_ALPHA_FILL_MODE
;
typedef
struct
D3D12_VIDEO_PROCESS_OUTPUT_STREAM_DESC
{
DXGI_FORMAT
Format
;
DXGI_COLOR_SPACE_TYPE
ColorSpace
;
D3D12_VIDEO_PROCESS_ALPHA_FILL_MODE
AlphaFillMode
;
UINT
AlphaFillModeSourceStreamIndex
;
FLOAT
BackgroundColor
[
4
]
;
DXGI_RATIONAL
FrameRate
;
BOOL
EnableStereo
;
}
D3D12_VIDEO_PROCESS_OUTPUT_STREAM_DESC
;
[
uuid
(
1
f052807
-
0b46
-
4
acc
-
8
a89
-
364
f793718a4
),
object
,
local
,
pointer_default
(
unique
)
]
interface
ID3D12VideoDevice
:
IUnknown
{
HRESULT
CheckFeatureSupport
(
D3D12_FEATURE_VIDEO
feature_video
,
[
in
,
out
]
void
*
feature_support_data
,
UINT
feature_support_data_size
)
;
HRESULT
CreateVideoDecoder
(
[
in
]
const
D3D12_VIDEO_DECODER_DESC
*
desc
,
[
in
]
REFIID
riid
,
[
out
,
iid_is
(
riid
)
]
void
**
video_decoder
)
;
HRESULT
CreateVideoDecoderHeap
(
[
in
]
const
D3D12_VIDEO_DECODER_HEAP_DESC
*
video_decoder_heap_desc
,
[
in
]
REFIID
riid
,
[
out
,
iid_is
(
riid
)
]
void
**
video_decoder_heap
)
;
HRESULT
CreateVideoProcessor
(
UINT
node_mask
,
[
in
]
const
D3D12_VIDEO_PROCESS_OUTPUT_STREAM_DESC
*
output_stream_desc
,
[
in
]
UINT
input_stream_descs_count
,
[
in
]
const
D3D12_VIDEO_PROCESS_INPUT_STREAM_DESC
*
input_stream_descs
,
[
in
]
REFIID
riid
,
[
out
,
iid_is
(
riid
)
]
void
**
video_processor
)
;
}
[
uuid
(
c59b6bdc
-
7720
-
4074
-
a136
-
17
a156037470
),
object
,
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment