Видео о деинтерлейс
[Функция, связанная с этой страницей, Windows Media Format 11 SDK, является устаревшей функцией. Она была заменена средствами чтения источника и модуля записи приемников. Средство чтения источника и модуль записи приемников оптимизированы для Windows 10 и Windows 11. Корпорация Майкрософт настоятельно рекомендует использовать в новом коде средство чтения исходного кода и модуль записи приемников вместо пакета SDK для Windows Media Format 11, когда это возможно. Корпорация Майкрософт предлагает переписать существующий код, использующий устаревшие API, чтобы по возможности использовать новые API.]
Некоторые источники видео, такие как карточки захвата видео, доставляют видеоданные для отображения с чередованием. Каждый кадр чередующегося видео состоит из двух полей. В верхнем поле содержится первая строка видео и все последующие строки. Нижнее поле содержит вторую строку видео и все последующие строки. Таким образом, одно поле содержит все четные нумерованные строки, а другое — все нечетные строки. Поля, составляющие кадр, немного отличаются от времени представления, поэтому при чередовии они не образуют статическое изображение.
Если требуется отобразить видео на мониторе компьютера, каждый кадр видео должен отображаться в виде одного изображения (этот метод отображения видео по одному кадру за раз называется прогрессивным видео).) При постепенном отображении чередующегося видео кадры могут выглядеть неправильно из-за разницы во времени между двумя полями. Кодек Windows Media Video и расширенный профиль Windows Media поддерживают функцию предварительной обработки, которая преобразует чередующееся содержимое в прогрессивные кадры.
Чтобы получить входное видео деинтерлейс кодека, вызовите метод IWMWriterAdvanced2::SetInputSetting . Параметр для использования g_wszDeinterlaceMode. Задайте для режима деинтерлейсинга одно из следующих значений.
Значение | Описание |
---|---|
WM_DM_NOTINTERLACED | Входные данные являются прогрессивными. Используйте этот параметр, чтобы остановить деинтерлейсинг, если ранее в режиме деинтерлейсинга было задано другое значение. |
WM_DM_DEINTERLACE_NORMAL | Выберите этот режим, чтобы смешать четные и нечетные поля чередующегося кадра (с помощью механизма компенсации движения). Преимущества:
|
WM_DM_DEINTERLACE_HALFSIZE | Выберите этот режим, если разрешение выходных данных составляет половину или меньше входного разрешения. Например, используйте этот режим, если разрешение входного видео составляет 640 x 480 пикселей, а разрешение выходного видео — 320 x 240 пикселей. Преимущества:
|
WM_DM_DEINTERLACE_HALFSIZEDOUBLERATE | Выберите этот режим, если разрешение выходных данных составляет половину или меньше входного разрешения, а частота кадров вывода в два раза выше. Например, используйте этот режим, если разрешение входного видео составляет 640 x 480 пикселей при 30 чередуемых кадрах/с, а разрешение выходного видео — 320 x 240 пикселей при 60 кадрах/с. Преимущества:
|
WM_DM_DEINTERLACE_INVERSETELECINE | Выберите этот режим, чтобы преобразовать видео с телесной записью 30 кадров/с в 24 кадра в секунду исходного фильма. Преимущества:
|
WM_DM_DEINTERLACE_VERTICALHALFSIZEDOUBLERATE | Выберите этот режим, если вертикальное разрешение выходных данных составляет половину или меньше входного вертикального разрешения, а частота кадров вывода в два раза выше. Например, разрешение входного видео по вертикали составляет 640 x 480 пикселей при 30 чередуемых кадрах/с, а выходное вертикальное разрешение видео — 320 x 240 пикселей при 60 кадрах/с. Преимущества:
|
Для смешанного содержимого установите режим деинтерлейсинга по мере необходимости перед передачей примеров нового типа. Например, чтобы начать кодирование с прогрессивным вводом, не нужно устанавливать режим деинтернтерлейсинга. Если для некоторых примеров требуется обычная деинтерлакация, необходимо установить режим деинтерлейсинга WM_DM_DEINTERLACE_NORMAL. Чтобы затем обработать дополнительные прогрессивные примеры, необходимо задать режим деинтерлейсинга WM_DM_NOTINTERLACED.
Параметры обратной телесины
Описание обратной телесины см. в разделе Использование обратной телесины.
Если в режиме деинтерлейсинга задано значение WM_DM_DEINTERLACE_INVERSETELECINE, можно указать шаблон телесины первого входного кадра, вызвав IWMWriterAdvanced2::SetInputSetting. Параметр для использования g_wszInitialPatternForInverseTelecine. Задайте для начального шаблона одно из следующих значений.
Значение | Описание |
---|---|
WM_DM_IT_DISABLE_COHERENT_MODE | Указывает, что входной носитель прошел процесс телесины, но кадры больше не являются предсказуемым шаблоном. Обычно это означает, что носитель был отредактирован после обработки телесины. При использовании этого параметра кодек пытается самостоятельно восстановить исходные кадры. |
WM_DM_IT_FIRST_FRAME_IN_CLIP_IS_AA_TOP | Указывает, что первое поле кадра AA является первым примером. |
WM_DM_IT_FIRST_FRAME_IN_CLIP_IS_BB_TOP | Указывает, что первым примером является верхнее поле кадра BB. |
WM_DM_IT_FIRST_FRAME_IN_CLIP_IS_BC_TOP | Указывает, что первое поле кадра BC является первым примером. |
WM_DM_IT_FIRST_FRAME_IN_CLIP_IS_CD_TOP | Указывает, что первое поле кадра компакт-диска является первым примером. |
WM_DM_IT_FIRST_FRAME_IN_CLIP_IS_DD_TOP | Указывает, что первое поле кадра DD является первым примером. |
WM_DM_IT_FIRST_FRAME_IN_CLIP_IS_AA_BOTTOM | Указывает, что нижнее поле кадра AA является первым примером. |
WM_DM_IT_FIRST_FRAME_IN_CLIP_IS_BB_BOTTOM | Указывает, что нижнее поле кадра BB является первым примером. |
WM_DM_IT_FIRST_FRAME_IN_CLIP_IS_BC_BOTTOM | Указывает, что нижнее поле рамки BC является первым примером. |
WM_DM_IT_FIRST_FRAME_IN_CLIP_IS_CD_BOTTOM | Указывает, что нижнее поле кадра компакт-диска является первым примером. |
WM_DM_IT_FIRST_FRAME_IN_CLIP_IS_DD_BOTTOM | Указывает, что нижнее поле кадра DD является первым примером. |