Share via


H.264 비디오 디코더

Media Foundation H.264 비디오 디코더는 수준 5.1까지 기준, 기본 및 상위 프로필의 디코딩을 지원하는 Media Foundation 변환 입니다.

H.264 비디오 디코더는 다음 인터페이스를 노출합니다.

디코더의 instance 만들려면 다음 중 하나를 수행합니다.

입력 형식

입력 형식에는 적어도 다음 두 가지 특성이 포함되어야 합니다.

attribute 설명
MF_MT_MAJOR_TYPE MFMediaType_Video
MF_MT_SUBTYPE MFVideoFormat_H264 또는 MFVideoFormat_H264_ES

 

입력 형식에 이러한 두 특성만 포함된 경우 디코더는 자리 표시자 역할을 하는 기본 출력 형식을 제공합니다. 디코더가 출력 프레임을 생성하기에 충분한 입력 샘플을 받으면 IMFTransform::P rocessOutput에서 MF_E_TRANSFORM_STREAM_CHANGE 반환하여 형식 변경 신호를 보냅니다. 형식 변경 처리에 대한 자세한 내용은 ProcessOutput 설명서를 참조하세요.

초기 형식 변경을 방지하려면 다음을 포함하여 입력 형식에 가능한 한 많은 정보를 제공합니다.

attribute 설명
MF_MT_FRAME_RATE 프레임 속도.
MF_MT_FRAME_SIZE 프레임 차원.
MF_MT_INTERLACE_MODE 인터레이스 모드. 참고: H.264 비디오에서는 인터레이스 구조가 동적으로 변경되어 이 특성의 권장 값이 MFVideoInterlace_MixedInterlaceOrProgressive. 비디오 기본 스트림의 인터레이스 정보가 미디어 유형보다 우선합니다. 자세한 내용은 비디오 인터레이싱을 참조하세요.
MF_MT_PIXEL_ASPECT_RATIO 픽셀 가로 세로 비율.

 

입력 형식은 출력 형식 전에 설정해야 합니다. 입력 형식이 설정될 때까지 인코더의 IMFTransform::SetOutputType 메서드는 MF_E_TRANSFORM_TYPE_NOT_SET 반환합니다.

출력 형식

디코더는 다음 출력 하위 형식을 지원합니다.

  • MFVideoFormat_I420
  • MFVideoFormat_IYUV
  • MFVideoFormat_NV12
  • MFVideoFormat_YUY2
  • MFVideoFormat_YV12

이러한 하위 형식에 대한 자세한 내용은 비디오 하위 형식 GUID를 참조하세요.

변환 특성

H.264 디코더는 IMFTransform::GetAttributes 메서드를 구현합니다 . 애플리케이션은 이 메서드를 사용하여 다음 특성을 얻거나 설정할 수 있습니다.

attribute 설명
CODECAPI_AVDecVideoAcceleration_H264 하드웨어 가속을 사용하거나 사용하지 않도록 설정합니다.
CODECAPI_AVDecVideoThumbnailGenerationMode 미리 보기 생성 모드를 사용하거나 사용하지 않도록 설정합니다.
MF_SA_D3D_AWARE 디코더가 DXVA(DirectX Video Acceleration)를 지원한다는 것을 나타냅니다. 읽기 전용으로 처리합니다.

 

Windows 8에서 H.264 디코더는 다음 특성도 지원합니다.

attribute 설명
CODECAPI_AVLowLatencyMode 대기 시간이 짧은 디코딩 모드를 사용하거나 사용하지 않도록 설정합니다.
CODECAPI_AVDecNumWorkerThreads 디코더에서 사용하는 작업자 스레드 수를 설정합니다.
CODECAPI_AVDecVideoMaxCodedWidth 디코더가 입력 형식으로 사용할 최대 그림 너비를 설정합니다.
CODECAPI_AVDecVideoMaxCodedHeight 디코더가 입력 형식으로 허용할 최대 그림 높이를 설정합니다.
MF_SA_MINIMUM_OUTPUT_SAMPLE_COUNT 최대 출력 샘플 수를 지정합니다.
MFT_DECODER_EXPOSE_OUTPUT_TYPES_IN_NATIVE_ORDER 디코더가 다른 형식 앞에 IYUV/I420 출력 형식(코드 변환에 적합)을 노출하는지 여부를 지정합니다.

 

Windows 8에서 H.264 디코더는 ICodecAPI 인터페이스를 지원합니다. 이 인터페이스는 다음 코덱 속성을 설정하기 위한 교대 API를 제공합니다.

형식 제약 조건

디코더는 다음 형식을 지원합니다.

설정 서식
프로필/수준 기준, 기본 및 상위 프로필( 수준 5.1까지). 자세한 내용은 ITU-T H.264 사양을 참조하세요.
크로마 형식 4:2:0 크로마 또는 단색
최소 해상도 48개 × 48픽셀
최대 해상도 4096 × 2304픽셀
DXVA 가속에 대한 최대 보장 해상도는 1920 × 1088픽셀입니다. 더 높은 해상도에서 디코딩은 기본 하드웨어에서 지원되는 경우 DXVA를 사용하여 수행되며, 그렇지 않으면 소프트웨어로 디코딩이 수행됩니다.
참고: Windows 7에서 지원되는 최대 해상도는 소프트웨어 및 DXVA 디코딩 모두에 대해 1920× 1088픽셀입니다.
Dxva 디코더는 DXVA 버전 2를 지원하지만 DXVA 버전 1은 지원하지 않습니다. DXVA 디코딩은 기본 호환 기준, 기본 및 상위 프로필 비트 스트림에 대해서만 지원됩니다. 기본 호환 기준 비트 스트림은 profile_idc=66 및 constrained_set1_flag=1로 정의됩니다.

 

입력 데이터는 ISO/IEC 14496-10의 부록 B를 준수해야 합니다. 데이터에는 시작 코드가 포함되어야 합니다. 디코더는 바이트 스트림에서 유효한 SPS(시퀀스 매개 변수 집합) 및 PPS(그림 매개 변수 집합)를 발견할 때까지 바이트를 건너뜁니다.

디코더는 필름 그레인 기술을 지원하지 않습니다.

참고

이전 버전의 설명서에서 디코더가 Windows Server 2008 R2에서 지원된다는 잘못된 설명서가 있습니다.

 

Windows Vista용 플랫폼 업데이트 보완이 설치된 경우 H.264 비디오 디코더는 Windows Vista에서 사용할 수 있지만 원본 판독기를 사용하여 Windows Vista에서만 액세스할 수 있습니다.

요구 사항

요구 사항
지원되는 최소 클라이언트
Windows 7 [데스크톱 앱만 해당]
지원되는 최소 서버
지원되는 버전 없음
DLL
Msmpeg2vdec.dll

추가 정보

코덱 개체

Media Foundation의 MPEG-4 지원

미디어 파운데이션에서 지원되는 미디어 형식

비디오 미디어 유형