I have this material that has been obviously telecine'd, but still shows a fair amount of combing after running through TFM (mostly where vfx are used), even with TFM's post processing. How you would go about it?
1) TFM().TDecimate() and rely on IsCombedTIVTC() to determine automatically which frames to run QTGMC(FPSDivisor=2) on.
2) Same as number 1 but with TFM(pp=0). Since we still need to decomb, might as well rely solely on QTGMC.
3) QTGMC the whole thing (at least you know there won't be any combing left)
Also, one particular form of combing that IsCombedTIVTC() does not seem to ever detect is "chroma combing" when you have a fade to or from black. To counter that I'm usually going with
But is this safe to run that on the whole movie? I'm trying as much as possible to automate the process.Code:P1=ScriptClip(P1, "S=SeparateFields() \ A=S.SelectOdd().AverageLuma() - S.SelectEven().AverageLuma() \ abs(A) > 0.4 ? Interleave(S.SelectEven(),S.SelectOdd()).Weave().Santiag(nns=3,strv=1,strh=1) : last")
+ Reply to Thread
Results 1 to 7 of 7
It depends what you're referring to exactly in terms of "combing" .
You can try adjusting the TFM settings for comb detection and PP , such as thresholds for combing, metric used for comb detection . Clip2 can specified as the PP (e.g. a QTGMCed clip , or some other processed clip, to take frames from) . IsCombed isn't used by default (metric 1) . Metric 0 is a different algorithm for TFM
Or , something like vinverse / vinverse2 can be used for fine residual combing , +/- a mask . It's used for fine combing, tends to be less damaging than other methods, but won't take care of large or coarse combing
If it's VFX, there might be some aliasing component, maybe another approach is required - this is not really "combing"
Some fade comb handling in vapoursynth such as Fix Telecined Fades
VFX are sometimes overlaid as interlaced video after the film is telecined. What you do with it depends on the situation. If there's a lot of it and it's important I just QTGMC the whole video and encode at 60 fps. At least it won't be any jerkier than the interlaced source. Sometimes the VFX is unimportant and I'll just vinverse() after IVTC. Chroma interlacing after IVTC often indicates improper handling of the chorma before IVTC. For example, ConvertToYV12() instead of ConvertToYV12(interlaced=true). You can detect interlacing in the chroma channels directly with UtoY() and/or VtoY() and IsCombedIVTC. For example:
# replace combed chroma with chroma from the next frame NextChroma = MergeChroma(Trim(1,0)) # replace chroma with the next frame's chroma TestClip = StackHorizontal(UtoY(), VtoY()) ConditionalFilter(TestClip, NextChroma, last, "IsCombedTIVTC")
Here's an example of the residual combing
[Attachment 50755 - Click to enlarge]
You can try adjusting the TFM settings for comb detection and PP , such as thresholds for combing, metric used for comb detection . Clip2 can specified as the PP (e.g. a QTGMCed clip , or some other processed clip, to take frames from)
As usual, YMMV . Try a few things out. What you end up using that works well for this video... might not work for another
If it was important, personally I'd make it proper VFR - where the sections such as VFX shots that are interlaced content get double rate deinterlaced properly, telecined sections are IVTCed.
Because that way I can easily fine-tune the detection threshold and look at the result by building a clip composed of all the detected frames, before actually encoding the movie.