DXVADDI_DECODEBUFFERDESC 구조체(d3dumddi.h)
DXVADDI_DECODEBUFFERDESC 구조체는 현재 호스트 디코더에서 가속기로 전달되는 버퍼를 설명합니다.
통사론
typedef struct _DXVADDI_DECODEBUFFERDESC {
[in] HANDLE hBuffer;
[in] D3DDDIFORMAT CompressedBufferType;
[in] UINT BufferIndex;
[in] UINT DataOffset;
[in] UINT DataSize;
[in] UINT FirstMBaddress;
[in] UINT NumMBsInBuffer;
[in] UINT Width;
[in] UINT Height;
[in] UINT Stride;
[in] UINT ReservedBits;
[in] DXVADDI_PVP_HW_IV *pCipherCounter;
} DXVADDI_DECODEBUFFERDESC;
회원
[in] hBuffer
버퍼에 대한 핸들입니다.
[in] CompressedBufferType
버퍼의 픽셀 형식을 나타내는 D3DDDIFORMAT형식화된 값입니다.
[in] BufferIndex
예약. 이 멤버를 사용하지 마세요. 자세한 내용은 설명 섹션을 참조하세요.
[in] DataOffset
버퍼의 시작 부분에서 관련 데이터의 오프셋(바이트)입니다. 이 멤버의 사용은 현재 값 0으로 제한됩니다.
[in] DataSize
버퍼의 관련 데이터 양(바이트)입니다. 버퍼의 마지막 콘텐츠 바이트 위치는 DataOffset 값과 DataSize 1을 뺀 값입니다.
[in] FirstMBaddress
가속기로 전달되는 버퍼에서 첫 번째 macroblock의 macroblock 주소입니다. 매크로 블록 주소는 래스터 검사 순서로 지정됩니다. 주소는 DXVA_PictureParameters 구조체의 멤버에 의해 결정됩니다. 다음 표에서는 매크로 블록 주소의 예를 보여 줍니다.
매크로 블록 | 주소 |
---|---|
왼쪽 위 | 영 |
오른쪽 위 | wPicWidthInMBminus1 of DXVA_PictureParameters. |
왼쪽 아래 | wPicHeightInMBminus1 x(wPicWidthInMBminus1+1). DXVA_PictureParameters 멤버입니다. |
오른쪽 아래 | (wPicHeightInMBminus1+1) x(wPicWidthInMBminus1+1)-1. DXVA_PictureParame 멤버 |
데이터 버퍼가 그림 디코딩 매개 변수, 역량화 행렬, 조각 컨트롤, 비트스트림 데이터, AYUV, IA44/AI44, DPXD, 강조 표시 및 DCCMD 형식 중 하나인 경우 FirstMBaddress 멤버는 0이어야 합니다.
데이터 버퍼가 잔차 블록 데이터 버퍼인 경우 FirstMBaddress 해당 macroblock 컨트롤 명령 버퍼와 동일한 값을 가져야 합니다.
[in] NumMBsInBuffer
건너뛴 macroblock을 포함하여 버퍼에 있는 데이터의 매크로 블록 수입니다. 데이터 버퍼가 그림 디코딩 매개 변수, 역량화 행렬, AYUV, IA44/AI44, DPXD, 강조 표시 또는 DCCMD 형식 중 하나인 경우 이 멤버는 0이어야 합니다.
NumMBsInBuffer 값은 다음 표와 같이 사용 중인 데이터 버퍼의 형식에 따라 달라집니다.
버퍼 형식 | NumMBsInBuffer 값 |
---|---|
Macroblock 컨트롤 명령 | 매크로 블록 컨트롤 명령 버퍼의 macroblock 컨트롤 명령 수에 추가된 MBskipsFollowing에 대한 모든 값의 합계입니다. |
잔차 블록 | 해당 macroblock 컨트롤 명령 버퍼와 동일한 값입니다. |
Slice-control 명령 | 조각 제어 버퍼에 있는 DXVA_SliceInfo 구조체의 wNumberMBsInSlice 멤버 값입니다. |
비트 스트림 | 해당 조각 제어 명령 버퍼와 동일한 값입니다. |
[in] Width
예약. 이 멤버를 사용하지 마세요. 자세한 내용은 설명 섹션을 참조하세요.
[in] Height
예약. 이 멤버를 사용하지 마세요. 자세한 내용은 설명 섹션을 참조하세요.
[in] Stride
예약. 이 멤버를 사용하지 마세요. 자세한 내용은 설명 섹션을 참조하세요.
[in] ReservedBits
압축 및 맞춤에 사용되는 예약된 비트입니다. 이 멤버는 0이어야 합니다.
[in] pCipherCounter
128비트 PVP(보호된 비디오 경로) 값을 포함하는 DXVADDI_PVP_HW_IV 구조체에 대한 포인터입니다.
발언
DXVADDI_DECODEBUFFERDESC 구조의 배열을 버퍼 설명 목록이라고 합니다. 버퍼 집합이 호스트 디코더에서 하드웨어 가속기로 전송되면 버퍼 설명 목록이 전송되어 버퍼를 설명합니다. 버퍼 설명 목록에는 이 집합의 각 버퍼에 대한 하나의 DXVADDI_DECODEBUFFERDESC 구조체가 포함되어 있습니다. 버퍼 설명 목록은 첫 번째 형식의 첫 번째 버퍼에 대한 DXVADDI_DECODEBUFFERDESC 구조체와 동일한 형식의 다음 버퍼에 대한 DXVADDI_DECODEBUFFERDESC 구조체로 시작합니다. 그런 다음 버퍼 설명 목록은 다음 형식의 첫 번째 버퍼에 대한 DXVADDI_DECODEBUFFERDESC 구조로 계속됩니다. 이 전체 목록은 D3DDDIARG_DECODEEXECUTE 구조에 포함되어 있습니다.
Microsoft DirectX VA(Video Acceleration) 버전 2.0은 DirectX VA 1.0에서 사용하는 프라이빗 표면 대신 Microsoft Direct3D 표면을 사용하므로 사용자 모드 표시 드라이버는 BufferIndex값이 아닌 지정된 압축 버퍼 형식에서 인덱스, 너비, 높이 및 보폭 값을 얻습니다. Width, Height, 및 Stride 멤버입니다. 실제로 Microsoft Direct3D 런타임은 이러한 멤버를 0으로 설정합니다.
요구 사항
요구 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows Vista 이상 버전의 Windows 운영 체제에서 사용할 수 있습니다. |
헤더 | d3dumddi.h(D3dumddi.h 포함) |