Интерфейс IEncoderAPI (strmif.h)

[Функция, связанная с этой страницей, Microsoft TV Technologies, является устаревшей функцией. Корпорация Майкрософт настоятельно рекомендует, чтобы новый код не использовал эту функцию.]

[IEncoderAPI больше не доступен для использования. Вместо этого используйте ICodecAPI.]

Интерфейс IEncoderAPI определяет стандартный способ взаимодействия приложений и драйверов со сторонними аппаратными или программными кодировщиками, реализующими этот интерфейс. Дополнительные сведения об этом интерфейсе см. в разделе API кодировщика.

Наследование

Интерфейс IEncoderAPI наследуется от интерфейса IUnknown . IEncoderAPI также имеет следующие типы элементов:

  • Методы

Методы

Интерфейс IEncoderAPI содержит следующие методы.

 
IEncoderAPI::GetDefaultValue

Метод GetDefaultValue получает значение по умолчанию для параметра, если таковой существует.
IEncoderAPI::GetParameterRange

Метод GetParameterRange извлекает допустимый диапазон значений, поддерживаемый параметром, в случаях, когда параметр поддерживает ступенчатый диапазон, а не список конкретных значений.
IEncoderAPI::GetParameterValues

Метод GetParameterValues извлекает список значений, поддерживаемых заданным параметром.
IEncoderAPI::GetValue

Метод GetValue извлекает текущее значение указанного параметра.
IEncoderAPI::IsAvailable

IEncoderAPI больше не доступен для использования. (IEncoderAPI.IsAvailable)
IEncoderAPI::IsSupported

Метод IsSupported запрашивает, поддерживается ли данный параметр.
IEncoderAPI::SetValue

Метод SetValue задает текущее значение параметра.

Комментарии

В различных методах интерфейса следующие идентификаторы GUID, определенные в uuids.h, используются для указания того, какой параметр устанавливается или извлекается.

Параметр Описание
ENCAPIPARAM_BITRATE Указывает скорость передачи в битах в секунду. В режиме постоянной скорости (CBR) значение дает постоянную скорость. В любом из режимов переменной скорости он дает среднюю скорость. Значение равно 32-разрядной длине без знака.
ENCAPIPARAM_PEAK_BITRATE Указывает пиковую скорость передачи данных. Этот параметр подходит только в том случае, если для ENCAPIPARAM_BITRATE_MODE задано значение VariableBitRatePeak.
ENCAPIPARAM_BITRATE_MODE Задает режим скорости в виде VIDEOENCODER_BITRATE_MODE значения перечисления (32-разрядная со знаком).

В следующей таблице описывается ожидаемое поведение кодировщика в условиях высокой или низкой скорости в двух режимах переменной скорости, определенных в VIDEOENCODER_BITRATE_MODE.

Условие Режим Поведение
Сцена падает в черное или нет движения VariableBitRateAverage В течение короткого периода времени (несколько секунд) скорость передачи будет ниже скорости, указанной для параметра ENCAPIPARAM_BITRATE. Но в течение четырех минут кодировщик будет поддерживать среднюю скорость, при необходимости добавляя в поток "фиктивные" биты.
Сцена падает в черное или нет движения. VariableBitRatePeak Скорость будет ниже ожидаемой скорости, указанной в значении параметра ENCAPIPARAM_BITRATE. Скорость будет оставаться на этом уровне, пока не начнется более сложная сцена.
Сцена очень сложная. VariableBitRateAverage В течение нескольких секунд ставка будет идти вверх. Если сцена остается сложной, скорость вернется вниз, и изображение станет блочной, чтобы сохранить среднее значение, указанное в значении параметра ENCAPIPARAM_BITRATE.
Сцена очень сложная. VariableBitRatePeak Скорость будет идти вверх и оставаться, возможно, выше ожидаемой скорости, указанной в значении параметра ENCAPIPARAM_BITRATE, но никогда не выше пика, как указано в параметре ENCAPIPARAM_PEAK_BITRATE.

Устройства OCUR

Этот интерфейс поддерживает устройства OpenCable unidirectional Cable Receiver (OCUR). См . раздел Устройства OCUR.

Требования

Требование Значение
Целевая платформа Windows
Header strmif.h (включая Dshow.h)

См. также раздел

API кодировщика