VideoHelp Forum
+ Reply to Thread
Results 1 to 28 of 28
Thread
  1. Hi

    I have old Samsung VP-D93I PAL MiniDV camera and I think it has a CMOS censor problem or something that makes vertical stripes to anything it records live(directly to computer) or to tape on the camera.
    It does not matter do you watch the output directly from the camera to a TV using AV-output or to a computer true FireWire.

    The stripes aren't very visible if recording in direct sunlight, but are very visible in low light conditions.

    I have attached 3 files of the problem (taken with VirtualDub):
    dv_vertical_stripes_black-bg_3sec.avi 11,5 MB I recorded with the lens cover on to isolate the problem.
    dv_vertical_stripes_white-bg_3sec.avi 11,6MB I recorded with lens cover removed while pointed to a white wall.
    dv_vertical_stripes_lowlight_3sec.avi 11,5MB Taken from a tape and recorded earlier on the camera on low light condition.

    Is there any filters specialized to remove these kind of errors/noise?
    Image Attached Files
    Quote Quote  
  2. Looks like a kind of fixed pattern noise, likely related to the sensor if it changes according to varying light conditions

    One approach is to use a custom horizontal blur . There is an avisynth function called "destripe" by *.mp4guy that can be configured with different settings and strengths . You would use different (weaker) settings for the daytime outdoor shots

    eg.

    original
    Click image for larger version

Name:	25_original.png
Views:	527
Size:	734.2 KB
ID:	18892


    destripe
    Click image for larger version

