PDA

View Full Version : Decomb v5.2.1 Decimate modes question


Zakule
2nd August 2005, 05:38
Alright, I'm a newb at this stuff, but I've tried to find the answer to this question through FAQs and searching this forum but haven't seen it yet.

I recently picked up the first season of Star Trek TNG on DVD and wanted to rip it to AVI with DivX and AC3 using Gordian Knot. It didn't take me long to discover the problem with the hybrid frame types and to get myself acquainted with Decomb's various telecide/decimation methods.

So, here's my question:

Is there a way to specify different Decimation modes for ranges of frames in the same video clip? My problem is that while using default mode=0 Decimation works for most of the video there are CGI segments that come through smoother when I use mode=3,threshold=4.

I took episode 5 from season 1 and encoded the entire episode using mode=0 then did it again using mode=3,threshold=4. I then tried using VirtualDubMod to replace some segments in the mode=0 clip with mode=3,threshold=4 segments and the problem I ran into is that even though I specified the frame range VirtualDubMod wouldn't respect my selection and grabbed extra frames either before or after the range I specified.

Anyhow, if there's a way to mix mode=0 and mode=3, threshold=4 decimation in the same video clip I'd really like to know!

If anybody knows an alternative to what I'm trying to do I'd love to hear that as well. Thanks in advance for any suggestions.

lark
2nd August 2005, 05:52
perhaps you can use something like

clip1=last.trim(0,x).decimate(mode=0)
clip2=last.trim(x+1,y).decimate(mode=3,threshold=4)
clip3=last.trim(y+1,0).decimate(mode=0)
return clip1+clip2+clip3


obviously you can add as many segments as you want...
you just need to find the framanumbers for those x,y,...

regards
t :)

neuron2
2nd August 2005, 05:55
Welcome to the forum!

There's currently no Decimate override syntax for what you seek. You can do the cutting and pasting in Avisynth, rather than VirtualDub.

Use Trim() to isolate segments and the ++ operator to recombine them.

EDIT: Lark was faster.

Zakule
2nd August 2005, 05:55
Thank you for the suggestions!

As I said, I'm a complete newb, both to DVD ripping in general and to AVI Synth. It's hard when you know zip to track down specific information like this. Well .... hard for me at least, hehe! :)

pelle412
3rd August 2005, 17:52
If you just use mode=3 for the whole episode, I think Decomb will use regular decimation for regular 3:2 content and the special mode=3 decimation when interlaced video content comes into play.

Zakule
6th August 2005, 08:29
If you just use mode=3 for the whole episode, I think Decomb will use regular decimation for regular 3:2 content and the special mode=3 decimation when interlaced video content comes into play.

That is how it's supposed to work. However, with most of the 3:2 content on the Star Trek TNG discs mode=0 works a lot better than mode=3. The system Decomb uses isn't perfect.

After toiling with it for a bit I've decided not to rip any of the discs. It's just not worth the trouble. Dealing with Hybrid Clips are one thing but when I started running into the Hybrid Frames I decided to call it quits.

The crude manor in which the episodes were constructed seems to have carried directly over to the DVD content. There's almost no consistency in how the CGI sequences are rendered. I'm surprised that more wasn't done to clean it up.

I think it is possible with a lot of meticulous work to get smooth playback on Star Trek TNG rips using Decomb if you leave the content at 29.97 NTSC, use Field Deinterlace on the interlaced/hybrid frame segments and Telecide with Decimate mode=1 (with a few tweaks depending on each scene) on everything else. But the amount of work needed for each episode is impractical in my opinion. Using Telecide with Decimate mode=0 gets you nice smooth content on the majority of footage including some of the CGI scenes but there are some CGI scenes in some episodes that are impossible to render smoothly at 23.976 FPS. Mainly, I think it's because they include hybrid frames. For instance, at the beginning of Season 1 Episode 9 the opening CGI clip has the Enterprise (rendered in telecined progressive) flying across the screen directly under a Ferrengi vessel (rendered in interlaced).

Chainmax
6th August 2005, 10:23
Wasn't restore24 created to handle thing like this? Maybe you could give that a try.

neuron2
6th August 2005, 13:52
Wasn't restore24 created to handle thing like this? Maybe you could give that a try. No, it was created for undoing field blending. The problem here is hybrid film/CG at video rate.

Revgen
6th August 2005, 18:01
I like to use Stickboy's JDL_ApplyRange function to do different things in one clip.

Go here (http://www.avisynth.org/stickboy/) and get the jdl-util.avsi function. Save it to your hard drive as a text file with an .AVS extension. Then get the jdl-range.avsi function and do the same thing. Import these functions into your AVS script by typing:

Import("yourdrive:\jdl-util.avs")
Import("yourdrive:\jdl-util.avs")

Make sure these functions are imported in the order above before you do any deninterlacing.

After you do this, you can run JDL_ApplyRange by typing:

JDL_ApplyRange(first frame, last frame, "filter of your choice")

Here's an example from one of my scripts:

Import("E:\JDLutil.avs")
Import("E:\JDL.avs")
TDeint(mode=0,order=1,field=1,mthreshL=10,mthreshC=10,map=0,type=1,mtnmode=1,sharp=true,hints=false,full=true,cthresh=6,blockx=32,blocky=32,chroma=false,MI=64,tryWeave=true,link=2,denoise=false,AP=-1,APType=1)
JDL_ApplyRange(0, 1137, "Msmooth(threshold=5,strength=3,highq=true,mask=false,show=false,debug=false)")
JDL_ApplyRange(0, 1137, "KmfToon")
JDL_ApplyRange(0, 1137, "fft3dfilter(sigma=5,beta=1,plane=0,bw=32,bh=32,bt=3,ow=4,oh=4,ratio=2)")
JDL_ApplyRange(0, 1137, "fft3dfilter(sigma=5,beta=1,plane=1,bw=32,bh=32,bt=3,ow=4,oh=4,ratio=2)")
JDL_ApplyRange(0, 1137, "fft3dfilter(sigma=5,beta=1,plane=2,bw=32,bh=32,bt=3,ow=4,oh=4,ratio=2)")
JDL_ApplyRange(1138, 2932, "Msmooth(threshold=15,strength=3,highq=true,mask=false,show=false,debug=false)")
JDL_ApplyRange(1138, 2932, "KmfToon")
JDL_ApplyRange(1138, 2932, "fft3dfilter(sigma=8,beta=1,plane=0,bw=32,bh=32,bt=3,ow=4,oh=4,ratio=2)")
JDL_ApplyRange(1138, 2932, "fft3dfilter(sigma=8,beta=1,plane=1,bw=32,bh=32,bt=3,ow=4,oh=4,ratio=2)")
JDL_ApplyRange(1138, 2932, "fft3dfilter(sigma=8,beta=1,plane=2,bw=32,bh=32,bt=3,ow=4,oh=4,ratio=2)")


As you can see, the first 1137 frames and the rest of the clip from frames 1138-2932 are filtered differently.