VideoHelp Forum

+ Reply to Thread
Results 1 to 13 of 13
Thread
  1. Hello, and Happy Friday! I finally received my Blu-ray of the original (1976) "The Bad News Bears" only to find that the video quality is no better than my years-old HDTV rip. Here's a sample: TestClipBadNewsBears. Please, any suggestions to improve the video (it's almost as if it was filmed through a sunglasses lens, it's that "dark" throughout the movie)? For my HDTV rip I used VirtualDub (to UtVideo) with it's internal "brightness/contrast" filter such that the contrast was positive one (1) mark (110%?), then ran this through AviSynth to clean-sharpen it a bit. It looks better to me, but I'm sure there's a better way . As always, thanks for any constructive suggestions.
    Quote Quote  
  2. That's an evening (morining?) shot. Maybe it was intended to look like that. How about a wider variety of scenes?
    Quote Quote  
  3. +1
    You may want to try something like
    Code:
    Levels(16,1.2,235,16,230)
    Tweak(hue=0,sat=1.3,bright=-10,cont=1.1,coring=false)
    But verify the tweaks with other scenes as it may cause crushed whites.
    Last edited by Sharc; 28th Aug 2021 at 02:27.
    Quote Quote  
  4. I agree that the scene is meant to look kind of dark, that said using:
    Code:
    AutoAdjust(auto_gain=true)
    see: http://avisynth.nl/index.php/AutoAdjust
    should brigthen things up a bit.

    Cu Selur
    users currently on my ignore list: deadrats, Stears555
    Quote Quote  
  5. Thank you all for your replies, and I should've upped a variety of scenes:

    TestClipBadNewsBears[Afternoon]

    and

    TestClipBadNewsBears[Indoors]
    Quote Quote  
  6. A compromise setting that works fairly well across all three clips:

    Code:
    v1 = LWLibavVideoSource("TestClipBadNewsBears.mkv", cache=false, prefer_hw=2) 
    v2 = LWLibavVideoSource("TestClipBadNewsBears[Afternoon].mkv", cache=false, prefer_hw=2) 
    v3 = LWLibavVideoSource("TestClipBadNewsBears[Indoor].mkv", cache=false, prefer_hw=2) 
    v1+v2+v3
    BilinearResize(width/2, height/2)
    
    src = last # remember the original
    
    # levels and gamma adjustment
    ColorYUV(levels="TV->PC")
    ColorYUV(gain_y=8, off_y=-6, gamma_y=100)
    ColorYUV(levels="PC->TV")
    
    # follow up with some noise reduction
    # like Spotless() to remove dirt/flakes
    # and SMDegrain() for general grain reduction
    
    StackHorizontal(src, last) # original and processed, side by side
    Image Attached Files
    Quote Quote  
  7. Wow, that looks fantastic, jagabo. Thank you. I understand the color adjustments and the noise-spot reduction, but what's the first section of your script? Are you cropping height and width by two? And what's "cache=false, prefer_hw=2"?

    EDIT: Ahhh, is that how you made them fit side-by-side? Yep, I'm still a bit slow...
    Last edited by LouieChuckyMerry; 28th Aug 2021 at 16:42.
    Quote Quote  
  8. "cache=false" -> temporary frame indexes will be created in memory not on hdd
    "prefer_hw=2" ->
    - 0 : Use default software decoder.
    - 1 : Use NVIDIA CUVID acceleration for supported codec, otherwise use default software decoder.
    - 2 : Use Intel Quick Sync Video acceleration for supported codec, otherwise use default software decoder.
    - 3 : Try hardware decoder in the order of CUVID->QSV. If none is available then use default software decoder.

    Are you cropping height and width by two?
    He's resizing width&height by a factor of 2.

    is that how you made them fit side-by-side?
    No that's what
    Code:
    StackHorizontal(src, last) # original and processed, side by side
    is for.
    users currently on my ignore list: deadrats, Stears555
    Quote Quote  
  9. Thanks, Selur, for the explanations and for the introduction to AutoAdjust. I ran a SelectRange with AutoAdjust and will compare it to a second SelectRange with jagabo's script when it finishes in a little less than an hour.
    Quote Quote  
  10. AutoAdjust(), suggested by selur, looks good but has some bad frames at the start and might be overdoing things a bit. I'm always wary of auto adjustments like this though. I added Spotless() and SMDegrain() too.

    Code:
    v1 = LWLibavVideoSource("TestClipBadNewsBears.mkv", cache=false, prefer_hw=2) 
    v2 = LWLibavVideoSource("TestClipBadNewsBears[Afternoon].mkv", cache=false, prefer_hw=2) 
    v3 = LWLibavVideoSource("TestClipBadNewsBears[Indoor].mkv", cache=false, prefer_hw=2) 
    v1+v2+v3
    Crop(2,0,-2,-2) # get rid of black borders (they can interfere with AutoAdjust)
    
    AutoAdjust(auto_gain=true)
    Spotless()
    SMDegrain()
    
    AddBorders(2,0,2,2) # put borders back if you need the original frame size
    Image Attached Files
    Quote Quote  
  11. The second SelectRange just finished. Here's a screenshot comparison (AutoAdjust first, jagabo second):

    Image
    [Attachment 60476 - Click to enlarge]


    and

    Image
    [Attachment 60477 - Click to enlarge]


    The jagabo Method looks better to my eyes but, to be fair, it received SMDegrain and Spotless treatment while the AutoAdjust only received SMDegraining. Anyways, in case someone finds this helpful, my final script is:

    Code:
    LWLibavVideoSource("SourcePath")
    SetFilterMTMode("Default_MT_Mode",2)
    ColorYUV(Levels="TV->PC")
    ColorYUV(Gain_Y=8,Off_Y=-6,Gamma_Y=100)
    ColorYUV(Levels="PC->TV")
    Spotless()
    SMDegrain(TR=3,ThSAD=500,RefineMotion=True,Plane=0,Chroma=False,n16=True,n16_Out=True)
    FastLineDarkenMod4()
    F3KDB(Y=100,Cb=100,Cr=100,GrainY=0,GrainC=0)
    PreFetch(5)
    Considering that Spotless does some denoising, adjust SMDegrain's "TR" and "ThSAD" to taste.

    Thanks for all the help (especially Spotless; it's so good I might be forced to re(rerere...)encode some of my older sources); as always I learned more than I'll remember . And I'm excited to view the final result on a big screen; I know it'll be awesome. Be well all!
    Quote Quote  
  12. Here's another trick you can try. ColorYUV(autogain=true) delivers a picture that's way overdone in some shots. But if you blend it with the original video it may look a lot better.

    Code:
    Overlay(last, ColorYUV(autogain=true), opacity=0.50)
    You can vary the opacity to get closer to the original or closer to the autogain video.
    Quote Quote  
  13. Thanks for the additional tip, jagabo; I'll try it with a couple of trim test clips. As I tried to better understand SpotLess, I read a suggestion to use it as a prefilter in SMDegrain. Any thoughts on that?
    Quote Quote