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.

 

Go Back   Doom9's Forum > Capturing and Editing Video > Avisynth Development

Reply
 
Thread Tools Search this Thread Display Modes
Old 22nd January 2011, 23:41   #121  |  Link
Groucho2004
Fossil
 
Groucho2004's Avatar
 
Join Date: Mar 2006
Location: A wretched hive of scum and villainy
Posts: 4,471
Quote:
Originally Posted by Fullmetal Encoder View Post
That's very interesting. Groucho, would you be so kind as to tell me which versions of FFMS2, Avisynth MT 2.6 and QTGMC you are using successfully? Also, how are you invoking Avisynth? Are you using VirtualDub or avs2avi?

I just went to my plugins folder, removed mt-masktools-25.dll, removed all duplicate (or possible duplicate) plugins and re-ran a few of my tests both with FFMS2-MT and vanilla without any special MT modes set and STILL get "Avisynth read error Avisynth: unknown exception" every time. I even tried swapping out some of the vanilla plugins with their SSE3 counterparts but get the same result. I'm using QTGMC v2.5.1, FFMS2 v2.1.4 and SEt's 09/19/09 release of Avisynth 2.6. All I'm doing is selecting "Direct stream copy" in VirtualDub and saving as an AVI.
First of all, I use Avisynth MT 2.6 from this link (2009.09.19).

I tried FFMS 2.14 with QTGMC 2.51 using typically this script (just an example):

Code:
SetMTMode(5,4)
Import("qtgmc.avsi")
LoadPlugin("ffms2.dll")
AssumeTFF()
SetMTMode(2)
QTGMC(Preset="Slow").SelectEven()
AssumeFPS(25000, 1000).ConvertToYUY2()
This I either feed directly to x264 or Procoder. I also use a tool I wrote myself to check the speed of a script. If interested you can download it here.
Groucho2004 is offline   Reply With Quote
Old 23rd January 2011, 00:18   #122  |  Link
Fullmetal Encoder
Registered User
 
Join Date: Jan 2011
Posts: 107
Code:
SetMTMode(5,4)
Import("qtgmc.avsi")
LoadPlugin("ffms2.dll")
AssumeTFF()
SetMTMode(2)
QTGMC(Preset="Slow").SelectEven()
Well, I just copy and pasted this part of your script into a new test script (of course I used the full paths for qtgmc and ffms2 on my system) and tried it in VirtualDub. Avisynth threw an invalid argument error on AssumeTFF(). So I deleted that line and tried again...got invalid argument error on QTGMC. It appears that either I or my computer are in the twilight zone. I'm running out of ideas. Going to have to try to do a little more testing with various FFMS2 versions later.
Fullmetal Encoder is offline   Reply With Quote
Old 23rd January 2011, 00:27   #123  |  Link
Groucho2004
Fossil
 
Groucho2004's Avatar
 
Join Date: Mar 2006
Location: A wretched hive of scum and villainy
Posts: 4,471
Quote:
Originally Posted by Fullmetal Encoder View Post
Avisynth threw an invalid argument error on AssumeTFF()
As I said, it's just an example.

Download the tool I linked to in my last post (AVSInfo) and check the error message it returns.

Edit: And post your entire script.

Last edited by Groucho2004; 23rd January 2011 at 00:31.
Groucho2004 is offline   Reply With Quote
Old 23rd January 2011, 00:32   #124  |  Link
Gavino
Avisynth language lover
 
Join Date: Dec 2007
Location: Spain
Posts: 3,384
Quote:
Originally Posted by Fullmetal Encoder View Post
Avisynth threw an invalid argument error on AssumeTFF(). So I deleted that line and tried again...got invalid argument error on QTGMC.
The script is missing a call to the source filter.
__________________
GScript and GRunT - complex Avisynth scripting made easier
Gavino is offline   Reply With Quote
Old 23rd January 2011, 09:45   #125  |  Link
Fullmetal Encoder
Registered User
 
Join Date: Jan 2011
Posts: 107
Quote:
Originally Posted by Groucho2004 View Post
As I said, it's just an example.

Download the tool I linked to in my last post (AVSInfo) and check the error message it returns.

Edit: And post your entire script.
As to Gavino's post, yes I realized my error about 20 minutes after posting my last message and corrected that. Please disregard my message about the invalid argument errors and sorry about the hassle. That's what I get for being in a hurry. After adding the source call and re-running it I received the familiar KERNELBASE error I've gotten in prior attempts to get QTGMC working. This one seems to occur only when I invoke SetMTMode(). Here is the script I am using:

