Welcome to Doom9's Forum, THE in-place to be for everyone interested in DVD conversion. Before you start posting please read the forum rules. By posting to this forum you agree to abide by the rules. |
14th June 2006, 11:14 | #201 | Link |
Registered User
Join Date: Aug 2005
Posts: 20
|
I'd like to address a big THANK YOU to Fizick and Manao for bringing the mvtools to where they are now!
Very impressive things can be done with motion-adaptive denoising, especially in animation, as I lately found out. It's possible to use temporal denoisers at places where I would never have believed it possible without artifacts before. Lately the line Code:
interleave(last.MVCompensate(MVAnalyse(isb = false, pel = 2, search = 3, truemotion=true, delta = 7, idx = 1), idx=1), last.MVCompensate(MVAnalyse(isb = false, pel = 2, search = 3, truemotion=true, delta = 6, idx = 1), idx=1), last.MVCompensate(MVAnalyse(isb = false, pel = 2, search = 3, truemotion=true, delta = 5, idx = 1), idx=1), last.MVCompensate(MVAnalyse(isb = false, pel = 2, search = 3, truemotion=true, delta = 4, idx = 1), idx=1), last.MVCompensate(MVAnalyse(isb = false, pel = 2, search = 3, truemotion=true, delta = 3, idx = 1), idx=1), last.MVCompensate(MVAnalyse(isb = false, pel = 2, search = 3, truemotion=true, delta = 2, idx = 1), idx=1), last.MVCompensate(MVAnalyse(isb = false, pel = 2, search = 3, truemotion=true, delta = 1, idx = 1), idx=1), last, last.MVCompensate(MVAnalyse(isb = true, pel = 2, search = 3, truemotion=true, delta = 1, idx = 1), idx=1), last.MVCompensate(MVAnalyse(isb = true, pel = 2, search = 3, truemotion=true, delta = 2, idx = 1), idx=1), last.MVCompensate(MVAnalyse(isb = true, pel = 2, search = 3, truemotion=true, delta = 3, idx = 1), idx=1), last.MVCompensate(MVAnalyse(isb = true, pel = 2, search = 3, truemotion=true, delta = 4, idx = 1), idx=1), last.MVCompensate(MVAnalyse(isb = true, pel = 2, search = 3, truemotion=true, delta = 5, idx = 1), idx=1), last.MVCompensate(MVAnalyse(isb = true, pel = 2, search = 3, truemotion=true, delta = 6, idx = 1), idx=1), last.MVCompensate(MVAnalyse(isb = true, pel = 2, search = 3, truemotion=true, delta = 7, idx = 1), idx=1)).TTempSmooth(maxr=7,lthresh=3,cthresh=4,strength=5).selectevery(15,7) On the other hand, if the movie is pretty noisy, like Ghibli's Porko Rosso, i needed to apply much more massive filtering to the static and slow motion scenes (which i defined manually via ReplaceFrames): Code:
#denoise fast pans ReplaceFramesSimple(last, last.FFT3DFilter(), filename="PorcoRosso_denoise_FFT3D.txt") #TTempSmooth_middle_short - denoise slow pans ReplaceFramesSimple(last, interleave(last.MVCompensate(MVAnalyse(isb = false, pel = 2, search = 3, truemotion=true, delta = 1, idx = 1), idx=1), last, last.MVCompensate(MVAnalyse(isb = true, pel = 2, search = 3, truemotion=true, delta = 1, idx = 1), idx=1)).TTempSmooth(maxr=1,lthresh=10,cthresh=10,strength=5).selectevery(3,1), filename="PorcoRosso_denoise_TTempSmooth_middle_short.txt") #TTempSmooth_lite_wide - denoise intro ReplaceFramesSimple(last, interleave(last.MVCompensate(MVAnalyse(isb = false, pel = 2, search = 3, truemotion=true, delta = 7, idx = 1), idx=1), last.MVCompensate(MVAnalyse(isb = false, pel = 2, search = 3, truemotion=true, delta = 6, idx = 1), idx=1), last.MVCompensate(MVAnalyse(isb = false, pel = 2, search = 3, truemotion=true, delta = 5, idx = 1), idx=1), last.MVCompensate(MVAnalyse(isb = false, pel = 2, search = 3, truemotion=true, delta = 4, idx = 1), idx=1), last.MVCompensate(MVAnalyse(isb = false, pel = 2, search = 3, truemotion=true, delta = 3, idx = 1), idx=1), last.MVCompensate(MVAnalyse(isb = false, pel = 2, search = 3, truemotion=true, delta = 2, idx = 1), idx=1), last.MVCompensate(MVAnalyse(isb = false, pel = 2, search = 3, truemotion=true, delta = 1, idx = 1), idx=1), last, last.MVCompensate(MVAnalyse(isb = true, pel = 2, search = 3, truemotion=true, delta = 1, idx = 1), idx=1), last.MVCompensate(MVAnalyse(isb = true, pel = 2, search = 3, truemotion=true, delta = 2, idx = 1), idx=1), last.MVCompensate(MVAnalyse(isb = true, pel = 2, search = 3, truemotion=true, delta = 3, idx = 1), idx=1), last.MVCompensate(MVAnalyse(isb = true, pel = 2, search = 3, truemotion=true, delta = 4, idx = 1), idx=1), last.MVCompensate(MVAnalyse(isb = true, pel = 2, search = 3, truemotion=true, delta = 5, idx = 1), idx=1), last.MVCompensate(MVAnalyse(isb = true, pel = 2, search = 3, truemotion=true, delta = 6, idx = 1), idx=1), last.MVCompensate(MVAnalyse(isb = true, pel = 2, search = 3, truemotion=true, delta = 7, idx = 1), idx=1)).TTempSmooth(maxr=7,lthresh=4,cthresh=5,strength=5).selectevery(15,7), filename="PorcoRosso_denoise_TTempSmooth_lite_wide.txt") #TTempSmooth_middle_wide - denoise still frames ReplaceFramesSimple(last, last.TTempSmooth(maxr=7,lthresh=10,cthresh=10,strength=5), filename="PorcoRosso_denoise_TTempSmooth_middle_wide.txt") Motion compensation worked well in most cases where a texture with a good mount of structure was moved not too fast. Too little detail, too little contrast or to large movements kind make it difficult for the mvtools, and it also has now way of recognising a uniform change in brigthness.. But after all it's supposed to do motion compensation, not fading compensation. Speaking of which - does anybody think something like a "fading compensation" can be done, in theory? It kind of seems to resemble mc, but with the vectors moving more or less uniformly through the YUV space.. or not? o_O |
14th June 2006, 17:25 | #202 | Link | |
AviSynth plugger
Join Date: Nov 2003
Location: Russia
Posts: 2,183
|
Quote:
But generally temporal radius=2 is very good (and radius=1 is quite good for speed).
__________________
My Avisynth plugins are now at http://avisynth.org.ru and mirror at http://avisynth.nl/users/fizick I usually do not provide a technical support in private messages. |
|
14th June 2006, 17:28 | #203 | Link |
AviSynth plugger
Join Date: Nov 2003
Location: Russia
Posts: 2,183
|
Fading compensation?
Deflick the image, remember deflick correction values, analyze and compensate motion of deflicked clip, denoise it, and revert deflick changes? It is not MVTools question, of course.
__________________
My Avisynth plugins are now at http://avisynth.org.ru and mirror at http://avisynth.nl/users/fizick I usually do not provide a technical support in private messages. |
14th June 2006, 17:34 | #204 | Link | |
Huh?
Join Date: Sep 2003
Location: Uruguay
Posts: 3,103
|
Quote:
Code:
i=last data=DePanEstimate(i,range=1,trust=5) f=DePan(i,data,offset=0.5) b=DePan(i,data,offset=-0.5) Interleave(f,i,b) SelectEvery(...)
__________________
Read Decomb's readmes and tutorials, the IVTC tutorial and the capture guide in order to learn about combing and how to deal with it. |
|
14th June 2006, 19:36 | #205 | Link | ||
Registered User
Join Date: Aug 2005
Posts: 20
|
Quote:
Quote:
The reason I asked about it was because it hit me as the next best thing to try to improve with my filter chain, but also because i was wondering whether mvtools' vector calculations (especially the truemotion concept) couldn't be (ab)used to do an area based brightness compensation. Anyway, i'm off to read deflick's manual. |
||
20th June 2006, 17:27 | #209 | Link | |
Registered User
Join Date: Jan 2005
Location: Praha (not that one in Texas)
Posts: 863
|
Quote:
It could be good for speed up repeated processing. R. |
|
20th June 2006, 20:10 | #210 | Link |
AviSynth plugger
Join Date: Nov 2003
Location: Russia
Posts: 2,183
|
Read a doc about vectors saving (outfile). It is in beta stage.
But reading is not implemented. And I have no plan to do it now.
__________________
My Avisynth plugins are now at http://avisynth.org.ru and mirror at http://avisynth.nl/users/fizick I usually do not provide a technical support in private messages. |
20th June 2006, 21:33 | #211 | Link |
brainless
Join Date: Mar 2003
Location: Germany
Posts: 3,653
|
I have a feature request
Is it possible to implement such a function: function amount_of_motion_of_current_frame(clip clip, clip vectors) { return float } or even better: function current_frame_is_part_of_fluent_sequence(clip clip, clip vectors, int some_thresholds) { return bool } I need functions that - describe the amount of motion (length of vectors) - return true, if a sequence of frames is consisting of individual frames (without duplicates (like 3:2 or 2:2 pulldown) or blending)
__________________
Don't forget the 'c'! Don't PM me for technical support, please. |
20th June 2006, 22:57 | #212 | Link |
AviSynth plugger
Join Date: Nov 2003
Location: Russia
Posts: 2,183
|
Seems, it is not possible in Avisynth plugins.
Use mvmask with additional conditional functions.
__________________
My Avisynth plugins are now at http://avisynth.org.ru and mirror at http://avisynth.nl/users/fizick I usually do not provide a technical support in private messages. |
20th June 2006, 23:36 | #213 | Link | |
brainless
Join Date: Mar 2003
Location: Germany
Posts: 3,653
|
Quote:
of course it is possible, but it needs to be a function for the conditional environment.
__________________
Don't forget the 'c'! Don't PM me for technical support, please. |
|
21st June 2006, 20:50 | #216 | Link | |
brainless
Join Date: Mar 2003
Location: Germany
Posts: 3,653
|
Quote:
or iscombed() from neuron2's Decomb.dll of course both functions are for the conditional environment, only.
__________________
Don't forget the 'c'! Don't PM me for technical support, please. |
|
22nd June 2006, 21:05 | #217 | Link |
AviSynth plugger
Join Date: Nov 2003
Location: Russia
Posts: 2,183
|
Of course, I know abot averageluma.
I suggested to you use Averageluma(MVMask(...)). But I did not know about iscombed! Thanks for poit to it. Therefore, it is possible to implement function amount_of_motion_of_current_frame(clip clip, clip vectors) { return float } as MVMaskConditional... But function current_frame_is_part_of_fluent_sequence is probably not related to MVTools. Maybe to DepanScenes ? |
23rd June 2006, 00:49 | #218 | Link |
brainless
Join Date: Mar 2003
Location: Germany
Posts: 3,653
|
I think, that it will be related to mvtools, cause I even want to know whether there is motion like talking head etc.
Depan won't catch that... (doesn't it?) anyways, implement it the way you like and I'll see, whether it works or not
__________________
Don't forget the 'c'! Don't PM me for technical support, please. |
24th June 2006, 00:53 | #220 | Link | ||
Fighting spam with a fish
Join Date: Sep 2005
Posts: 2,699
|
Why is it that when ever I try to use MVflowfps or MVflowfps2 I get an
Quote:
I am using Alpha 3 and MVtools version 1.3. I thought everything had been cleared up with this in this last release. By the Way here is my script: Quote:
Last edited by Adub; 24th June 2006 at 20:35. |
||
Thread Tools | Search this Thread |
Display Modes | |
|
|