MergeARGB / MergeRGB

MergeARGB (clipA, clipR, clipG, clipB)
MergeRGB (clipR, clipG, clipB[, string "pixel_type"])

Эти фильтры позволяют копировать (сливать) Альфа и цветовые каналы из клипов-источников в выходной клип.

ClipA это клип, который обеспечивает данные Альфа канала, для слияния в выходной клип. Для клипа форматов YUV, данные берутся из канала Яркости. Для клипа формата RGB32, данные берутся из Альфа канала. Он не может быть в формате RGB24.

ClipR, ClipG и ClipB это клипы, которые обеспечивают R, G и B (красный, зеленый и синий) данные соответственно, чтобы скопировать (слить) их в выходной клип. Для клипа форматов YUV, данные берутся из канала яркости. Для клипа форматов RGB, данные берутся из соответственного канала источника, т.е. R в R, G в G, B в B. Неиспользуемые каналы цветности или цвета входных клипов игнорируются.

Все данные яркости YUV пикселов предполагаются являющимися из диапазона PC, [0..255], не происходит масштабирования в TV диапазон, [16..235]. Данные по цветности из клипов YUV игнорируются. Входные клипы могут быть смесью всех форматов. YV12 является наиболее эффективным форматом для переноса одиночных каналов через любую требуемую цепочку фильтров.

pixel_type по умолчанию RGB32, опционально RGB24, указывает формат выходных пикселов.

Смотри также здесь о результирующих свойствах клипа.

Примеры:

# Это будет размывать только зеленый канал.
mpeg2source("c:\apps\avisynth\main.d2v")
ConvertToRGB24()
MergeRGB(Last, Blur(0.5), Last)


# Это будет обменивать красный и синий каналы и
# загружать альфа канал из второго видео источника.
vid1 = avisource("c:\apps\avisynth\main.avi")
vid2 = avisource("c:\apps\avisynth\alpha.avi")
MergeARGB(vid2, vid1.ShowBlue("YV12"), vid1, vid1.ShowRed("YV12"))
AudioDub(vid1)

Изменения:

v2.56 добавлено MergeARGB и MergeRGB

$English Date: 2005/07/08 22:53:16 $
Руссий перевод 09.07.2005 Fizick http://bag.hotmail.ru