Code:
SetMTMode(5,4)
Import("QTGMC.avsi")
LoadPlugin("ffms2.dll")
FFVideoSource("X.mkv")
SetMTMode(2)
QTGMC(Preset="Slow").SelectEven()
Where X is the path to my MKV file. Luckily, unlike the Avisynth read error I otherwise get, VirtualDub gives me extended information on the KERNELBASE crash. Here is the whole of the text it gives me as maybe someone here can interpret it:

Code:
VirtualDub crash report -- build 32842 (release)
--------------------------------------

Disassembly:
76ebb6a0: 93              xchg   eax, ebx
76ebb6a1: a9eb76e878      test   eax, 78e876eb
76ebb6a6: b5ff            mov    ch, 0ffh
76ebb6a8: ffc7            inc    edi
76ebb6aa: 40              inc    eax
76ebb6ab: 24bc            and    al, 0bch
76ebb6ad: a9eb76c3cc      test   eax, ccc376eb
76ebb6b2: cc              int    3
76ebb6b3: cc              int    3
76ebb6b4: cc              int    3
76ebb6b5: cc              int    3
76ebb6b6: e866b5ffff      call   76eb6c21
76ebb6bb: 33c9            xor    ecx, ecx
76ebb6bd: 8178206aa9eb76  cmp    dword ptr [eax+20h], 76eba96a
76ebb6c4: 0f94c1          setz   cl
76ebb6c7: 8bc1            mov    eax, ecx
76ebb6c9: c3              ret    
76ebb6ca: cc              int    3
76ebb6cb: cc              int    3
76ebb6cc: cc              int    3
76ebb6cd: cc              int    3
76ebb6ce: cc              int    3
76ebb6cf: 8bff            mov    edi, edi
76ebb6d1: 55              push   ebp
76ebb6d2: 8bec            mov    ebp, esp
76ebb6d4: 83ec50          sub    esp, 50h
76ebb6d7: 8b4508          mov    eax, [ebp+08h]
76ebb6da: 8945b0          mov    [ebp-50h], eax
76ebb6dd: 8b450c          mov    eax, [ebp+0ch]
76ebb6e0: 83e001          and    eax, 01h
76ebb6e3: 8945b4          mov    [ebp-4ch], eax
76ebb6e6: 33c0            xor    eax, eax
76ebb6e8: 8945b8          mov    [ebp-48h], eax
76ebb6eb: c745bccfb6eb76  mov    dword ptr [ebp-44h], 76ebb6cf
76ebb6f2: 394514          cmp    [ebp+14h], eax
76ebb6f5: 7423            jz     76ebb71a
76ebb6f7: 8b4510          mov    eax, [ebp+10h]
76ebb6fa: 83f80f          cmp    eax, 0fh
76ebb6fd: 7603            jbe    76ebb702
76ebb6ff: 6a0f            push   0fh
76ebb701: 58              pop    eax
76ebb702: 8945c0          mov    [ebp-40h], eax
76ebb705: c1e002          shl    eax, 02h
76ebb708: 50              push   eax
76ebb709: ff7514          push   dword ptr [ebp+14h]
76ebb70c: 8d45c4          lea    eax, [ebp-3ch]
76ebb70f: 50              push   eax
76ebb710: e80da90200      call   76ee6022
76ebb715: 83c40c          add    esp, 0ch
76ebb718: eb03            jmp    76ebb71d
76ebb71a: 8945c0          mov    [ebp-40h], eax
76ebb71d: 8d45b0          lea    eax, [ebp-50h]
76ebb720: 50              push   eax
76ebb721: ff156c11eb76    call   dword ptr [76eb116c]
76ebb727: c9              leave        <-- FAULT
76ebb728: c21000          ret    0010
76ebb72b: cc              int    3
76ebb72c: cc              int    3
76ebb72d: cc              int    3
76ebb72e: cc              int    3
76ebb72f: cc              int    3
76ebb730: 8bff            mov    edi, edi
76ebb732: 55              push   ebp
76ebb733: 8bec            mov    ebp, esp
76ebb735: 56              push   esi
76ebb736: 8b7508          mov    esi, [ebp+08h]
76ebb739: 83fef4          cmp    esi, 0f4h
76ebb73c: 7218            jc     76ebb756
76ebb73e: 83fef6          cmp    esi, 0f6h
76ebb741: 7713            ja     76ebb756
76ebb743: 8d4508          lea    eax, [ebp+08h]
76ebb746: 50              push   eax
76ebb747: 6a00            push   00h
76ebb749: 56              push   esi
76ebb74a: e8dd020000      call   76ebba2c
76ebb74f: 85c0            test   eax, eax
76ebb751: 7403            jz     76ebb756
76ebb753: 8b7508          mov    esi, [ebp+08h]
76ebb756: 56              push   esi
76ebb757: ff153c10eb76    call   dword ptr [76eb103c]
76ebb75d: 5e              pop    esi
76ebb75e: 85c0            test   eax, eax
76ebb760: 7c05            jl     76ebb767
76ebb762: 33c0            xor    eax, eax
76ebb764: 40              inc    eax
76ebb765: eb08            jmp    76ebb76f
76ebb767: 50              push   eax
76ebb768: e8c5ae0200      call   76ee6632
76ebb76d: 33c0            xor    eax, eax
76ebb76f: 5d              pop    ebp
76ebb770: c20400          ret    0004
76ebb773: cc              int    3
76ebb774: cc              int    3
76ebb775: cc              int    3
76ebb776: cc              int    3
76ebb777: cc              int    3
76ebb778: 8bff            mov    edi, edi
76ebb77a: 55              push   ebp
76ebb77b: 8bec            mov    ebp, esp
76ebb77d: 8b450c          mov    eax, [ebp+0ch]
76ebb780: 83f8f4          cmp    eax, 0f4h
76ebb783: 742c            jz     76ebb7b1
76ebb785: 83f8f5          cmp    eax, 0f5h
76ebb788: 7416            jz     76ebb7a0
76ebb78a: 83f8f6          cmp    eax, 0f6h
76ebb78d: 7531            jnz    76ebb7c0
76ebb78f: 64a118000000    mov    eax, fs:[00000018]
76ebb795: 8b4030          mov    eax, [eax+30h]
76ebb798: 8b4010          mov    eax, [eax+10h]
76ebb79b: 8b4018          mov    eax, [eax+18h]
76ebb79e: eb20            jmp    76ebb7c0

