CVideoTransformFilter 클래스
[이 페이지와 연결된 기능인 DirectShow는 레거시 기능입니다. MediaPlayer, IMFMediaEngine 및 Media Foundation의 오디오/비디오 캡처로 대체되었습니다. 이러한 기능은 Windows 10 및 Windows 11 최적화되었습니다. 가능한 경우 새 코드가 DirectShow 대신 Media Foundation에서 MediaPlayer, IMFMediaEngine 및 오디오/비디오 캡처를 사용하는 것이 좋습니다. 가능한 경우 레거시 API를 사용하는 기존 코드를 다시 작성하여 새 API를 사용하도록 제안합니다.]
클래스는 CVideoTransformFilter
주로 AVI 압축 해제기 필터에 대한 기본 클래스로 설계되었습니다. 이 클래스는 CTransformFilter 클래스에 품질 제어에 대한 지원을 추가합니다. 필터의 Receive 메서드는 렌더러의 품질 메시지와 필터가 스트리밍하는 동안 수집하는 성능 측정값에 따라 프레임을 삭제하도록 결정할 수 있습니다.
필터가 프레임을 삭제하면 다음 키 프레임에 도달할 때까지 프레임을 계속 삭제합니다. MPEG 스트림의 경우 필터는 B 프레임과 P 프레임을 구분하지 않습니다.
보호된 멤버 변수 | Description |
---|---|
m_bQualityChanged | 필터가 프레임을 떨어뜨렸는지 여부를 나타냅니다. |
m_bSkipping | 필터가 현재 프레임을 삭제하고 있는지 여부를 나타냅니다. |
m_itrAvgDecode | 프레임을 디코딩하는 데 걸린 평균 시간입니다. |
m_itrLate | 샘플이 렌더러에 도착하는 지연을 나타냅니다. |
m_nFramesSinceKeyFrame | 필터가 마지막 키 프레임 이후 받은 프레임 수입니다. |
m_nKeyFramePeriod | 키 프레임 간에 관찰된 가장 큰 간격입니다. |
m_nWaitForKey | 삭제할 델타 프레임의 현재 최대 수입니다. |
m_tDecodeStart | 가장 최근 샘플을 디코딩하는 데 걸린 시간입니다. |
Protected 메서드 | Description |
AbortPlayback | 스트리밍 오류를 알리는 데 사용됩니다. |
AlterQuality | 품질 변경이 요청됨을 필터에 알 수 있습니다. |
수신 | 미디어 샘플을 수신하고, 처리하고, 출력 샘플을 다운스트림 필터에 전달합니다. |
ShouldSkipFrame | 필터가 지정된 샘플을 삭제해야 하는지 여부를 결정합니다. |
StartStreaming | 필터가 일시 중지된 상태로 전환되면 호출됩니다. |
Public 메서드 | Description |
CVideoTransformFilter | 생성자 메서드입니다. |
EndFlush | 플러시 작업을 종료합니다. |