Фильтры для конвертации цветового пространства
 
ConvertToYUY2 / ConvertToRGB
ConvertToYUY2(clip)
ConvertToRGB(clip)

AVISynth способен внутри работать с двумя форматами цвета, RGB и YUY2. Описываемые два фильтра конвертируют между ними. Если видео уже в нужно формате, оно не изменяется

 
    В AVISynth следующие фильтры не поддерживают RGB формат:
  • SpatialSoften
  • TemporalSoften
  • FixLuminance
  • FixBrokenChromaUpsampling
  • PeculiarBlend
  • Все VirtualDub и VFAPI плагины.
 

Если вы попытаетесь использовать любой из этих фильтров с RGB источником, то получите ошибку. Вставка ConvertToYUY2 непосредственно перед вызвавшим её фильтром должно решить проблему. Все фильтры AVISynth поддерживают YUY2 формат.

 

В большинстве случаев в фильтре ConvertToRGB нет необходимости. Если выход AVISynth в YUY2 формате, а приложение ожидает RGB, системы использует установленный YUY2 кодек и выполнит преобразование. Однако, если кодек YUY2 не установлен, или если (как например в случае кодека ATI's YUY2) кодек преобразует из YUY2 в RGB неверно, можно использовать встроенный в AVISynth фильтр.

 

HuffYUV действует как системный YUY2 кодек если нет других установленных кодеков. Так что если вы установите HuffYUV и уберёте все другие YUY2 кодеки, вам никогда не понадобиться ConvertToRGB.

Пример:

# Имеется небольшое искажение вызываемое преобразованием между YUV и RGB
# Посмотрим, как это можно увидеть

control = ConvertToYUY2()
test1 = ConvertToRGB(ConvertToYUY2(ConvertToRGB(control)))
test2 = ConvertToYUY2(ConvertToRGB(ConvertToYUY2(test1)))
return Subtract(test2,control)

обработка изображения
[обработка изображения]
команды компактно
[команды компактно]
команды развёрнуто
[команды развёрнуто]
черезстрочное видео
[черезстрочное видео]