Built on Aegis on Fri Dec 24 13:18:44 2010 using compiler version 1400

Windows 6.1 (Windows Vista x64 build 7600) []

EAX = 153eedd0
EBX = 00000000
ECX = 00000003
EDX = 00000000
EBP = 153eee20
ESI = 032f1aa0
EDI = 002f7640
ESP = 153eedd0
EIP = 76ebb727
EFLAGS = 00000212
FPUCW = 027f
FPUTW = ffff

Crash reason: Unhandled Microsoft C++ Exception

Crash context:
An exception occurred in module 'KERNELBASE'.

Pointer dumps:

EAX   153eedd0: e06d7363 00000001 00000000 76ebb727 00000003 19930520 153eee68 032c18b8
ESI   032f1aa0: 032b6fb8 0329a6c0 00000000 00000001 00000000 00000000 0ec88bce 00000000
EDI   002f7640: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
ESP   153eedd0: e06d7363 00000001 00000000 76ebb727 00000003 19930520 153eee68 032c18b8
      153eedf0: 0000001c 032566d9 007c1f54 002f7640 00000000 032f1aa0 153eee14 032571e2
      153eee10: 032f1f08 153eee54 03255e04 00000008 153eee58 0324c3ea e06d7363 00000001
      153eee30: 00000003 153eee4c e06d7363 00000001 00000000 00000000 00000003 19930520
EBP   153eee20: 153eee58 0324c3ea e06d7363 00000001 00000003 153eee4c e06d7363 00000001
      153eee40: 00000000 00000000 00000003 19930520 153eee68 032c18b8 153eee74 0324c161
      153eee60: 153eee68 032c18b8 032b6fb8 0329a6c0 00000000 00000001 031529bc 002f7640
      153eee80: 007c0a80 8b7ffffe 153eef30 032709bb 00000000 031549ba 4daaed50 007c0a80

