다음을 통해 공유


IAMTimelineGroup::SetSmartRecompressFormat 메서드

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

참고

[더 이상 사용되지 않습니다. 이 API는 향후 Windows 릴리스에서 제거될 수 있습니다.]

 

메서드는 SetSmartRecompressFormat 스마트 압축 해제에 사용할 비디오 압축 형식을 지정합니다.

오디오 그룹에는 스마트 압축 해제가 지원되지 않습니다.

구문

HRESULT SetSmartRecompressFormat(
   long *pFormat
);

매개 변수

pFormat

압축 형식을 설명하는 구조체에 대한 포인터입니다. 현재 SCompFmt0 구조체만 유효합니다. 이 매개 변수를 long 형식의 포인터로 캐스팅해야 합니다.

반환 값

메서드가 성공하면 S_OK를 반환하고, 그러지 않으면 HRESULT 오류 코드를 반환합니다.

설명

이 메서드를 호출하기 전에 동일한 그룹에서 IAMTimelineGroup::SetMediaType 메서드를 호출하여 압축되지 않은 형식을 지정합니다.

메서드가 SetSmartRecompressFormat 성공하면 스마트 렌더링 엔진을 사용하여 압축된 비디오 스트림을 출력할 수 있습니다. 압축된 비디오는 pFormat 매개 변수에 지정된 너비, 높이 및 프레임 속도를 갖습니다. 이러한 값은 SetMediaType 메서드에서 압축되지 않은 형식에 대해 지정된 값을 재정의합니다. 그러나 스마트 압축의 이점을 얻으려면 두 형식이 일치해야 합니다. 즉, 압축 및 압축되지 않은 형식은 높이, 너비 및 프레임 속도가 같아야 합니다.

스마트 렌더링 엔진이 압축된 형식을 생성할 수 없는 경우 압축되지 않은 비디오 스트림을 대신 생성합니다. 이 경우 스마트 렌더링 엔진은 IRenderEngine::ConnectFrontEnd 메서드 중에 DEX_IDS_CANT_FIND_COMPRESSOR 렌더링 오류를 보고합니다. 애플리케이션은 IAMErrorLog::LogError 메서드를 통해 이 오류를 catch할 수 있습니다. 자세한 내용은 로깅 오류렌더링 오류를 참조하세요.

스마트 압축 풀기 형식은 영구적이지 않습니다. 애플리케이션이 스마트 압축을 사용하는 경우 프로젝트 파일을 로드할 때마다 압축 해제 형식을 설정해야 합니다.

참고

헤더 파일 Qedit.h는 버전 7 이후의 Direct3D 헤더와 호환되지 않습니다.

 

참고

Qedit.h를 가져오려면 Windows Vista용 Microsoft Windows SDK 업데이트를 다운로드하고 3.0을 .NET Framework. Qedit.h는 Windows 7 및 .NET Framework 3.5 서비스 팩 1용 Microsoft Windows SDK 사용할 수 없습니다.

 

요구 사항

요구 사항
헤더
Qedit.h
라이브러리
Strmiids.lib

추가 정보

IAMTimelineGroup 인터페이스

오류 및 성공 코드

스마트 렌더링 엔진

파일에 프로젝트 작성