MPEG-4 第 2 部分视频解码器
MPEG4 第 2 部分视频解码器解码根据 MPEG4 第 2 部分标准编码的视频流。
可以调用 CoCreateInstance 来创建 MPEG4 第 2 部分视频编码器的实例。 若要创建行为与 DirectX 媒体对象 (DMO) 相同的解码器的实例,请使用类标识符 CLSID_CMpeg4sDecMediaObject。 若要创建行为与媒体基础转换 (MFT) 相同的解码器的实例,请使用类标识符 CLSID_CMpeg4sDecMFT。
输入类型
MPEG4 第 2 部分视频解码器支持下列输入媒体类型。
- MEDIASUBTYPE_M4S2
- MEDIASUBTYPE_m4s2
- MEDIASUBTYPE_MP4V
- MEDIASUBTYPE_mp4v
- MEDIASUBTYPE_MP4S(已弃用)
- MEDIASUBTYPE_mp4s(已弃用)
输出类型
MPEG4 第 2 部分视频解码器在充当 DMO 时支持以下输出媒体子类型。
- MEDIASUBTYPE_YV12
- MEDIASUBTYPE_NV12
- MEDIASUBTYPE_YUY2
- MEDIASUBTYPE_UYVY
- MEDIASUBTYPE_YVYU
- MEDIASUBTYPE_NV11
- MEDIASUBTYPE_RGB32
- MEDIASUBTYPE_RGB24
- MEDIASUBTYPE_ RGB565
- MEDIASUBTYPE_RGB555
- MEDIASUBTYPE_RGB8
MPEG4 第 2 部分视频解码器在充当 MFT 时支持以下输出媒体子类型。
- MEDIASUBTYPE_NV12
- MEDIASUBTYPE_YV12
格式
MPEG4 第 2 部分视频解码器接受以下格式。
- VIDEOINFOHEADER
- VIDEOINFOHEADER2 (VIH2)
- MFVideoInfo
- MPEG2VIDEOINFO(仅使用标头的 VIH2 部分。)
DMO 的接口
如果将 MPEG4 第 2 部分视频解码器的实例创建为 DMO,解码器会公开以下接口。
可通过调用 CoCreateInstance 来获取 IMediaObject 接口,并可通过调用 QueryInterface 来获取 ICodecAPI 接口。
MFT 的接口
如果将 MPEG2 第 2 部分视频解码器的实例创建为 MFT,解码器会公开以下接口。
可通过调用 CoCreateInstance 来获取 IMFTransform 接口,并可通过调用 IMFTransform::GetAttributes 来获取 IMFAttributes 接口。 可通过在 MFT 上调用 QueryInterface 来获取指向 IMFQualityAdvise 或 IMFQualityAdvise2 接口的指针。 可通过调用 MFGetService 并传递服务标识符 MF_RATE_CONTROL_SERVICE 来获取指向 IMFRateControl 或 IMFRateSupport 接口的指针。
配置文件和级别
MPEG4 规范定义了几个配置文件,每个配置文件指定了编码器可用于生成编码流的工具。 MPEG4 第 2 部分视频解码器支持下面两个配置文件:简单视觉配置文件和高级简单配置文件。 换言之,MPEG4 第 2 部分视频解码器可以解码根据简单视觉配置文件或高级简单配置文件编码的流。
简单视觉配置文件支持以渐进模式对低比特率视频进行基本传输。 它仅支持帧内和预测图片。 它还支持与 H.263 基线配置文件向后兼容的短报头模式。 从 Windows 10 开始,MPEG-4 第 2 部分视频解码器还支持 H.263v2 (H.263+),后者支持自定义图片大小。
高级简单配置文件支持简单视觉配置文件的所有工具,此外,还支持交错视频、B 帧法、1/4 像素运动补偿、其他量化表和全局运动补偿。
MPEG4 规范还定义了多个级别,每个级别都指定了编码器生成的输出流的约束。
下表显示了 MPEG4 第 2 部分视频解码器支持的配置文件和级别以及典型分辨率。
Profile | Level | 典型分辨率 |
---|---|---|
简单视觉 | 0 | 176 x 144 |
简单视觉 | 1 | 176 x 144 |
简单视觉 | 2 | 352 x 288 |
简单视觉 | 3 | 352 x 288 |
简单视觉 | 4a | 640 x 480 |
简单视觉 | 5 | 720 x 576 |
高级简单 | 0 | 176 x 144 |
高级简单 | 1 | 176 x 144 |
高级简单 | 2 | 352 x 288 |
高级简单 | 3 | 352 x 288 |
高级简单 | 3b | 352 x 288 |
高级简单 | 4 | 352 x 756 |
高级简单 | 5 | 720 x 576 |
有关配置文件和级别的详细信息,请查看“MPEG4 第 2 部分规范 (ISO/IEC 14496-2):信息技术 - 音频-视觉对象编码 -- 第 2 部分:视觉对象”。
解码器属性
若要在 MPEG4 第 2 部分视频解码器上设置属性,请使用 ICodecAPI 接口或 IMFAttributes 接口。
MPEG4 第 2 部分视频解码器支持以下属性。
properties | Description | 默认值 |
---|---|---|
CODECAPI_AVDecVideoSWPowerLevel | 指定电源级别。
只写。 |
100 |
CODECAPI_AVDecVideoThumbnailGenerationMode | 指定缩略图生成模式。
只写。 |
VARIANT_FALSE |
备注
RGB 媒体子类型的全局唯一标识符 (GUID) 因解码器是充当 DMO 还是 MFT 而异。 无论解码器是充当 DMO 还是 MFT,非 RGB 媒体子类型的 GUID 都是相同的。 若要了解表示媒体子类型的 GUID,请参阅媒体类型。
要求
要求 | 值 |
---|---|
最低受支持的客户端 |
Windows 7 [仅限桌面应用] |
最低受支持的服务器 |
Windows Server 2008 R2 [仅限桌面应用] |
标头 |
|
DLL |
|
另请参阅