Share via


IVMRDeinterlaceControl::SetDeinterlaceMode 메서드(strmif.h)

[이 페이지와 연결된 기능인 DirectShow는 레거시 기능입니다. MediaPlayer, IMFMediaEngine 및 Media Foundation의 오디오/비디오 캡처로 대체되었습니다. 이러한 기능은 Windows 10 및 Windows 11 최적화되었습니다. 가능한 경우 새 코드가 DirectShow 대신 Media Foundation에서 MediaPlayer, IMFMediaEngine오디오/비디오 캡처를 사용하는 것이 좋습니다. 가능한 경우 레거시 API를 사용하는 기존 코드를 다시 작성하여 새 API를 사용하도록 제안합니다.]

SetDeinterlaceMode 메서드는 지정된 비디오 스트림의 디인터레이싱 모드를 설정합니다.

구문

HRESULT SetDeinterlaceMode(
  [in] DWORD  dwStreamID,
  [in] LPGUID lpDeinterlaceMode
);

매개 변수

[in] dwStreamID

설정할 비디오 스트림의 인덱스입니다. 모든 스트림을 설정하려면 0xFFFFFFFF 값을 사용합니다.

[in] lpDeinterlaceMode

디인터레이싱 모드를 지정하는 GUID에 대한 포인터입니다. 디인터레이싱을 해제하려면 GUID_NULL 값을 사용합니다.

반환 값

HRESULT 값을 반환합니다. 가능한 값은 다음과 같습니다.

반환 코드 설명
E_INVALIDARG
잘못된 스트림 번호입니다.
E_POINTER
NULL 포인터 인수입니다.
S_OK
성공.
VFW_E_VMR_NOT_IN_MIXER_MODE
VMR이 믹서 모드가 아닙니다.

설명

애플리케이션에서 모드를 지정하지 않으면 VMR은 기본적으로 드라이버에서 보고한 첫 번째 모드로 설정됩니다. 두 경우 모두 VMR이 기본 모드를 사용할 수 없는 경우 IVMRDeinterlaceControl::SetDeinterlacePrefs 메서드에 지정된 다른 모드로 돌아갑니다.

SetDeinterlaceMode 메서드는 VMR에 대한 새 연결에만 적용됩니다. 일부 디인터레이싱 모드에는 추가 참조 샘플이 필요합니다. 정확한 숫자는 모드에 따라 달라집니다. VMR은 이러한 추가 샘플에 대한 표면을 할당합니다. 클라이언트는 표면이 할당되기 전에 deinterlace 모드를 설정해야 합니다. Surface 할당은 다음 중 한 가지 후에 발생합니다.

  • 동적 다시 연결을 포함한 연결 고정
  • 동적 형식 변경(업스트림 필터는 IPin::ReceiveConnection을 호출하여 새 형식을 지정합니다.
  • 해결 방법 변경
  • 변경 내용 모니터링

요구 사항

   
지원되는 최소 클라이언트 SP1이 설치된 Windows XP[데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2003 [데스크톱 앱만 해당]
대상 플랫폼 Windows
헤더 strmif.h(Dshow.h 포함)
라이브러리 Strmiids.lib

추가 정보

오류 및 성공 코드

IVMRDeinterlaceControl 인터페이스

IVMRDeinterlaceControl::GetDeinterlaceMode

비디오 믹싱 렌더러 사용