Welcome Guest ( Log In | Register )


Important

The forums will be closing permanently the weekend of March 15th. Please see the notice in the announcements forum for details.

 
Matroska Input-filter Crash
« Next Oldest | Next Newest » Track this topic | Email this topic | Print this topic
JPT
Posted: Jul 7 2011, 02:35 PM


Member


Group: Members
Posts: 11
Member No.: 32016
Joined: 4-July 11



Hi,

I muxed a VC1 and an AC3 track using mkvmerge GUI 4.8.0 into a matroska file.
(since i wasn't able to open the VC1 directly in vdub)
Then I opened it in vdub. After successful import it showed only garbage. Moving the Frame-Slider chrashed vdub.

Missing codecs?

vdub 1.9.11
matroska filter 3.0

I do not want to post the whole crash report, since there seems to be no way to attach files.
So i'll add only what I believe is the most important. if you need any more info...

CODE

Thread call stack:
03392262: SCLS!DriverProc [03390000+1328+f3a]
033937ed: SCLS!DriverProc [03390000+1328+24c5]
0339a8f3: SCLS!DriverProc [03390000+1328+95cb]
0339a89f: SCLS!DriverProc [03390000+1328+9577]
03391dd4: SCLS!DriverProc [03390000+1328+aac]
10009265: Matroska!VDGetPluginInfo [10000000+4030+5235]
0339147b: SCLS!DriverProc [03390000+1328+153]
75ec18a8: MSVFW32!ICSendMessage [75ec0000+187d+2b]
75ec4c4d: MSVFW32!ICDecompress [75ec0000+4c10+3d]
1000840a: Matroska!VDGetPluginInfo [10000000+4030+43da]
100085be: Matroska!VDGetPluginInfo [10000000+4030+458e]
004d4034: VDVideoSourcePlugin::streamGetFrame()
0043360a: VDFilterFrameVideoSource::RunRequests()
5d468659: COMCTL32!DefSubclassProc [5d450000+184f1+168]
77d18709: USER32!GetDC [77d10000+8697+72]
004619f6: VDProject::UpdateFrame()
00432855: VDFilterFrameRequest::CreateClient()
0043289d: VDFilterFrameRequest::CreateClient()
00431bb2: VDFilterFrameManualSource::CreateRequest()
0043c92b: FilterSystem::RequestFrame()
00462752: VDProject::DisplayFrame()
00460b28: VDProject::MoveToFrame()
004672f3: VDProjectUI::OnPositionNotify()
0046d85a: VDProjectUI::MainWndProc()
 
     Top
ale5000
Posted: Jul 7 2011, 04:01 PM


Advanced Member


Group: Members
Posts: 1114
Member No.: 22180
Joined: 30-September 07



You should post the whole crash report and maybe also the video that cause the crash (it is better if you find a small video that cause the crash).

--------------------
New VirtualDub forum
VirtualDub AIO (All-in-One installer for VirtualDub and plugins)
Codec Toolbox RS (A tool to read/change merit of codecs and many other things)
Input plugins for VirtualDub / ACM codecs / VFW codecs
 
     Top
JPT
Posted: Jul 8 2011, 10:22 AM


Member


Group: Members
Posts: 11
Member No.: 32016
Joined: 4-July 11



Ok,
another try, similar crash:
(i did the remuxing for testing the mkv plugin only)

- recorded from DVB-S using vcr.net
- demuxed using project X
- cut using cuttermaran
- mux to mpeg ps using mplex (up to date version! compiled it a week ago)
- remux to mkv using mplextools Mkvmerge GUI.
- open with vdub.

Same problems. It does not recognize the codec. Shows garbage only.
Do some scrolling and it will crash.

So this time we have MPEG2 Video and MPEG 1 Layer 2 Audio.

fcchandler statet "The Matroska plugin allows you to open most Matroska files..."
So does he speak of H264 codec only? If so, maybe the filter should check the codec and print a warning.

Report of this crash:
CODE

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

Disassembly:
017821e0: ff8b5d08c703    dec    dword ptr [ebx+3c7085d]
017821e6: 0000            add    [eax], al
017821e8: 0000            add    [eax], al
017821ea: 85c9            test   ecx, ecx
017821ec: 0f868c010000    jbe    0178237e
017821f2: 8945b8          mov    [ebp-48h], eax
017821f5: 8b450c          mov    eax, [ebp+0ch]
017821f8: 8975bc          mov    [ebp-44h], esi
017821fb: 8bda            mov    ebx, edx
017821fd: 8b75b8          mov    esi, [ebp-48h]
01782200: 031cb8          add    ebx, [eax+edi*4]
01782203: 3bf3            cmp    esi, ebx
01782205: 0f826b010000    jc     01782376
0178220b: 8bd3            mov    edx, ebx
0178220d: 47              inc    edi
0178220e: 8b7508          mov    esi, [ebp+08h]
01782211: 893e            mov    [esi], edi
01782213: 3bf9            cmp    edi, ecx
01782215: 72e4            jc     017821fb
01782217: 8b75bc          mov    esi, [ebp-44h]
0178221a: 8b450c          mov    eax, [ebp+0ch]
0178221d: 031cb8          add    ebx, [eax+edi*4]
01782220: 8b4510          mov    eax, [ebp+10h]
01782223: 8b38            mov    edi, [eax]
01782225: 8975e0          mov    [ebp-20h], esi
01782228: 8955e4          mov    [ebp-1ch], edx
0178222b: 897de8          mov    [ebp-18h], edi
0178222e: 8b560c          mov    edx, [esi+0ch]
01782231: 8955ec          mov    [ebp-14h], edx
01782234: 8b45e4          mov    eax, [ebp-1ch]
01782237: f765ec          mul    eax, dword ptr [ebp-14h]
0178223a: f775e8          div    eax, dword ptr [ebp-18h]
0178223d: 8d5001          lea    edx, [eax+01h]
01782240: 8955b8          mov    [ebp-48h], edx
01782243: 8b5604          mov    edx, [esi+04h]
01782246: 8d440201        lea    eax, [edx+eax+01h]
0178224a: 894604          mov    [esi+04h], eax
0178224d: 8975f0          mov    [ebp-10h], esi
01782250: 895df4          mov    [ebp-0ch], ebx
01782253: 897df8          mov    [ebp-08h], edi
01782256: 8b5e0c          mov    ebx, [esi+0ch]
01782259: 895dfc          mov    [ebp-04h], ebx
0178225c: 8b45f4          mov    eax, [ebp-0ch]
0178225f: f765fc          mul    eax, dword ptr [ebp-04h]
01782262: f775f8          div    eax, dword ptr [ebp-08h]      <-- FAULT
01782265: 2b45b8          sub    eax, [ebp-48h]
01782268: 3d00000001      cmp    eax, 01000000
0178226d: 89460c          mov    [esi+0ch], eax
01782270: 732e            jnc    017822a0
01782272: 8b5618          mov    edx, [esi+18h]
01782275: 8b5e04          mov    ebx, [esi+04h]
01782278: 8b4dc0          mov    ecx, [ebp-40h]
0178227b: c1e208          shl    edx, 08h
0178227e: 0fb639          movzx  edi, byte ptr [ecx]
01782281: 0bd7            or     edx, edi
01782283: 895618          mov    [esi+18h], edx
01782286: c1e308          shl    ebx, 08h
01782289: c1e008          shl    eax, 08h
0178228c: 895e04          mov    [esi+04h], ebx
0178228f: 41              inc    ecx
01782290: 3d00000001      cmp    eax, 01000000
01782295: 89460c          mov    [esi+0ch], eax
01782298: 72e1            jc     0178227b
0178229a: 894dc0          mov    [ebp-40h], ecx
0178229d: 8b4d14          mov    ecx, [ebp+14h]
017822a0: 8b4508          mov    eax, [ebp+08h]
017822a3: 8b30            mov    esi, [eax]
017822a5: 8b5518          mov    edx, [ebp+18h]
017822a8: 8b7d0c          mov    edi, [ebp+0ch]
017822ab: 8b5d10          mov    ebx, [ebp+10h]
017822ae: 0114b7          add    [edi+esi*4], edx
017822b1: 8b03            mov    eax, [ebx]
017822b3: 8d1402          lea    edx, [edx+eax]
017822b6: 81fa00000100    cmp    edx, 00010000
017822bc: 0f869d000000    jbe    0178235f
017822c2: 8b4510          mov    eax, [ebp+10h]
017822c5: 33f6            xor    esi, esi
017822c7: 85c9            test   ecx, ecx
017822c9: c70000000000    mov    dword ptr [eax], 00000000
017822cf: 0f868f000000    jbe    01782364
017822d5: 83f905          cmp    ecx, 05h
017822d8: 7265            jc     0178233f
017822da: 8d59fb          lea    ebx, [ecx-05h]
017822dd: 8b4510          mov    eax, [ebp+10h]

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

Windows 5.1 (Windows XP x86 build 2600) [Service Pack 2]

EAX = c999a000
EBX = bddcc400
ECX = 00000004
EDX = 00000227
EBP = 0013f884
ESI = 01d80050
EDI = 00000176
ESP = 0013f83c
EIP = 01782262
EFLAGS = 00210a13
FPUCW = ffff027f
FPUTW = ffffffff

Crash reason: Integer Overflow

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

Pointer dumps:

ESI   01d80050: 00000000 618f07b7 00000000 bddcc400 00000000 00000000 62b37d2e 00000000
ESP   0013f838: 00000000 bbd4edb7 01d80050 00cdcda2 01d80048 00029af0 0013f8a8 01d80050
     0013f858: bcf9632e 00000176 bddcc400 01d80050 00000172 00000176 bddcc400 01d80050
     0013f878: 000002e8 00000176 bddcc400 01d80050 017837ed 0013f8a8 01d8e630 01d8e640
     0013f898: 00000004 00000001 00cdcda2 000000b2 00000004 000000b5 000000df 000000c6
EBP   0013f880: bddcc400 01d80050 017837ed 0013f8a8 01d8e630 01d8e640 00000004 00000001
     0013f8a0: 00cdcda2 000000b2 00000004 000000b5 000000df 000000c6 01c79b10 01d80048
     0013f8c0: 01d80050 01d8e630 01d8e640 00cdcda2 00ac1090 01d80048 0013f97c 01c50020
     0013f8e0: 0178a8f3 00cdcc39 01c50020 0013f97c 00cdcc38 0013f97c 01c50020 0178a89f

Thread call stack:
01782262: SCLS!DriverProc [01780000+1328+f3a]
017837ed: SCLS!DriverProc [01780000+1328+24c5]
0178a8f3: SCLS!DriverProc [01780000+1328+95cb]
0178a89f: SCLS!DriverProc [01780000+1328+9577]
01781dd4: SCLS!DriverProc [01780000+1328+aac]
10009265: Matroska!VDGetPluginInfo [10000000+4030+5235]
0178147b: SCLS!DriverProc [01780000+1328+153]
75ec18a8: MSVFW32!ICSendMessage [75ec0000+187d+2b]
75ec4c4d: MSVFW32!ICDecompress [75ec0000+4c10+3d]
1000840a: Matroska!VDGetPluginInfo [10000000+4030+43da]
100085be: Matroska!VDGetPluginInfo [10000000+4030+458e]
004d4034: VDVideoSourcePlugin::streamGetFrame()
0043360a: VDFilterFrameVideoSource::RunRequests()
5d468659: COMCTL32!DefSubclassProc [5d450000+184f1+168]
77d18709: USER32!GetDC [77d10000+8697+72]
004619f6: VDProject::UpdateFrame()
00432855: VDFilterFrameRequest::CreateClient()
0043289d: VDFilterFrameRequest::CreateClient()
00431bb2: VDFilterFrameManualSource::CreateRequest()
0043c92b: FilterSystem::RequestFrame()
00462752: VDProject::DisplayFrame()
00462292: VDProjectTimelineTimingSource::GetNearestKey()
00460b28: VDProject::MoveToFrame()
00460c57: VDProject::MoveToNearestKey()
004672a0: VDProjectUI::OnPositionNotify()
0046d85a: VDProjectUI::MainWndProc()
77d194a7: USER32!GetWindowLongA [77d10000+947c+2b]
00465ac0: VDProjectUI::WndProc()
00479b65: VDUIFrame::StaticWndProc()
77d18709: USER32!GetDC [77d10000+8697+72]
77d187eb: USER32!GetDC [77d10000+8697+154]
77d1b743: USER32!GetParent [77d10000+b5d7+16c]
77d1e2f7: USER32!SendMessageA [77d10000+e2ae+49]
004b21db: VDPositionControlW32::Notify()
00518cdb: VDRoundToInt64()
004b2d78: VDPositionControlW32::WndProc()
004b32a2: VDPositionControlW32::StaticWndProc()
77d18709: USER32!GetDC [77d10000+8697+72]
77d187eb: USER32!GetDC [77d10000+8697+154]
77d189a5: USER32!GetWindowLongW [77d10000+887e+127]
77d1cff8: USER32!PeekMessageA [77d10000+cefd+fb]
77d1bccc: USER32!DispatchMessageA [77d10000+bcbd+f]
00452596: WinMain@16()
005b78db: __tmainCRTStartup()
7c816d4f: kernel32!RegisterWaitForInputIdle [7c800000+16d06+49]
 
     Top
ale5000
Posted: Jul 8 2011, 03:22 PM


Advanced Member


Group: Members
Posts: 1114
Member No.: 22180
Joined: 30-September 07



It support a lot of formats including MPEG2 Video, MPEG 1 Layer 2 Audio, AC3 Audio (I'm not sure about VC1) and usually doesn't crash when you open a format that it doesn't support.

If you upload the file (for example to http://www.multiupload.com/) and post the link here, fcchandler will be able to fix the problem faster.

--------------------
New VirtualDub forum
VirtualDub AIO (All-in-One installer for VirtualDub and plugins)
Codec Toolbox RS (A tool to read/change merit of codecs and many other things)
Input plugins for VirtualDub / ACM codecs / VFW codecs
 
     Top
Matrosko
Posted: Jul 9 2011, 01:32 PM


Newbie


Group: Members
Posts: 5
Member No.: 32072
Joined: 8-July 11



Wich version of matroska is used on the muxed file?
Something like:
CODE

Writing application              : mkvmerge v4.8.0 ('I Got The...') built on May 24 2011 03:12:58
Writing library                  : libebml v1.2.0 + libmatroska v1.1.0

From 4.1.0 header compression is set by default.
Remove it from option tab.

http://www.bunkus.org/videotools/mkvtoolni...val_compression
 
     Top
fccHandler
Posted: Jul 9 2011, 02:41 PM


Administrator n00b


Group: Moderators
Posts: 3961
Member No.: 280
Joined: 13-September 02



The Matroska input plugin supports header removal compression, so that's not the problem.

The crash is not in VirtualDub or the Matroska plugin, but in a module identified as "SCLS". It has a DriverProc function, which hints that it might be a codec. That's about all I can see in the crash dump, but your description of the behavior definitely points to a codec problem. What video codecs and/or packages have you installed?

FWIW, I am using ffdshow tryouts Beta 7. Good stuff.

I have not tested VC1 in Matroska so I don't know whether the plugin will work with it or not. I have tested MPEG-2 in Matroska and it should work.


--------------------
May the FOURCC be with you...
 
     Top
ale5000
Posted: Jul 9 2011, 04:14 PM


Advanced Member


Group: Members
Posts: 1114
Member No.: 22180
Joined: 30-September 07



@JPT: In VirtualDub look at File => File information to see what video/audio codecs are used.

--------------------
New VirtualDub forum
VirtualDub AIO (All-in-One installer for VirtualDub and plugins)
Codec Toolbox RS (A tool to read/change merit of codecs and many other things)
Input plugins for VirtualDub / ACM codecs / VFW codecs
 
     Top
Matrosko
Posted: Jul 9 2011, 05:23 PM


Newbie


Group: Members
Posts: 5
Member No.: 32072
Joined: 8-July 11



QUOTE (fccHandler @ Jul 9 2011, 02:41 PM)
The Matroska input plugin supports header removal compression, so that's not the problem.

The crash is not in VirtualDub or the Matroska plugin, but in a module identified as "SCLS".  It has a DriverProc function, which hints that it might be a codec.  That's about all I can see in the crash dump, but your description of the behavior definitely points to a codec problem.  What video codecs and/or packages have you installed?

FWIW, I am using ffdshow tryouts Beta 7.  Good stuff.

I have not tested VC1 in Matroska so I don't know whether the plugin will work with it or not.  I have tested MPEG-2 in Matroska and it should work.

smart ppl here ohmy.gif
So this filter doesnt work alone.
Also needs haali splitter?
It is possible to save the parsing like an index file and skeep every time the pharsing of that file?
 
     Top
ale5000
Posted: Jul 9 2011, 05:32 PM


Advanced Member


Group: Members
Posts: 1114
Member No.: 22180
Joined: 30-September 07



@Matrosko: No, it doesn't need any splitter to be used from VirtualDub.

PS: From a fast test VC1 in Matroska seems to works fine.

--------------------
New VirtualDub forum
VirtualDub AIO (All-in-One installer for VirtualDub and plugins)
Codec Toolbox RS (A tool to read/change merit of codecs and many other things)
Input plugins for VirtualDub / ACM codecs / VFW codecs
 
     Top
phaeron
Posted: Jul 9 2011, 09:30 PM


Virtualdub Developer


Group: Administrator
Posts: 7773
Member No.: 61
Joined: 30-July 02



Google search says SCLS.DLL is the MSU Screen Capture Lossless Codec. That doesn't sound like something that should be activating with VC-1 data.
 
    Top
JPT
Posted: Jul 10 2011, 10:18 AM


Member


Group: Members
Posts: 11
Member No.: 32016
Joined: 4-July 11



Wow.
So many answers. Thanks!

I just tried the MKV again, and now it works.
Uses ffdshow (WVC1).
I tinkered with the ffdshow config recently, making it default for a few addional codec IDs.
So, seems the problem wasn't the muxing at all, but the MSU codec.
They have great software, but it often seems to be rather instable. I should remove it.

The matroska plugin works well with the VC1 codec but initially shows a green screen.

The MPEG2 Video showing garbage is because of the MSU codec, too.
Removing the MSU codecs results in showing "Missing Codec" in vdub.
Wow. That's how software should report problems. Great work, fcchandler!
Changed the ffdshow settings again: and it works!
But there again is a green screen after startup of vdub. seems to be a ffdshow problem.
Got fddshow tryouts rev 3866 of May 2011

Ok, next time I have problems like this, I know how to handle them smile.gif

Thank you very much for your help!

JPT
 
     Top
JPT
Posted: Jul 10 2011, 01:01 PM


Member


Group: Members
Posts: 11
Member No.: 32016
Joined: 4-July 11



The green actually *is* a problem.
I tried to compress 3 times, using different start frames.
- once I got green frames at frame 2 to 4
- 2
- 2 and 3

any idea where this comes from?

Using a different codec (lagarith), it's frame 0 and 1.

ps. the green frame really is in the output. Tried the avi on a hardware player, too.
 
     Top
ale5000
Posted: Jul 10 2011, 05:24 PM


Advanced Member


Group: Members
Posts: 1114
Member No.: 22180
Joined: 30-September 07



You can avoid green frames by using x264vfw and Xvid to decode H.264 and Xvid videos instead of ffdshow-tryouts.

--------------------
New VirtualDub forum
VirtualDub AIO (All-in-One installer for VirtualDub and plugins)
Codec Toolbox RS (A tool to read/change merit of codecs and many other things)
Input plugins for VirtualDub / ACM codecs / VFW codecs
 
     Top
1 User(s) are reading this topic (1 Guests and 0 Anonymous Users)
0 Members:
12 replies since Jul 7 2011, 02:35 PM Track this topic | Email this topic | Print this topic

<< Back to VirtualDub Filters and Filter Development