Thread call stack:
76ebb727: KERNELBASE!RaiseException [76eb0000+b6cf+58]
76ebb727: KERNELBASE!RaiseException [76eb0000+b6cf+58]
032566d9: AviSynth!DllGetClassObject [03150000+e7d0+f7f09]
032571e2: AviSynth!DllGetClassObject [03150000+e7d0+f8a12]
03255e04: AviSynth!DllGetClassObject [03150000+e7d0+f7634]
0324c3ea: AviSynth!DllGetClassObject [03150000+e7d0+edc1a]
0324c161: AviSynth!DllGetClassObject [03150000+e7d0+ed991]
031529bc: AviSynth!000029bc
031549ba: AviSynth!000049ba
03154a2b: AviSynth!00004a2b
031550bb: AviSynth!000050bb
0315568c: AviSynth!0000568c
03192c53: AviSynth!DllGetClassObject [03150000+e7d0+34483]
03250753: AviSynth!DllGetClassObject [03150000+e7d0+f1f83]
0315a5ba: AviSynth!avs_release_value [03150000+8320+229a]
0315bfb5: AviSynth!avs_release_value [03150000+8320+3c95]
031cb5d0: AviSynth!DllGetClassObject [03150000+e7d0+6ce00]
0b7ba586: mt_masktools-26!0002a586
0315a5ba: AviSynth!avs_release_value [03150000+8320+229a]
0315bfb5: AviSynth!avs_release_value [03150000+8320+3c95]
031cb5d0: AviSynth!DllGetClassObject [03150000+e7d0+6ce00]
0315a5ba: AviSynth!avs_release_value [03150000+8320+229a]
0315bfb5: AviSynth!avs_release_value [03150000+8320+3c95]
0b7bc5c3: mt_masktools-26!0002c5c3
773be1cc: ntdll!RtlInitUnicodeString [77390000+2e068+164]
03154a6c: AviSynth!00004a6c
0315a5ba: AviSynth!avs_release_value [03150000+8320+229a]
0315bfb5: AviSynth!avs_release_value [03150000+8320+3c95]
022a6d0d: RemoveGrainSSE3!00006d0d
0315a5ba: AviSynth!avs_release_value [03150000+8320+229a]
0315bfb5: AviSynth!avs_release_value [03150000+8320+3c95]
031ce71d: AviSynth!DllGetClassObject [03150000+e7d0+6ff4d]
031cf022: AviSynth!DllGetClassObject [03150000+e7d0+70852]
0315a5ba: AviSynth!avs_release_value [03150000+8320+229a]
0315bfb5: AviSynth!avs_release_value [03150000+8320+3c95]
031cb5d0: AviSynth!DllGetClassObject [03150000+e7d0+6ce00]
0315a5ba: AviSynth!avs_release_value [03150000+8320+229a]
0315bfb5: AviSynth!avs_release_value [03150000+8320+3c95]
773d28d6: ntdll!NtdllDefWindowProc_A [77390000+428b3+23]
0b7bc5c3: mt_masktools-26!0002c5c3
773bde63: ntdll!RtlFreeHeap [77390000+2dde5+7e]
773be1cc: ntdll!RtlInitUnicodeString [77390000+2e068+164]
773be1cc: ntdll!RtlInitUnicodeString [77390000+2e068+164]
0315a5ba: AviSynth!avs_release_value [03150000+8320+229a]
0315bfb5: AviSynth!avs_release_value [03150000+8320+3c95]
0c0bd00e: mvtools2!_AvisynthPluginInit2@4 [0c080000+6760+368ae]
773be1cc: ntdll!RtlInitUnicodeString [77390000+2e068+164]
0315a5ba: AviSynth!avs_release_value [03150000+8320+229a]
0315bfb5: AviSynth!avs_release_value [03150000+8320+3c95]
773bdf32: ntdll!RtlAllocateHeap [77390000+2de86+ac]
0c088f12: mvtools2!_AvisynthPluginInit2@4 [0c080000+6760+27b2]
0315a5ba: AviSynth!avs_release_value [03150000+8320+229a]
0315bfb5: AviSynth!avs_release_value [03150000+8320+3c95]
0315c040: AviSynth!avs_release_value [03150000+8320+3d20]
0c0881e6: mvtools2!_AvisynthPluginInit2@4 [0c080000+6760+1a86]
0c091c33: mvtools2!_AvisynthPluginInit2@4 [0c080000+6760+b4d3]
773be1cc: ntdll!RtlInitUnicodeString [77390000+2e068+164]
0b7ba586: mt_masktools-26!0002a586
773be1cc: ntdll!RtlInitUnicodeString [77390000+2e068+164]
773bdf32: ntdll!RtlAllocateHeap [77390000+2de86+ac]
773be1cc: ntdll!RtlInitUnicodeString [77390000+2e068+164]
0315a5ba: AviSynth!avs_release_value [03150000+8320+229a]
0315bfb5: AviSynth!avs_release_value [03150000+8320+3c95]
0b831486: mt_masktools-26!000a1486
031cb5d0: AviSynth!DllGetClassObject [03150000+e7d0+6ce00]
0b820ba3: mt_masktools-26!00090ba3
0315a5ba: AviSynth!avs_release_value [03150000+8320+229a]
0315bfb5: AviSynth!avs_release_value [03150000+8320+3c95]
773bde63: ntdll!RtlFreeHeap [77390000+2dde5+7e]
0b7bc5c3: mt_masktools-26!0002c5c3
0b8223fe: mt_masktools-26!000923fe
0b7ba586: mt_masktools-26!0002a586
0315a5ba: AviSynth!avs_release_value [03150000+8320+229a]
0315bfb5: AviSynth!avs_release_value [03150000+8320+3c95]
0b7bc5c3: mt_masktools-26!0002c5c3
0b7bc6ff: mt_masktools-26!0002c6ff
0315a5ba: AviSynth!avs_release_value [03150000+8320+229a]
0315bfb5: AviSynth!avs_release_value [03150000+8320+3c95]
0c091bd3: mvtools2!_AvisynthPluginInit2@4 [0c080000+6760+b473]
773be1cc: ntdll!RtlInitUnicodeString [77390000+2e068+164]
760e14d1: kernel32!HeapFree [760d0000+114bd+14]
0b8223df: mt_masktools-26!000923df
0b8223fe: mt_masktools-26!000923fe
773be1cc: ntdll!RtlInitUnicodeString [77390000+2e068+164]
773bdf32: ntdll!RtlAllocateHeap [77390000+2de86+ac]
0315a5ba: AviSynth!avs_release_value [03150000+8320+229a]
0315bfb5: AviSynth!avs_release_value [03150000+8320+3c95]
0b7bc5c3: mt_masktools-26!0002c5c3
0315a5ba: AviSynth!avs_release_value [03150000+8320+229a]
0315bfb5: AviSynth!avs_release_value [03150000+8320+3c95]
0318e34f: AviSynth!DllGetClassObject [03150000+e7d0+2fb7f]
0315a5ba: AviSynth!avs_release_value [03150000+8320+229a]
0315bfb5: AviSynth!avs_release_value [03150000+8320+3c95]
0315eee7: AviSynth!DllGetClassObject [03150000+e7d0+717]
760e3677: kernel32!BaseThreadInitThunk [760d0000+13665+12]
773c9d42: ntdll!RtlInitializeExceptionChain [77390000+39cdf+63]
773c9d15: ntdll!RtlInitializeExceptionChain [77390000+39cdf+36]