Name:	25_destripe.png
Views:	554
Size:	464.4 KB
ID:	18893


    Code:
    AVISource("dv_vertical_stripes_lowlight_3sec.avi")
    
    ConvertToYV16(interlaced=true)
    
    DeStripe(rad=3, offset=4, thr=56)
    DeStripe(rad=2, offset=1, thr=56)
    DeStripe(rad=1, offset=1, thr=64)
    
    #thr is strength, rad is "how big are the (whatevers)" offset is "how far apart are they" rad goes from 1 to 5, offset from 1 to 4, thr from 1 to bignumber
    
    function DeStripe(Clip C, int "rad", int "offset", int "thr")
    {
    
        rad = Default(rad, 2)
        offset = Default(offset, 0)
        thr_ = Default(thr, 256)
    
    
        Blurred = Rad == 1 ? C.Mt_Convolution(Horizontal=" 1 1 1 ", vertical = " 1 ", u=1, v=1) : C
        Blurred = Rad == 2 ? offset == 0 ? C.Mt_Convolution(Horizontal=" 1 1 1 1 1 ", vertical = " 1 ", u=1, v=1) : C.Mt_Convolution(Horizontal=" 1 0 1 0 1 ", vertical = " 1 ", u=1, v=1) : Blurred
        Blurred = Rad == 3 ? offset == 0 ?  C.Mt_Convolution(Horizontal=" 1 1 1 1 1 1 1 ", vertical = " 1 ", u=1, v=1) : offset == 1 ?  C.Mt_Convolution(Horizontal=" 1 1 0 1 0 1 1 ", vertical = " 1 ", u=1, v=1) : C.Mt_Convolution(Horizontal=" 1 0 0 1 0 0 1 ", vertical = " 1 ", u=1, v=1) : Blurred
        Blurred = Rad == 4 ? offset == 0 ?  C.Mt_Convolution(Horizontal=" 1 1 1 1 1 1 1 1 1 ", vertical = " 1 ", u=1, v=1) :  offset == 1 ? C.Mt_Convolution(Horizontal=" 1 1 1 0 1 0 1 1 1 ", vertical = " 1 ", u=1, v=1) :  offset == 2 ? C.Mt_Convolution(Horizontal=" 1 1 0 0 1 0 0 1 1 ", vertical = " 1 ", u=1, v=1) : C.Mt_Convolution(Horizontal=" 1 0 0 0 1 0 0 0 1 ", vertical = " 1 ", u=1, v=1) : Blurred
        Blurred = Rad == 5 ? offset == 0 ?  C.Mt_Convolution(Horizontal=" 1 1 1 1 1 1 1 1 1 1 1 ", vertical = " 1 ", u=1, v=1) :  offset == 1 ?  C.Mt_Convolution(Horizontal=" 1 1 1 1 0 1 0 1 1 1 1 ", vertical = " 1 ", u=1, v=1) :  offset == 2 ?  C.Mt_Convolution(Horizontal=" 1 1 1 0 0 1 0 0 1 1 1 ", vertical = " 1 ", u=1, v=1) :  offset == 3 ?  C.Mt_Convolution(Horizontal=" 1 1 0 0 0 1 0 0 0 1 1 ", vertical = " 1 ", u=1, v=1) : C.Mt_Convolution(Horizontal=" 1 0 0 0 0 1 0 0 0 0 1 ", vertical = " 1 ", u=1, v=1) : Blurred
            Diff = Mt_Makediff(C, Blurred)
    
        THR=string(thr_)
        MedianDiff =  Rad == 1 ? MT_Luts(Diff, Diff, mode="med", pixels = " 0 0 1 0 -1 0 " ,  expr = " X Y - X Y - X Y - abs 1 + * X Y - abs 1 + "+THR+" 1 >= "+THR+" 0.5 ^ "+THR+" ? + / - 128 +", u=1,v=1) : Diff
        MedianDiff =  Rad == 2 ? offset == 0 ?  MT_Luts(Diff, Diff, mode="med", pixels = " 0 0 1 0 -1 0 2 0 -2 0 " ,  expr = " X Y - X Y - X Y - abs 1 + * X Y - abs 1 + "+THR+" 1 >= "+THR+" 0.5 ^ "+THR+" ? + / - 128 +", u=1,v=1) : MT_Luts(Diff, Diff, mode="med", pixels = " 0 0 2 0 -2 0 " ,  expr = " X Y - X Y - X Y - abs 1 + * X Y - abs 1 + "+THR+" 1 >= "+THR+" 0.5 ^ "+THR+" ? + / - 128 +", u=1,v=1) : MedianDiff
        MedianDiff =  Rad == 3 ? offset == 0 ?  MT_Luts(Diff, Diff, mode="med", pixels = " 0 0 1 0 -1 0 2 0 -2 0 3 0 -3 0 " ,  expr = " X Y - X Y - X Y - abs 1 + * X Y - abs 1 + "+THR+" 1 >= "+THR+" 0.5 ^ "+THR+" ? + / - 128 +", u=1,v=1) : offset == 1 ? MT_Luts(Diff, Diff, mode="med", pixels = " 0 0 2 0 -2 0 3 0 -3 0 " ,  expr = " X Y - X Y - X Y - abs 1 + * X Y - abs 1 + "+THR+" 1 >= "+THR+" 0.5 ^ "+THR+" ? + / - 128 +", u=1,v=1) : MT_Luts(Diff, Diff, mode="med", pixels = " 0 0 3 0 -3 0 " ,  expr = " X Y - X Y - X Y - abs 1 + * X Y - abs 1 + "+THR+" 1 >= "+THR+" 0.5 ^ "+THR+" ? + / - 128 +", u=1,v=1) : MedianDiff
        MedianDiff =  Rad == 4 ? offset == 0 ?  MT_Luts(Diff, Diff, mode="med", pixels = " 0 0 1 0 -1 0 2 0 -2 0 3 0 -3 0 4 0 -4 0 " ,  expr = " X Y - X Y - X Y - abs 1 + * X Y - abs 1 + "+THR+" 1 >= "+THR+" 0.5 ^ "+THR+" ? + / - 128 +", u=1,v=1) : offset == 1 ?  MT_Luts(Diff, Diff, mode="med", pixels = " 0 0 2 0 -2 0 3 0 -3 0 4 0 -4 0 " ,  expr = " X Y - X Y - X Y - abs 1 + * X Y - abs 1 + "+THR+" 1 >= "+THR+" 0.5 ^ "+THR+" ? + / - 128 +", u=1,v=1) : offset == 2 ?  MT_Luts(Diff, Diff, mode="med", pixels = " 0 0 3 0 -3 0 4 0 -4 0 " ,  expr = " X Y - X Y - X Y - abs 1 + * X Y - abs 1 + "+THR+" 1 >= "+THR+" 0.5 ^ "+THR+" ? + / - 128 +", u=1,v=1) : MT_Luts(Diff, Diff, mode="med", pixels = " 0 0 4 0 -4 0 " ,  expr = " X Y - X Y - X Y - abs 1 + * X Y - abs 1 + "+THR+" 1 >= "+THR+" 0.5 ^ "+THR+" ? + / - 128 +", u=1,v=1) : MedianDiff
        MedianDiff =  Rad == 5 ? offset == 0 ?  MT_Luts(Diff, Diff, mode="med", pixels = " 0 0 1 0 -1 0 2 0 -2 0 3 0 -3 0 4 0 -4 0 5 0 -5 0 " ,  expr = " X Y - X Y - X Y - abs 1 + * X Y - abs 1 + "+THR+" 1 >= "+THR+" 0.5 ^ "+THR+" ? + / - 128 +", u=1,v=1) : offset == 1 ?  MT_Luts(Diff, Diff, mode="med", pixels = " 0 0 2 0 -2 0 3 0 -3 0 4 0 -4 0 5 0 -5 0 " ,  expr = " X Y - X Y - X Y - abs 1 + * X Y - abs 1 + "+THR+" 1 >= "+THR+" 0.5 ^ "+THR+" ? + / - 128 +", u=1,v=1) : offset == 2 ?  MT_Luts(Diff, Diff, mode="med", pixels = " 0 0 3 0 -3 0 4 0 -4 0 5 0 -5 0 " ,  expr = " X Y - X Y - X Y - abs 1 + * X Y - abs 1 + "+THR+" 1 >= "+THR+" 0.5 ^ "+THR+" ? + / - 128 +", u=1,v=1) : offset == 3 ?  MT_Luts(Diff, Diff, mode="med", pixels = " 0 0 4 0 -4 0 5 0 -5 0 " ,  expr = " X Y - X Y - X Y - abs 1 + * X Y - abs 1 + "+THR+" 1 >= "+THR+" 0.5 ^ "+THR+" ? + / - 128 +", u=1,v=1) : MT_Luts(Diff, Diff, mode="med", pixels = " 0 0 5 0 -5 0 " ,  expr = " X Y - X Y - X Y - abs 1 + * X Y - abs 1 + "+THR+" 1 >= "+THR+" 0.5 ^ "+THR+" ? + / - 128 +", u=1,v=1) : MedianDiff
            ReconstructedMedian = mt_makediff(Diff, MedianDiff)
                Mt_AddDiff(Blurred, ReconstructedMedian)
    
    Return(Mergechroma(Last, C, 1))
    }
    Quote Quote  
  3. aBigMeanie aedipuss's Avatar
    Join Date
    Oct 2005
    Location
    666th portal
    Search Comp PM
    what was it captured with? with no audio it isn't DVavi off a miniDV tape.
    --
    "a lot of people are better dead" - prisoner KSC2-303
    Quote Quote  
  4. I captured it with VirtualDub without the audio to reduce the file-size because audio is not important on this problem matter.
    If I understood the video should be like its on the DV tape (expect the sound)?

    By the way witch is the preferred way to move video from the DV camcorder to the computer running Win 7 64bit?

    VirtualDub does not handle auto scene splitting.
    I also tried Scenalyzer and it could not handle scene auto splitting in Datestamp mode, but could handle it quite well in Optical mode, but still missed some. Is there a better program? Open source/free preferred.

    These two programs work like a recording... Is there any way to copy the information from the DV tape to the computer like a file copy?
    Quote Quote  
  5. Capture DV sources with DVIO or WinDV. That's essentially a file copy from the DV tape to an AVI file.
    Quote Quote  
  6. Member
    Join Date
    Mar 2008
    Location
    Near the Beach
    Search Comp PM
    Are you capturing via Firewire?
    Quote Quote  
  7. Member
    Join Date
    Jan 2007
    Location
    United States
    Search Comp PM
    is it just me ?
    or isn't there extreme combing in those still pix, and aren't the lines the same width as the combing
    or
    is that just my visual perception

    i would think the two problems are related , it might not be just a sensor issue
    i have never seen a sensor give total and even / equal degradation across the whole sensor
    Quote Quote  
  8. I'm receiving a script error "There is no function named 'Mt_Convolution'." Help?
    Quote Quote  
  9. --
    Last edited by taigi; 5th May 2021 at 19:10.
    Quote Quote  
  10. __
    Last edited by taigi; 26th Sep 2020 at 09:18.
    Quote Quote  
  11. I used this script at last. But after setting rad, offset and thr to zero (for testing) result was still blurry. How can this be changed?
    Quote Quote  
  12. Member
    Join Date
    Mar 2008
    Location
    United States
    Search Comp PM
    Originally Posted by taigi View Post
    I used this script at last. But after setting rad, offset and thr to zero (for testing) result was still blurry. How can this be changed?
    Post here your complete script and a sample of your source video
    Quote Quote  
  13. Originally Posted by taigi View Post
    I used this script at last. But after setting rad, offset and thr to zero (for testing) result was still blurry. How can this be changed?
    The script doesn't sharpen the video, just reduce the vertical stripes.
    Quote Quote  
  14. Originally Posted by davexnet View Post
    Originally Posted by taigi View Post
    I used this script at last. But after setting rad, offset and thr to zero (for testing) result was still blurry. How can this be changed?
    Post here your complete script and a sample of your source video
    You can find vertical stripes on a left side of a softbox most clearly.

    I used the same script that was posted here by poisondeathray, just played a bit with rad, offset and thr to zero for testing.

    Code:

    AVISource("dv_vertical_stripes_lowlight_3sec.avi")

    ConvertToYV16(interlaced=true)

    DeStripe(rad=3, offset=4, thr=56)
    DeStripe(rad=2, offset=1, thr=56)
    DeStripe(rad=1, offset=1, thr=64)

    #thr is strength, rad is "how big are the (whatevers)" offset is "how far apart are they" rad goes from 1 to 5, offset from 1 to 4, thr from 1 to bignumber

    function DeStripe(Clip C, int "rad", int "offset", int "thr")
    {

    rad = Default(rad, 2)
    offset = Default(offset, 0)
    thr_ = Default(thr, 256)


    Blurred = Rad == 1 ? C.Mt_Convolution(Horizontal=" 1 1 1 ", vertical = " 1 ", u=1, v=1) : C
    Blurred = Rad == 2 ? offset == 0 ? C.Mt_Convolution(Horizontal=" 1 1 1 1 1 ", vertical = " 1 ", u=1, v=1) : C.Mt_Convolution(Horizontal=" 1 0 1 0 1 ", vertical = " 1 ", u=1, v=1) : Blurred
    Blurred = Rad == 3 ? offset == 0 ? C.Mt_Convolution(Horizontal=" 1 1 1 1 1 1 1 ", vertical = " 1 ", u=1, v=1) : offset == 1 ? C.Mt_Convolution(Horizontal=" 1 1 0 1 0 1 1 ", vertical = " 1 ", u=1, v=1) : C.Mt_Convolution(Horizontal=" 1 0 0 1 0 0 1 ", vertical = " 1 ", u=1, v=1) : Blurred
    Blurred = Rad == 4 ? offset == 0 ? C.Mt_Convolution(Horizontal=" 1 1 1 1 1 1 1 1 1 ", vertical = " 1 ", u=1, v=1) : offset == 1 ? C.Mt_Convolution(Horizontal=" 1 1 1 0 1 0 1 1 1 ", vertical = " 1 ", u=1, v=1) : offset == 2 ? C.Mt_Convolution(Horizontal=" 1 1 0 0 1 0 0 1 1 ", vertical = " 1 ", u=1, v=1) : C.Mt_Convolution(Horizontal=" 1 0 0 0 1 0 0 0 1 ", vertical = " 1 ", u=1, v=1) : Blurred
    Blurred = Rad == 5 ? offset == 0 ? C.Mt_Convolution(Horizontal=" 1 1 1 1 1 1 1 1 1 1 1 ", vertical = " 1 ", u=1, v=1) : offset == 1 ? C.Mt_Convolution(Horizontal=" 1 1 1 1 0 1 0 1 1 1 1 ", vertical = " 1 ", u=1, v=1) : offset == 2 ? C.Mt_Convolution(Horizontal=" 1 1 1 0 0 1 0 0 1 1 1 ", vertical = " 1 ", u=1, v=1) : offset == 3 ? C.Mt_Convolution(Horizontal=" 1 1 0 0 0 1 0 0 0 1 1 ", vertical = " 1 ", u=1, v=1) : C.Mt_Convolution(Horizontal=" 1 0 0 0 0 1 0 0 0 0 1 ", vertical = " 1 ", u=1, v=1) : Blurred
    Diff = Mt_Makediff(C, Blurred)

    THR=string(thr_)
    MedianDiff = Rad == 1 ? MT_Luts(Diff, Diff, mode="med", pixels = " 0 0 1 0 -1 0 " , expr = " X Y - X Y - X Y - abs 1 + * X Y - abs 1 + "+THR+" 1 >= "+THR+" 0.5 ^ "+THR+" ? + / - 128 +", u=1,v=1) : Diff
    MedianDiff = Rad == 2 ? offset == 0 ? MT_Luts(Diff, Diff, mode="med", pixels = " 0 0 1 0 -1 0 2 0 -2 0 " , expr = " X Y - X Y - X Y - abs 1 + * X Y - abs 1 + "+THR+" 1 >= "+THR+" 0.5 ^ "+THR+" ? + / - 128 +", u=1,v=1) : MT_Luts(Diff, Diff, mode="med", pixels = " 0 0 2 0 -2 0 " , expr = " X Y - X Y - X Y - abs 1 + * X Y - abs 1 + "+THR+" 1 >= "+THR+" 0.5 ^ "+THR+" ? + / - 128 +", u=1,v=1) : MedianDiff
    MedianDiff = Rad == 3 ? offset == 0 ? MT_Luts(Diff, Diff, mode="med", pixels = " 0 0 1 0 -1 0 2 0 -2 0 3 0 -3 0 " , expr = " X Y - X Y - X Y - abs 1 + * X Y - abs 1 + "+THR+" 1 >= "+THR+" 0.5 ^ "+THR+" ? + / - 128 +", u=1,v=1) : offset == 1 ? MT_Luts(Diff, Diff, mode="med", pixels = " 0 0 2 0 -2 0 3 0 -3 0 " , expr = " X Y - X Y - X Y - abs 1 + * X Y - abs 1 + "+THR+" 1 >= "+THR+" 0.5 ^ "+THR+" ? + / - 128 +", u=1,v=1) : MT_Luts(Diff, Diff, mode="med", pixels = " 0 0 3 0 -3 0 " , expr = " X Y - X Y - X Y - abs 1 + * X Y - abs 1 + "+THR+" 1 >= "+THR+" 0.5 ^ "+THR+" ? + / - 128 +", u=1,v=1) : MedianDiff
    MedianDiff = Rad == 4 ? offset == 0 ? MT_Luts(Diff, Diff, mode="med", pixels = " 0 0 1 0 -1 0 2 0 -2 0 3 0 -3 0 4 0 -4 0 " , expr = " X Y - X Y - X Y - abs 1 + * X Y - abs 1 + "+THR+" 1 >= "+THR+" 0.5 ^ "+THR+" ? + / - 128 +", u=1,v=1) : offset == 1 ? MT_Luts(Diff, Diff, mode="med", pixels = " 0 0 2 0 -2 0 3 0 -3 0 4 0 -4 0 " , expr = " X Y - X Y - X Y - abs 1 + * X Y - abs 1 + "+THR+" 1 >= "+THR+" 0.5 ^ "+THR+" ? + / - 128 +", u=1,v=1) : offset == 2 ? MT_Luts(Diff, Diff, mode="med", pixels = " 0 0 3 0 -3 0 4 0 -4 0 " , expr = " X Y - X Y - X Y - abs 1 + * X Y - abs 1 + "+THR+" 1 >= "+THR+" 0.5 ^ "+THR+" ? + / - 128 +", u=1,v=1) : MT_Luts(Diff, Diff, mode="med", pixels = " 0 0 4 0 -4 0 " , expr = " X Y - X Y - X Y - abs 1 + * X Y - abs 1 + "+THR+" 1 >= "+THR+" 0.5 ^ "+THR+" ? + / - 128 +", u=1,v=1) : MedianDiff
    MedianDiff = Rad == 5 ? offset == 0 ? MT_Luts(Diff, Diff, mode="med", pixels = " 0 0 1 0 -1 0 2 0 -2 0 3 0 -3 0 4 0 -4 0 5 0 -5 0 " , expr = " X Y - X Y - X Y - abs 1 + * X Y - abs 1 + "+THR+" 1 >= "+THR+" 0.5 ^ "+THR+" ? + / - 128 +", u=1,v=1) : offset == 1 ? MT_Luts(Diff, Diff, mode="med", pixels = " 0 0 2 0 -2 0 3 0 -3 0 4 0 -4 0 5 0 -5 0 " , expr = " X Y - X Y - X Y - abs 1 + * X Y - abs 1 + "+THR+" 1 >= "+THR+" 0.5 ^ "+THR+" ? + / - 128 +", u=1,v=1) : offset == 2 ? MT_Luts(Diff, Diff, mode="med", pixels = " 0 0 3 0 -3 0 4 0 -4 0 5 0 -5 0 " , expr = " X Y - X Y - X Y - abs 1 + * X Y - abs 1 + "+THR+" 1 >= "+THR+" 0.5 ^ "+THR+" ? + / - 128 +", u=1,v=1) : offset == 3 ? MT_Luts(Diff, Diff, mode="med", pixels = " 0 0 4 0 -4 0 5 0 -5 0 " , expr = " X Y - X Y - X Y - abs 1 + * X Y - abs 1 + "+THR+" 1 >= "+THR+" 0.5 ^ "+THR+" ? + / - 128 +", u=1,v=1) : MT_Luts(Diff, Diff, mode="med", pixels = " 0 0 5 0 -5 0 " , expr = " X Y - X Y - X Y - abs 1 + * X Y - abs 1 + "+THR+" 1 >= "+THR+" 0.5 ^ "+THR+" ? + / - 128 +", u=1,v=1) : MedianDiff
    ReconstructedMedian = mt_makediff(Diff, MedianDiff)
    Mt_AddDiff(Blurred, ReconstructedMedian)

    Return(Mergechroma(Last, C, 1))
    }
    Last edited by taigi; 28th Sep 2020 at 18:18.
    Quote Quote  
  15. That's a different video than the one you uploaded before. Use an antialiasing filter like Santiag(). And maybe a dehalo filter.
    Quote Quote  
  16. Originally Posted by jagabo View Post
    Originally Posted by taigi View Post
    I used this script at last. But after setting rad, offset and thr to zero (for testing) result was still blurry. How can this be changed?
    The script doesn't sharpen the video, just reduce the vertical stripes.
    Ok, but when you have all 3 settings equal to zero, the script should be inert, am I wrong?
    Quote Quote  
  17. Originally Posted by jagabo View Post
    That's a different video than the one you uploaded before. Use an antialiasing filter like Santiag(). And maybe a dehalo filter.
    Many thanks. Would you suggest where can I find these filters? And no, this is the first video I've uploaded. This thread was not created by me.
    Quote Quote  
  18. Originally Posted by taigi View Post
    Would you suggest where can I find these filters?
    http://avisynth.nl/index.php/External_filters
    http://avisynth.nl/index.php/Santiag
    http://avisynth.nl/index.php/AAA
    http://avisynth.nl/index.php/DeHalo_alpha
    http://avisynth.nl/index.php/FineDehalo

    Originally Posted by taigi View Post
    And no, this is the first video I've uploaded. This thread was not created by me.
    If you want more detailed instructions upload a sample to this site. Do not resize or reencode.
    Quote Quote  
  19. Originally Posted by taigi View Post

    Ok, but when you have all 3 settings equal to zero, the script should be inert, am I wrong?
    It does not do anything when rad, offset, thr are set to zero. It's a no-op. You can verify with a difference script, or use PSNR
    Quote Quote  
  20. Originally Posted by jagabo View Post
    Originally Posted by taigi View Post
    Would you suggest where can I find these filters?
    http://avisynth.nl/index.php/External_filters
    http://avisynth.nl/index.php/Santiag
    http://avisynth.nl/index.php/AAA
    http://avisynth.nl/index.php/DeHalo_alpha
    http://avisynth.nl/index.php/FineDehalo

    Originally Posted by taigi View Post
    And no, this is the first video I've uploaded. This thread was not created by me.
    If you want more detailed instructions upload a sample to this site. Do not resize or reencode.
    Ok, here's the same snippet. I only did deinterlacing.
    Image Attached Files
    Quote Quote  
  21. You could use turnright() and vinverse2 to reduce vertical lines without blurring as much. You can add antialiasing or stronger blur if you want to reduce more

    Code:
    FFVideoSource("forumuiFragm1.avi")
    ConvertToYV16(interlaced=true)
    AssumeBFF()
    QTGMC(sharpness=0.2)
    TurnRight()
    Vinverse2(sstr=1,amnt=255,uv=2)
    Vinverse2(sstr=2,amnt=255,uv=2)
    TurnLeft()
    Prefetch(4)
    Quote Quote  
  22. Something like this works pretty well:

    Code:
    AviSource("forumuiFragm1.avi") 
    dehalo_alpha(rx=2.0, ry=2.0, brightstr=1.2)
    Santiag()
    It reduces the oversharpening halos in addition to the aliasing. The picture is a little more blurry overall though.
    Image Attached Files
    Quote Quote  
  23. Originally Posted by jagabo View Post
    Something like this works pretty well:

    Code:
    AviSource("forumuiFragm1.avi") 
    dehalo_alpha(rx=2.0, ry=2.0, brightstr=1.2)
    Santiag()
    It reduces the oversharpening halos in addition to the aliasing. The picture is a little more blurry overall though.
    Thanks, okay, it's better than the reduced frame, which also cancels the stripes. What about lowsens, highsens and ss parameters?
    Last edited by taigi; 1st Oct 2020 at 19:33.
    Quote Quote  
  24. Originally Posted by poisondeathray View Post
    You could use turnright() and vinverse2 to reduce vertical lines without blurring as much. You can add antialiasing or stronger blur if you want to reduce more

    Code:
    FFVideoSource("forumuiFragm1.avi")
    ConvertToYV16(interlaced=true)
    AssumeBFF()
    QTGMC(sharpness=0.2)
    TurnRight()
    Vinverse2(sstr=1,amnt=255,uv=2)
    Vinverse2(sstr=2,amnt=255,uv=2)
    TurnLeft()
    Prefetch(4)
    Thanks. The script does the thing. You used Vinverse2 twice with increasing strength number, may I ask why?
    Quote Quote  
  25. Originally Posted by taigi View Post
    Thanks. The script does the thing. You used Vinverse2 twice with increasing strength number, may I ask why?


    sstr is the contrasharpening. But sharpen operations are counterproductive for what you want to do - they enhance the artifacts. The default value is higher, 2.7 , so I adjusted them lower. For the same reason, QTGMC sharpness is turned down. One application of Vinverse2 was not quite enough, but two applications started to blur it more than what I would want, so the 2nd application used slightly higher contrasharpening .

    But as usual for any suggestions - you adjust the settings to your taste
    Quote Quote  
  26. Originally Posted by taigi View Post
    What about lowsens, highsens and ss parameters?
    I played around with lowsens and highsens a bit. This is about the best I could get: lowsens=0, highsens=40. That keeps a little more sharpness in some areas.

    A little trick you can use to view the effect of a single parameter interactively is to use the Animate() filter.

    Code:
    function dha_sens(clip v, float sens)
    {
        dehalo_alpha(v, rx=2.5, ry=2.5, brightstr=1.2, lowsens=0, highsens=sens)
        subtitle(string(sens))
    }
    
    AviSource("forumuiFragm1.avi") 
    
    Trim(25,25) # select one frame, frame 25 chosen at random
    Loop(10,0,0) # repeat the frame 10 times
    Animate(last,0,9, "dha_sens", 0.0, 90.0)  # step through values 0 10, 20,30,...90
    That steps through highsens values from 0 to 90 over 10 frames. You can easily see the effect of different highsens values -- especially if you use a screen magnifier (like Windows' built in Magnifier). Then you can change the dha_sens() function so that it changes lowsens instead of highsens to see the effect lowsens has.
    Quote Quote  
  27. --
    Last edited by taigi; 14th May 2021 at 23:37.
    Quote Quote  



Similar Threads

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