VideoHelp Forum




+ Reply to Thread
Results 1 to 3 of 3
  1. I don't like converting to RGB as you lose quality when doing so. So I'm trying to find a YV12 alternative.

    Remove Yellow by Adding Blue

    Code:
    RGBAdjust(1.0, 1.0, 1.05) 
    
    Altenative: ColorYUV(off_u=3, off_v=0)
    The above looks near identical to each other.

    Unlike the above when I do the ColorYUV below it still seems a bit red to the RGBAdjust equivalent which didn't have any red.

    Lower Green

    Code:
    RGBAdjust(1.0, 0.95, 1.0) 
    
    Altenative: ColorYUV(off_u=0, off_v=3)
    How can I remove green without causing red to appear?

    Also how can I lower just red?
    Quote Quote  
  2. Banned
    Join Date
    Oct 2004
    Location
    New York, US
    Search Comp PM
    Originally Posted by VideoFanatic View Post
    I don't like converting to RGB as you lose quality when doing so.
    Not if it's done correctly, and only when necessary during processing on the way to a YUV final product. The problem with this statement is this: all graphics source begins as RGB , and when it gets to your PC monitor or TV it becomes RGB again. Humans don't see in YUV. It would be more accurate to say that it's RGB-to-YUV that loses accuracy (note the use of "accuracy", not "quality") from the beginning. Each iteration of colorspace change loses more accuracy and more data content, just as each iteration of lossy encoding will compromise the data content.

    Originally Posted by VideoFanatic View Post
    Remove Yellow by Adding Blue

    Code:
    RGBAdjust(1.0, 1.0, 1.05) 
    
    Altenative: ColorYUV(off_u=3, off_v=0)
    The above looks near identical to each other.
    They're not identical. The Blue channel in RGB contains only blue. The U channel in YUV contains some green (i.e., U is really blue creeping into cyan at one end and a pinch into purple at the other. Neither U nor V are "pure" blue or red. Green is not stored directly: your RGB display circuit gets green by subtracting blue and red from Y (luma).

    Originally Posted by VideoFanatic View Post
    Unlike the above when I do the ColorYUV below it still seems a bit red to the RGBAdjust equivalent which didn't have any red.

    Lower Green

    Code:
    RGBAdjust(1.0, 0.95, 1.0) 
    
    Altenative: ColorYUV(off_u=0, off_v=3)
    How can I remove green without causing red to appear?

    Also how can I lower just red?
    To "lower just red", use RGB where each color channel contains its own chroma+luma data. In YUV, you manipulate green by manipulating red and blue (U and V). In RGB, you raise or lower a color without affecting the other channels. However, regardless of the colorspace, reducing one color makes the other colors more prominent, whether the values of the other colors have actually changed (YUV) or have remained the same (RGB).

    How brightness and color interact in various color spaces is more confusing if you don't use histograms or 'scopes of some kind to show you what's happening. Eyeballs aren't all that accurate.
    Last edited by sanlyn; 23rd Aug 2013 at 05:05.
    Quote Quote  
  3. Originally Posted by VideoFanatic View Post
    Lower Green

    Code:
    RGBAdjust(1.0, 0.95, 1.0) 
    
    Altenative: ColorYUV(off_u=0, off_v=3)
    How can I remove green without causing red to appear?

    Also how can I lower just red?
    As Sanlyn pointed out, you can't reduce green with simple translations of U and V. Some thing like this comes close:

    Code:
    Tweak(hue=-40)
    ColorYUV(cont_v=-10)
    Tweak(hue=40)
    ColorYUV(gain_y=-6, off_u=3, off_v=3)
    Last edited by jagabo; 23rd Aug 2013 at 11:03.
    Quote Quote  



Similar Threads

Visit our sponsor! Try DVDFab and backup Blu-rays!