-- End of report
I am using the same 09/19/09 release of Avisynth 2.6 that you linked. By God there must be a solution. I did try dropping the AVS script onto the program you created but my script crashes the program with no error messages
Fullmetal Encoder is offline   Reply With Quote
Old 23rd January 2011, 10:24   #126  |  Link
Groucho2004
Fossil
 
Groucho2004's Avatar
 
Join Date: Mar 2006
Location: A wretched hive of scum and villainy
Posts: 4,471
Quote:
Originally Posted by Fullmetal Encoder View Post
I did try dropping the AVS script onto the program you created but my script crashes the program with no error messages
Dropping? It's a console app, the syntax is "AVSInfo script.avs".
Groucho2004 is offline   Reply With Quote
Old 23rd January 2011, 21:58   #127  |  Link
Fullmetal Encoder
Registered User
 
Join Date: Jan 2011
Posts: 107
Quote:
Originally Posted by Groucho2004 View Post
Dropping? It's a console app, the syntax is "AVSInfo script.avs".
Yes, I knew it was a CL program but whether I open the command prompt window and use "AVSInfo TestScript.avs" or left-click and drag-and-drop the script onto the .exe it gives me the same result and crashes on frame 1. But using it was valuable because at least I know now that the error isn't being caused by something in VirutalDub.
Fullmetal Encoder is offline   Reply With Quote
Old 24th January 2011, 00:13   #128  |  Link
Groucho2004
Fossil
 
Groucho2004's Avatar
 
