перечисление MF_TRANSCODE_ADJUST_PROFILE_FLAGS (mfidl.h)
Определяет флаги профиля, заданные в атрибуте MF_TRANSCODE_ADJUST_PROFILE .
Эти флаги проверяются MFCreateTranscodeTopology во время построения топологии. На основе этих флагов MFCreateTranscodeTopology настраивает профиль перекодировки, изменяя параметры конфигурации для потоков в соответствии с требованиями к входным данным кодировщика, используемого в топологии.
Дополнительные сведения о параметрах потока, которые может указать приложение, см. в статье Использование API перекодировки.
Синтаксис
typedef enum _MF_TRANSCODE_ADJUST_PROFILE_FLAGS {
MF_TRANSCODE_ADJUST_PROFILE_DEFAULT = 0,
MF_TRANSCODE_ADJUST_PROFILE_USE_SOURCE_ATTRIBUTES = 1
} MF_TRANSCODE_ADJUST_PROFILE_FLAGS;
Константы
MF_TRANSCODE_ADJUST_PROFILE_DEFAULT Значение: 0 Media Foundation использует параметры, заданные приложением, для аудио- и видеопотоков. Если приложение не предоставляет необходимые параметры, топология создается, но сеанс кодирования завершается ошибкой. Для видеопотока изменяются параметры частоты кадров и режима чередовки. Дополнительные сведения см. в подразделе "Примечания". |
MF_TRANSCODE_ADJUST_PROFILE_USE_SOURCE_ATTRIBUTES Значение: 1 Для аудио- и видеопотоков отсутствующие параметры потока заполняются путем копирования входных атрибутов источника. Этот флаг гарантирует, что перекодированный выходной файл будет ближе всего к входному файлу. |
Комментарии
Если указан флаг MF_TRANSCODE_ADJUST_PROFILE_DEFAULT , в видеопоток вносятся следующие изменения:
- Если частота кадров источника мультимедиа, указанного в параметре pSrcMFCreateTranscodeTopology , и частота кадров, указанная приложением в атрибуте MF_MT_FRAME_RATE , отличаются менее 1/1000, профиль использует частоту кадров источника мультимедиа. Это связано с тем, что конвейер считает разницу незначительной.
- Если приложение не задает режим чередование, задав атрибут MF_MT_INTERLACE_MODE , профиль изменяется на использование прогрессивных кадров.
- MF_MT_AUDIO_NUM_CHANNELS
- MF_MT_AUDIO_SAMPLES_PER_SECOND
- MF_MT_AUDIO_BLOCK_ALIGNMENT
- MF_MT_AUDIO_AVG_BYTES_PER_SECOND
- MF_MT_AUDIO_BITS_PER_SAMPLE
Используйте флаг MF_TRANSCODE_ADJUST_PROFILE_USE_SOURCE_ATTRIBUTES , если вы хотите перекодировать файл с помощью атрибутов входного потока. Атрибуты входного исходного потока копируются в тип выходного носителя до вставки узла MFT в топологию. Если заданы дополнительные атрибуты потока, этот флаг не перезаписывает заданные значения. Значения атрибутов источника входных данных заполняются только отсутствующими атрибутами. Этот флаг полезен в сценарии remux, где требуется создать выходной файл в том же формате, что и источник входных данных. Если вы хотите выполнить преобразование формата, убедитесь, что задан атрибут MF_MT_SUBTYPE для потока, чтобы указать кодировщик, который должен использовать построитель топологий. Узел преобразования добавляется в топологию, если не задано MF_TRANSCODE_DONOT_INSERT_ENCODER . В этом случае и содержимое не закодировано. Вместо этого, если это разрешено контейнером, содержимое внедряется в указанный контейнер.
Например, предположим, что источником входных данных является MP3-файл. Контейнер должен быть MFTranscodeContainerType_ASF, атрибуты потока не задаются и флаг MF_TRANSCODE_ADJUST_PROFILE_USE_SOURCE_ATTRIBUTES . В этом случае созданный выходной файл представляет собой ASF-файл (WMA), содержащий данные мультимедиа MP3. Обратите внимание, что при использовании этого флага некоторые атрибуты входного потока и тип контейнера могут быть несовместимы.
Требования
Минимальная версия клиента | Windows 7 [только классические приложения] |
Минимальная версия сервера | Windows Server 2008 R2 [только классические приложения] |
Верхняя часть | mfidl.h |