DXVAHD_STREAM_DATA 구조체(dxvahd.h)
IDXVAHD_VideoProcessor::VideoProcessBltHD 메서드에 대한 스트림별 데이터를 포함합니다.
구문
typedef struct _DXVAHD_STREAM_DATA {
BOOL Enable;
UINT OutputIndex;
UINT InputFrameOrField;
UINT PastFrames;
UINT FutureFrames;
IDirect3DSurface9 **ppPastSurfaces;
IDirect3DSurface9 *pInputSurface;
IDirect3DSurface9 **ppFutureSurfaces;
} DXVAHD_STREAM_DATA;
멤버
Enable
이 입력 스트림을 사용할 수 있는지 여부를 지정합니다. 값이 TRUE이면 VideoProcessBltHD 메서드가 이 스트림을 출력 화면으로 표시합니다. 그렇지 않으면 스트림이 Blitt되지 않습니다. 한 번에 사용하도록 설정할 수 있는 최대 스트림 수는 DXVAHD_VPDEVCAPS 구조체의 MaxInputStreams 멤버에 제공됩니다.
OutputIndex
출력 프레임의 인덱스 번호(0부터 시작)입니다. 설명 부분을 참조하세요.
InputFrameOrField
입력 프레임 또는 필드의 인덱스 번호(0부터 시작)입니다. 설명 부분을 참조하세요.
PastFrames
과거 참조 프레임의 수입니다. 이 값은 DXVAHD_VPCAPS 구조체의 PastFrames 멤버 값보다 작거나 같아야 합니다.
FutureFrames
이후 참조 프레임의 수입니다. 이 값은 DXVAHD_VPCAPS 구조체의 FutureFrames 멤버 값보다 작거나 같아야 합니다.
ppPastSurfaces
호출자가 할당한 IDirect3DSurface9 포인터 배열에 대한 포인터입니다. 이 배열에는 비디오 처리 작업에 대한 과거 참조 프레임이 포함되어 있습니다. 배열의 요소 수는 PastFrames 멤버의 값과 같습니다.
pInputSurface
현재 입력 프레임을 포함하는 Microsoft Direct3D 표면의 IDirect3DSurface9 인터페이스에 대한 포인터입니다.
ppFutureSurfaces
호출자가 할당한 IDirect3DSurface9 포인터 배열에 대한 포인터입니다. 이 배열에는 비디오 처리 작업에 대한 향후 참조 프레임이 포함되어 있습니다. 배열의 요소 수는 FutureFrames 멤버의 값과 같습니다.
설명
입력 표면
Direct3D 표면은 DXVAHD_VPDEVCAPS 구조체의 InputPool 멤버에 의해 지정된 메모리 풀에 할당되어야 합니다. 다음 표면 유형을 사용할 수 있습니다.- DXVAHD_SURFACE_TYPE_VIDEO_INPUT 또는DXVAHD_SURFACE_TYPE_VIDEO_INPUT_PRIVATE 형식의 비디오 화면입니다. IDXVAHD_Device::CreateVideoSurface를 참조하세요.
- DXVA2_VideoDecoderRenderTarget 형식의 디코더 렌더링 대상 표면입니다. IDirectXVideoAccelerationService::CreateSurface를 참조하세요.
- 오프 스크린 일반 표면.
- ppPastSurfaces: { ..., T-3, T-2, T-1 }
- ppInputSurface: T
- ppFutureSurfaces: { T+1, T+2, T+3, ... }
- 비디오 시퀀스의 시작 또는 끝에서
- 점진적 입력
- 프로그레시브 및 인터레이스 입력 간 전환 중
- 높은 탈인터레이싱 품질이 필요하지 않은 하위 스트림의 경우
- 프레임을 삭제하는 동안
입력 및 출력 인덱스
OutputIndex 및 InputFrameOrField 멤버는 입력 프레임 또는 필드와 출력 프레임의 상관 관계를 지정하는 데 사용됩니다. OutputIndex 멤버의 값은 순환이며 각 주기 후에 0으로 다시 설정됩니다.다음은 몇 가지 예제 패턴입니다.
- 일반 속도로 프로그레시브 비디오. 각 입력 프레임은 하나의 출력 프레임을 생성합니다.
- 출력 인덱스: 0, 0, 0, 0, ...
- 입력 인덱스: 0, 1, 2, 3, ...
- 표준 속도로 인터레이스된 비디오입니다. 각 인터레이스 프레임(두 필드)은 두 개의 출력 프레임을 생성합니다.
- 출력 인덱스: 0, 1, 0, 1, ...
- 입력 인덱스: 0, 1, 2, 3, ...
- 2/1 출력 속도의 점진적 비디오입니다. 각 입력 프레임은 하나의 출력 프레임을 생성합니다.
- 출력 인덱스: 0, 1, 0, 1, ...
- 입력 인덱스: 0, 1, 2, 3, ...
- 1/2 출력 속도로 인터레이스된 비디오입니다. 인터레이스된 각 프레임은 하나의 출력 프레임을 생성합니다. (두 필드가 혼합되어 하나의 프레임을 만듭니다.)
- 출력 인덱스: 0, 0, 0, 0, ...
- 입력 인덱스: 0, 2, 4, 6, ...
요구 사항
지원되는 최소 클라이언트 | Windows 7 [데스크톱 앱만 해당] |
지원되는 최소 서버 | Windows Server 2008 R2 [데스크톱 앱만 해당] |
머리글 | dxvahd.h |