VideoHelp Forum




+ Reply to Thread
Results 1 to 6 of 6
  1. I'm trying to run two scripts on a tv show so the intro is fully deinterlaced and the rest is decombed. I'm getting a conditional filter error on the script below but don't quite understand why.

    HTML Code:
    a = Trim(0, 1805).QTGMC(TR0=2, TR1=2, TR2=1, Rep0=1, Rep1=0, Rep2=4, DCT=5, ThSCD1=300, ThSCD2=110, SourceMatch=3, Lossless=2, Sharpness=0.1, Sbb=0, MatchPreset="slow", NoiseProcess=2, GrainRestore=0.0, NoiseRestore=0.4, NoisePreset="slow", StabilizeNoise=false, NoiseTR=0, NoiseDeint="bob")
    
    b = Trim(1806, 3000).ConditionalFilter(ChangeFPS(50), QTGMC(TR0=2, TR1=2, TR2=1, Rep0=1, Rep1=0, Rep2=4, DCT=5, ThSCD1=300, ThSCD2=110, SourceMatch=3, Lossless=2, Sharpness=0.1, Sbb=0, MatchPreset="slow", NoiseProcess=2, GrainRestore=0.0, NoiseRestore=0.4, NoisePreset="slow", StabilizeNoise=false, NoiseTR=0, NoiseDeint="bob").QTGMC(InputType=1), ChangeFPS(50), "IsCombedTIVTC(cthresh=2)")
    
    a + b
    Quote Quote  
  2. I've gotten this to mostly work with the code below. However, I'm having trouble getting the second trim to work. part2 returns the entire video not trim(911, 0). How can I get that to work?

    HTML Code:
    part1 = Trim(0, 910).QTGMC(TR0=2, TR1=2, TR2=1, Rep0=1, Rep1=0, Rep2=4, DCT=5, ThSCD1=300, ThSCD2=110, SourceMatch=3, Lossless=2, Sharpness=0.1, Sbb=0, MatchPreset="slow", NoiseProcess=2, GrainRestore=0.0, NoiseRestore=0.4, NoisePreset="slow", StabilizeNoise=false, NoiseTR=0, NoiseDeint="bob").QTGMC(InputType=1)
    part2 = Trim(911, 0)
    part2 = ConditionalFilter(ChangeFPS(50), QTGMC(TR0=2, TR1=2, TR2=1, Rep0=1, Rep1=0, Rep2=4, DCT=5, ThSCD1=300, ThSCD2=110, SourceMatch=3, Lossless=2, Sharpness=0.1, Sbb=0, MatchPreset="slow", NoiseProcess=2, GrainRestore=0.0, NoiseRestore=0.4, NoisePreset="slow", StabilizeNoise=false, NoiseTR=0, NoiseDeint="bob").QTGMC(InputType=1), ChangeFPS(50), "IsCombedTIVTC(cthresh=2)").invert()
    
    part1 ++ part2
    Quote Quote  
  3. last = Trim(911, 0)

    or longer:
    Code:
    part1 = Trim(0, 910)
    part1 = part1.QTGMC(TR0=2, TR1=2, TR2=1, Rep0=1, Rep1=0, Rep2=4, DCT=5, ThSCD1=300, ThSCD2=110, SourceMatch=3, Lossless=2, Sharpness=0.1, Sbb=0, MatchPreset="slow", NoiseProcess=2, GrainRestore=0.0, NoiseRestore=0.4, NoisePreset="slow", StabilizeNoise=false, NoiseTR=0, NoiseDeint="bob").QTGMC(InputType=1)
    part2 = Trim(911, 0)
    part2 = ConditionalFilter(part2.ChangeFPS(50), part2.QTGMC(TR0=2, TR1=2, TR2=1, Rep0=1, Rep1=0, Rep2=4, DCT=5, ThSCD1=300, ThSCD2=110, SourceMatch=3, Lossless=2, Sharpness=0.1, Sbb=0, MatchPreset="slow", NoiseProcess=2, GrainRestore=0.0, NoiseRestore=0.4, NoisePreset="slow", StabilizeNoise=false, NoiseTR=0, NoiseDeint="bob").QTGMC(InputType=1), part2.ChangeFPS(50), "IsCombedTIVTC(cthresh=2)").invert()
    
    part1 ++ part2
    users currently on my ignore list: deadrats, Stears555, marcorocchini
    Quote Quote  
  4. Originally Posted by Selur View Post
    last = Trim(911, 0)

    or longer:
    Code:
    part1 = Trim(0, 910)
    part1 = part1.QTGMC(TR0=2, TR1=2, TR2=1, Rep0=1, Rep1=0, Rep2=4, DCT=5, ThSCD1=300, ThSCD2=110, SourceMatch=3, Lossless=2, Sharpness=0.1, Sbb=0, MatchPreset="slow", NoiseProcess=2, GrainRestore=0.0, NoiseRestore=0.4, NoisePreset="slow", StabilizeNoise=false, NoiseTR=0, NoiseDeint="bob").QTGMC(InputType=1)
    part2 = Trim(911, 0)
    part2 = ConditionalFilter(part2.ChangeFPS(50), part2.QTGMC(TR0=2, TR1=2, TR2=1, Rep0=1, Rep1=0, Rep2=4, DCT=5, ThSCD1=300, ThSCD2=110, SourceMatch=3, Lossless=2, Sharpness=0.1, Sbb=0, MatchPreset="slow", NoiseProcess=2, GrainRestore=0.0, NoiseRestore=0.4, NoisePreset="slow", StabilizeNoise=false, NoiseTR=0, NoiseDeint="bob").QTGMC(InputType=1), part2.ChangeFPS(50), "IsCombedTIVTC(cthresh=2)").invert()
    
    part1 ++ part2
    Thank you! I need to wrap my head around "Last". This is the second question on this board where I haven't fully grasped that concept yet.
    Quote Quote  
  5. Avisynth has a 'hidden' variable called 'Last' (since Avisynth isn't case-sensitive, most people use 'last'), which is applied and used in case a function in called without a clip.
    So:
    Code:
    QTGMC()
    is the same as:
    Code:
    last = QTGMC(last)
    which is the same as
    Code:
    last = last.QTGMC()
    for more details read: http://www.avisynth.nl/index.php/Grammar

    So
    Code:
    part2 = Trim(911, 0)
    is the same as:
    Code:
    part2 = last.Trim(911, 0)
    or
    Code:
    part2 = Trim(last, 911, 0)
    and your original line:
    Code:
    part2 = ConditionalFilter(ChangeFPS(50), QTGMC(TR0=2, TR1=2, TR2=1, Rep0=1, Rep1=0, Rep2=4, DCT=5, ThSCD1=300, ThSCD2=110, SourceMatch=3, Lossless=2, Sharpness=0.1, Sbb=0, MatchPreset="slow", NoiseProcess=2, GrainRestore=0.0, NoiseRestore=0.4, NoisePreset="slow", StabilizeNoise=false, NoiseTR=0, NoiseDeint="bob").QTGMC(InputType=1), ChangeFPS(50), "IsCombedTIVTC(cthresh=2)").invert()
    is the same as:
    Code:
    part2 = ConditionalFilter(last.ChangeFPS(50), last.QTGMC(TR0=2, TR1=2, TR2=1, Rep0=1, Rep1=0, Rep2=4, DCT=5, ThSCD1=300, ThSCD2=110, SourceMatch=3, Lossless=2, Sharpness=0.1, Sbb=0, MatchPreset="slow", NoiseProcess=2, GrainRestore=0.0, NoiseRestore=0.4, NoisePreset="slow", StabilizeNoise=false, NoiseTR=0, NoiseDeint="bob").QTGMC(InputType=1), last.ChangeFPS(50), "IsCombedTIVTC(cthresh=2)").invert()
    but you wanted ChangeFPS and QTGMC to be applied on 'part2' not 'last'

    Cu Selur
    users currently on my ignore list: deadrats, Stears555, marcorocchini
    Quote Quote  
  6. Originally Posted by Selur View Post
    Avisynth has a 'hidden' variable called 'Last' (since Avisynth isn't case-sensitive, most people use 'last'), which is applied and used in case a function in called without a clip.
    So:
    Code:
    QTGMC()
    is the same as:
    Code:
    last = QTGMC(last)
    which is the same as
    Code:
    last = last.QTGMC()
    for more details read: http://www.avisynth.nl/index.php/Grammar

    So
    Code:
    part2 = Trim(911, 0)
    is the same as:
    Code:
    part2 = last.Trim(911, 0)
    or
    Code:
    part2 = Trim(last, 911, 0)
    and your original line:
    Code:
    part2 = ConditionalFilter(ChangeFPS(50), QTGMC(TR0=2, TR1=2, TR2=1, Rep0=1, Rep1=0, Rep2=4, DCT=5, ThSCD1=300, ThSCD2=110, SourceMatch=3, Lossless=2, Sharpness=0.1, Sbb=0, MatchPreset="slow", NoiseProcess=2, GrainRestore=0.0, NoiseRestore=0.4, NoisePreset="slow", StabilizeNoise=false, NoiseTR=0, NoiseDeint="bob").QTGMC(InputType=1), ChangeFPS(50), "IsCombedTIVTC(cthresh=2)").invert()
    is the same as:
    Code:
    part2 = ConditionalFilter(last.ChangeFPS(50), last.QTGMC(TR0=2, TR1=2, TR2=1, Rep0=1, Rep1=0, Rep2=4, DCT=5, ThSCD1=300, ThSCD2=110, SourceMatch=3, Lossless=2, Sharpness=0.1, Sbb=0, MatchPreset="slow", NoiseProcess=2, GrainRestore=0.0, NoiseRestore=0.4, NoisePreset="slow", StabilizeNoise=false, NoiseTR=0, NoiseDeint="bob").QTGMC(InputType=1), last.ChangeFPS(50), "IsCombedTIVTC(cthresh=2)").invert()
    but you wanted ChangeFPS and QTGMC to be applied on 'part2' not 'last'

    Cu Selur
    Your explanation made that very easy to understand. Thank you!
    Quote Quote  



Similar Threads

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