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. |
10th November 2004, 19:40 | #21 | Link |
Registered User
Join Date: Nov 2003
Posts: 148
|
Hi,
>I wonder what you're filtering, because thT = 100 is very high. the code was for testing only. my defaults for medium noisy sources: MVAnalyse: blksize=4, pel=1, lambda=1000 MVDenoise: thT=10..12, thSAD=64, thMV=100, thSCD1=80 the 0.97 version is fast, fixing the bug would be very nice..! thanks very much! greetings. Last edited by Heini011; 10th November 2004 at 19:43. |
16th November 2004, 17:21 | #22 | Link |
Registered User
Join Date: Feb 2002
Location: California
Posts: 2,695
|
I just completed a volleyball music video and needed to create super slow motion. I have Sony Vegas, which has a pretty good slow motion, but it doesn't use motion estimation. Even though you say your motion estimation code is crude and is being re-written, I must say that, for short clips, the results are stunning. Yes, there are glitches on some frames because of errors in the estimation, but on short clips, these often don't occur at all. I just can't get over how fabulous the slow motion looks.
If you ever decide to release another version that includes the motion estimation (I am using one of the older releases), I will be one of your first downloaders. Again, thanks for your fabulous work. |
16th November 2004, 17:29 | #23 | Link |
Registered User
Join Date: Jan 2002
Location: France
Posts: 2,856
|
Thanks for the kind words.
However, I'll need some time to put them back into MVTools. I think that meanwhile, I'll put back the old filters. Concerning the previous bug, i didn't release a new version yet because there were some other modifications that needed testing before being released. I don't know yet when it'll be released, but it should be before the end of the week. Meanwhile, Heini011, can you tell me if the bug (ghosting with mvdenoise ) is still here if you work on a greyscale video ? |
17th November 2004, 13:51 | #24 | Link |
Registered User
Join Date: Nov 2003
Posts: 148
|
hi manao,
the problem remains even with greyscaled video and is very easy to reproduce. simply use very high thresholds. image becomes very blocky and strange even when there is no motion and even the luma on flat areas is irregular changing. very strange. greetings. |
17th November 2004, 14:01 | #25 | Link |
Registered User
Join Date: Jan 2002
Location: France
Posts: 2,856
|
In fact, there were two problems : one is that I stupidly substracted a value that i should have added, which led to strong blocking. The second was that ghosting seemed more important when chroma isn't filtered ( and in your case, it wasn't, since 0.9.7 didn't support chroma denoising ).
Since you described firstly your problem by ghosting, I thought you were dealing with the second issue. |
20th November 2004, 00:25 | #26 | Link | |
Registered User
Join Date: Jan 2002
Location: France
Posts: 2,856
|
New version up : MVTools v0.9.8 ( the website changed, there should not be any more unavailibity )
Changelog : Quote:
|
|
20th November 2004, 21:21 | #27 | Link | |
Registered User
Join Date: Nov 2003
Posts: 148
|
mvtools 0.98 - access violation
Hi,
if i put mvtools_098 in my avisynth-plugin directory, virtualdobmod 1.5.4.1 is crashing just with starting the program, even when mvtools_098 is alone in this directory. i get an invalid page error within windows kernel: Quote:
script: ---------- LoadPlugin("C:\Programme\AviSynth 2.5\plugins\MPEG2Dec3.dll") LoadPlugin("C:\Programme\AviSynth 2.5\mvtools_098\MVTools_098.dll") function mvdenoise2(clip) { bw_v2=clip.MVAnalyse(isb=true, blksize=4, lambda=1000, delta=2, pel=2, idx=1) bw_v1=clip.MVAnalyse(isb=true, blksize=4, lambda=1000, delta=1, pel=2, idx=1) fw_v1=clip.MVAnalyse(isb=false, blksize=4, lambda=1000, delta=1, pel=2, idx=1) fw_v2=clip.MVAnalyse(isb=false, blksize=4, lambda=1000, delta=2, pel=2, idx=1) return clip.MVDenoise(bw_v2, bw_v1, fw_v1, fw_v2, thT=10, thSAD=64, thMV=80, thSCD1=64) } MPEG2Source("v.d2v",cpu=4,iDCT=7) trim(750,120006) mvdenoise2() crop(4,2,712,572) ---------- error after closing it: Oops -- VirtualDub has crashed [...] Crash details: An out-of-bounds memory access (access violation) occurred in module 'MVTOOLS_098'. would you like to see the complete crashinfo.txt ? My System: Avisynth 2.53 Windows ME greetings. Last edited by Heini011; 20th November 2004 at 22:57. |
|
20th November 2004, 21:30 | #28 | Link |
Registered User
Join Date: Jan 2002
Location: France
Posts: 2,856
|
I'll search the bug. Thanks for the report, no need to send further information, I think I know what could go wrong ( since only putting it in the autoloading directory make vdubmod crash ).
However, I do not observe that behavior on my computer. I wonder why... |
21st November 2004, 08:56 | #29 | Link |
Registered User
Join Date: Jan 2002
Location: France
Posts: 2,856
|
I could include overlapped motion compensation. It would need a change in vectors format, and it would slow things down, but it's possible. It's not on my to do list right now ( I'm trying to make the MVTools usable with avs 3.0 ), but i could add it once I resume the development of the filters.
For the stability of the vectors format, it could and may surely change if I add new features. I want to add 16x16 blocks for example, and I may add new values to those already computed. Anyway, that's why I made an interface to use those vectors : I derived a class GenericMotionFilter from GenericVideoFilter, and inside, there are all the tools needed to use motion vectors. And it should ( at least I hope ) be transparent if I update the format. However, you'd need to include a lot of files ( Fake*, GenericMotionFilter.*, MotionParameters.*, portability.h, MVCore.* MVFrame.* and MVAnalysis.* at least ). Finally, I don't have an internal global motion estimation. Before you try to use the motion vectors, it'd be better if i try if they can be easily used outside of the MVTools. I'll try that in the next day and report to you. |
21st November 2004, 16:08 | #30 | Link |
Registered User
Join Date: Nov 2003
Posts: 148
|
Hi,
mvdenoise 0.98 with pel=2 works great (when it works)! the bugs from 0.97 seems to be fixed, the result is less blocky on motion than mvdenoise 0.96.2 with pel=1 and the performance is reasonable! it would be very nice, when the mvtools "loading-bug" get fixed soon! many tanks @manao! Last edited by Heini011; 21st November 2004 at 17:04. |
21st November 2004, 16:16 | #31 | Link |
Registered User
Join Date: Jan 2002
Location: France
Posts: 2,856
|
Heini : can you try this version :
http://manao4.free.fr/MVTools.dll Edit : no need to try, it will surely fail, another bug was just yet discovered. Last edited by Manao; 21st November 2004 at 17:44. |
21st November 2004, 18:18 | #33 | Link |
AviSynth plugger
Join Date: Nov 2003
Location: Russia
Posts: 2,183
|
Manao, i moved my post to development, sorry
So, i will wait a stable MV format, and currently make other plugins.
__________________
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. |
21st November 2004, 18:38 | #34 | Link |
Registered User
Join Date: Jan 2002
Location: France
Posts: 2,856
|
Fizick : damned, i wonder all the morning why you did a croosposting, i didn't even notice that you actually moved your post I should've stay in bed.
Heini : a third version is up, and in addition to solving loading issue, it should also work even after several seekings in the file. |
22nd November 2004, 15:13 | #35 | Link |
Registered User
Join Date: Nov 2003
Posts: 148
|
Hi manao,
the second one seemed to worked already, but bug-fixing is always fine ;-) many thanks! there are still the little bugs in your documentation: ---- version: 0.9.5 and 2x: return source.MVDenoise(backward_vectors1, backward_vectors1, forward_vectors1, forward_vectors2, tht = 10, sadt = 300) ---- an idea for mvdenoise: maybe a parameter like 'min' in deen would be useful to decreasing the thresholds for more distant neighbour frames. greetings. |
25th November 2004, 21:20 | #36 | Link |
Registered User
Join Date: Aug 2004
Location: Denmark
Posts: 807
|
hmm I think I found a bug. When trying to call MVAnalyse from medianblurt (I will try to see how much improvement there are from using motion compensation with the temporal median blur filter) with this code:
Code:
AVSValue args1[12]=child,8,1,0,2,1,true,1000,1,true,true,1}; PClip vectors = env->Invoke("MVAnalyse",AVSValue(args1,12)).AsClip(); Unhandled exception at 0x0135b8d2 (MVTools.dll) in virtualdubmod.exe: 0xC0000005: Access violation reading location 0xbaadf015. I don't now what's going on. If it's my code, MVTools or avisynth. It's not a IScriptEnvironment::NotFound error. |
25th November 2004, 21:46 | #37 | Link |
Registered User
Join Date: Jan 2002
Location: France
Posts: 2,856
|
Firstly, in doubt ( since some version were buggy ), can you try the version i just put up on my website :
http://manao4.free.fr/MVTools-v0.9.8.1.zip Secondly, can you make your source code available to me, so i can directly debug my filter with it. It'll be easier for me to start from a code which segfaults than trying to create one. |
28th November 2004, 22:17 | #39 | Link |
Registered User
Join Date: Aug 2004
Location: Denmark
Posts: 807
|
wow that really a usefull filter. I used it with my temporal-median filter and it really works wonders. I have one questian/request does the filter only use the Y-plane to calculate the motion vectors and SAD and if it does is it possible to at least use some of the chroma information to avoid really ugly artifacts like this
(the first row is the previous frame compensated to the center frame, center frame, and the next frame compensated to the center frame. The next row is the previous frame without motion compensation(MC), the center frame, and next frame without MC. Next row is the 2 previuos row subtract. The last row is the fist row subtract from the center frame.) The setting used to create this is MVAnalyse(blksize=4,lambda=1000,delta=1) and MVCompendate(thSCD1=200,thSCD2=10) ) |
Thread Tools | Search this Thread |
Display Modes | |
|
|