VideoHelp Forum
+ Reply to Thread
Results 1 to 24 of 24
Thread
  1. I would like to brighten up the video image I have but doing so is making colors look whiter.

    Is there a good way to make the video not so dark, without making black colors start to get a white tint over them or turn grey?
    Quote Quote  
  2. I use YLevelsS combined with Tweak to brighten up videos without washing out the blacks.
    Quote Quote  
  3. Originally Posted by killerteengohan View Post
    I would like to brighten up the video image I have but doing so is making colors look whiter.
    Increase saturation as well as brightness.

    Originally Posted by killerteengohan View Post
    Is there a good way to make the video not so dark, without making black colors start to get a white tint over them or turn grey?
    Increase gamma rather than brightness.

    Which filter are you using to do this? Different filters mean different thing when they use "contrast" and "brightness".
    Last edited by jagabo; 19th Feb 2017 at 18:57.
    Quote Quote  
  4. I was doing it like this. Even tried adjusting just the brightness or just the contrast.

    tweak(sat=1.06, bright=1.8, cont=1.02)


    Brightness seemed to increase the white more, and contrast seemed to get it brighter more.
    Last edited by killerteengohan; 19th Feb 2017 at 20:56.
    Quote Quote  
  5. Would messing with levels/gamma be a better option?
    Quote Quote  
  6. When making video lighter, brightness=bad; gamma=good.

    Brightness and contrast controls should be avoided for most work where you want to increase or decrease the "brightness." The problem is that most controls that have these labels increase or decrease dark pixels, mid-level pixels, and bright pixels by the same amount. For many videos, you want to increase or decrease the brightness of the midtones, but leave the blacks and whites alone. This is what a gamma control does.

    Even better is to create your own gamma curve using a histogram. My NLE, Vegas Pro, has this feature, and I suspect most other NLEs do as well.

    I've never been a fan of using AVISynth's controls for this chore because you simple don't have enough control, nor is there a way to get much interaction.
    Quote Quote  
  7. I'm not a professional at messing with gamma, in fact I do not believe I have ever done it before.

    I have always just tweaked contrast up a little, but this source is too dark for tweak(cont=1.03) to be enough like it usually is for me. That's why I tried raising the brightness as well.

    ColorYUV(gamma_y=20, gamma_u=20, gamma_v=20) is making things whiter just like tweak was doing.
    Quote Quote  
  8. Those small Tweak() values shouldn't cause loss of saturation -- especially since you're increasing saturation. In general, I find that you need to increase saturation by the same amount as the contrast in Tweak(). For example: Tweak(cont=1.2, sat=1.2).
    Quote Quote  
  9. Originally Posted by killerteengohan View Post

    tweak(sat=1.06, bright=1.8, cont=1.02)
    Unless you're also adding 'Coring=False', you could be making it much worse and not even realize it. Here's a line, doing as I suggested earlier, which increases the gamma without doing much to the basic brightness or contrast:

    YLevelsS(0,1.6,255,0,255).Tweak(Bright=-1,Cont=0.93,Coring=False)

    I work almost entirely in black and white so I don't usually have to do anything with Saturation except to make it zero.

    Brightness seemed to increase the white more, and contrast seemed to get it brighter more.
    Although the two aren't independent, Brightness mainly controls the black levels while Contrast mainly controls the white levels. And you can't use your eyes to judge the results, especially with the default coring in place. I use the built in:

    ColorYUV(Analyze=True).Limiter(Show="Luma")

    Or use the Histogram or something else.
    Quote Quote  
  10. In Tweak() Bright adds to Y, Cont multiples Y. So Bright=5 adds 5 to every Y value, eg, 30 becomes 35, 200 becomes 205, etc.. Cont=1.5 multiples every Y value by 1.5. So 30 becomes 45, 120 becomes 180, etc.
    Quote Quote  
  11. Thanks, that info filled me in quite a bit when it comes to what brightness and contrast do and how they work. I will lower the settings I was using some. I never knew about the use of that coring setting. Thanks for mentioning that.


    They all look different, and I noticed when I tried levels it looks a lot different. It makes it look like the original source had a white tint or bad colors all over it.

    I like how levels got rid of that white tint over the video but my god, it looks like its overdoing the contrast or something and the darker lines look harder to see in darker areas. It actually seems darker that way.

    I cant tell which is the better pick or whether levels is the correct colors or not since it removes the whiteness over the entire picture.


    Original




    Tweak(cont=1.02)smoothtweak(saturation=1.04)




    Levels(16,1,240,0,255)






    Original




    Tweak(cont=1.02)smoothtweak(saturation=1.04)




    Levels(16,1,240,0,255)

    Quote Quote  
  12. Originally Posted by manono View Post
    YLevelsS(0,1.6,255,0,255).Tweak(Bright=-1,Cont=0.93,Coring=False)
    Apparently I need to get that plugin because I dont have that function YLevelsS when I try it. I'll go look for it.
    Quote Quote  
  13. I linked to it in my first post to this thread. And I'll link to it again. YLevelS is part of YLevels.

    If you use Levels, you should also add 'Coring=False'. It's a major mistake, in my opinion, for AviSynth to make 'Coring=True' the default for both Tweak and Levels.
    Quote Quote  
  14. After hearing about that, I will probably always use coring=false in tweak or levels after this.


    YLevelsS certainly did brighten it up. I think a little too much perhaps though.





    I'm not sure what each of those numbers change in this "YLevelsS(0,1.6,255,0,255)"

    I have a good guess what the 255's are for and change, but whats the other 3 for? (0, 1.6, 0)
    Quote Quote  
  15. I'm trying out the "ColorYUV(Analyze=True).Limiter(Show="Luma")" you mentioned.

    Why does it show red when I use coring=false and it doesn't when I don't use coring=false?





    Quote Quote  
  16. The closest I could get to my liking was "YLevelsS(16,1.11,255,0,255)"

    I still think I prefer the unfiltered version more. I like how the levels reduced the white tint, but its more strain on my eyes as if it has an elevated contrast or something, which sucks because I think the colors look better that way.


    Thanks for the suggestions and ideas. I can now use that information for future things. I might actually like the look of it more on another source.
    Quote Quote  
  17. Originally Posted by killerteengohan View Post
    Why does it show red when I use coring=false and it doesn't when I don't use coring=false?
    Red shows pixels below 16, Green shows pixels above 235. It might be okay to have some scattered dots of red and or green. It's not okay to have blobs of the stuff. It doesn't show it at the default settings (Coring=True) because it's clipped to 16-235.

    The closest I could get to my liking was "YLevelsS(16,1.11,255,0,255)"
    I only used that number (1.6), as an example. That number can be raised or lowered. I'm not saying you can't play around with the other numbers, only that I don't. I use Tweak to 'fix' anything I don't like after using YLevelsS. As you found, Levels kind of sucks when used by itself because it ruins the black and white levels.

    I like how the levels reduced the white tint, but its more strain on my eyes as if it has an elevated contrast or something
    Right, and that's what 'ColorYUV(Analyze=True).Limiter(Show="Luma"' is for - to help prevent that 'eyestrain'. Or use the Histogram, except I don't use it nearly as much. Again, don't trust your eyes to tell you what's okay and what's not okay. That picture you showed with the max at 233 and the loose max at 228? The contrast was way too high. The Luma average was also probably way too high. You think it gives you eyestrain on the computer monitor? Just try and watch it on a television.
    Quote Quote  
  18. As far as Y is concerned ColorYUV(), Levels() and Tweak() can do pretty much the same things. Some of the differences between them:

    Levels() limits Y to 16-235 before output if you don't specify coring=false. It adjust the chroma as well as the luma. No explicit chroma adjustments.

    Tweak() doesn't have gamma adjustments.

    ColorYUV() doesn't have hue adjustments.

    For example all these functions change Y in almost exactly the same way:

    Code:
    ColorYUV(cont_y=256)
    ColorYUV(gain_y=256, off_y=-128)
    Tweak(cont=2.0, bright=-128, coring=false)
    Levels(64,1.0,192,0,255, coring=false).MergeChroma(last)
    YLevels(64,1.0,192,0,255)
    Last edited by jagabo; 20th Feb 2017 at 11:51.
    Quote Quote  
  19. Originally Posted by jagabo View Post
    Levels() always crushes Y<16 and Y>235 before making the specified adjustments.
    Thanks for that. I had no idea. Now with my Levels/Tweak fixes, I should switch to having Tweak before Levels. Or maybe switch to using SmoothLevels from SmoothAdjust.
    Quote Quote  
  20. Originally Posted by manono View Post
    If you use Levels, you should also add 'Coring=False'. It's a major mistake, in my opinion, for AviSynth to make 'Coring=True' the default for both Tweak and Levels.
    I think that depends on the target. I only render for playing on a standalone mediaplayer and so I don't like/need so called "broadcast levels" with washed out blacks and faint whites.
    With coring enabled I was finally able to get autolevels to 0-255 without crunching blacks and blowing up whites...
    Quote Quote  
  21. Originally Posted by manono View Post
    Originally Posted by jagabo View Post
    Levels() always crushes Y<16 and Y>235 before making the specified adjustments.
    Thanks for that. I had no idea. Now with my Levels/Tweak fixes, I should switch to having Tweak before Levels. Or maybe switch to using SmoothLevels from SmoothAdjust.
    Oops, I just checked and it turns out I remembered this incorrectly. It is VirtualDub's Levels filter that crushes, not AviSynth's. As long as you disable coring AviSynth's Levels doesn't crush (except obviously at 0 and 255). I edited the post and removed that line to prevent future confusion.
    Quote Quote  
  22. Originally Posted by jagabo View Post
    Oops, I just checked and it turns out I remembered this incorrectly.
    Oh, okay. Now I don't have to go around changing tons of lines in my template scripts. I remember you writing this before about VDub's Levels, but had never heard that about the AviSynth version.
    Quote Quote  
  23. Interesting to see the difference coring makes.
    Test ramp is cropped from ColorBarsHD, with TurnRight.Histogram.TurnLeft
    In all tests, gamma=1.8

    The greatest effect on lowlight without changing pure black.


    More gentle curve at the low end, but raises pure black (which can be compensated for - not tested)
    No difference seen in this test between Ylevels and Levels(coring=false)


    Less effect on midtone values.


    Least effect on midtone values.
    Last edited by raffriff42; 16th Mar 2017 at 15:43. Reason: (fixed image links)
    Quote Quote  
  24. Member
    Join Date
    Aug 2002
    Location
    South Florida
    Search Comp PM
    I use Cyberlink's "Color Director." It gives you a wide choice of modifications and is easy to use.
    If you are looking for el cheapo, this is not for you.
    Quote Quote  



Similar Threads

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