From: Biswapriyo Nath <nathbappai@gmail.com> Required for https://github.com/FFmpeg/FFmpeg/commit/c4d22f2d2c27ca6a078c126fbd371ded47b6... --- include/d3d12video.idl | 89 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 89 insertions(+) diff --git a/include/d3d12video.idl b/include/d3d12video.idl index f910527b8ff..51929cd316e 100644 --- a/include/d3d12video.idl +++ b/include/d3d12video.idl @@ -37,6 +37,19 @@ typedef enum D3D12_VIDEO_FRAME_STEREO_FORMAT D3D12_VIDEO_FRAME_STEREO_FORMAT_SEPARATE = 4, } D3D12_VIDEO_FRAME_STEREO_FORMAT; +typedef struct D3D12_VIDEO_FORMAT +{ + DXGI_FORMAT Format; + DXGI_COLOR_SPACE_TYPE ColorSpace; +} D3D12_VIDEO_FORMAT; + +typedef struct D3D12_VIDEO_SAMPLE +{ + UINT Width; + UINT Height; + D3D12_VIDEO_FORMAT Format; +} D3D12_VIDEO_SAMPLE; + typedef enum D3D12_VIDEO_FRAME_CODED_INTERLACE_TYPE { D3D12_VIDEO_FRAME_CODED_INTERLACE_TYPE_NONE = 0, @@ -319,6 +332,20 @@ typedef struct D3D12_FEATURE_DATA_VIDEO_DECODE_SUPPORT D3D12_VIDEO_DECODE_TIER DecodeTier; } D3D12_FEATURE_DATA_VIDEO_DECODE_SUPPORT; +typedef enum D3D12_VIDEO_SCALE_SUPPORT_FLAGS +{ + D3D12_VIDEO_SCALE_SUPPORT_FLAG_NONE = 0x0, + D3D12_VIDEO_SCALE_SUPPORT_FLAG_POW2_ONLY = 0x1, + D3D12_VIDEO_SCALE_SUPPORT_FLAG_EVEN_DIMENSIONS_ONLY = 0x2, +} D3D12_VIDEO_SCALE_SUPPORT_FLAGS; +cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_SCALE_SUPPORT_FLAGS)") + +typedef struct D3D12_VIDEO_SCALE_SUPPORT +{ + D3D12_VIDEO_SIZE_RANGE OutputSizeRange; + D3D12_VIDEO_SCALE_SUPPORT_FLAGS Flags; +} D3D12_VIDEO_SCALE_SUPPORT; + typedef struct D3D12_VIDEO_DECODE_FRAME_ARGUMENT { D3D12_VIDEO_DECODE_ARGUMENT_TYPE Type; @@ -386,6 +413,34 @@ interface ID3D12VideoProcessor : ID3D12Pageable D3D12_VIDEO_PROCESS_OUTPUT_STREAM_DESC GetOutputStreamDesc(); } +typedef enum D3D12_VIDEO_PROCESS_FEATURE_FLAGS +{ + D3D12_VIDEO_PROCESS_FEATURE_FLAG_NONE = 0x0, + D3D12_VIDEO_PROCESS_FEATURE_FLAG_ALPHA_FILL = 0x1, + D3D12_VIDEO_PROCESS_FEATURE_FLAG_LUMA_KEY = 0x2, + D3D12_VIDEO_PROCESS_FEATURE_FLAG_STEREO = 0x4, + D3D12_VIDEO_PROCESS_FEATURE_FLAG_ROTATION = 0x8, + D3D12_VIDEO_PROCESS_FEATURE_FLAG_FLIP = 0x10, + D3D12_VIDEO_PROCESS_FEATURE_FLAG_ALPHA_BLENDING = 0x20, + D3D12_VIDEO_PROCESS_FEATURE_FLAG_PIXEL_ASPECT_RATIO = 0x40, +} D3D12_VIDEO_PROCESS_FEATURE_FLAGS; +cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_PROCESS_FEATURE_FLAGS)") + +typedef enum D3D12_VIDEO_PROCESS_AUTO_PROCESSING_FLAGS +{ + D3D12_VIDEO_PROCESS_AUTO_PROCESSING_FLAG_NONE = 0x0, + D3D12_VIDEO_PROCESS_AUTO_PROCESSING_FLAG_DENOISE = 0x01, + D3D12_VIDEO_PROCESS_AUTO_PROCESSING_FLAG_DERINGING = 0x02, + D3D12_VIDEO_PROCESS_AUTO_PROCESSING_FLAG_EDGE_ENHANCEMENT = 0x04, + D3D12_VIDEO_PROCESS_AUTO_PROCESSING_FLAG_COLOR_CORRECTION = 0x08, + D3D12_VIDEO_PROCESS_AUTO_PROCESSING_FLAG_FLESH_TONE_MAPPING = 0x10, + D3D12_VIDEO_PROCESS_AUTO_PROCESSING_FLAG_IMAGE_STABILIZATION = 0x20, + D3D12_VIDEO_PROCESS_AUTO_PROCESSING_FLAG_SUPER_RESOLUTION = 0x40, + D3D12_VIDEO_PROCESS_AUTO_PROCESSING_FLAG_ANAMORPHIC_SCALING = 0x80, + D3D12_VIDEO_PROCESS_AUTO_PROCESSING_FLAG_CUSTOM = 0x80000000, +} D3D12_VIDEO_PROCESS_AUTO_PROCESSING_FLAGS; +cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_PROCESS_AUTO_PROCESSING_FLAGS)") + typedef enum D3D12_VIDEO_PROCESS_ORIENTATION { D3D12_VIDEO_PROCESS_ORIENTATION_DEFAULT = 0, @@ -406,6 +461,40 @@ typedef enum D3D12_VIDEO_PROCESS_INPUT_STREAM_FLAGS } D3D12_VIDEO_PROCESS_INPUT_STREAM_FLAGS; cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_PROCESS_INPUT_STREAM_FLAGS)") +typedef struct D3D12_VIDEO_PROCESS_FILTER_RANGE +{ + INT Minimum; + INT Maximum; + INT Default; + FLOAT Multiplier; +} D3D12_VIDEO_PROCESS_FILTER_RANGE; + +typedef enum D3D12_VIDEO_PROCESS_SUPPORT_FLAGS +{ + D3D12_VIDEO_PROCESS_SUPPORT_FLAG_NONE = 0x0, + D3D12_VIDEO_PROCESS_SUPPORT_FLAG_SUPPORTED = 0x1, +} D3D12_VIDEO_PROCESS_SUPPORT_FLAGS; +cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_PROCESS_SUPPORT_FLAGS)") + +typedef struct D3D12_FEATURE_DATA_VIDEO_PROCESS_SUPPORT +{ + UINT NodeIndex; + D3D12_VIDEO_SAMPLE InputSample; + D3D12_VIDEO_FIELD_TYPE InputFieldType; + D3D12_VIDEO_FRAME_STEREO_FORMAT InputStereoFormat; + DXGI_RATIONAL InputFrameRate; + D3D12_VIDEO_FORMAT OutputFormat; + D3D12_VIDEO_FRAME_STEREO_FORMAT OutputStereoFormat; + DXGI_RATIONAL OutputFrameRate; + D3D12_VIDEO_PROCESS_SUPPORT_FLAGS SupportFlags; + D3D12_VIDEO_SCALE_SUPPORT ScaleSupport; + D3D12_VIDEO_PROCESS_FEATURE_FLAGS FeatureSupport; + D3D12_VIDEO_PROCESS_DEINTERLACE_FLAGS DeinterlaceSupport; + D3D12_VIDEO_PROCESS_AUTO_PROCESSING_FLAGS AutoProcessingSupport; + D3D12_VIDEO_PROCESS_FILTER_FLAGS FilterSupport; + D3D12_VIDEO_PROCESS_FILTER_RANGE FilterRangeSupport[D3D12_VIDEO_PROCESS_MAX_FILTERS]; +} D3D12_FEATURE_DATA_VIDEO_PROCESS_SUPPORT; + typedef struct D3D12_VIDEO_PROCESS_REFERENCE_SET { UINT NumPastFrames; -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/9766