MergeRGB

From Avisynth wiki
Revision as of 23:03, 28 April 2017 by Raffriff42 (Talk | contribs)

Jump to: navigation, search

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

Merge the alpha (transparency) and color channels from the source video clips into the output video clip.

clipA provides the alpha data to merge into the output clip. For a YUV format clip, the data is taken from the Y (luma) channel. For an RGB32 format clip, the data is taken from the A (alpha) channel. RGB24 clips cannot be used.

cliprR, clipG and clipB provide the R, G and B data respectively to merge into the output clip. For YUV format clips, the data is taken from the Y (luma) channel. For RGB format clips, the data is taken from the respective source channel—R to R, G to G, B to B. The unused chroma or color channels of the input clips are ignored.

All YUV luma pixel data is assumed to be pc-range (0d-255d); there is no tv-range (16d-235d) scaling. Chroma data from YUV clips is ignored. Input clips may be a mixture of all formats. YV12 is the most efficient format for transporting single channels thru any required filter chains.

pixel_type (default "RGB32", optionally "RGB24") specifies the output pixel format.
AVS+ also supports "RGB48", "RGB64"

Audio, FrameRate and FrameCount are taken from the first clip.

Examples

# Blur the Green channel only.
MPEG2Source("main.d2v")
ConvertToRGB24()
MergeRGB(Last, Blur(0.5), Last)
# Swap the red and blue channels;
# load the alpha from a second source.
vid1 = AviSource("main.avi")
vid2 = AviSource("alpha.avi")
MergeARGB(
\    vid2, 
\    vid1.ShowBlue("YV12"), 
\    vid1, 
\    vid1.ShowRed("YV12")
\ )
AudioDub(vid1)

Changelog

v2.56 Initial release.
Personal tools