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 August 2008, 12:43 | #1002 | Link | |
Registered User
Join Date: Dec 2007
Location: VA, USA
Posts: 116
|
Quote:
Can someone do compares of the motion vectors produced from V1.9.6.2 and V1.9.5.7 for MVAnalyse? This will give me and idea where to start looking. |
|
15th August 2008, 00:30 | #1004 | Link |
Resize Abuser
Join Date: Apr 2005
Location: Seattle, WA
Posts: 623
|
@josey_wells
Rename the 1.9.5.7 Dll from mvtools.dll to mvtoolsOLD.dll, have the 1.9.6.2 mvtools.dll as is, and then run this code. It could be a little unstable but it does work. Code:
a = ColorBars(320,240).Trim(0,29) KenBurnsEffect(a, startAlign=5, endAlign=5, endZoomFactor=50) last + KenBurnsEffect(a, startZoomFactor=50, startAlign=5, endAlign=1, endZoomFactor=50) last + KenBurnsEffect(a, startZoomFactor=50, startAlign=1, endAlign=3, endZoomFactor=50) last + KenBurnsEffect(a, startZoomFactor=50, startAlign=3, endAlign=9, endZoomFactor=50) last + KenBurnsEffect(a, startZoomFactor=50, startAlign=9, endAlign=7, endZoomFactor=50) last + KenBurnsEffect(a, startZoomFactor=50, startAlign=7, endAlign=1, endZoomFactor=50) last + KenBurnsEffect(a, startZoomFactor=50, startAlign=1, endAlign=5) ConvertToYV12() vectors=mvtools_MVAnalyseMulti(refframes=1, idx=1) bw1_vec1=vectors.mvtools_MVMultiExtract(0) fw1_vec1=vectors.mvtools_MVMultiExtract(1) a=last.mvtools_MVFlowFps(bw1_vec1,fw1_vec1, idx=2).Subtitle("1.9.6.2").ConvertFPS("ntsc_video") b=last.mvtools_MVShow(bw1_vec1).Subtitle("1.9.6.2 Backwards") c=last.mvtools_MVShow(fw1_vec1).Subtitle("1.9.6.2 Forwards") bw1_vec2=mvtoolsOLD_MVAnalyse(isb=true, idx=3) fw1_vec2=mvtoolsOLD_MVAnalyse(isb=false, idx=4) d=last.mvtools_MVFlowFps(bw1_vec2,fw1_vec2, idx=5).Subtitle("1.9.6.2 MVFlowFps w/ 1.9.5.7 MVAnalyse").ConvertFPS("ntsc_video") e=last.mvtoolsOLD_MVShow(bw1_vec2).Subtitle("1.9.5.7 Backwards") f=last.mvtoolsOLD_MVShow(fw1_vec2).Subtitle("1.9.5.7 Forwards") g=last.mvtoolsOLD_MVFlowFps(bw1_vec2,fw1_vec2, idx=8).Subtitle("1.9.5.7").ConvertFPS("ntsc_video") h=StackComparer(last.mvtools_MVShow(bw1_vec1),last.mvtoolsOLD_MVShow(bw1_vec2),"1.9.6.2 Backwards - 1.9.5.7 Backwards") j=last.mvtoolsOLD_MVFlowFps(bw1_vec1,fw1_vec1, idx=10).Subtitle("1.9.5.7 MVFlowFps w/ 1.9.6.2 MVAnalyse").ConvertFPS("ntsc_video") k=StackComparer(last.mvtools_MVShow(fw1_vec1),last.mvtoolsOLD_MVShow(fw1_vec2),"1.9.6.2 Forwards - 1.9.5.7 Forwards") w=StackHorizontal(a,b,c) x=StackHorizontal(d,e,f) y=StackHorizontal(g,h) z=StackHorizontal(j,k) StackVertical(w,x,y,z) Function StackComparer(clip x, clip y, string s) { sb1=Subtract(x,y) sb1=Overlay(sb1.Levels(128,1,130,0,255), \ sb1.Levels(126,1,128,0,255).PointResize(320*4,240*4).ConvertToYUY2().Invert("y").ConvertToRGB32().PointResize(320,240) \ ,mode="add").Levels(23,1,255,0,255).Subtitle("Black pixels means less/no change") s5=Compare(x,y) stackhorizontal(s5,sb1).Subtitle(String(s), Align=2) }
__________________
Mine: KenBurnsEffect/ZoomBox CutFrames Helped: DissolveAGG ColorBalance LQ Animation Fixer Last edited by mikeytown2; 15th August 2008 at 00:58. |
15th August 2008, 07:58 | #1005 | Link | |
Resize Abuser
Join Date: Apr 2005
Location: Seattle, WA
Posts: 623
|
Quote:
Code:
Function mover(clip a) { KenBurnsEffect(a, startZoomFactor=50, startAlign=1, endAlign=5) } b = ColorBars(640,480).ConvertToYUY2() b.Trim(0,29).mover() vectors=mvtools_MVAnalyseMulti(blksize=16, overlap=8, divide=2, refframes=1, idx=1, dct=4, truemotion=true, pel=2) bw1_vec1=vectors.mvtools_MVMultiExtract(0) fw1_vec1=vectors.mvtools_MVMultiExtract(1) #~ bw1_vec1=mvtoolsOLD_MVAnalyse(isb=true, blksize=16, overlap=8, divide=2, idx=2, dct=4, truemotion=true, pel=2) #~ fw1_vec1=mvtoolsOLD_MVAnalyse(isb=false, blksize=16, overlap=8, divide=2, idx=2, dct=4, truemotion=true, pel=2) c=mvtoolsOLD_MVFlowFps(last, bw1_vec1, fw1_vec1, num=60000,den=1001) b= mover(b.Trim(0,58)).AssumeFPS("ntsc_double") Compare(c, b) StackHorizontal(b) StackVertical(StackHorizontal(Overlay(b,c,opacity=0.5), StackComparer(c,b,""))).Trim(2,56) Function StackComparer(clip x, clip y, string s) { sb1=Subtract(x,y) sb1=Overlay(sb1.Levels(128,1,130,0,255), \ sb1.Levels(126,1,128,0,255).PointResize(640*4,480*4).ConvertToYUY2().Invert("y").ConvertToRGB32().PointResize(640,480) \ ,mode="add").Levels(34,1,255,0,255).Subtitle("Black pixels means less/no change") sb1 } This gave me the best (PSNR 53.11) results with MVFlowFps. (blksize=16, overlap=8, divide=2, idx=1, dct=4, truemotion=true, pel=2) EDIT: search=3 & dct=1 gives better (PSNR 53.36) results... baised off of my PSNR tests, I'll use (blksize=16, overlap=8, divide=2, idx=1, dct=4, truemotion=true, pel=2, search=0) It's what I like to call best bang for your buck (PSNR 53.12). Going to pel=4 i get PSNR=48.62 Going to pel=1 i get PSNR=49.50 Edit2: (blksize=16, overlap=8, divide=2, idx=1, dct=4, truemotion=true, pel=2, search=0, searchparam=0, lambda=2700, sadx264=7, pnew=9) PSNR=53.29
__________________
Mine: KenBurnsEffect/ZoomBox CutFrames Helped: DissolveAGG ColorBalance LQ Animation Fixer Last edited by mikeytown2; 15th August 2008 at 10:41. |
|
15th August 2008, 16:50 | #1006 | Link | |
Registered User
Join Date: Jul 2008
Posts: 4
|
Quote:
I don't have much time these days as I was on vacation far from my computer(and still am next week actually, just passing by), but I really ought to try with newest versions from Josey_Wells. Then I can tell if I still encounter same issues. I have hope that these do correct them. Mutant_Fred |
|
15th August 2008, 21:14 | #1010 | Link |
Resize Abuser
Join Date: Apr 2005
Location: Seattle, WA
Posts: 623
|
@moviefan
I generate the clip using KenBurnsEffect(). By adjusting trim I have 2 clips, one at 30fps the other at 60fps. I then use MVTools to to bring the 30fps up to 60fps and compare the 2.
__________________
Mine: KenBurnsEffect/ZoomBox CutFrames Helped: DissolveAGG ColorBalance LQ Animation Fixer |
15th August 2008, 21:35 | #1011 | Link |
brainless
Join Date: Mar 2003
Location: Germany
Posts: 3,653
|
that is not a valid test.
you don't have differntial motion (several objects with different speed and trajetories moving and also showing occlusions or transparency). just take any natural video as reference... that will be better
__________________
Don't forget the 'c'! Don't PM me for technical support, please. |
15th August 2008, 22:25 | #1012 | Link |
Resize Abuser
Join Date: Apr 2005
Location: Seattle, WA
Posts: 623
|
@scharfis_brain just did a test on one of my DV clips. In short my results from above almost correlate with "real" footage. I will admit that this footage isn't a car crash, in that there isn't a lot going on.
Results 33.35016: (blksize=4, overlap=2, divide=0, idx=1, dct=4, truemotion=true, pel=2, search=0, searchparam=0, lambda=2700, sadx264=7, pnew=9) 33.48795: (blksize=8, overlap=4, divide=2, idx=1, dct=4, truemotion=true, pel=4) 33.49406: (idx=1, pel=4) 33.60581: (blksize=16, overlap=8, divide=2, idx=1, dct=4, truemotion=true, pel=4) 33.98558: (blksize=8, overlap=4, divide=2, idx=1, dct=4, truemotion=true, pel=2) 34.02027: (blksize=8, overlap=4, divide=2, idx=1, dct=1, truemotion=true, pel=2, search=3, sadx264=7) 34.02353: (idx=1, dct=1) 34.03998: (idx=1) 34.04628: (idx=1, dct=4) 34.05154: (blksize=16, overlap=8, divide=2, idx=1, dct=4, truemotion=true, pel=2, search=3, searchparam=0, lambda=2700, sadx264=7, pnew=9) 34.05336: (blksize=16, overlap=8, divide=2, idx=1, dct=4, truemotion=true, pel=2) 34.07283: (blksize=16, overlap=8, divide=2, idx=1, dct=0, truemotion=true, pel=2, search=0, searchparam=0, lambda=2700, sadx264=7, pnew=9) 34.07558: (idx=1, dct=1, search=3) 34.08640: (blksize=16, overlap=8, divide=2, idx=1, dct=4, truemotion=true, pel=2, search=0, searchparam=0, lambda=2700, sadx264=7, pnew=9) 34.09980: (blksize=16, overlap=8, divide=2, idx=1, dct=1, truemotion=true, pel=2, search=3, sadx264=7) - Very SLOW Code:
AVISource("DV-Cam-Test.avi").ConvertToYUY2(interlaced=true) SeparateFields() SelectEven() BicubicResize(320,240) b=last SelectEven() vectors=mvtools_MVAnalyseMulti(blksize=16, overlap=8, divide=2, idx=1, dct=4, truemotion=true, pel=4) bw1_vec1=vectors.mvtools_MVMultiExtract(0) fw1_vec1=vectors.mvtools_MVMultiExtract(1) #~ bw1_vec1=mvtoolsOLD_MVAnalyse(isb=true, blksize=16, overlap=8, divide=2, idx=2, dct=4, truemotion=true, pel=2) #~ fw1_vec1=mvtoolsOLD_MVAnalyse(isb=false, blksize=16, overlap=8, divide=2, idx=2, dct=4, truemotion=true, pel=2) c=mvtoolsOLD_MVFlowFps(last, bw1_vec1, fw1_vec1, num=30000,den=1001) Compare(c, b, logfile="u.txt") StackHorizontal(b) StackVertical(StackHorizontal(Overlay(b,c,opacity=0.5), StackComparer(c,b,""))) Trim(2,framecount()-2) SelectOdd() Function StackComparer(clip x, clip y, string s) { sb1=Subtract(x,y) sb1=Overlay(sb1.Levels(128,1,130,0,255), \ sb1.Levels(126,1,128,0,255).PointResize(320*4,240*4).ConvertToYUY2().Invert("y").ConvertToRGB32().PointResize(320,240) \ ,mode="add").Levels(34,1,255,0,255).Subtitle("Black pixels means less/no change") sb1 }
__________________
Mine: KenBurnsEffect/ZoomBox CutFrames Helped: DissolveAGG ColorBalance LQ Animation Fixer Last edited by mikeytown2; 16th August 2008 at 00:05. Reason: changed position of ConvertToYUY2 |
15th August 2008, 23:36 | #1013 | Link |
Registered User
Join Date: Dec 2007
Location: VA, USA
Posts: 116
|
OK, here is V1.9.6.5.
http://rapidshare.com/files/13762011...9.6.5.rar.html I found out that I broke it between V1.9.6.1 Final and V1.9.6.2 Final. I have compared, MVFlow, MVFlowBlur, MVFlowFPS, MVFlowIter, MVDegrain, MVAnalyse, MVCompensate, etc. between this version and FZick's V1.9.5.7 This contains all the enhancements listed in the previous post. Plus the MT flag for MVAnalyseMulti, and MVDegrainX, and MVDegrainMulti. Default is true which will run functions multithreaded. If set false then will run threads singurlarly. This one should be pretty much bulletproof. But alas I can be proven wrong. |
16th August 2008, 00:23 | #1014 | Link |
Resize Abuser
Join Date: Apr 2005
Location: Seattle, WA
Posts: 623
|
@josey_wells Bug in MVAnalyse/MVAnalyseMulti with blksize=16 and overlap!=0. So far everything else seems to be ok.
Crash report from VDub Code:
VirtualDub crash report -- build 29958 (release) -------------------------------------- Disassembly: 012b2360: 43 inc ebx 012b2361: 3a5c446f cmp bl, [esp+eax*2+6fh] 012b2365: 63756d arpl [ebp+6dh], si 012b2368: 656e outsb 012b236a: 7473 jz 012b23df 012b236c: 20616e and [ecx+6eh], ah 012b236f: 64205365 and fs:[ebx+65h], dl 012b2373: 7474 jz 012b23e9 012b2375: 696e67735c4d69 imul ebp, [esi+67h], 694d5c73 012b237c: 6b652043 imul esp, [ebp+20h], 43h 012b2380: 61 popad 012b2381: 7270 jc 012b23f3 012b2383: 65725c jc 012b23e2 012b2386: 44 inc esp 012b2387: 65736b jnc 012b23f5 012b238a: 746f jz 012b23fb 012b238c: 705c jo 012b23ea 012b238e: 56 push esi 012b238f: 6964656f20546f imul esp, [ebp+6fh], 6f6f5420 6f 012b2397: 6c insb 012b2398: 735c jnc 012b23f6 012b239a: 56 push esi 012b239b: 69727475616c44 imul esi, [edx+74h], 446c6175 012b23a2: 7562 jnz 012b2406 012b23a4: 2d312e382e sub eax, 2e382e31 012b23a9: 345c xor al, 5ch 012b23ab: 56 push esi 012b23ac: 69727475616c44 imul esi, [edx+74h], 446c6175 012b23b3: 7562 jnz 012b2417 012b23b5: 2e7664 jbe 012b241c 012b23b8: 6900c05bc38d imul eax, [eax], 8dc35bc0 012b23be: 7600 jbe 012b23c0 012b23c0: 53 push ebx 012b23c1: 8b442408 mov eax, [esp+08h] 012b23c5: 8b4c240c mov ecx, [esp+0ch] 012b23c9: 8b542410 mov edx, [esp+10h] 012b23cd: 8b5c2414 mov ebx, [esp+14h] 012b23d1: 0f1002 movups xmm0, [edx] 012b23d4: 0f100c1a movups xmm1, [edx+ebx] 012b23d8: 8d145a lea edx, [edx+ebx*2] 012b23db: 0f1012 movups xmm2, [edx] 012b23de: 0f101c1a movups xmm3, [edx+ebx] 012b23e2: 8d145a lea edx, [edx+ebx*2] 012b23e5: 660ff600 psadbw xmm0, [eax] <-- FAULT 012b23e9: 660ff60c08 psadbw xmm1, [eax+ecx] 012b23ee: 8d0448 lea eax, [eax+ecx*2] 012b23f1: 0f1022 movups xmm4, [edx] 012b23f4: 660ffdc1 paddw xmm0, xmm1 012b23f8: 660ff610 psadbw xmm2, [eax] 012b23fc: 660ff61c08 psadbw xmm3, [eax+ecx] 012b2401: 8d0448 lea eax, [eax+ecx*2] 012b2404: 0f102c1a movups xmm5, [edx+ebx] 012b2408: 8d145a lea edx, [edx+ebx*2] 012b240b: 660ffdd3 paddw xmm2, xmm3 012b240f: 0f1032 movups xmm6, [edx] 012b2412: 0f103c1a movups xmm7, [edx+ebx] 012b2416: 8d145a lea edx, [edx+ebx*2] 012b2419: 660ffdc2 paddw xmm0, xmm2 012b241d: 660ff620 psadbw xmm4, [eax] 012b2421: 660ff62c08 psadbw xmm5, [eax+ecx] 012b2426: 8d0448 lea eax, [eax+ecx*2] 012b2429: 0f100a movups xmm1, [edx] 012b242c: 660ffde5 paddw xmm4, xmm5 012b2430: 660ff630 psadbw xmm6, [eax] 012b2434: 660ff63c08 psadbw xmm7, [eax+ecx] 012b2439: 8d0448 lea eax, [eax+ecx*2] 012b243c: 0f10141a movups xmm2, [edx+ebx] 012b2440: 8d145a lea edx, [edx+ebx*2] 012b2443: 660ffdf7 paddw xmm6, xmm7 012b2447: 0f101a movups xmm3, [edx] 012b244a: 660ffdc4 paddw xmm0, xmm4 012b244e: 0f10241a movups xmm4, [edx+ebx] 012b2452: 8d145a lea edx, [edx+ebx*2] 012b2455: 660ffdc6 paddw xmm0, xmm6 012b2459: 660ff608 psadbw xmm1, [eax] 012b245d: 660f db 0fh 012b245f: f6 db 0f6h Built on Aegis on Sat Aug 09 14:02:26 2008 using compiler version 1400 Windows 5.1 (Windows XP x86 build 2600) [Service Pack 3] EAX = 01e9c918 EBX = 00000080 ECX = 00000080 EDX = 02410a98 EBP = 000003a3 ESI = 02457440 EDI = 00000800 ESP = 0238fd7c EIP = 012b23e5 EFLAGS = 00010283 FPUCW = ffff027f FPUTW = ffffaaaa Crash reason: Access Violation Crash context: An out-of-bounds memory access (access violation) occurred in module 'mvtools'... ...reading address FFFFFFFF. Pointer dumps: EAX 01e9c918: 52565656 49494949 41414249 353e4141 35353535 2d2d2d2f 1f1f2a2d 151f1f1f EDX 02410a98: 8b9b9b9b 80808080 70707280 586d7070 58585858 48484852 2e354848 2e2e2e2e ESI 02457440: 00000004 00000003 00000010 00000010 0000000c 00000001 00000000 00000008 ESP 0238fd78: 00244cb0 02410898 012d69c4 01e9c918 00000080 02410898 00000080 00000000 0238fd98: 00000000 02e0ffff 00000000 02457440 00000000 00000000 012d5862 00000014 0238fdb8: 00000028 00000000 00000000 00000000 00000000 01b927b4 00000010 fffffff0 0238fdd8: 00000008 00000004 00000004 00000000 00000000 00007d00 0000001e 01e9f950 Thread call stack: 012b23e5: mvtools!000123e5 012d69c4: mvtools!000369c4 012d5862: mvtools!00035862 012d4411: mvtools!00034411 012d4092: mvtools!00034092 7c910202: ntdll!RtlAllocateHeap [7c900000+100a4+15e] 0130b7c4: mvtools!0006b7c4 7c910202: ntdll!RtlAllocateHeap [7c900000+100a4+15e] 013396f8: mvtools!_AvisynthPluginInit2@4 [012a0000+6c5d0+2d128] 7c910202: ntdll!RtlAllocateHeap [7c900000+100a4+15e] 013397a0: mvtools!_AvisynthPluginInit2@4 [012a0000+6c5d0+2d1d0] 7c910202: ntdll!RtlAllocateHeap [7c900000+100a4+15e] 7c80b713: kernel32!GetModuleFileNameA [7c800000+b55f+1b4] 7c910202: ntdll!RtlAllocateHeap [7c900000+100a4+15e] -- End of report
__________________
Mine: KenBurnsEffect/ZoomBox CutFrames Helped: DissolveAGG ColorBalance LQ Animation Fixer Last edited by mikeytown2; 16th August 2008 at 02:44. |
16th August 2008, 02:32 | #1015 | Link |
dumber every day
Join Date: Dec 2006
Location: Planet Earth
Posts: 154
|
I can't get anything to work correctly, multi or not, with the latest build. The resulting frames are completely corrupt. I tried the core2 and p4 compiles with the same results. The lower half of each frame appears to be a composite of two different frames and the top half seems to have some form of chroma corruption.
|
16th August 2008, 02:35 | #1016 | Link |
Registered User
Join Date: Dec 2007
Location: VA, USA
Posts: 116
|
This should fix.
http://rapidshare.com/files/13764584...9.6.6.rar.html There was a problem with all YV12 frames, I only tested YUY2. |
16th August 2008, 07:14 | #1017 | Link | |
Registered User
Join Date: Jul 2002
Posts: 587
|
Quote:
An out-of-bounds memory access (access violation) occurred in module 'mvtools'... ...reading address 00000000. if I comment out MVFlowFps line it runs fine. (the official release works fine) backward_vec = video.MVAnalyse(blksize=16, truemotion=true, isb = true, chroma=true, pel=1, search=3, searchparam=1, idx=1) forward_vec = video.MVAnalyse(blksize=16,truemotion=true,isb = false, chroma=true, pel=1, search=3, searchparam=1, idx=1) video=video.MVFlowFps(backward_vec, forward_vec, num=4*FramerateNumerator(video),den=FramerateDenominator(video), mask=0, idx=1) Last edited by Zep; 16th August 2008 at 18:06. |
|
16th August 2008, 09:57 | #1019 | Link |
Registered User
Join Date: Jan 2007
Posts: 6
|
@josey_wells
I was just documenting a bug report for YV12 chroma corruption in 1.9.6.2 when using a filtered clip in mvanalyse but you may already fixed it in 1.9.6.6 (at least for a blksize of 8). However 1.9.6.5 and 1.9.6.6 both immediately crash for me with a blksize of 16 in the same code section as @mikeytown2 above. This for both YV12 and YUY2. On a Q6600 with 1.9.6.6 and mvdegrain3 with a blksize of 8 on my test script I am seeing 10 to 11 fps with the multi versions compared to 1.9.5.7 at 2 to 3 fps. Thank you for your work on threading this. |
16th August 2008, 17:06 | #1020 | Link |
Pig on the wing
Join Date: Mar 2002
Location: Finland
Posts: 5,731
|
Using the multithreaded MVTools tends to eat up quite a lot of memory (with Avisynth 2.5.8RC3). I have had to set SetMemoryMax to 384 to cope with this on my 2GB RAM computer, running two encoders simultaneously. My regular processing script takes something like 700-800MB in HC with these settings. How's the memory usage on other users computers?
Even when running two encoders, I noticed that allowing MVTools to use multithreading is more efficient than using mt=false to disable multithreading With one encoder and mt=true, I got ~5.2 fps - with two encoders and mt=true, I get a total of ~7.0 fps. With mt=false in the latter case, I got 6.7-6.8 fps.
__________________
And if the band you're in starts playing different tunes I'll see you on the dark side of the Moon... Last edited by Boulder; 16th August 2008 at 19:10. Reason: Added mt=false result |
Thread Tools | Search this Thread |
Display Modes | |
|
|