Join Date: Mar 2006
Location: A wretched hive of scum and villainy
Posts: 4,471
Quote:
Originally Posted by Fullmetal Encoder View Post
I know now that the error isn't being caused by something in VirutalDub.
There are so many things that could be wrong.

- I recall that you had 64 bit Avisynth installed and I suppose that you just overwrote the 64 bit avisynth DLL with the 32 bit version. That could be a problem, not sure.
- One of the DLLs needed for QTGMC could be causing a problem on your system.

All you can do is to systematically troubleshoot this. Start with a very simple script and then try all used filters in QTGMC one by one.
Groucho2004 is offline   Reply With Quote
Old 24th January 2011, 03:31   #129  |  Link
Fullmetal Encoder
Registered User
 
Join Date: Jan 2011
Posts: 107
Quote:
Originally Posted by Groucho2004 View Post
There are so many things that could be wrong.

- I recall that you had 64 bit Avisynth installed and I suppose that you just overwrote the 64 bit avisynth DLL with the 32 bit version. That could be a problem, not sure.
- One of the DLLs needed for QTGMC could be causing a problem on your system.

All you can do is to systematically troubleshoot this. Start with a very simple script and then try all used filters in QTGMC one by one.
Ah yes, I had not thought to test all the used filters individually. I will report back here with the results when I can.
Fullmetal Encoder is offline   Reply With Quote
Old 25th January 2011, 11:45   #130  |  Link
Fullmetal Encoder
Registered User
 
Join Date: Jan 2011
Posts: 107
Ok, I'm back. I went through and indvidually tested every one of the necessary plugins for QTGMC except for masktools and mvtools as they are very difficult to test due to their complexity. Every other plugin, independently, works just fine using the following script:

Code:
SetMTMode(5,4)
Import("C:\Program Files (x86)\AviSynth 2.5\plugins\QTGMC.avsi")
LoadPlugin("PATH TO FFMS2")
FFVideoSource("PATH TO MKV")
SetMTMode(2)
PLUGIN.SelectEven()
In fact, they work very well giving nice fps numbers. Yet, when I use QTGMC as the PLUGIN I get KERNELBASE error every time. In order to retest I went ahead and re-downloaded every plugin, fresh, as linked from the main QTGMC thread here on Doom9. I also downloaded and copied over a fresh Avisynth 2.6 (the same one you linked earlier and dated 09/19/09 by SEt). Through all of this new testing I simplified the script somewhat and discovered that if I remove line 5 from the above script (SetMTMode(2)) the KERNELBASE error vanishes and instead I get the good old "Avisynth read error Avisynth: unknown exception" crash. This is true whether I use SetMTMode(2) or SetMTMode(2,4), for example. Removing SelectEven() was also tested without success. I also made sure that the correct fftw3.dll was placed in my SysWow64 folder. I went through my plugins folder, removed all of the plugins that were not needed by QTGMC, confirmed that I had MT.dll version .7 in the plugins folder, made sure that avisynth.dll was placed in the correct systems folder and that I had a full 32-bit chain running for these tests using VirtualDub 32-bit. I tried replacing FFVideoSource() and the MKV I've been using with DirectShowSource() and an AVI and consistently received the same errors. Although I could not fully test every separate function of mvtools I did try two different versions (2.5.11.1 and 2.5.10) and still receive the same errors each time. I also tried using a previous version of MT.dll (.6) and received the same results. I even went and downloaded the new QTGMC (version 3.0), released just today, and still received both the KERNELBASE and "Avisynth read" errors in my tests. I also tried running VirtualDub with administrator privileges without success. However, this is not the only windows installation I have. I have a separate Windows 7 Professional 64-bit installation. So I tried booting into that system, re-downloading all of the relevant plugins and programs as discussed above and re-ran the script above and I STILL received the same KERNELBASE and "Avisynth read" errors As a last ditch effort I reorganized everything so that the script, source file, Avisynth, and VirtualDub softwares were all on the same drive (up until then they had all been on different drives) without success. The only thing left that I can think of is that there is something very wrong with the decoding process. I currently have a rather fresh install of the K-lite codec pack on this system (where I've done most of the work and where this all started on). I plan on uninstalling it, re-installing just the codecs I need and rerunning the tests. So far it seems that I've either made some horribly noobish mistake, which is admittedly still possible, or that I've discovered some freakish bug in 2.6 or masktools or mvtools. If anybody has any other ideas about what, or how, I could test this to narrow down the issue, please let me know. Round two begins tomorrow. Wish me luck.
Fullmetal Encoder is offline   Reply With Quote
Old 25th January 2011, 12:00   #131  |  Link
Groucho2004
Fossil
 
