Метод IAMTimelineGroup::SetSmartRecompressFormat

[Функция, связанная с этой страницей DirectShow, является устаревшей функцией. Он был заменен MediaPlayer, IMFMediaEngine, и аудио/ видео захвата в Media Foundation. Эти функции оптимизированы для Windows 10 и Windows 11. Корпорация Майкрософт настоятельно рекомендует использовать в новом коде MediaPlayer, IMFMediaEngine и аудио/видеозахват в Media Foundation вместо DirectShow, когда это возможно. Корпорация Майкрософт предлагает переписать существующий код, в котором используются устаревшие API, чтобы по возможности использовать новые API.]

Примечание

[Не рекомендуется. Этот API может быть удален из будущих выпусков Windows.]

 

Метод SetSmartRecompressFormat задает формат сжатия видео, используемый для интеллектуальной рекомпрессии.

Интеллектуальная рекомпрессия не поддерживается для звуковых групп.

Синтаксис

HRESULT SetSmartRecompressFormat(
   long *pFormat
);

Параметры

pFormat

Указатель на структуру, описывающую формат сжатия. В настоящее время допустима только структура SCompFmt0 . Необходимо привести этот параметр к указателю типа long.

Возвращаемое значение

Если этот метод завершается успешно, он возвращает S_OK. В противном случае возвращается код ошибки HRESULT .

Комментарии

Перед вызовом этого метода вызовите метод IAMTimelineGroup::SetMediaType в той же группе, чтобы указать несжатый формат.

В случае успешного SetSmartRecompressFormat выполнения метода можно использовать модуль интеллектуальной отрисовки для вывода сжатого видеопотока. Сжатое видео будет иметь ширину, высоту и частоту кадров, указанные в параметре pFormat . Эти значения переопределяют значения, заданные для несжатого формата в методе SetMediaType . Однако, чтобы получить преимущества интеллектуальной рекомпрессии, два формата должны совпадать. Иными словами, сжатые и несжатые форматы должны иметь одинаковую высоту, ширину и частоту кадров.

Если интеллектуальному обработчику отрисовки не удается создать сжатый формат, вместо этого будет получен несжатый видеопоток. В этом случае модуль интеллектуальной отрисовки сообщает об ошибке DEX_IDS_CANT_FIND_COMPRESSOR отрисовки во время метода IRenderEngine::ConnectFrontEnd . Приложение может перехватывать эту ошибку с помощью метода IAMErrorLog::LogError . (Дополнительные сведения см. в разделах Ошибки ведения журнала и Ошибки отрисовки.)

Формат интеллектуальной повторной сжатия не является постоянным. Если приложение использует интеллектуальную рекомпрессию, оно должно задавать формат повторной сжатия при загрузке файла проекта.

Примечание

Файл заголовка Qedit.h несовместим с заголовками Direct3D более поздней версии 7.

 

Примечание

Чтобы получить Qedit.h, скачайте обновление Microsoft Windows SDK для Windows Vista и платформа .NET Framework 3.0. Qedit.h недоступен в Microsoft Windows SDK для Windows 7 и платформа .NET Framework 3.5 с пакетом обновления 1 (SP1).

 

Требования

Требование Значение
Заголовок
Qedit.h
Библиотека
Strmiids.lib

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

Интерфейс IAMTimelineGroup

Коды ошибок и успешности

Интеллектуальный обработчик отрисовки

Запись проекта в файл