다음을 통해 공유


ID3D11VideoContext::D ecoderBeginFrame 메서드(d3d11.h)

비디오 프레임을 디코딩하는 디코딩 작업을 시작합니다.

통사론

HRESULT DecoderBeginFrame(
  [in] ID3D11VideoDecoder           *pDecoder,
  [in] ID3D11VideoDecoderOutputView *pView,
  [in] UINT                         ContentKeySize,
  [in] const void                   *pContentKey
);

매개 변수

[in] pDecoder

ID3D11VideoDecoder 인터페이스에 대한 포인터입니다. 이 포인터를 가져오려면 ID3D11VideoDevice::CreateVideoDecoder호출합니다.

[in] pView

ID3D11VideoDecoderOutputView 인터페이스에 대한 포인터입니다. 이 인터페이스는 디코딩된 프레임을 받을 리소스에 대해 설명합니다. 이 포인터를 가져오려면 ID3D11VideoDevice::CreateVideoDecoderOutputView호출합니다.

[in] ContentKeySize

pContentKey지정된 콘텐츠 키의 크기입니다. pContentKey NULL인 경우 ContentKeySize 0으로 설정합니다.

[in] pContentKey

프레임 데이터를 암호화하는 데 사용된 콘텐츠 키에 대한 선택적 포인터입니다. 콘텐츠 키를 사용하지 않은 경우 이 매개 변수를 NULL설정합니다. 호출자가 콘텐츠 키를 제공하는 경우 호출자는 세션 키를 사용하여 콘텐츠 키를 암호화해야 합니다.

반환 값

이 메서드가 성공하면 S_OK반환됩니다. 그렇지 않으면 HRESULT 오류 코드를 반환합니다. 하드웨어가 사용 중이면 D3DERR_WASSTILLDRAWING 또는 E_PENDING 반환되며, 이 경우 디코더가 다시 호출을 시도해야 합니다.

발언

이 메서드가 호출되면 ID3D11VideoContext::SubmitDecoderBuffers 호출하여 디코딩 작업을 수행합니다. 모든 디코딩 작업이 실행되면 id3D11VideoContext::D ecoderEndFrame호출합니다.

DecoderBeginFrame 대한 각 호출에는 DecoderEndFrame대한 일치 호출이 있어야 합니다. 대부분의 경우 DecoderBeginFrame 호출을 중첩할 수 없지만 VC-1과 같은 일부 코덱은 후처리와 같은 특수 작업을 DecoderBeginFrame에 중첩될 수 있습니다.

콘텐츠 키를 통해 지원되는 암호화 시나리오는 다음과 같습니다.

  • 디코더는 모든 프레임을 암호화하지 않도록 선택할 수 있습니다. 예를 들어 I 프레임만 암호화하고 P/B 프레임을 암호화하지 않을 수 있습니다. 이러한 시나리오에서 디코더는 암호화하지 않는 프레임에 대해 pContentKey = NULL 및 ContentKeySize = 0을 지정합니다.
  • 디코더는 세션 키를 사용하여 압축된 버퍼를 암호화하도록 선택할 수 있습니다. 이 시나리오에서 디코더는 모든 0을 포함하는 콘텐츠 키를 지정합니다.
  • 디코더는 별도의 콘텐츠 키를 사용하여 압축된 버퍼를 암호화하도록 선택할 수 있습니다. 이 시나리오에서 디코더는 ECB가 세션 키를 사용하여 콘텐츠 키를 암호화하고 암호화된 콘텐츠 키를 전달합니다.

요구 사항

요구
지원되는 최소 클라이언트 Windows 8 [데스크톱 앱 | UWP 앱]
지원되는 최소 서버 Windows Server 2012 [데스크톱 앱 | UWP 앱]
대상 플랫폼 Windows
헤더 d3d11.h

참고 항목

ID3D11VideoContext