VideoHelp Forum
+ Reply to Thread
Results 1 to 17 of 17
Thread
  1. Member
    Join Date
    Jan 2009
    Location
    United States
    Search Comp PM
    I was converting some Dexter DVDs (which are hard telecined) and noted some scenes that still show quite a bit of residual combing. I was using the standard MPEG2Source.TFM.Tdecimate. I added Vinverse which did help somewhat but did not eliminate the combing completely (mainly blurred it...which I guess is likely what it does by design).

    I know that I can simply bob.srestore to eliminate the combing, but then I don't get the dup matching. I think have read either here or on doom9 a way to use tdeint (I think) as an input with TFM/Tdecimate to get field matching AND comb free output, but I can't find the thread now. Does anyone have the syntax to do that, or a better way to combat combing on hard telecined sources?
    Quote Quote  
  2. Did you try playing with TFM parameters , like the mode, PP or using external clip2 ?

    There are examples of syntax using tdeint+eedi2 with TIVTC in the TIVTC package (in examples folder)
    Quote Quote  
  3. Member
    Join Date
    Jan 2009
    Location
    United States
    Search Comp PM
    Will mess around with mode and pp. I don't think I did (it has been a couple of weeks since I noted this and just now getting around to asking... ). Thanks for pointing out the example folder in the package download! I didn't think to re-download and look there.
    Quote Quote  
  4. Member
    Join Date
    Jan 2009
    Location
    United States
    Search Comp PM
    Thanks for the tips, pdr! TFM(mode=4) works very well. There is a slight bit of combing left that can be taken care of by Vinverse, but it is much better. I prefer to work with x64 avisynth. Do you know if there is a replacement function for Vinverse that is 64-bit? Or if there is already a compiled version?

    TFM().Tdecimate()


    TFM(mode=4).Tdecimate()


    TFM(mode=4).Tdecimate().Vinverse()
    Quote Quote  
  5. no 64-bit vinverse version to my knowledge. List of functions that have been converted to 64-bit are here
    http://forum.doom9.org/showthread.php?t=152800
    http://members.optusnet.com.au/squid_80/


    The problem with the vinverse strategy, is that you will get slight blurring, even on frames that don't need it. (like a shotgun approach)

    For the residual combing, did you try using pp modes or clip2 ? mode will adjust strategy to determine if frame is combed or not , but PP will determine what to do with it if it is categorized as "combed" , and if you use clip2 you can specify a deinterlaced clip
    Quote Quote  
  6. Member
    Join Date
    Jan 2009
    Location
    United States
    Search Comp PM
    Yeah, I looked through the doom9 list of filters as well after posting. Nothing there.

    I did try pp modes (tried 7 since I didn't expect lower modes to be better than default but perhaps I am wrong?). I also tried a simple tdeint(mode=1, order=1).selecteven() clip2 and it looked identical to TFM().Tdecimate(). Still a lot of combing.

    It looks like I can do a simple Blur(0.5) to approximate Vinverse(), but it doesn't totally eliminate the combing and blurs out more of the other details... Might just be easier to use 32-bit avisynth for these hard telecined sources.
    Quote Quote  
  7. specify a better deitnerlacer for clip2 . tdeint by itself is very poor, worse than yadif. This is not any better than mode =6 (cubic interpolation deinterlacing) . tdeint+eedi2 is better, or even nnedi2 alone

    vinverse is a lot better than blur, because it's using a mask to limit the blur
    Quote Quote  
  8. If you use Blur() use only the vertical blur. If you do Blur(0, 1.0).Sharpen(0, 0.8) you will get rid of all comb artifacts and resharpen horizontal edges (without restoring the comb artifacts). If you use higher sharpen values you may start getting oversharpening halos.
    Last edited by jagabo; 30th Jul 2010 at 12:33.
    Quote Quote  
  9. Member
    Join Date
    Jan 2009
    Location
    United States
    Search Comp PM
    I will have to give it a go with another deinterlacer, but I think I must be doing something wrong with the clip2 parameter still. If I do a simple tdeint(order=1, mode=1) or yadif(order=1, mode=1), I do not see the same combing that I see when trying to use the clip2 parameter with TFM. I am previewing this in AvsP.

    Here is the script that I am using for clip2.
    Code:
    setmtmode(5,0)
    LoadCPlugin("C:\Program Files\Avisynth 2.5\plugins\yadif.dll")
    MPEG2Source("D:\Temp\test\Dexter\Dexter_S3E01-clip.d2v")
    setmtmode(2)
    deint=yadif() # looks the same using Yadif(order=1, mode=1).Selecteven()
    TFM(d2v="D:\Temp\test\Dexter\Dexter_S3E01-clip.d2v",clip2=deint)
    Tdecimate()
    Do you see anything wrong with that? It is nearly identical to one of the examples given in the TIVTC package.

    Using clip2 with TFM [Yadif()


    Yadif(order=1, mode=1) no TFM/Tdecimate
    Quote Quote  
  10. Member
    Join Date
    Jan 2009
    Location
    United States
    Search Comp PM
    Originally Posted by jagabo View Post
    If you use Blur() use only the vertical blur. If you do Blur(0, 1.0).Sharpen(0, 0.8) you will get rid of all comb artifacts and resharpen horizontal edges (without restoring the comb artifacts). If you use higher sharpen values you may start getting oversharpening halos.
    Very nice, jagabo! Those results look basically identical to Vinverse(). Will use that if I cannot figure out what I am doing wrong with the deint clip2.
    Quote Quote  
  11. Not sure, but iIt looks like it isn't being detected as "combed". Try adding mode=4 like you did in the 1st example. Yadif isn't a very good deinterlacer either, but you should at least see a difference if it's detected as "combed"
    Quote Quote  
  12. Member
    Join Date
    Jan 2009
    Location
    United States
    Search Comp PM
    Originally Posted by poisondeathray View Post
    Not sure, but iIt looks like it isn't being detected as "combed". Try adding mode=4 like you did in the 1st example. Yadif isn't a very good deinterlacer either, but you should at least see a difference if it's detected as "combed"
    Bingo! If I set cthresh=8 rather than 10 (default), then the results using clip2 or mode=2 are identical to what I was getting using TFM(mode=4). There is still a slight bit of residual combing that needs to be fixed with either a better deinterlacer or Vinverse/Blur.Sharpen.
    Quote Quote  
  13. Try NNEDI2 instead of Yadif

    of course , this poses other potential issues - this only works well if your TFM settings actually detected all the combed frames properly. With vinverse or blur/sharpen at least you don't miss any (at the expense of sligthly blurring all the frames)
    Quote Quote  
  14. Member
    Join Date
    Jan 2009
    Location
    United States
    Search Comp PM
    Originally Posted by poisondeathray View Post
    Try NNEDI2 instead of Yadif

    of course , this poses other potential issues - this only works well if your TFM settings actually detected all the combed frames properly. With vinverse or blur/sharpen at least you don't miss any (at the expense of sligthly blurring all the frames)
    Ok, I tried this script. Results with nnedi2 clip look identical to be as simply using TFM(cthresh=8) without an external clip. Do I need to use nnedi2 differently? Separatefields, etc?
    Code:
    setmtmode(5,0)
    MPEG2Source("D:\Temp\test\Dexter\Dexter_S3E01-clip.d2v")
    setmtmode(2)
    deint=nnedi2()
    TFM(cthresh=8,d2v="D:\Temp\test\Dexter\Dexter_S3E01-clip.d2v",clip2=deint)
    Tdecimate()
    Quote Quote  
  15. nnedi2(field=1) will return single rate, upper field first . If PP<5 I think it should replace entire frame . If PP>5 it will use a motion mask only adjust those pixels
    Quote Quote  
  16. I had a clip the other day with a bit of dot crawl artifacts. I found using a dot crawl filter before TFM().TDecimate() helped a lot. I used CheckMate() but TComb() should work too.
    Quote Quote  
  17. Member
    Join Date
    Jan 2009
    Location
    United States
    Search Comp PM
    Originally Posted by jagabo View Post
    I had a clip the other day with a bit of dot crawl artifacts. I found using a dot crawl filter before TFM().TDecimate() helped a lot. I used CheckMate() but TComb() should work too.
    Thanks for the idea. I tried Checkmate() with this source and it didn't seem to effect the results. I still needed to use TFM(mode=4) to get good comb detection. (cthresh=8 seemed to work for the frame that I was looking at above, but it missed on others. mode=4 seems to be more reliable.) I also made two 1 min encodes using mode=2 vs mode=4 to see if there were any noticeable issues with jerkiness (since mode4 is choosing a different frame without combing). The mode=4 encode doesn't appear any jumpier than the default settings, so I will likely go with this along with Blur(0,1.0).Sharpen(0,0.8). Thanks folks!
    Quote Quote  



Similar Threads

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