Groucho2004's Avatar
 
Join Date: Mar 2006
Location: A wretched hive of scum and villainy
Posts: 4,471
Quote:
Originally Posted by Fullmetal Encoder View Post
I currently have a rather fresh install of the K-lite codec pack on this system
That might well be at least one of your problems.

K-lite is an evil spawn of the darkest vigors of hell, each file of this malicious abomination has (or ought to have) a checksum of 666.
Groucho2004 is offline   Reply With Quote
Old 25th January 2011, 12:52   #132  |  Link
Gavino
Avisynth language lover
 
Join Date: Dec 2007
Location: Spain
Posts: 3,384
Quote:
Originally Posted by Fullmetal Encoder View Post
if I remove line 5 from the above script (SetMTMode(2)) the KERNELBASE error vanishes and instead I get the good old "Avisynth read error Avisynth: unknown exception" crash.
What if you remove SetMTMode altogether (ie run single-threaded)?
Quote:
confirmed that I had MT.dll version .7 in the plugins folder
MT.dll is only needed if you use the MT() function, not for SetMTMode().
Quote:
I currently have a rather fresh install of the K-lite codec pack on this system
Since ffvideosource does not use installed codecs, K-lite is not to blame (despite its poor reputation in some quarters).
Quote:
If anybody has any other ideas about what, or how, I could test this to narrow down the issue, please let me know.
I would first eliminate the multi-threading aspects and try to find the source of the error you get in single-threaded mode (which is probably the real origin of the problem).
__________________
GScript and GRunT - complex Avisynth scripting made easier
Gavino is offline   Reply With Quote
Old 25th January 2011, 13:14   #133  |  Link
Didée
Registered User
 
Join Date: Apr 2002
Location: Germany
Posts: 5,394
Haven't tried QTGMC under Avisynth 2.6 yet, but I can confirm that TGMC_b2 works fine. (After all, TGMC/QTGMC use the very same plugins.)

Observations:

a) Where TGMC + SetMTmode(2,4~6) would crash occasionally in Avisynth 2.5.8.5.MT, it seems rock stable in Avisynth 2.6 (SEt's 09-19 build).

b) in Avisynth 2.5.8.5.MT, QTGMC + SetMTmode(2,4~6) crashes more often for me than TGMC does. Can't tell why, it just is like that.


Question is - what sorts of "MT-related fixes" have been done to 2.6, that 2.5.8.5 is missing?
__________________
- We´re at the beginning of the end of mankind´s childhood -

My little flickr gallery. (Yes indeed, I do have hobbies other than digital video!)
Didée is offline   Reply With Quote
Old 25th January 2011, 16:32   #134  |  Link
JEEB
もこたんインしたお!
 
JEEB's Avatar
 
Join Date: Jan 2008
Location: Finland / Japan
Posts: 514
Since Avisynth 2.6 builds are rare and far away from each other, I thought about doing some trunk builds from now on for those interested. Build environment currently consists of MSVS2010 with the Win7 SDK and the July 2010 DirectX SDK with ddraw.lib added, so these runtimes will most probably be needed to run the library.

These are strictly experimental builds, and thus the package contains both debug and release binaries.

