Encoder 属性集

本部分介绍编码器和编解码器 API 特定的属性集,这些属性集适用于在 Microsoft Windows 98/Me、Windows 2000 和 Windows XP 及更高版本中使用 WDM 内核流式处理服务的编码器微型驱动程序。

每个属性的引用页包含一个表,其中包含如下所示的列标题。

Get Set Target 属性描述符类型 属性值类型

这些标题具有以下含义:

  • Get

    目标 KS 对象是否支持KSPROPERTY_TYPE_GET属性请求?

  • Set

    目标 KS 对象是否支持KSPROPERTY_TYPE_SET属性请求?

  • Target

    这是将属性请求发送到的 KS 对象。 视频编码器属性的目标是筛选器或引脚。 (属性请求通过其内核句柄指定目标对象。

  • 属性描述符类型

    属性描述符指定要对该属性执行的属性和作。 The descriptor always begins with a KSPROPERTY structure.

  • 属性值类型

    属性具有一个值,该值的类型取决于该属性。 例如,一个属性只能处于两个状态之一(开或关)通常具有 BOOL 值。 可以假定从0x0到0xFFFFFFFF的整数值的属性可能具有 ULONG 值。 更复杂的属性可能具有数组或结构的值。

上述属性描述符和属性值是 KS 属性、事件和方法中讨论的特定于实例规范和作数据缓冲区的属性版本。

属性请求使用以下标志之一指定要对属性执行的作:

  • KSPROPERTY_TYPE_BASICSUPPORT

  • KSPROPERTY_TYPE_GET

  • KSPROPERTY_TYPE_SET

所有筛选器和固定对象都支持对其属性执行基本支持作。 Whether they support the get and Set operations depends on the property. A property that represents an inherent capability of the filter or pin object is likely to require only a get operation. A property that represents a configurable setting might require only a Set operation, although a get operation might also be useful for reading the current setting. For more information about using the get, set, and basic-support operations with video encoder properties, see KS Properties.

每个属性的说明中的表指示是否需要视频编码器微型驱动程序来支持读取或写入属性。 视频编码器微型驱动程序应返回STATUS_NOT_SUPPORTED以响应获取或设置微型驱动程序不支持的属性的请求。

以下属性设置每个属性都包含必须由视频编码器微型驱动程序实现的单个属性。 That is, effectively each property gets its own set, so specify 0 in the PropertyId member of the KSPROPERTY_ITEM member in the KSPROPERTY_SET structure as required.

以下属性集属于编解码器 API:

CODECAPI_VIDEO_ENCODER

CODECAPI_AUDIO_ENCODER

CODECAPI_SETALLDEFAULTS

CODECAPI_ALLSETTINGS

CODECAPI_SUPPORTSEVENTS

CODECAPI_CURRENTCHANGELIST

以下属性集属于编码器 API:

ENCAPIPARAM_BITRATE

ENCAPIPARAM_BITRATE_MODE

ENCAPIPARAM_PEAK_BITRATE