H.264 비디오 디코더
Media Foundation H.264 비디오 디코더는 수준 5.1까지 기준, 기본 및 상위 프로필의 디코딩을 지원하는 Media Foundation 변환 입니다.
H.264 비디오 디코더는 다음 인터페이스를 노출합니다.
- ICodecAPI (Windows 8에서 지원됨)
- IMFGetService
- IMFQualityAdvise
- IMFQualityAdvise2
- IMFRateControl
- IMFRateSupport
- IMFRealTimeClient
- IMFTransform
디코더의 instance 만들려면 다음 중 하나를 수행합니다.
- MFTEnum 또는 MFTEnumEx 함수를 호출합니다.
- CoCreateInstance를 호출합니다. 디코더의 CLSID는 wmcodecdsp.h로 선언된 CLSID_CMSH264DecoderMFT.
입력 형식
입력 형식에는 적어도 다음 두 가지 특성이 포함되어야 합니다.
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를 제공합니다.
- CODECAPI_AVDecVideoMaxCodedWidth
- CODECAPI_AVDecVideoAcceleration_H264
- CODECAPI_AVDecVideoMaxCodedHeight
- CODECAPI_AVDecVideoMaxCodedWidth
- CODECAPI_AVDecVideoThumbnailGenerationMode
형식 제약 조건
디코더는 다음 형식을 지원합니다.
설정 | 서식 |
---|---|
프로필/수준 | 기준, 기본 및 상위 프로필( 수준 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 |
|
추가 정보