2011-01-25
VS2010 | VS2008 | Sources
__________________
[I'm human, no debug]

Last edited by JEEB; 26th January 2011 at 12:54.
JEEB is offline   Reply With Quote
Old 25th January 2011, 18:00   #135  |  Link
Zep
Registered User
 
Join Date: Jul 2002
Posts: 587
cool will test it over the weekend and if any show stoppers i will let you know.
Zep is offline   Reply With Quote
Old 25th January 2011, 18:33   #136  |  Link
Gavino
Avisynth language lover
 
Join Date: Dec 2007
Location: Spain
Posts: 3,384
Quote:
Originally Posted by JEEB View Post
Build environment currently consists of MSVS2010
Unfortunately, that prevents use of older OS versions such as Windows 2000. Could you possibly use VS2008 or earlier?
__________________
GScript and GRunT - complex Avisynth scripting made easier
Gavino is offline   Reply With Quote
Old 25th January 2011, 18:57   #137  |  Link
JEEB
もこたんインしたお!
 
JEEB's Avatar
 
Join Date: Jan 2008
Location: Finland / Japan
Posts: 514
Quote:
Originally Posted by Gavino View Post
Unfortunately, that prevents use of older OS versions such as Windows 2000. Could you possibly use VS2008 or earlier?
I have VS2008 set up as well, so I'll do a build in a while (I do hate the fact that Visual Studios older than 2010 save the include/lib/etc. settings globally instead of saving them per-project).

I could also mention here that this version of Windows is now without official support as well, but since it's NT5-based and VS2008 can make binaries that work on it, I'll pass on that .
__________________
[I'm human, no debug]
JEEB is offline   Reply With Quote
Old 25th January 2011, 23:48   #138  |  Link
Fullmetal Encoder
Registered User
 
Join Date: Jan 2011
Posts: 107
Quote:
Originally Posted by Gavino View Post
What if you remove SetMTMode altogether (ie run single-threaded)?
Earlier on, this is what I had done. For example, if I use this:

Code:
Import("C:\Program Files (x86)\AviSynth 2.5\plugins\QTGMC3.0.avsi")
LoadPlugin("ffms2.dll")
FFVideoSource("X.mkv")
Everything works fine. I can select Direct Stream Copy in VirtualDub and re-save the file. If, however, I use:

Code:
Import("C:\Program Files (x86)\AviSynth 2.5\plugins\QTGMC3.0.avsi")
LoadPlugin("ffms2.dll")
FFVideoSource("X.mkv")
QTGMC(preset="fast")
I get "Avisynth read error Avisynth: unknown exception" a few dozen frames into the process. Omitting Import() doesn't change anything either. When using SetMTMode() before QTGMC() I always get the KERNELBASE error on frame 1. While VirtualDub provides me with an "advanced" report on the KERNELBASE crash it doesn't give me any information at all on the read error. This is true whether I use "fast" or "slow" as the preset for QTGMC. I would suspect some kind of corruption in a used Windows component but then that component would have to be corrupt in just the same way in two different installations to reproduce the same errors in both. In that vein, are there any DLLS that you think might commonly be present on a coder's system that wouldn't be on a system like mine? Like something in windows that might be invoked by mvtools/masktools/avisynth? I did have a crash with VirtualDub before I began working on this problem wherein it died while attempting to run a script with a message telling me that I needed some vcomp100.dll. I subsequently tracked it down and put it in the right folder and it stopped complaining after that. In case you are wondering if that might be the culprit here, it isn't, as I've tested and get the same errors on the above script without vcomp100.dll.

Quote:
Originally Posted by Gavino View Post
MT.dll is only needed if you use the MT() function, not for SetMTMode().
Yes, I recall reading this in one of the threads here in the past but I had forgotten. And now I remember again No harm done though as I'm just grasping at straws at this point to look for clues.

Quote:
Originally Posted by Gavino View Post
Since ffvideosource does not use installed codecs, K-lite is not to blame (despite its poor reputation in some quarters).
This is good to know as I have yet to rip k-lite out of my system and I have it set up properly atm.

Quote:
Originally Posted by Gavino View Post
...find the source of the error you get in single-threaded mode (which is probably the real origin of the problem).
Yes, I suspect they are caused by the same source. Is there some kind of process explorer that I could use that might shed some light on what's really going on when I run the script that produces the Avisynth read error?

Also, is there something about the video file itself that could be causing the error? I can't imagine what it could be but both the AVI and the MKV I've tested are the same source material. Maybe it just doesn't like my anime.

Last edited by Fullmetal Encoder; 26th January 2011 at 00:42.
Fullmetal Encoder is offline   Reply With Quote
Old 26th January 2011, 01:22   #139  |  Link
Groucho2004
Fossil
 
Groucho2004's Avatar
 
Join Date: Mar 2006
Location: A wretched hive of scum and villainy
Posts: 4,471
Quote:
Originally Posted by Fullmetal Encoder View Post
Is there some kind of process explorer that I could use that might shed some light on what's really going on when I run the script that produces the Avisynth read error?
Sure, the one and only Sysinternals Process Explorer
Groucho2004 is offline   Reply With Quote
Old 26th January 2011, 02:27   #140  |  Link
levi
Registered User
 
Join Date: Mar 2003
Posts: 116
jeeb are you doing 64 bit builds?
levi is offline   Reply With Quote
Reply

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +1. The time now is 01:35.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, vBulletin Solutions Inc.