Метод 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).
Требования
Требование | Значение |
---|---|
Заголовок |
|
Библиотека |
|
См. также раздел