VideoHelp Forum




+ Reply to Thread
Results 1 to 10 of 10
  1. Member
    Join Date
    Sep 2016
    Location
    Barcelona, Spain
    Search Comp PM
    Hello everybody. I have been treating a DVD source and, since I consider the work is finished, I have thought it would be a good idea to get some advice. Specially because I am not completely sure about some of the decisions I took.

    I did a comparison video for another person, which I will share with you as well. Excuse me if you do not agree with the terminology I used ("edge correction", "restoration"...) but I don't think the person I did it for has any experience in this subject.

    You can find it enclosed in this post ("25.clip.mp4").
    It can also be downloaded here in case you need an external link (do not watch online): https://drive.google.com/open?id=0B8YfT7N-cAzCRFMyV3R0c3o3Z1k


    I specially would like to know what you think about this thing I named "edge correction" because I didn't know what else to call it:


    (You will see it better in the video)

    This is the first time I found this (which I guess is caused by a deficient conversion from the film source to digital) so I decided to treat it with antialiasing filters. I am satisfied with the result, since the filters just solved the problem without making it much worse. However, they caused some of the background noise to come back, which then was made still more noticeable by the sharpener -- I certainly when the video has "texture", though. Moderated film grain is just the opposite of detail loss, and thus it makes me feel like the picture has more detail and quality. I accept, though, that in this situation it may have gone too strong and you might not like it at all (watch the video if you haven't yet).

    The sharpening filter could also be revised. I used a little known one (I think) but I liked what it did rather than other sharpeners which I gave a try. So, if you feel like I made a weird choice you can tell me what's your favourite sharpener (or which one would you recommend in this case).

    You can find all the details in the script below.

    Also, I am enclosing a sample of the source. Lagarith was used to encode the intermediate steps.

    Thank you very much.

    Note: script has been updated, changes have not been applied to the following one yet.

    Code:
    SetMemoryMax(512)
    
    ### STEP 1 ### Bobbing MPEG2 source
    
    #LoadPlugin("C:\PROGRA~2\GORDIA~1\DGMPGDec 1.5.8\DGDecode.dll")
    #mpeg2source("25.d2v")
    #sanimebob(1) # Uses QTGMC
    
    ### STEP 2 ### IVTC
    
    #AviSource("25.1.avi")
    #srestore(24.000/1.001)
    
    ### STEP 3 ### Denoising
    
    #AviSource("25.2.24.avi")
    #trim(3953,22629)
    #mc_spudsmod(frames=4, strength=2, starfield=true, anime=true, chroma=true, aggressive=false, gpu=true)
    
    ### STEP 4 ### Edge correction
    
    #AviSource("25.3.24.avi")
    #trim(3953,22629)
    #daa().daa().daa().naa()
    
    ### STEP 5 ### Chroma Bleeding // Sharpening
    
    #AviSource("25.4.24.avi")
    #PointResize(width*2,height*2)
    #ChromaShift(C=-6, U=0, V=0, L=0)
    #PointResize(720,480)
    #mergechroma(aWarpSharp(depth=15))
    #BicubicSharp(r=0.5, edges=0.2, g=1, wg=10, bl=1, str=1, mode=1)
    
    ### Cropping and resize ### (Resize Calculator was used for the resolution)
    
    #Crop(6, 2, -2, -0)
    #Spline64Resize(780, 576)
    Image Attached Files
    Last edited by magiblot; 29th Nov 2016 at 11:19.
    Quote Quote  
  2. You probably shouldn't have commented out every single line in the script. It would be better to have uncommented the lines you actually used, and you didn't use everything. Or are you saying you made 5 separate encodes for this little bit of filtering?

    This isn't an IVTC:

    ### STEP 1 ### Bobbing MPEG2 source

    #LoadPlugin("C:\PROGRA~2\GORDIA~1\DGMPGDec 1.5.8\DGDecode.dll")
    #mpeg2source("25.d2v")
    #sanimebob(1)

    ### STEP 2 ### IVTC

    #AviSource("25.1.avi")
    #srestore(24.000/1.001)


    It's bobbing followed by decimation (why?). For your sample a simple:

    TFM().TDecimate(Mode=1)

    is plenty for the IVTC part. Or did you have a specific reason for doing it the way you did?
    Quote Quote  
  3. Member
    Join Date
    Sep 2016
    Location
    Barcelona, Spain
    Search Comp PM
    Originally Posted by manono View Post
    Are you saying you made 5 separate encodes for this little bit of filtering?

    [...]

    Did you have a specific reason for doing it the way you did?
    Sorry, I could have said it explicitly. Since my computer isn't a beast, when using filters that need a lot of processing, I can save time if I use them one after another, instead of processing many of them at the same time. So, if I am doing a separate encoding for a kind of filtering, it's because I don't want the processing to become any slower. For example, given that the mc_spudsmod step encodes at 3-4 fps, if I merge it with daa() and naa() (which process at 1-2 fps), I get a encoding rate of 0 fps, which is unbearable. As I have said in my previous message, I always use a lossless codec for these encodings. That's why all the lines are commented out as well (could have used '/*', '*/', but VirtualDubMod seems not to detect them properly).

    I should have specified sanimebob(1) uses QTGMC as well. This means, it's very slow (targeting quality). What I'm not sure about is if it's always better to use this slow solution. I shall compare with the other methods before doing the IVTC step from now on. So, the 'specific reason' why I chose this IVTC solution is inexperience.

    Also, I called these two steps IVTC because in the end the output is an inverse telecined clip (deinterlaced, with original framerate). Nobody wrote a book about all the concepts and name which IVTC involves, so, from what I have learned until now, I thought calling that process IVTC was conceptually right.
    Quote Quote  
  4. Originally Posted by magiblot View Post
    ...I thought calling that process IVTC was conceptually right.
    A traditional IVTC involves field matching (the TFM step) followed by decimation (the TDecimate step). Nowhere is bobbing involved. I'm not saying the way you did it is wrong, necessarily, if you had a good reason to do it that way. And a regular IVTC is way faster than bobbing first with QTGMC at the settings you're using.

    I can't really comment on the rest of the script, sorry. Surely someone else will come along.
    Quote Quote  
  5. Member
    Join Date
    Sep 2016
    Location
    Barcelona, Spain
    Search Comp PM
    Originally Posted by manono View Post
    A traditional IVTC involves field matching (the TFM step) followed by decimation (the TDecimate step). Nowhere is bobbing involved.
    Okay. Thanks for clarifying this!

    EDIT:

    Manono was right. I used bobbing in first instance because I usually get difficult to deinterlace sources, but it wasn't necessary in this case because the pull down was properly done. So this worked much better:

    Code:
    TFM()
    TDecimate(mode=1) #"mode=1" recommended for animation
    It made it possible to have that weird effect almost intact:



    I guess it would be easier to fight back against it in case there was an specific filter or procedure for it. But since that doesn't seem to be the case...

    I will update the comparison video later.
    Last edited by magiblot; 29th Nov 2016 at 11:59.
    Quote Quote  
  6. Member
    Join Date
    May 2014
    Location
    Memphis TN, US
    Search PM
    I watched the restoration demo a few times and can see the difficulties involved. I was curious that the DVD release was made from tape source with fairly sloppy playback, which didn't help. The first I would advise for the restorations is that they need serious color grading. Colors looked "cooked", with over saturation everywhere (which makes chroma bleeding worse).

    I worked with your 25.sample and had a time trying to clean the bad frame vignettng. I never did settle on a filter that would normalize it or stop the luma pumping, but I worked out a quickie with RemoveFramesMC2. Unfortunately it creates some motion artifacts, so hopefully someone will come up with a better idea. I calmed some vertical jitter with Stab(), and tweaked color a little in VirtualDub and applied its DeFlicker filter. The level changes at times are rather abrupt, which most anti-flicker filters won't adjust at odd points.

    I'm attaching my script as a text file with comments, so readers can feel free to tear it apart (I'm not so satisfied, myself). Also attached is an mp4 with the results.
    Image Attached Files
    - My sister Ann's brother
    Quote Quote  
  7. Member
    Join Date
    Sep 2016
    Location
    Barcelona, Spain
    Search Comp PM
    Originally Posted by LMotlow View Post
    [...]
    Thanks for your answer.
    About your script: in the end the picture looks much more filtered than I would like, but I liked other improvements you did. To be honest, I had not thought about the jitter problem, even though there are a few scenes in which it becomes very noticeable. Stab seems to do a good work. And I will pay attention to what you did with RemoveFramesMC2 when I have more time.

    In the sample you sent, many frames have ghosting. I would like to recall that TFM().TDecimate() didn't work well on this source until I set TDecimate(mode=1). I don't know if in your video that was the cause though.

    Also, you didn't share any vdf file, so I guess you are still tweaking them.

    Good luck.
    Quote Quote  
  8. Member
    Join Date
    May 2014
    Location
    Memphis TN, US
    Search PM
    If by "filtered" you mean I turned down over-saturated red/yellow and fixed illegal chroma levels, you're correct. Color balance, gamma, and luma levels vary throughout the clip, kinda poor performance for a retail DVD release.

    The frames with ghosting were frames filtered with ReplaceFrameMC2 (which I referred to earlier as motion artifacts). Delete all lines that use that filter and choose which problem you'd prefer to live with. As I said, maybe there's a better way.

    .vdf files are VirtualDub plugins applied to VDub's output while running the script. DeFlicker and grad curves are in popular use, with many download sites.
    DeFlick.vdf: http://rationalqm.us/deflick/flick.html
    Photoshop-style gradation curves: http://members.chello.at/nagiller/vdub/
    - My sister Ann's brother
    Quote Quote  
  9. Member
    Join Date
    Sep 2016
    Location
    Barcelona, Spain
    Search Comp PM
    Originally Posted by LMotlow View Post
    If by "filtered" you mean I turned down over-saturated red/yellow and fixed illegal chroma levels, you're correct. Color balance, gamma, and luma levels vary throughout the clip, kinda poor performance for a retail DVD release.
    No, that was fine. I'm talking about the antialiasing and the image-cleaning filtering, which I guess is independent from most of the chroma treatment.

    Originally Posted by LMotlow View Post
    .vdf files are VirtualDub plugins applied to VDub's output while running the script. DeFlicker and grad curves are in popular use, with many download sites.
    DeFlick.vdf: http://rationalqm.us/deflick/flick.html
    Photoshop-style gradation curves: http://members.chello.at/nagiller/vdub/
    Sorry, there was a misunderstanding. I confused vdf files with Virtual Dub Processing Settings files (*.vcf). For some reason, I was expecting you to provide these so that we could implement them ourselves to the clip.
    Quote Quote  
  10. Member
    Join Date
    May 2014
    Location
    Memphis TN, US
    Search PM
    Originally Posted by magiblot View Post
    Sorry, there was a misunderstanding. I confused vdf files with Virtual Dub Processing Settings files (*.vcf). For some reason, I was expecting you to provide these so that we could implement them ourselves to the clip.
    Oh. My Bad.

    vcf attached. Overall the adjustments are rather mild.
    Image Attached Files
    - My sister Ann's brother
    Quote Quote  



Similar Threads

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