VideoHelp Forum
+ Reply to Thread
Results 1 to 6 of 6
Thread
  1. Member
    Join Date
    Jul 2010
    Location
    Canada
    Search PM
    I captured an old football game using Virtualdub (AG1980 via ATI TV Wonder 600) on my PC, without filters at the time of the capture. Then I did some filtering, and finally the encoding to mpg. But then I noticed that the reds were kind of moving around when the video would move fast, instead of staying aligned with the luma. I thought that some temporal noise reduction could have caused this, so I went back to my initial capture, and noticed that the issue was there as well.

    I tried to capture using other VCRs, with or without TBCs, but nothing completely solved the issue. I included one of these captures (encoded to .mpg with a high bitrate but no filtering) to show what I mean : look at Bill Parcells' jacket, where the top part is red and the bottom part is blue. While he's running, the red of the jacket looks like it's floating (not aligned to luma).

    Any idea how I can correct this in either Virtualdub or Avisynth ?
    Image Attached Files
    Quote Quote  
  2. You didn't say what the original source was (direct recording from cable/sat/OTA; or first captured to VHS/DV/8mm; etc.) There are plenty of things wrong with that clip, and IMHO, the red bleed is the least of your issues.

    1. The luma is totally crushed.

    2. The encoding noise is pretty bad.

    3. There is a lot of noise in general.

    4. You are wasting a lot of precious pixels encoding a 4:3 video into a 16:9 container. This will degrade the video.

    Here is a link to a file that has all of these issues somewhat corrected. I didn't do a very good job on the noise reduction (you get what you pay for). Someone else can do that better, I'm sure.

    Fixed
    Quote Quote  
  3. MPEG2Source("test1.d2v", cpu=0, info=3)
    hdragc(max_sat=4.0,coef_sat=0.8,shadows=true)

    for a starter...

    for the chroma you could add this bit (works better if deinterlaced first)
    a=last
    luma=last
    BicubicResize(width/2,height*2)
    aWarpSharp2(depth=30)
    BicubicResize(width*2,height/2)
    MergeChroma(a,last)
    mergechroma(aWarpSharp(depth=10, thresh=0.75, blurlevel=3, cm=1))
    Last edited by themaster1; 20th Aug 2017 at 04:55.
    *** DIGITIZING VHS / ANALOG VIDEOS SINCE 2001**** GEAR: JVC HR-S7700MS, TOSHIBA V733EF AND MORE
    Quote Quote  
  4. Member
    Join Date
    Jul 2010
    Location
    Canada
    Search PM
    Thanks to you both for replying.

    John, I recorded that game on VHS (LP speed, with a crappy VCR I should add). I should have been more careful when I did the encoding to select 4:3. but basically I just wanted to show what the issue was about. Same with the capture, I didn't use a proc amp to set the luma properly, I just wanted to find if the problem was the tape, the VCR, or any temporal filtering.
    Would you mind sharing your script ?

    But fyi, yes the luma is crushed, but not to the level you believe it is...that was an OT game played in the old Foxboro stadium in early January. By the time the game was over, it was about 5PM and the lighting in Foxboro at the time couldn't accommodate any night game. So when trying to get the right white level, for this scene, it shouldn't be stretched all the way to 255.
    Quote Quote  
  5. I know what you mean about late games without lighting. I restored the famous Yale Harvard tie game from the 60s and it complete after the sun set.

    However, the luma is still crushed because the networks would have not let the midtones go that dark.

    I corrected the gamma in Vegas. Using an NLE that has scopes is an infinitely better way to correct gamma and color (I did not do any color correction). I also cropped in Vegas, although that is just as easily done in AVISynth: it's a one line "crop" statement.

    I used my "VHS restoration" script that I've posted many times here and in doom9.org. It is pretty much the stock MDegrain script, adjusted to work with interlacing. I deleted the chroma module. Normally this eliminates VHS chroma problems, but your issue was different, and the CNR2 chroma reduction actually made things worse.

    Code:
    #Denoiser script for interlaced video using MDegrain2
    SetMemoryMax(768)
    
    Loadplugin("C:\Program Files\AviSynth 2.5\plugins\MVTools\mvtools2.dll")
    
    source=AVISource("E:\fs.avi").killaudio().AssumeTFF()
    output=MDegrain2i2(source,8,4,300,0)  
    return output
    
    #Remove /* */ comments from following code and comment out the above line
    #to see each frame before, then after.
    
    /*
    return Interleave(
    \    source
    \  , output
    \ )
    */
    
    #-------------------------------
    
    function MDegrain2i2(clip source, int "blksize", int "overlap", int "denoising_strength", int "dct")
    {
    Vshift=0 # 2 lines per bobbed-field per tape generation (PAL); original=2; copy=4 etc
    Hshift=0 # determine experimentally 
    overlap=default(overlap,0) # overlap value (0 to 4 for blksize=8)
    denoising_strength=default(denoising_strength, 400)
    dct=default(dct,0) # use dct=1 for clip with light flicker
    
    fields=source.SeparateFields() # separate by fields
    
    #This line gets rid of vertical chroma halo
    #fields=MergeChroma(fields,crop(fields,Hshift,Vshift,0,0).addborders(0,0,Hshift,Vshift))
    #This line will shift chroma down and to the right instead of up and to the left
    #fields=MergeChroma(fields,Crop(AddBorders(fields,Hshift,Vshift,0,0),0,0,-Hshift,-Vshift))
    
    super = fields.MSuper(pel=2, sharp=1)
    backward_vec2 = super.MAnalyse(isb = true, delta = 2, blksize=blksize, overlap=overlap, dct=dct)
    forward_vec2 = super.MAnalyse(isb = false, delta = 2, blksize=blksize, overlap=overlap, dct=dct)
    backward_vec4 = super.MAnalyse(isb = true, delta = 4, blksize=blksize, overlap=overlap, dct=dct)
    forward_vec4 = super.MAnalyse(isb = false, delta = 4, blksize=blksize, overlap=overlap, dct=dct)
    
    MDegrain2(fields,super, backward_vec2,forward_vec2,backward_vec4,forward_vec4,thSAD=denoising_strength ) 
    
    Weave()
    }
    Quote Quote  
  6. Member
    Join Date
    May 2014
    Location
    Memphis TN, US
    Search PM
    A lot of readers are ignoring your sample because it isn't an original piece of the capture. It would be pointless to try to correct the bad re-processing that wasn't in the original capture.
    - My sister Ann's brother
    Quote Quote  



Similar Threads

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