?? dxva.h
字號:
//------------------------------------------------------------------------------
// File: DXVA.h
//
// Desc: DirectX Video Acceleration header file.
//
// Copyright (c) 1999 - 2002, Microsoft Corporation. All rights reserved.
//------------------------------------------------------------------------------
#ifndef __DIRECTX_VA__
#define __DIRECTX_VA__
#ifdef __cplusplus
extern "C" {
#endif
DEFINE_GUID(DXVA_ModeNone, 0x1b81be00, 0xa0c7,0x11d3,0xb9,0x84,0x00,0xc0,0x4f,0x2e,0x73,0xc5);
DEFINE_GUID(DXVA_ModeH261_A, 0x1b81be01, 0xa0c7,0x11d3,0xb9,0x84,0x00,0xc0,0x4f,0x2e,0x73,0xc5);
DEFINE_GUID(DXVA_ModeH261_B, 0x1b81be02, 0xa0c7,0x11d3,0xb9,0x84,0x00,0xc0,0x4f,0x2e,0x73,0xc5);
DEFINE_GUID(DXVA_ModeH263_A, 0x1b81be03, 0xa0c7,0x11d3,0xb9,0x84,0x00,0xc0,0x4f,0x2e,0x73,0xc5);
DEFINE_GUID(DXVA_ModeH263_B, 0x1b81be04, 0xa0c7,0x11d3,0xb9,0x84,0x00,0xc0,0x4f,0x2e,0x73,0xc5);
DEFINE_GUID(DXVA_ModeH263_C, 0x1b81be05, 0xa0c7,0x11d3,0xb9,0x84,0x00,0xc0,0x4f,0x2e,0x73,0xc5);
DEFINE_GUID(DXVA_ModeH263_D, 0x1b81be06, 0xa0c7,0x11d3,0xb9,0x84,0x00,0xc0,0x4f,0x2e,0x73,0xc5);
DEFINE_GUID(DXVA_ModeH263_E, 0x1b81be07, 0xa0c7,0x11d3,0xb9,0x84,0x00,0xc0,0x4f,0x2e,0x73,0xc5);
DEFINE_GUID(DXVA_ModeH263_F, 0x1b81be08, 0xa0c7,0x11d3,0xb9,0x84,0x00,0xc0,0x4f,0x2e,0x73,0xc5);
DEFINE_GUID(DXVA_ModeMPEG1_A, 0x1b81be09, 0xa0c7,0x11d3,0xb9,0x84,0x00,0xc0,0x4f,0x2e,0x73,0xc5);
DEFINE_GUID(DXVA_ModeMPEG2_A, 0x1b81be0A, 0xa0c7,0x11d3,0xb9,0x84,0x00,0xc0,0x4f,0x2e,0x73,0xc5);
DEFINE_GUID(DXVA_ModeMPEG2_B, 0x1b81be0B, 0xa0c7,0x11d3,0xb9,0x84,0x00,0xc0,0x4f,0x2e,0x73,0xc5);
DEFINE_GUID(DXVA_ModeMPEG2_C, 0x1b81be0C, 0xa0c7,0x11d3,0xb9,0x84,0x00,0xc0,0x4f,0x2e,0x73,0xc5);
DEFINE_GUID(DXVA_ModeMPEG2_D, 0x1b81be0D, 0xa0c7,0x11d3,0xb9,0x84,0x00,0xc0,0x4f,0x2e,0x73,0xc5);
DEFINE_GUID(DXVA_ModeWMV8_A, 0x1b81be80, 0xa0c7,0x11d3,0xb9,0x84,0x00,0xc0,0x4f,0x2e,0x73,0xc5);
DEFINE_GUID(DXVA_ModeWMV8_B, 0x1b81be81, 0xa0c7,0x11d3,0xb9,0x84,0x00,0xc0,0x4f,0x2e,0x73,0xc5);
DEFINE_GUID(DXVA_ModeWMV9_A, 0x1b81be90, 0xa0c7,0x11d3,0xb9,0x84,0x00,0xc0,0x4f,0x2e,0x73,0xc5);
DEFINE_GUID(DXVA_ModeWMV9_B, 0x1b81be91, 0xa0c7,0x11d3,0xb9,0x84,0x00,0xc0,0x4f,0x2e,0x73,0xc5);
DEFINE_GUID(DXVA_ModeWMV9_Ai, 0x1b81be92, 0xa0c7,0x11d3,0xb9,0x84,0x00,0xc0,0x4f,0x2e,0x73,0xc5);
DEFINE_GUID(DXVA_ModeWMV9_Bi, 0x1b81be93, 0xa0c7,0x11d3,0xb9,0x84,0x00,0xc0,0x4f,0x2e,0x73,0xc5);
DEFINE_GUID(DXVA_NoEncrypt, 0x1b81beD0, 0xa0c7,0x11d3,0xb9,0x84,0x00,0xc0,0x4f,0x2e,0x73,0xc5);
#define DXVA_RESTRICTED_MODE_UNRESTRICTED 0xFFFF
#define DXVA_RESTRICTED_MODE_H261_A 1
#define DXVA_RESTRICTED_MODE_H261_B 2
#define DXVA_RESTRICTED_MODE_H263_A 3
#define DXVA_RESTRICTED_MODE_H263_B 4
#define DXVA_RESTRICTED_MODE_H263_C 5
#define DXVA_RESTRICTED_MODE_H263_D 6
#define DXVA_RESTRICTED_MODE_H263_E 7
#define DXVA_RESTRICTED_MODE_H263_F 8
#define DXVA_RESTRICTED_MODE_MPEG1_A 9
#define DXVA_RESTRICTED_MODE_MPEG2_A 0xA
#define DXVA_RESTRICTED_MODE_MPEG2_B 0xB
#define DXVA_RESTRICTED_MODE_MPEG2_C 0xC
#define DXVA_RESTRICTED_MODE_MPEG2_D 0xD
#define DXVA_RESTRICTED_MODE_WMV8_A 0x80
#define DXVA_RESTRICTED_MODE_WMV8_B 0x81
#define DXVA_RESTRICTED_MODE_WMV9_A 0x90
#define DXVA_RESTRICTED_MODE_WMV9_B 0x91
#define DXVA_RESTRICTED_MODE_WMV9_Ai 0x92
#define DXVA_RESTRICTED_MODE_WMV9_Bi 0x93
#define DXVA_COMPBUFFER_TYPE_THAT_IS_NOT_USED 0
#define DXVA_PICTURE_DECODE_BUFFER 1
#define DXVA_MACROBLOCK_CONTROL_BUFFER 2
#define DXVA_RESIDUAL_DIFFERENCE_BUFFER 3
#define DXVA_DEBLOCKING_CONTROL_BUFFER 4
#define DXVA_INVERSE_QUANTIZATION_MATRIX_BUFFER 5
#define DXVA_SLICE_CONTROL_BUFFER 6
#define DXVA_BITSTREAM_DATA_BUFFER 7
#define DXVA_AYUV_BUFFER 8
#define DXVA_IA44_SURFACE_BUFFER 9
#define DXVA_DPXD_SURFACE_BUFFER 10
#define DXVA_HIGHLIGHT_BUFFER 11
#define DXVA_DCCMD_SURFACE_BUFFER 12
#define DXVA_ALPHA_BLEND_COMBINATION_BUFFER 13
#define DXVA_PICTURE_RESAMPLE_BUFFER 14
#define DXVA_READ_BACK_BUFFER 15
#define DXVA_NUM_TYPES_COMP_BUFFERS 16
/* values for bDXVA_Func */
#define DXVA_PICTURE_DECODING_FUNCTION 1
#define DXVA_ALPHA_BLEND_DATA_LOAD_FUNCTION 2
#define DXVA_ALPHA_BLEND_COMBINATION_FUNCTION 3
#define DXVA_PICTURE_RESAMPLE_FUNCTION 4
/* values returned from Execute command in absence of read-back */
#define DXVA_EXECUTE_RETURN_OK 0
#define DXVA_EXECUTE_RETURN_DATA_ERROR_MINOR 1
#define DXVA_EXECUTE_RETURN_DATA_ERROR_SIGNIF 2
#define DXVA_EXECUTE_RETURN_DATA_ERROR_SEVERE 3
#define DXVA_EXECUTE_RETURN_OTHER_ERROR_SEVERE 4
#pragma pack(push, BeforeDXVApacking, 1)
typedef struct _DXVA_ConnectMode {
GUID guidMode;
WORD wRestrictedMode;
} DXVA_ConnectMode, *LPDXVA_ConnectMode;
typedef DWORD DXVA_ConfigQueryOrReplyFunc, *LPDXVA_ConfigQueryOrReplyFunc;
#define DXVA_QUERYORREPLYFUNCFLAG_DECODER_PROBE_QUERY 0xFFFFF1
#define DXVA_QUERYORREPLYFUNCFLAG_DECODER_LOCK_QUERY 0xFFFFF5
#define DXVA_QUERYORREPLYFUNCFLAG_ACCEL_PROBE_OK_COPY 0xFFFFF8
#define DXVA_QUERYORREPLYFUNCFLAG_ACCEL_PROBE_OK_PLUS 0xFFFFF9
#define DXVA_QUERYORREPLYFUNCFLAG_ACCEL_LOCK_OK_COPY 0xFFFFFC
#define DXVA_QUERYORREPLYFUNCFLAG_ACCEL_PROBE_FALSE_PLUS 0xFFFFFB
#define DXVA_QUERYORREPLYFUNCFLAG_ACCEL_LOCK_FALSE_PLUS 0xFFFFFF
#define readDXVA_QueryOrReplyFuncFlag(ptr) ((*(ptr)) >> 8)
#define readDXVA_QueryOrReplyFuncFlag_ACCEL(ptr) (((*(ptr)) >> 11) & 1)
#define readDXVA_QueryOrReplyFuncFlag_LOCK(ptr) (((*(ptr)) >> 10) & 1)
#define readDXVA_QueryOrReplyFuncFlag_BAD(ptr) (((*(ptr)) >> 9) & 1)
#define readDXVA_QueryOrReplyFuncFlag_PLUS(ptr) (((*(ptr)) >> 8) & 1)
#define readDXVA_QueryOrReplyFuncFunc(ptr) ((*(ptr)) & 0xFF)
#define writeDXVA_QueryOrReplyFunc(ptr, flg, fnc) ((*(ptr)) = ((flg) << 8) | (fnc))
#define setDXVA_QueryOrReplyFuncFlag(ptr, flg) ((*(ptr)) |= ((flg) << 8))
#define setDXVA_QueryOrReplyFuncFunc(ptr, fnc) ((*(ptr)) |= (fnc));
typedef DWORD DXVA_EncryptProtocolFunc, *LPDXVA_EncryptProtocolFunc;
#define DXVA_ENCRYPTPROTOCOLFUNCFLAG_HOST 0xFFFF00
#define DXVA_ENCRYPTPROTOCOLFUNCFLAG_ACCEL 0xFFFF08
#define readDXVA_EncryptProtocolFuncFlag(ptr) ((*(ptr)) >> 8)
#define readDXVA_EncryptProtocolFuncFlag_ACCEL(ptr) (((*(ptr)) >> 11) & 1)
#define readDXVA_EncryptProtocolFuncFunc(ptr) ((*(ptr)) & 0xFF)
#define writeDXVA_EncryptProtocolFunc(ptr, flg, fnc) ((*(ptr)) = ((flg) << 8) | (fnc))
#define setDXVA_EncryptProtocolFuncFlag(ptr, flg) ((*(ptr)) |= ((flg) << 8))
#define setDXVA_EncryptProtocolFuncFunc(ptr, fnc) ((*(ptr)) |= (fnc));
typedef struct _DXVA_EncryptProtocolHeader {
DXVA_EncryptProtocolFunc dwFunction;
DWORD ReservedBits[3];
GUID guidEncryptProtocol;
} DXVA_EncryptProtocolHeader, *LPDXVA_EncryptProtocolHeader;
typedef struct _DXVA_ConfigPictureDecode {
// Operation Indicated
DXVA_ConfigQueryOrReplyFunc dwFunction;
// Alignment
DWORD dwReservedBits[3];
// Encryption GUIDs
GUID guidConfigBitstreamEncryption;
GUID guidConfigMBcontrolEncryption;
GUID guidConfigResidDiffEncryption;
// Bitstream Processing Indicator
BYTE bConfigBitstreamRaw;
// Macroblock Control Config
BYTE bConfigMBcontrolRasterOrder;
// Host Resid Diff Config
BYTE bConfigResidDiffHost;
BYTE bConfigSpatialResid8;
BYTE bConfigResid8Subtraction;
BYTE bConfigSpatialHost8or9Clipping;
BYTE bConfigSpatialResidInterleaved;
BYTE bConfigIntraResidUnsigned;
// Accelerator Resid Diff Config
BYTE bConfigResidDiffAccelerator;
BYTE bConfigHostInverseScan;
BYTE bConfigSpecificIDCT;
BYTE bConfig4GroupedCoefs;
} DXVA_ConfigPictureDecode, *LPDXVA_ConfigPictureDecode;
/* Picture Decoding Parameters */
typedef struct _DXVA_PictureParameters {
WORD wDecodedPictureIndex;
WORD wDeblockedPictureIndex;
WORD wForwardRefPictureIndex;
WORD wBackwardRefPictureIndex;
WORD wPicWidthInMBminus1;
WORD wPicHeightInMBminus1;
BYTE bMacroblockWidthMinus1;
BYTE bMacroblockHeightMinus1;
BYTE bBlockWidthMinus1;
BYTE bBlockHeightMinus1;
BYTE bBPPminus1;
BYTE bPicStructure;
BYTE bSecondField;
BYTE bPicIntra;
BYTE bPicBackwardPrediction;
BYTE bBidirectionalAveragingMode;
BYTE bMVprecisionAndChromaRelation;
BYTE bChromaFormat;
BYTE bPicScanFixed;
BYTE bPicScanMethod;
BYTE bPicReadbackRequests;
BYTE bRcontrol;
BYTE bPicSpatialResid8;
BYTE bPicOverflowBlocks;
BYTE bPicExtrapolation;
BYTE bPicDeblocked;
BYTE bPicDeblockConfined;
BYTE bPic4MVallowed;
BYTE bPicOBMC;
BYTE bPicBinPB;
BYTE bMV_RPS;
BYTE bReservedBits;
WORD wBitstreamFcodes;
WORD wBitstreamPCEelements;
BYTE bBitstreamConcealmentNeed;
BYTE bBitstreamConcealmentMethod;
} DXVA_PictureParameters, *LPDXVA_PictureParameters;
/* Picture Resampling */
typedef struct _DXVA_PicResample {
WORD wPicResampleSourcePicIndex;
WORD wPicResampleDestPicIndex;
WORD wPicResampleRcontrol;
BYTE bPicResampleExtrapWidth;
BYTE bPicResampleExtrapHeight;
DWORD dwPicResampleSourceWidth;
DWORD dwPicResampleSourceHeight;
DWORD dwPicResampleDestWidth;
DWORD dwPicResampleDestHeight;
DWORD dwPicResampleFullDestWidth;
DWORD dwPicResampleFullDestHeight;
} DXVA_PicResample, *LPDXVA_PicResample;
#define DXVA_CHROMA_FORMAT_420 1
#define DXVA_CHROMA_FORMAT_422 2
#define DXVA_CHROMA_FORMAT_444 3
#define DXVA_PICTURE_STRUCTURE_TOP_FIELD 1
#define DXVA_PICTURE_STRUCTURE_BOTTOM_FIELD 2
#define DXVA_PICTURE_STRUCTURE_FRAME 3
#define DXVA_BIDIRECTIONAL_AVERAGING_MPEG2_ROUND 0
#define DXVA_BIDIRECTIONAL_AVERAGING_H263_TRUNC 1
#define DXVA_MV_PRECISION_AND_CHROMA_RELATION_MPEG2 0
#define DXVA_MV_PRECISION_AND_CHROMA_RELATION_H263 1
#define DXVA_MV_PRECISION_AND_CHROMA_RELATION_H261 2
#define DXVA_SCAN_METHOD_ZIG_ZAG 0
#define DXVA_SCAN_METHOD_ALTERNATE_VERTICAL 1
#define DXVA_SCAN_METHOD_ALTERNATE_HORIZONTAL 2
#define DXVA_SCAN_METHOD_ARBITRARY 3
#define DXVA_BITSTREAM_CONCEALMENT_NEED_UNLIKELY 0
#define DXVA_BITSTREAM_CONCEALMENT_NEED_MILD 1
#define DXVA_BITSTREAM_CONCEALMENT_NEED_LIKELY 2
#define DXVA_BITSTREAM_CONCEALMENT_NEED_SEVERE 3
#define DXVA_BITSTREAM_CONCEALMENT_METHOD_UNSPECIFIED 0
#define DXVA_BITSTREAM_CONCEALMENT_METHOD_INTRA 1
#define DXVA_BITSTREAM_CONCEALMENT_METHOD_FORWARD 2
#define DXVA_BITSTREAM_CONCEALMENT_METHOD_BACKWARD 3
/* Buffer Description Data */
typedef struct _DXVA_BufferDescription {
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -