View Single Post
Old 8th April 2014, 07:04   #4  |  Link
raffriff42
Retried Guesser
 
raffriff42's Avatar
 
Join Date: Jun 2012
Posts: 1,373
Nice, here's a little variation:


Code:
## (requires MaskTools)

r = Last.ConvertToRGB24
ConvertToYV24(matrix="PC.601")
o = last

U = UToY8()
V = VToY8()
Blank = BlankClip(U, color_yuv=$808080)

UA = U.mt_lut(("(x < 128) ? 128 : x").mt_polish)
UB = U.mt_lut(("(x > 128) ? 128 : x").mt_polish)
VA = V.mt_lut(("(x < 128) ? 128 : x").mt_polish)
VB = V.mt_lut(("(x > 128) ? 128 : x").mt_polish)
Y = MergeRGB(o, o, o, pixel_type="RGB24")

U2A = YToUV(UA, Blank, Blank)
U2B = YToUV(UB, Blank, Blank) 
V2A = YToUV(Blank, VA, Blank)
V2B = YToUV(Blank, VB, Blank)

UVA = StackHorizontal(U2A._sub("U+"), V2A._sub("V+"))
UVB = StackHorizontal(U2B._sub("U-"), V2B._sub("V-"))

StackVertical(
\  StackHorizontal(r, UVA.ConvertToRGB24(matrix="PC.601")),
\  StackHorizontal(Y, UVB.ConvertToRGB24(matrix="PC.601")))
return Last

function _sub(clip C, string msg) {
    return C.Subtitle(msg, align=5, size=C.Height/8, text_color=$c0c0c0)
}

Last edited by raffriff42; 18th March 2017 at 00:47. Reason: (fixed image links)
raffriff42 is offline   Reply With Quote