View Full Version : MVTools Guide?
Ranguvar
12th February 2008, 22:24
I'm looking for a way to get into using MVTools... specifically, for deblocking and denoising. I've read about other's results, and I'm really interested :)
Terranigma
12th February 2008, 22:26
I'm looking for a way to get into using MVTools... specifically, for deblocking and denoising. I've read about other's results, and I'm really interested :)
Uhmm, isn't this type of stuff shown as examples in the mvtools document? I could've sworn.
Ranguvar
12th February 2008, 22:41
Well, I've been looking at the docu, and I can't make heads or tails of most of it.
What I want to do in the end is motion compensate a deblocker, fft3dfilter, and a chroma denoiser. In examples of that I always see things about interleaving, appearing to separate the video into 3... etc. Which I don't really get.
I've looked through the MVTools document, Fizick's denoiser testing thread, and the MVTools thread. I just want a way to start into this.
Sagekilla
13th February 2008, 01:23
A motion compensated Deblocker doesn't seem like it would work to be honest. I don't know of any deblockers that work in the temporal domain, or if it would even work to begin with. Mo comp'd FFT3DFilter and chroma denoising is very easy to do though, and I can point you to an (extremely) simple script to accomplish both.
Just give me 5 or 10 minutes to whip up a quick filter chain that demonstrates it, and I'll add in comments to help you out a bit.
Sagekilla
13th February 2008, 01:51
Actually this is pretty much just copy and pasted from the MVTools documentation, with my own comments. If anything is still not clear, just ask.
Avisource("Clip.avi")
# o is just the source clip
o = last
# In here, MVAnalyse is used to search for motion vectors.
# Don't worry about the actual parameters for now.
backward_vectors = o.MVAnalyse(isb = true, delta = 1, idx = 1)
forward_vectors = o.MVAnalyse(isb = false, delta = 1, idx = 1)
# We now create a frame in between the current frame
# and the next (backward/forward) frame over.
forward_compensation = o.MVFlow(forward_vectors, idx=1, thSCD1=500)
backward_compensation = o.MVFlow(backward_vectors, idx=1, thSCD1=500)
# Now we interleave the sequence so it looks like this: 299.5, 300, 300.5
# Where 300 is the current frame and the two others were estimated frames.
Interleave(forward_compensation, source, backward_compensation)
# START OF FILTERING
# At this step is the actual filtering. Place any scripts you would use to
# filter your video over here. Make sure they are temporal or it will NOT benefit!
FFT3DFilter()
# HQdn3D is used because it has adjustable luma/chroma
# filtering in both spatial and temporal domains.
HQDn3D(1,2,1,4)
# END OF FILTERING
# The following selects 1 frame every 3 frames. Specifically, it's grabbing the
# "Real" frame that was from the original source, not the compensated ones.
Selectevery(3,1)
Ranguvar
13th February 2008, 01:52
That sounds fantastic. Thank you very much =D
I just want to know in layman's terms what effects each of the parameters has, and any dos + don'ts really.
Hmmm... how about IVTC, Telecine, Yadif, etc... do those benefit from MVTools?
(I'm gonna build a beastly PC soon and mo comping everything sounds like a cool way to break it in =D)
EDIT: LOL, your post just came up now. I gotta split, but I'll read it, and thank you VERY much!
Sagekilla
13th February 2008, 02:32
Deinterlacers like the ones you just mentioned shouldn't be mixed with a motion compensation like above. However, there ARE ones that use motion compensation, namely mvbob and mcbob.
Also, note IVTC and telecine are inverses of each other. Telecine converts 24 fps video to 29.97 fps, and IVTC reverses that. This should NEVER be motion compensated, I see no reason why it should ever be done.
Adub
13th February 2008, 06:53
Maybe he meant Telecide? From neuron2?
Doesn't matter either way, however, as none of those/this would benefit a source. Probably screw it up in fact.
Ranguvar
13th February 2008, 20:34
Yeah, sorry. I had to go, so I wrote down a bunch of filters I use often without even considering whether they were temporal, etc. :p
Ranguvar
15th February 2008, 22:05
NVM, got it ;)
Ranguvar
22nd February 2008, 03:28
Hey, does anyone know when it is beneficial to use true motion compensation? Are there any cases when it hurts quality of output?
vBulletin® v3.8.5, Copyright ©2000-2012, Jelsoft Enterprises Ltd.