| 1 | 
 /** | 
 
 
 
 
 
 | 2 | 
  * This file has no copyright assigned and is placed in the Public Domain. | 
 
 
 
 
 
 | 3 | 
  * This file is part of the mingw-w64 runtime package. | 
 
 
 
 
 
 | 4 | 
  * No warranty is given; refer to the file DISCLAIMER.PD within this package. | 
 
 
 
 
 
 | 5 | 
  */ | 
 
 
 
 
 
 | 6 | 
  | 
 
 
 
 
 
 | 7 | 
 cpp_quote("#include <winapifamily.h>") | 
 
 
 
 
 
 | 8 | 
 cpp_quote("") | 
 
 
 
 
 
 | 9 | 
 cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)") | 
 
 
 
 
 
 | 10 | 
 cpp_quote("") | 
 
 
 
 
 
 | 11 | 
 cpp_quote("#if (_WIN32_WINNT >= 0x0601)") | 
 
 
 
 
 
 | 12 | 
  | 
 
 
 
 
 
 | 13 | 
 import "unknwn.idl"; | 
 
 
 
 
 
 | 14 | 
  | 
 
 
 
 
 
 | 15 | 
 cpp_quote("#if 0") | 
 
 
 
 
 
 | 16 | 
 interface IDirect3DSurface9; | 
 
 
 
 
 
 | 17 | 
 interface IDirect3DDevice9Ex; | 
 
 
 
 
 
 | 18 | 
 typedef DWORD D3DFORMAT; | 
 
 
 
 
 
 | 19 | 
 typedef DWORD D3DPOOL; | 
 
 
 
 
 
 | 20 | 
 typedef struct { char dummy; } D3DCOLOR; | 
 
 
 
 
 
 | 21 | 
 cpp_quote("#endif") | 
 
 
 
 
 
 | 22 | 
  | 
 
 
 
 
 
 | 23 | 
 cpp_quote("#ifndef CALLBACK") | 
 
 
 
 
 
 | 24 | 
 cpp_quote("#if defined(_ARM_)") | 
 
 
 
 
 
 | 25 | 
 cpp_quote("#define CALLBACK") | 
 
 
 
 
 
 | 26 | 
 cpp_quote("#else") | 
 
 
 
 
 
 | 27 | 
 cpp_quote("#define CALLBACK __stdcall") | 
 
 
 
 
 
 | 28 | 
 cpp_quote("#endif") | 
 
 
 
 
 
 | 29 | 
 cpp_quote("#endif") | 
 
 
 
 
 
 | 30 | 
  | 
 
 
 
 
 
 | 31 | 
 interface IDXVAHD_Device; | 
 
 
 
 
 
 | 32 | 
 interface IDXVAHD_VideoProcessor; | 
 
 
 
 
 
 | 33 | 
  | 
 
 
 
 
 
 | 34 | 
 typedef enum _DXVAHD_ALPHA_FILL_MODE { | 
 
 
 
 
 
 | 35 | 
     DXVAHD_ALPHA_FILL_MODE_OPAQUE          = 0, | 
 
 
 
 
 
 | 36 | 
     DXVAHD_ALPHA_FILL_MODE_BACKGROUND      = 1, | 
 
 
 
 
 
 | 37 | 
     DXVAHD_ALPHA_FILL_MODE_DESTINATION     = 2, | 
 
 
 
 
 
 | 38 | 
     DXVAHD_ALPHA_FILL_MODE_SOURCE_STREAM   = 3  | 
 
 
 
 
 
 | 39 | 
 } DXVAHD_ALPHA_FILL_MODE; | 
 
 
 
 
 
 | 40 | 
  | 
 
 
 
 
 
 | 41 | 
 typedef struct _DXVAHD_COLOR_YCbCrA { | 
 
 
 
 
 
 | 42 | 
     FLOAT Y; | 
 
 
 
 
 
 | 43 | 
     FLOAT Cb; | 
 
 
 
 
 
 | 44 | 
     FLOAT Cr; | 
 
 
 
 
 
 | 45 | 
     FLOAT A; | 
 
 
 
 
 
 | 46 | 
 } DXVAHD_COLOR_YCbCrA; | 
 
 
 
 
 
 | 47 | 
  | 
 
 
 
 
 
 | 48 | 
 typedef struct _DXVAHD_COLOR_RGBA { | 
 
 
 
 
 
 | 49 | 
     FLOAT R; | 
 
 
 
 
 
 | 50 | 
     FLOAT G; | 
 
 
 
 
 
 | 51 | 
     FLOAT B; | 
 
 
 
 
 
 | 52 | 
     FLOAT A; | 
 
 
 
 
 
 | 53 | 
 } DXVAHD_COLOR_RGBA; | 
 
 
 
 
 
 | 54 | 
  | 
 
 
 
 
 
 | 55 | 
 typedef union _DXVAHD_COLOR { | 
 
 
 
 
 
 | 56 | 
     DXVAHD_COLOR_RGBA   RGB; | 
 
 
 
 
 
 | 57 | 
     DXVAHD_COLOR_YCbCrA YCbCr; | 
 
 
 
 
 
 | 58 | 
 } DXVAHD_COLOR; | 
 
 
 
 
 
 | 59 | 
  | 
 
 
 
 
 
 | 60 | 
 typedef struct _DXVAHD_BLT_STATE_BACKGROUND_COLOR_DATA { | 
 
 
 
 
 
 | 61 | 
     WINBOOL         YCbCr; | 
 
 
 
 
 
 | 62 | 
     DXVAHD_COLOR BackgroundColor; | 
 
 
 
 
 
 | 63 | 
 } DXVAHD_BLT_STATE_BACKGROUND_COLOR_DATA; | 
 
 
 
 
 
 | 64 | 
  | 
 
 
 
 
 
 | 65 | 
 typedef enum _DXVAHD_BLT_STATE { | 
 
 
 
 
 
 | 66 | 
   DXVAHD_BLT_STATE_TARGET_RECT          = 0, | 
 
 
 
 
 
 | 67 | 
   DXVAHD_BLT_STATE_BACKGROUND_COLOR     = 1, | 
 
 
 
 
 
 | 68 | 
   DXVAHD_BLT_STATE_OUTPUT_COLOR_SPACE   = 2, | 
 
 
 
 
 
 | 69 | 
   DXVAHD_BLT_STATE_ALPHA_FILL           = 3, | 
 
 
 
 
 
 | 70 | 
   DXVAHD_BLT_STATE_CONSTRICTION         = 4, | 
 
 
 
 
 
 | 71 | 
   DXVAHD_BLT_STATE_PRIVATE              = 1000  | 
 
 
 
 
 
 | 72 | 
 } DXVAHD_BLT_STATE; | 
 
 
 
 
 
 | 73 | 
  | 
 
 
 
 
 
 | 74 | 
 typedef enum _DXVAHD_DEVICE_CAPS { | 
 
 
 
 
 
 | 75 | 
   DXVAHD_DEVICE_CAPS_LINEAR_SPACE              = 0x1, | 
 
 
 
 
 
 | 76 | 
   DXVAHD_DEVICE_CAPS_xvYCC                     = 0x2, | 
 
 
 
 
 
 | 77 | 
   DXVAHD_DEVICE_CAPS_RGB_RANGE_CONVERSION      = 0x4, | 
 
 
 
 
 
 | 78 | 
   DXVAHD_DEVICE_CAPS_YCbCr_MATRIX_CONVERSION   = 0x8  | 
 
 
 
 
 
 | 79 | 
 } DXVAHD_DEVICE_CAPS; | 
 
 
 
 
 
 | 80 | 
  | 
 
 
 
 
 
 | 81 | 
 typedef enum _DXVAHD_DEVICE_TYPE { | 
 
 
 
 
 
 | 82 | 
   DXVAHD_DEVICE_TYPE_HARDWARE    = 0, | 
 
 
 
 
 
 | 83 | 
   DXVAHD_DEVICE_TYPE_SOFTWARE    = 1, | 
 
 
 
 
 
 | 84 | 
   DXVAHD_DEVICE_TYPE_REFERENCE   = 2, | 
 
 
 
 
 
 | 85 | 
   DXVAHD_DEVICE_TYPE_OTHER       = 3  | 
 
 
 
 
 
 | 86 | 
 } DXVAHD_DEVICE_TYPE; | 
 
 
 
 
 
 | 87 | 
  | 
 
 
 
 
 
 | 88 | 
 typedef enum _DXVAHD_DEVICE_USAGE { | 
 
 
 
 
 
 | 89 | 
   DXVAHD_DEVICE_USAGE_PLAYBACK_NORMAL   = 0, | 
 
 
 
 
 
 | 90 | 
   DXVAHD_DEVICE_USAGE_OPTIMAL_SPEED     = 1, | 
 
 
 
 
 
 | 91 | 
   DXVAHD_DEVICE_USAGE_OPTIMAL_QUALITY   = 2  | 
 
 
 
 
 
 | 92 | 
 } DXVAHD_DEVICE_USAGE; | 
 
 
 
 
 
 | 93 | 
  | 
 
 
 
 
 
 | 94 | 
  | 
 
 
 
 
 
 | 95 | 
 typedef enum _DXVAHD_FEATURE_CAPS { | 
 
 
 
 
 
 | 96 | 
   DXVAHD_FEATURE_CAPS_ALPHA_FILL      = 0x1, | 
 
 
 
 
 
 | 97 | 
   DXVAHD_FEATURE_CAPS_CONSTRICTION    = 0x2, | 
 
 
 
 
 
 | 98 | 
   DXVAHD_FEATURE_CAPS_LUMA_KEY        = 0x4, | 
 
 
 
 
 
 | 99 | 
   DXVAHD_FEATURE_CAPS_ALPHA_PALETTE   = 0x8  | 
 
 
 
 
 
 | 100 | 
 } DXVAHD_FEATURE_CAPS; | 
 
 
 
 
 
 | 101 | 
  | 
 
 
 
 
 
 | 102 | 
 typedef enum _DXVAHD_FILTER { | 
 
 
 
 
 
 | 103 | 
   DXVAHD_FILTER_BRIGHTNESS           = 0, | 
 
 
 
 
 
 | 104 | 
   DXVAHD_FILTER_CONTRAST             = 1, | 
 
 
 
 
 
 | 105 | 
   DXVAHD_FILTER_HUE                  = 2, | 
 
 
 
 
 
 | 106 | 
   DXVAHD_FILTER_SATURATION           = 3, | 
 
 
 
 
 
 | 107 | 
   DXVAHD_FILTER_NOISE_REDUCTION      = 4, | 
 
 
 
 
 
 | 108 | 
   DXVAHD_FILTER_EDGE_ENHANCEMENT     = 5, | 
 
 
 
 
 
 | 109 | 
   DXVAHD_FILTER_ANAMORPHIC_SCALING   = 6  | 
 
 
 
 
 
 | 110 | 
 } DXVAHD_FILTER; | 
 
 
 
 
 
 | 111 | 
  | 
 
 
 
 
 
 | 112 | 
 typedef enum _DXVAHD_FILTER_CAPS { | 
 
 
 
 
 
 | 113 | 
   DXVAHD_FILTER_CAPS_BRIGHTNESS           = 0x1, | 
 
 
 
 
 
 | 114 | 
   DXVAHD_FILTER_CAPS_CONTRAST             = 0x2, | 
 
 
 
 
 
 | 115 | 
   DXVAHD_FILTER_CAPS_HUE                  = 0x4, | 
 
 
 
 
 
 | 116 | 
   DXVAHD_FILTER_CAPS_SATURATION           = 0x8, | 
 
 
 
 
 
 | 117 | 
   DXVAHD_FILTER_CAPS_NOISE_REDUCTION      = 0x10, | 
 
 
 
 
 
 | 118 | 
   DXVAHD_FILTER_CAPS_EDGE_ENHANCEMENT     = 0x20, | 
 
 
 
 
 
 | 119 | 
   DXVAHD_FILTER_CAPS_ANAMORPHIC_SCALING   = 0x40  | 
 
 
 
 
 
 | 120 | 
 } DXVAHD_FILTER_CAPS; | 
 
 
 
 
 
 | 121 | 
  | 
 
 
 
 
 
 | 122 | 
 typedef enum _DXVAHD_FRAME_FORMAT { | 
 
 
 
 
 
 | 123 | 
   DXVAHD_FRAME_FORMAT_PROGRESSIVE                     = 0, | 
 
 
 
 
 
 | 124 | 
   DXVAHD_FRAME_FORMAT_INTERLACED_TOP_FIELD_FIRST      = 1, | 
 
 
 
 
 
 | 125 | 
   DXVAHD_FRAME_FORMAT_INTERLACED_BOTTOM_FIELD_FIRST   = 2  | 
 
 
 
 
 
 | 126 | 
 } DXVAHD_FRAME_FORMAT; | 
 
 
 
 
 
 | 127 | 
  | 
 
 
 
 
 
 | 128 | 
 typedef enum _DXVAHD_INPUT_FORMAT_CAPS { | 
 
 
 
 
 
 | 129 | 
   DXVAHD_INPUT_FORMAT_CAPS_RGB_INTERLACED       = 0x1, | 
 
 
 
 
 
 | 130 | 
   DXVAHD_INPUT_FORMAT_CAPS_RGB_PROCAMP          = 0x2, | 
 
 
 
 
 
 | 131 | 
   DXVAHD_INPUT_FORMAT_CAPS_RGB_LUMA_KEY         = 0x4, | 
 
 
 
 
 
 | 132 | 
   DXVAHD_INPUT_FORMAT_CAPS_PALETTE_INTERLACED   = 0x8  | 
 
 
 
 
 
 | 133 | 
 } DXVAHD_INPUT_FORMAT_CAPS; | 
 
 
 
 
 
 | 134 | 
  | 
 
 
 
 
 
 | 135 | 
 typedef enum _DXVAHD_ITELECINE_CAPS { | 
 
 
 
 
 
 | 136 | 
   DXVAHD_ITELECINE_CAPS_32             = 0x1, | 
 
 
 
 
 
 | 137 | 
   DXVAHD_ITELECINE_CAPS_22             = 0x2, | 
 
 
 
 
 
 | 138 | 
   DXVAHD_ITELECINE_CAPS_2224           = 0x4, | 
 
 
 
 
 
 | 139 | 
   DXVAHD_ITELECINE_CAPS_2332           = 0x8, | 
 
 
 
 
 
 | 140 | 
   DXVAHD_ITELECINE_CAPS_32322          = 0x10, | 
 
 
 
 
 
 | 141 | 
   DXVAHD_ITELECINE_CAPS_55             = 0x20, | 
 
 
 
 
 
 | 142 | 
   DXVAHD_ITELECINE_CAPS_64             = 0x40, | 
 
 
 
 
 
 | 143 | 
   DXVAHD_ITELECINE_CAPS_87             = 0x80, | 
 
 
 
 
 
 | 144 | 
   DXVAHD_ITELECINE_CAPS_222222222223   = 0x100, | 
 
 
 
 
 
 | 145 | 
   DXVAHD_ITELECINE_CAPS_OTHER          = 0x80000000  | 
 
 
 
 
 
 | 146 | 
 } DXVAHD_ITELECINE_CAPS; | 
 
 
 
 
 
 | 147 | 
  | 
 
 
 
 
 
 | 148 | 
 typedef enum _DXVAHD_OUTPUT_RATE { | 
 
 
 
 
 
 | 149 | 
   DXVAHD_OUTPUT_RATE_NORMAL   = 0, | 
 
 
 
 
 
 | 150 | 
   DXVAHD_OUTPUT_RATE_HALF     = 1, | 
 
 
 
 
 
 | 151 | 
   DXVAHD_OUTPUT_RATE_CUSTOM   = 2  | 
 
 
 
 
 
 | 152 | 
 } DXVAHD_OUTPUT_RATE; | 
 
 
 
 
 
 | 153 | 
  | 
 
 
 
 
 
 | 154 | 
 typedef enum _DXVAHD_PROCESSOR_CAPS { | 
 
 
 
 
 
 | 155 | 
   DXVAHD_PROCESSOR_CAPS_DEINTERLACE_BLEND                 = 0x1, | 
 
 
 
 
 
 | 156 | 
   DXVAHD_PROCESSOR_CAPS_DEINTERLACE_BOB                   = 0x2, | 
 
 
 
 
 
 | 157 | 
   DXVAHD_PROCESSOR_CAPS_DEINTERLACE_ADAPTIVE              = 0x4, | 
 
 
 
 
 
 | 158 | 
   DXVAHD_PROCESSOR_CAPS_DEINTERLACE_MOTION_COMPENSATION   = 0x8, | 
 
 
 
 
 
 | 159 | 
   DXVAHD_PROCESSOR_CAPS_INVERSE_TELECINE                  = 0x10, | 
 
 
 
 
 
 | 160 | 
   DXVAHD_PROCESSOR_CAPS_FRAME_RATE_CONVERSION             = 0x20  | 
 
 
 
 
 
 | 161 | 
 } DXVAHD_PROCESSOR_CAPS; | 
 
 
 
 
 
 | 162 | 
  | 
 
 
 
 
 
 | 163 | 
 typedef enum _DXVAHD_STREAM_STATE { | 
 
 
 
 
 
 | 164 | 
   DXVAHD_STREAM_STATE_D3DFORMAT                   = 0, | 
 
 
 
 
 
 | 165 | 
   DXVAHD_STREAM_STATE_FRAME_FORMAT                = 1, | 
 
 
 
 
 
 | 166 | 
   DXVAHD_STREAM_STATE_INPUT_COLOR_SPACE           = 2, | 
 
 
 
 
 
 | 167 | 
   DXVAHD_STREAM_STATE_OUTPUT_RATE                 = 3, | 
 
 
 
 
 
 | 168 | 
   DXVAHD_STREAM_STATE_SOURCE_RECT                 = 4, | 
 
 
 
 
 
 | 169 | 
   DXVAHD_STREAM_STATE_DESTINATION_RECT            = 5, | 
 
 
 
 
 
 | 170 | 
   DXVAHD_STREAM_STATE_ALPHA                       = 6, | 
 
 
 
 
 
 | 171 | 
   DXVAHD_STREAM_STATE_PALETTE                     = 7, | 
 
 
 
 
 
 | 172 | 
   DXVAHD_STREAM_STATE_LUMA_KEY                    = 8, | 
 
 
 
 
 
 | 173 | 
   DXVAHD_STREAM_STATE_ASPECT_RATIO                = 9, | 
 
 
 
 
 
 | 174 | 
   DXVAHD_STREAM_STATE_FILTER_BRIGHTNESS           = 100, | 
 
 
 
 
 
 | 175 | 
   DXVAHD_STREAM_STATE_FILTER_CONTRAST             = 101, | 
 
 
 
 
 
 | 176 | 
   DXVAHD_STREAM_STATE_FILTER_HUE                  = 102, | 
 
 
 
 
 
 | 177 | 
   DXVAHD_STREAM_STATE_FILTER_SATURATION           = 103, | 
 
 
 
 
 
 | 178 | 
   DXVAHD_STREAM_STATE_FILTER_NOISE_REDUCTION      = 104, | 
 
 
 
 
 
 | 179 | 
   DXVAHD_STREAM_STATE_FILTER_EDGE_ENHANCEMENT     = 105, | 
 
 
 
 
 
 | 180 | 
   DXVAHD_STREAM_STATE_FILTER_ANAMORPHIC_SCALING   = 106, | 
 
 
 
 
 
 | 181 | 
   DXVAHD_STREAM_STATE_PRIVATE                     = 1000  | 
 
 
 
 
 
 | 182 | 
 } DXVAHD_STREAM_STATE; | 
 
 
 
 
 
 | 183 | 
  | 
 
 
 
 
 
 | 184 | 
 typedef enum _DXVAHD_SURFACE_TYPE { | 
 
 
 
 
 
 | 185 | 
   DXVAHD_SURFACE_TYPE_VIDEO_INPUT           = 0, | 
 
 
 
 
 
 | 186 | 
   DXVAHD_SURFACE_TYPE_VIDEO_INPUT_PRIVATE   = 1, | 
 
 
 
 
 
 | 187 | 
   DXVAHD_SURFACE_TYPE_VIDEO_OUTPUT          = 2  | 
 
 
 
 
 
 | 188 | 
 } DXVAHD_SURFACE_TYPE; | 
 
 
 
 
 
 | 189 | 
  | 
 
 
 
 
 
 | 190 | 
 typedef struct _DXVAHD_VPDEVCAPS { | 
 
 
 
 
 
 | 191 | 
   DXVAHD_DEVICE_TYPE DeviceType; | 
 
 
 
 
 
 | 192 | 
   UINT               DeviceCaps; | 
 
 
 
 
 
 | 193 | 
   UINT               FeatureCaps; | 
 
 
 
 
 
 | 194 | 
   UINT               FilterCaps; | 
 
 
 
 
 
 | 195 | 
   UINT               InputFormatCaps; | 
 
 
 
 
 
 | 196 | 
   D3DPOOL            InputPool; | 
 
 
 
 
 
 | 197 | 
   UINT               OutputFormatCount; | 
 
 
 
 
 
 | 198 | 
   UINT               InputFormatCount; | 
 
 
 
 
 
 | 199 | 
   UINT               VideoProcessorCount; | 
 
 
 
 
 
 | 200 | 
   UINT               MaxInputStreams; | 
 
 
 
 
 
 | 201 | 
   UINT               MaxStreamStates; | 
 
 
 
 
 
 | 202 | 
 } DXVAHD_VPDEVCAPS; | 
 
 
 
 
 
 | 203 | 
  | 
 
 
 
 
 
 | 204 | 
 typedef struct _DXVAHD_BLT_STATE_ALPHA_FILL_DATA { | 
 
 
 
 
 
 | 205 | 
   DXVAHD_ALPHA_FILL_MODE Mode; | 
 
 
 
 
 
 | 206 | 
   UINT                   StreamNumber; | 
 
 
 
 
 
 | 207 | 
 } DXVAHD_BLT_STATE_ALPHA_FILL_DATA; | 
 
 
 
 
 
 | 208 | 
  | 
 
 
 
 
 
 | 209 | 
 typedef struct _DXVAHD_BLT_STATE_CONSTRICTION_DATA { | 
 
 
 
 
 
 | 210 | 
   WINBOOL Enable; | 
 
 
 
 
 
 | 211 | 
   SIZE Size; | 
 
 
 
 
 
 | 212 | 
 } DXVAHD_BLT_STATE_CONSTRICTION_DATA; | 
 
 
 
 
 
 | 213 | 
  | 
 
 
 
 
 
 | 214 | 
 typedef struct _DXVAHD_BLT_STATE_OUTPUT_COLOR_SPACE_DATA { | 
 
 
 
 
 
 | 215 | 
   UINT Usage  :1; | 
 
 
 
 
 
 | 216 | 
   UINT RGB_Range  :1; | 
 
 
 
 
 
 | 217 | 
   UINT YCbCr_Matrix  :1; | 
 
 
 
 
 
 | 218 | 
   UINT YCbCr_xvYCC  :1; | 
 
 
 
 
 
 | 219 | 
 } DXVAHD_BLT_STATE_OUTPUT_COLOR_SPACE_DATA; | 
 
 
 
 
 
 | 220 | 
  | 
 
 
 
 
 
 | 221 | 
 typedef struct _DXVAHD_BLT_STATE_PRIVATE_DATA { | 
 
 
 
 
 
 | 222 | 
   GUID Guid; | 
 
 
 
 
 
 | 223 | 
   UINT DataSize; | 
 
 
 
 
 
 | 224 | 
   void *pData; | 
 
 
 
 
 
 | 225 | 
 } DXVAHD_BLT_STATE_PRIVATE_DATA; | 
 
 
 
 
 
 | 226 | 
  | 
 
 
 
 
 
 | 227 | 
 typedef struct _DXVAHD_BLT_STATE_TARGET_RECT_DATA { | 
 
 
 
 
 
 | 228 | 
   WINBOOL Enable; | 
 
 
 
 
 
 | 229 | 
   RECT TargetRect; | 
 
 
 
 
 
 | 230 | 
 } DXVAHD_BLT_STATE_TARGET_RECT_DATA; | 
 
 
 
 
 
 | 231 | 
  | 
 
 
 
 
 
 | 232 | 
 typedef struct _DXVAHD_RATIONAL { | 
 
 
 
 
 
 | 233 | 
   UINT Numerator; | 
 
 
 
 
 
 | 234 | 
   UINT Denominator; | 
 
 
 
 
 
 | 235 | 
 } DXVAHD_RATIONAL; | 
 
 
 
 
 
 | 236 | 
  | 
 
 
 
 
 
 | 237 | 
 typedef struct _DXVAHD_CONTENT_DESC { | 
 
 
 
 
 
 | 238 | 
   DXVAHD_FRAME_FORMAT InputFrameFormat; | 
 
 
 
 
 
 | 239 | 
   DXVAHD_RATIONAL     InputFrameRate; | 
 
 
 
 
 
 | 240 | 
   UINT                InputWidth; | 
 
 
 
 
 
 | 241 | 
   UINT                InputHeight; | 
 
 
 
 
 
 | 242 | 
   DXVAHD_RATIONAL     OutputFrameRate; | 
 
 
 
 
 
 | 243 | 
   UINT                OutputWidth; | 
 
 
 
 
 
 | 244 | 
   UINT                OutputHeight; | 
 
 
 
 
 
 | 245 | 
 } DXVAHD_CONTENT_DESC; | 
 
 
 
 
 
 | 246 | 
  | 
 
 
 
 
 
 | 247 | 
 typedef struct _DXVAHD_CUSTOM_RATE_DATA { | 
 
 
 
 
 
 | 248 | 
   DXVAHD_RATIONAL CustomRate; | 
 
 
 
 
 
 | 249 | 
   UINT            OutputFrames; | 
 
 
 
 
 
 | 250 | 
   WINBOOL         InputInterlaced; | 
 
 
 
 
 
 | 251 | 
   UINT            InputFramesOrFields; | 
 
 
 
 
 
 | 252 | 
 } DXVAHD_CUSTOM_RATE_DATA; | 
 
 
 
 
 
 | 253 | 
  | 
 
 
 
 
 
 | 254 | 
 typedef struct _DXVAHD_FILTER_RANGE_DATA { | 
 
 
 
 
 
 | 255 | 
   INT   Minimum; | 
 
 
 
 
 
 | 256 | 
   INT   Maximum; | 
 
 
 
 
 
 | 257 | 
   INT   Default; | 
 
 
 
 
 
 | 258 | 
   FLOAT Multiplier; | 
 
 
 
 
 
 | 259 | 
 } DXVAHD_FILTER_RANGE_DATA; | 
 
 
 
 
 
 | 260 | 
  | 
 
 
 
 
 
 | 261 | 
 typedef struct _DXVAHD_STREAM_DATA { | 
 
 
 
 
 
 | 262 | 
   WINBOOL           Enable; | 
 
 
 
 
 
 | 263 | 
   UINT              OutputIndex; | 
 
 
 
 
 
 | 264 | 
   UINT              InputFrameOrField; | 
 
 
 
 
 
 | 265 | 
   UINT              PastFrames; | 
 
 
 
 
 
 | 266 | 
   UINT              FutureFrames; | 
 
 
 
 
 
 | 267 | 
   IDirect3DSurface9 **ppPastSurfaces; | 
 
 
 
 
 
 | 268 | 
   IDirect3DSurface9 *pInputSurface; | 
 
 
 
 
 
 | 269 | 
   IDirect3DSurface9 **ppFutureSurfaces; | 
 
 
 
 
 
 | 270 | 
 } DXVAHD_STREAM_DATA; | 
 
 
 
 
 
 | 271 | 
  | 
 
 
 
 
 
 | 272 | 
 typedef struct _DXVAHD_VPCAPS { | 
 
 
 
 
 
 | 273 | 
   GUID VPGuid; | 
 
 
 
 
 
 | 274 | 
   UINT PastFrames; | 
 
 
 
 
 
 | 275 | 
   UINT FutureFrames; | 
 
 
 
 
 
 | 276 | 
   UINT ProcessorCaps; | 
 
 
 
 
 
 | 277 | 
   UINT ITelecineCaps; | 
 
 
 
 
 
 | 278 | 
   UINT CustomRateCount; | 
 
 
 
 
 
 | 279 | 
 } DXVAHD_VPCAPS; | 
 
 
 
 
 
 | 280 | 
  | 
 
 
 
 
 
 | 281 | 
 typedef struct _DXVAHD_STREAM_STATE_ALPHA_DATA { | 
 
 
 
 
 
 | 282 | 
   WINBOOL Enable; | 
 
 
 
 
 
 | 283 | 
   FLOAT   Alpha; | 
 
 
 
 
 
 | 284 | 
 } DXVAHD_STREAM_STATE_ALPHA_DATA; | 
 
 
 
 
 
 | 285 | 
  | 
 
 
 
 
 
 | 286 | 
 typedef struct _DXVAHD_STREAM_STATE_ASPECT_RATIO_DATA { | 
 
 
 
 
 
 | 287 | 
   WINBOOL         Enable; | 
 
 
 
 
 
 | 288 | 
   DXVAHD_RATIONAL SourceAspectRatio; | 
 
 
 
 
 
 | 289 | 
   DXVAHD_RATIONAL DestinationAspectRatio; | 
 
 
 
 
 
 | 290 | 
 } DXVAHD_STREAM_STATE_ASPECT_RATIO_DATA; | 
 
 
 
 
 
 | 291 | 
  | 
 
 
 
 
 
 | 292 | 
 typedef struct _DXVAHD_STREAM_STATE_D3DFORMAT_DATA { | 
 
 
 
 
 
 | 293 | 
   D3DFORMAT Format; | 
 
 
 
 
 
 | 294 | 
 } DXVAHD_STREAM_STATE_D3DFORMAT_DATA; | 
 
 
 
 
 
 | 295 | 
  | 
 
 
 
 
 
 | 296 | 
 typedef struct _DXVAHD_STREAM_STATE_DESTINATION_RECT_DATA { | 
 
 
 
 
 
 | 297 | 
   WINBOOL Enable; | 
 
 
 
 
 
 | 298 | 
   RECT    DestinationRect; | 
 
 
 
 
 
 | 299 | 
 } DXVAHD_STREAM_STATE_DESTINATION_RECT_DATA; | 
 
 
 
 
 
 | 300 | 
  | 
 
 
 
 
 
 | 301 | 
 typedef struct _DXVAHD_STREAM_STATE_FILTER_DATA { | 
 
 
 
 
 
 | 302 | 
   WINBOOL Enable; | 
 
 
 
 
 
 | 303 | 
   INT     Level; | 
 
 
 
 
 
 | 304 | 
 } DXVAHD_STREAM_STATE_FILTER_DATA; | 
 
 
 
 
 
 | 305 | 
  | 
 
 
 
 
 
 | 306 | 
 typedef struct _DXVAHD_STREAM_STATE_FRAME_FORMAT_DATA { | 
 
 
 
 
 
 | 307 | 
   DXVAHD_FRAME_FORMAT FrameFormat; | 
 
 
 
 
 
 | 308 | 
 } DXVAHD_STREAM_STATE_FRAME_FORMAT_DATA; | 
 
 
 
 
 
 | 309 | 
  | 
 
 
 
 
 
 | 310 | 
 typedef struct _DXVAHD_STREAM_STATE_INPUT_COLOR_SPACE_DATA { | 
 
 
 
 
 
 | 311 | 
   UINT Type  :1; | 
 
 
 
 
 
 | 312 | 
   UINT RGB_Range  :1; | 
 
 
 
 
 
 | 313 | 
   UINT YCbCr_Matrix  :1; | 
 
 
 
 
 
 | 314 | 
   UINT YCbCr_xvYCC  :1; | 
 
 
 
 
 
 | 315 | 
 } DXVAHD_STREAM_STATE_INPUT_COLOR_SPACE_DATA; | 
 
 
 
 
 
 | 316 | 
  | 
 
 
 
 
 
 | 317 | 
 typedef struct _DXVAHD_STREAM_STATE_LUMA_KEY_DATA { | 
 
 
 
 
 
 | 318 | 
   WINBOOL Enable; | 
 
 
 
 
 
 | 319 | 
   FLOAT   Lower; | 
 
 
 
 
 
 | 320 | 
   FLOAT   Upper; | 
 
 
 
 
 
 | 321 | 
 } DXVAHD_STREAM_STATE_LUMA_KEY_DATA; | 
 
 
 
 
 
 | 322 | 
  | 
 
 
 
 
 
 | 323 | 
 typedef struct _DXVAHD_STREAM_STATE_OUTPUT_RATE_DATA { | 
 
 
 
 
 
 | 324 | 
   WINBOOL            RepeatFrame; | 
 
 
 
 
 
 | 325 | 
   DXVAHD_OUTPUT_RATE OutputRate; | 
 
 
 
 
 
 | 326 | 
   DXVAHD_RATIONAL    CustomRate; | 
 
 
 
 
 
 | 327 | 
 } DXVAHD_STREAM_STATE_OUTPUT_RATE_DATA; | 
 
 
 
 
 
 | 328 | 
  | 
 
 
 
 
 
 | 329 | 
 typedef struct _DXVAHD_STREAM_STATE_SOURCE_RECT_DATA { | 
 
 
 
 
 
 | 330 | 
   WINBOOL Enable; | 
 
 
 
 
 
 | 331 | 
   RECT    SourceRect; | 
 
 
 
 
 
 | 332 | 
 } DXVAHD_STREAM_STATE_SOURCE_RECT_DATA; | 
 
 
 
 
 
 | 333 | 
  | 
 
 
 
 
 
 | 334 | 
 typedef struct _DXVAHD_STREAM_STATE_PRIVATE_IVTC_DATA { | 
 
 
 
 
 
 | 335 | 
   WINBOOL Enable; | 
 
 
 
 
 
 | 336 | 
   UINT    ITelecineFlags; | 
 
 
 
 
 
 | 337 | 
   UINT    Frames; | 
 
 
 
 
 
 | 338 | 
   UINT    InputField; | 
 
 
 
 
 
 | 339 | 
 } DXVAHD_STREAM_STATE_PRIVATE_IVTC_DATA; | 
 
 
 
 
 
 | 340 | 
  | 
 
 
 
 
 
 | 341 | 
 typedef struct _DXVAHD_STREAM_STATE_PRIVATE_DATA { | 
 
 
 
 
 
 | 342 | 
   GUID Guid; | 
 
 
 
 
 
 | 343 | 
   UINT DataSize; | 
 
 
 
 
 
 | 344 | 
   void *pData; | 
 
 
 
 
 
 | 345 | 
 } DXVAHD_STREAM_STATE_PRIVATE_DATA; | 
 
 
 
 
 
 | 346 | 
  | 
 
 
 
 
 
 | 347 | 
 typedef struct _DXVAHD_STREAM_STATE_PALETTE_DATA { | 
 
 
 
 
 
 | 348 | 
   UINT     Count; | 
 
 
 
 
 
 | 349 | 
   D3DCOLOR *pEntries; | 
 
 
 
 
 
 | 350 | 
 } DXVAHD_STREAM_STATE_PALETTE_DATA; | 
 
 
 
 
 
 | 351 | 
  | 
 
 
 
 
 
 | 352 | 
 cpp_quote("typedef HRESULT ( CALLBACK *PDXVAHDSW_CreateDevice )(IDirect3DDevice9Ex *pD3DDevice,HANDLE *phDevice);") | 
 
 
 
 
 
 | 353 | 
 cpp_quote("typedef HRESULT ( CALLBACK *PDXVAHDSW_ProposeVideoPrivateFormat )(HANDLE hDevice,D3DFORMAT *pFormat);") | 
 
 
 
 
 
 | 354 | 
 cpp_quote("typedef HRESULT ( CALLBACK *PDXVAHDSW_GetVideoProcessorDeviceCaps )(HANDLE hDevice,const DXVAHD_CONTENT_DESC *pContentDesc,DXVAHD_DEVICE_USAGE Usage,DXVAHD_VPDEVCAPS *pCaps);") | 
 
 
 
 
 
 | 355 | 
 cpp_quote("typedef HRESULT ( CALLBACK *PDXVAHDSW_GetVideoProcessorOutputFormats )(HANDLE hDevice,const DXVAHD_CONTENT_DESC *pContentDesc,DXVAHD_DEVICE_USAGE Usage,UINT Count,D3DFORMAT *pFormats);") | 
 
 
 
 
 
 | 356 | 
 cpp_quote("typedef HRESULT ( CALLBACK *PDXVAHDSW_GetVideoProcessorInputFormats )(HANDLE hDevice,const DXVAHD_CONTENT_DESC *pContentDesc,DXVAHD_DEVICE_USAGE Usage,UINT Count,D3DFORMAT *pFormats);") | 
 
 
 
 
 
 | 357 | 
 cpp_quote("typedef HRESULT ( CALLBACK *PDXVAHDSW_GetVideoProcessorCaps )(HANDLE hDevice,const DXVAHD_CONTENT_DESC *pContentDesc,DXVAHD_DEVICE_USAGE Usage,UINT Count,DXVAHD_VPCAPS *pCaps);") | 
 
 
 
 
 
 | 358 | 
 cpp_quote("typedef HRESULT ( CALLBACK *PDXVAHDSW_GetVideoProcessorCustomRates )(HANDLE hDevice,const GUID *pVPGuid,UINT Count,DXVAHD_CUSTOM_RATE_DATA *pRates);") | 
 
 
 
 
 
 | 359 | 
 cpp_quote("typedef HRESULT ( CALLBACK *PDXVAHDSW_SetVideoProcessBltState )(HANDLE hVideoProcessor,DXVAHD_BLT_STATE State,UINT DataSize,const void *pData);") | 
 
 
 
 
 
 | 360 | 
 cpp_quote("typedef HRESULT ( CALLBACK *PDXVAHDSW_CreateVideoProcessor )(HANDLE hDevice,const GUID *pVPGuid,HANDLE *phVideoProcessor);") | 
 
 
 
 
 
 | 361 | 
 cpp_quote("typedef HRESULT ( CALLBACK *PDXVAHDSW_DestroyDevice )(HANDLE hDevice);") | 
 
 
 
 
 
 | 362 | 
 cpp_quote("typedef HRESULT ( CALLBACK *PDXVAHDSW_GetVideoProcessorFilterRange )(HANDLE hDevice,DXVAHD_FILTER Filter,DXVAHD_FILTER_RANGE_DATA *pRange);") | 
 
 
 
 
 
 | 363 | 
 cpp_quote("typedef HRESULT ( CALLBACK *PDXVAHDSW_DestroyVideoProcessor )(HANDLE hVideoProcessor);") | 
 
 
 
 
 
 | 364 | 
 cpp_quote("typedef HRESULT ( CALLBACK *PDXVAHDSW_VideoProcessBltHD )(HANDLE hVideoProcessor,IDirect3DSurface9 *pOutputSurface,UINT OutputFrame,UINT StreamCount,const DXVAHD_STREAM_DATA *pStreams);") | 
 
 
 
 
 
 | 365 | 
 cpp_quote("typedef HRESULT ( CALLBACK *PDXVAHDSW_GetVideoProcessStreamStatePrivate )(HANDLE hVideoProcessor,UINT StreamNumber,DXVAHD_STREAM_STATE_PRIVATE_DATA *pData);") | 
 
 
 
 
 
 | 366 | 
 cpp_quote("typedef HRESULT ( CALLBACK *PDXVAHDSW_SetVideoProcessStreamState )(HANDLE hVideoProcessor,UINT StreamNumber,DXVAHD_STREAM_STATE State,UINT DataSize,const void *pData);") | 
 
 
 
 
 
 | 367 | 
 cpp_quote("typedef HRESULT ( CALLBACK *PDXVAHDSW_GetVideoProcessBltStatePrivate )(HANDLE hVideoProcessor,DXVAHD_BLT_STATE_PRIVATE_DATA *pData);") | 
 
 
 
 
 
 | 368 | 
 cpp_quote("typedef HRESULT ( CALLBACK *PDXVAHDSW_Plugin )(UINT Size,void *pCallbacks);") | 
 
 
 
 
 
 | 369 | 
 cpp_quote("") | 
 
 
 
 
 
 | 370 | 
 cpp_quote("typedef struct _DXVAHDSW_CALLBACKS {") | 
 
 
 
 
 
 | 371 | 
 cpp_quote("  PDXVAHDSW_CreateDevice                      CreateDevice;") | 
 
 
 
 
 
 | 372 | 
 cpp_quote("  PDXVAHDSW_ProposeVideoPrivateFormat         ProposeVideoPrivateFormat;") | 
 
 
 
 
 
 | 373 | 
 cpp_quote("  PDXVAHDSW_GetVideoProcessorDeviceCaps       GetVideoProcessorDeviceCaps;") | 
 
 
 
 
 
 | 374 | 
 cpp_quote("  PDXVAHDSW_GetVideoProcessorOutputFormats    GetVideoProcessorOutputFormats;") | 
 
 
 
 
 
 | 375 | 
 cpp_quote("  PDXVAHDSW_GetVideoProcessorInputFormats     GetVideoProcessorInputFormats;") | 
 
 
 
 
 
 | 376 | 
 cpp_quote("  PDXVAHDSW_GetVideoProcessorCaps             GetVideoProcessorCaps;") | 
 
 
 
 
 
 | 377 | 
 cpp_quote("  PDXVAHDSW_GetVideoProcessorCustomRates      GetVideoProcessorCustomRates;") | 
 
 
 
 
 
 | 378 | 
 cpp_quote("  PDXVAHDSW_GetVideoProcessorFilterRange      GetVideoProcessorFilterRange;") | 
 
 
 
 
 
 | 379 | 
 cpp_quote("  PDXVAHDSW_DestroyDevice                     DestroyDevice;") | 
 
 
 
 
 
 | 380 | 
 cpp_quote("  PDXVAHDSW_CreateVideoProcessor              CreateVideoProcessor;") | 
 
 
 
 
 
 | 381 | 
 cpp_quote("  PDXVAHDSW_SetVideoProcessBltState           SetVideoProcessBltState;") | 
 
 
 
 
 
 | 382 | 
 cpp_quote("  PDXVAHDSW_GetVideoProcessBltStatePrivate    GetVideoProcessBltStatePrivate;") | 
 
 
 
 
 
 | 383 | 
 cpp_quote("  PDXVAHDSW_SetVideoProcessStreamState        SetVideoProcessStreamState;") | 
 
 
 
 
 
 | 384 | 
 cpp_quote("  PDXVAHDSW_GetVideoProcessStreamStatePrivate GetVideoProcessStreamStatePrivate;") | 
 
 
 
 
 
 | 385 | 
 cpp_quote("  PDXVAHDSW_VideoProcessBltHD                 VideoProcessBltHD;") | 
 
 
 
 
 
 | 386 | 
 cpp_quote("  PDXVAHDSW_DestroyVideoProcessor             DestroyVideoProcessor;") | 
 
 
 
 
 
 | 387 | 
 cpp_quote("} DXVAHDSW_CALLBACKS;") | 
 
 
 
 
 
 | 388 | 
 cpp_quote("") | 
 
 
 
 
 
 | 389 | 
 cpp_quote("HRESULT DXVAHD_CreateDevice(IDirect3DDevice9Ex *pD3DDevice,const DXVAHD_CONTENT_DESC *pContentDesc,DXVAHD_DEVICE_USAGE Usage,PDXVAHDSW_Plugin pPlugin,IDXVAHD_Device **ppDevice);") | 
 
 
 
 
 
 | 390 | 
 cpp_quote("") | 
 
 
 
 
 
 | 391 | 
 cpp_quote("#ifdef __GNUC__") | 
 
 
 
 
 
 | 392 | 
 cpp_quote("#warning COM interfaces layout in this header has not been verified.") | 
 
 
 
 
 
 | 393 | 
 cpp_quote("#warning COM interfaces with incorrect layout may not work at all.") | 
 
 
 
 
 
 | 394 | 
 cpp_quote("__MINGW_BROKEN_INTERFACE(INTERFACE)") | 
 
 
 
 
 
 | 395 | 
 cpp_quote("#endif") | 
 
 
 
 
 
 | 396 | 
 [ | 
 
 
 
 
 
 | 397 | 
     object, | 
 
 
 
 
 
 | 398 | 
     local | 
 
 
 
 
 
 | 399 | 
 ] | 
 
 
 
 
 
 | 400 | 
 interface IDXVAHD_Device : IUnknown | 
 
 
 
 
 
 | 401 | 
 { | 
 
 
 
 
 
 | 402 | 
     HRESULT CreateVideoSurface(UINT Width,UINT Height,D3DFORMAT Format,D3DPOOL Pool,DWORD Usage,DXVAHD_SURFACE_TYPE Type,UINT NumSurfaces,IDirect3DSurface9 **ppSurfaces,HANDLE *pSharedHandle); | 
 
 
 
 
 
 | 403 | 
     HRESULT GetVideoProcessorDeviceCaps(DXVAHD_VPDEVCAPS *pCaps); | 
 
 
 
 
 
 | 404 | 
     HRESULT GetVideoProcessorOutputFormats(UINT Count,D3DFORMAT *pFormats); | 
 
 
 
 
 
 | 405 | 
     HRESULT GetVideoProcessorInputFormats(UINT Count,D3DFORMAT *pFormats); | 
 
 
 
 
 
 | 406 | 
     HRESULT GetVideoProcessorCaps(UINT Count,DXVAHD_VPCAPS *pCaps); | 
 
 
 
 
 
 | 407 | 
     HRESULT GetVideoProcessorCustomRates(const GUID *pVPGuid,UINT Count,DXVAHD_CUSTOM_RATE_DATA *pRates); | 
 
 
 
 
 
 | 408 | 
     HRESULT GetVideoProcessorFilterRange(DXVAHD_FILTER Filter,DXVAHD_FILTER_RANGE_DATA *pRange); | 
 
 
 
 
 
 | 409 | 
     HRESULT CreateVideoProcessor(const GUID *pVPGuid,IDXVAHD_VideoProcessor **ppVideoProcessor); | 
 
 
 
 
 
 | 410 | 
 }; | 
 
 
 
 
 
 | 411 | 
  | 
 
 
 
 
 
 | 412 | 
 cpp_quote("#ifdef __GNUC__") | 
 
 
 
 
 
 | 413 | 
 cpp_quote("#warning COM interfaces layout in this header has not been verified.") | 
 
 
 
 
 
 | 414 | 
 cpp_quote("#warning COM interfaces with incorrect layout may not work at all.") | 
 
 
 
 
 
 | 415 | 
 cpp_quote("__MINGW_BROKEN_INTERFACE(INTERFACE)") | 
 
 
 
 
 
 | 416 | 
 cpp_quote("#endif") | 
 
 
 
 
 
 | 417 | 
 [ | 
 
 
 
 
 
 | 418 | 
     object, | 
 
 
 
 
 
 | 419 | 
     local | 
 
 
 
 
 
 | 420 | 
 ] | 
 
 
 
 
 
 | 421 | 
 interface IDXVAHD_VideoProcessor : IUnknown | 
 
 
 
 
 
 | 422 | 
 { | 
 
 
 
 
 
 | 423 | 
     HRESULT SetVideoProcessBltState(DXVAHD_BLT_STATE State,UINT DataSize,const void *pData); | 
 
 
 
 
 
 | 424 | 
     HRESULT GetVideoProcessBltState(DXVAHD_BLT_STATE State,UINT DataSize,void *pData); | 
 
 
 
 
 
 | 425 | 
     HRESULT SetVideoProcessStreamState(UINT StreamNumber,DXVAHD_STREAM_STATE State,UINT DataSize,const void *pData); | 
 
 
 
 
 
 | 426 | 
     HRESULT GetVideoProcessStreamState(UINT StreamNumber,DXVAHD_STREAM_STATE State,UINT DataSize,void *pData); | 
 
 
 
 
 
 | 427 | 
     HRESULT VideoProcessBltHD(IDirect3DSurface9 *pOutputSurface,UINT OutputFrame,UINT StreamCount,const DXVAHD_STREAM_DATA *pStreams); | 
 
 
 
 
 
 | 428 | 
 }; | 
 
 
 
 
 
 | 429 | 
  | 
 
 
 
 
 
 | 430 | 
 cpp_quote("#endif /*(_WIN32_WINNT >= 0x0601)*/") | 
 
 
 
 
 
 | 431 | 
 cpp_quote("#endif /*WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)*/") |