|
|
| fccHandler |
| Posted: Jan 23 2011, 05:11 AM |
 |
|
Administrator n00b
  
Group: Moderators
Posts: 3961
Member No.: 280
Joined: 13-September 02

|
| QUOTE (Loadus @ Dec 31 2010, 07:48 AM) | Could you cook up a version of the MKV plugin and your (awesome) MPEG-2 plugin that automatically write an index file right next to the original file (ie. without going to advanced settings)?
|
Sorry to be so late responding; I missed your post the first time around.
The only thing that bothers me about your scenario is that it would need to happen automatically without giving the user a choice. That's out of the question.
Instead, I think the best way to do this would be to have an extended open option checkbox (unchecked by default) which you can check to enable the feature. Once checked, the plugin stores that option in the registry so it sticks.
I don't think the coding in this case will be as much of a hassle as it was for the MPEG-2 plugin, so I will definitely consider adding the feature. You will read about it here if/when I do.
-------------------- May the FOURCC be with you... |
 |
| Loadus |
| Posted: Jan 23 2011, 09:01 AM |
 |
|

Advanced Member
  
Group: Members
Posts: 352
Member No.: 10881
Joined: 1-July 04

|
| QUOTE (fccHandler @ Jan 22 2011, 11:11 PM) | | QUOTE (Loadus @ Dec 31 2010, 07:48 AM) | Could you cook up a version of the MKV plugin and your (awesome) MPEG-2 plugin that automatically write an index file right next to the original file (ie. without going to advanced settings)?
|
Sorry to be so late responding; I missed your post the first time around.
The only thing that bothers me about your scenario is that it would need to happen automatically without giving the user a choice. That's out of the question.
Instead, I think the best way to do this would be to have an extended open option checkbox (unchecked by default) which you can check to enable the feature. Once checked, the plugin stores that option in the registry so it sticks.
I don't think the coding in this case will be as much of a hassle as it was for the MPEG-2 plugin, so I will definitely consider adding the feature. You will read about it here if/when I do. | Sounds great, good job so far. ^^
-------------------- deviantART behance |
 |
| ale5000 |
| Posted: Feb 1 2011, 10:12 PM |
 |
|

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

|
It would be nice if you add support to .webm / .webmv / .webma extensions (they should be similar to .mkv / .mka) and the new matroska extension: .mk3d (stereoscopic/3D video)[/b]
-------------------- 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 |
 |
| fccHandler |
| Posted: Feb 5 2011, 03:38 AM |
 |
|
Administrator n00b
  
Group: Moderators
Posts: 3961
Member No.: 280
Joined: 13-September 02

|
| QUOTE (ale5000 @ Feb 1 2011, 06:12 PM) | | There is "FLV" in the title of the Matroska page |
That's what I get for using Notepad cut and paste to make web pages. 
| QUOTE (ale5000 @ Feb 1 2011, 06:12 PM) | | It would be nice if you add support to .webm / .weba extensions (they should be similar to .mkv / .mkv) and the new matroska extension: .mk3d (stereoscopic/3D video) |
Is the only difference the file extension? If so, I can easily add those extensions to my plugin. However, if they are internally different from the Matroska spec then they will not work, and I will need to get some examples before I can consider supporting them.
-------------------- May the FOURCC be with you... |
 |
| ale5000 |
| Posted: Feb 5 2011, 03:54 AM |
 |
|

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

|
| QUOTE (fccHandler @ Feb 5 2011, 03:38 AM) | | Is the only difference the file extension? If so, I can easily add those extensions to my plugin. However, if they are internally different from the Matroska spec then they will not work, and I will need to get some examples before I can consider supporting them. |
About .mk3d I don't really know.
About .webm, .webmv and .webma:
| QUOTE | | WebM is a digital multimedia container file format promoted by the open-source WebM Project. It comprises a subset of the Matroska multimedia container format. |
Spec: http://www.webmproject.org/code/specs/container/
PS: MKVtoolnix can create them => http://www.bunkus.org/videotools/mkvtoolnix/ To create a .webm / .webmv / .webma file drag a video over "mkvmerge GUI", go on Global and check "Create WebM compliant file", etc. To create a .mk3d drag a video over "mkvmerge GUI", select the video track, go on "Format specific options" and set "Stereoscopy" (I have never used it so I don't really know what it means).
-------------------- 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 |
 |
| fccHandler |
| Posted: Feb 5 2011, 06:13 PM |
 |
|
Administrator n00b
  
Group: Moderators
Posts: 3961
Member No.: 280
Joined: 13-September 02

|
Regarding .webm and .weba, they are subsets of Matroska which allow only VP8 video and/or Vorbis audio. The plugin doesn't currently support either of these codecs, so until it does (if ever) there is no reason to add those extensions.
Regarding .mk3d, all this does is add a value to the stream (StereoMode=n). It seems intended to specify a means to encode two stereo video tracks, one for the left eye and one for the right. If you are not actually muxing stereo video streams, you should turn this off. Consequently I will not add this extension because I have no idea yet how I would support stereo video in VirtualDub.
-------------------- May the FOURCC be with you... |
 |
| fccHandler |
| Posted: Feb 6 2011, 06:04 AM |
 |
|
Administrator n00b
  
Group: Moderators
Posts: 3961
Member No.: 280
Joined: 13-September 02

|
| QUOTE (Loadus @ Dec 31 2010, 07:48 AM) | Could you cook up a version of the MKV plugin and your (awesome) MPEG-2 plugin that automatically write an index file right next to the original file (ie. without going to advanced settings)?
|
This turned out to be trickier than I expected, but I think it is finished now for Matroska. Let me know if you see any problems.
http://fcchandler.home.comcast.net/Plugins/Matroska
-------------------- May the FOURCC be with you... |
 |
| ale5000 |
| Posted: Feb 6 2011, 09:16 AM |
 |
|

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

|
Edit: Problem fixed
-------------------- 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 |
 |
| Loadus |
| Posted: Feb 6 2011, 09:46 AM |
 |
|

Advanced Member
  
Group: Members
Posts: 352
Member No.: 10881
Joined: 1-July 04

|
| QUOTE (fccHandler @ Feb 6 2011, 12:04 AM) | | QUOTE (Loadus @ Dec 31 2010, 07:48 AM) | Could you cook up a version of the MKV plugin and your (awesome) MPEG-2 plugin that automatically write an index file right next to the original file (ie. without going to advanced settings)?
|
This turned out to be trickier than I expected, but I think it is finished now for Matroska. Let me know if you see any problems.
http://fcchandler.home.comcast.net/Plugins/Matroska | You friggin' rock, m8. Let me know if you ever need graphics for anything - icons, logos etc. I owe you a lot.
-------------------- deviantART behance |
 |
| fccHandler |
| Posted: Feb 6 2011, 05:27 PM |
 |
|
Administrator n00b
  
Group: Moderators
Posts: 3961
Member No.: 280
Joined: 13-September 02

|
| QUOTE (ale5000 @ Feb 6 2011, 05:16 AM) | | @fccHandler: In the dialog it say "[filename].mkvindex" while the file created has the extension ".mkidx". |
Oops, that's left over from when I was trying to decide what the extension would be. Will fix in the next release.
| QUOTE (ale5000 @ Feb 6 2011, 05:16 AM) | | Also the .mkidx file cannot by opened unless you manually select "Matroska files" from the drop down list. |
I didn't plan to allow opening .mkidx files directly, but I might add that feature later. Right now, the fact that you can open it by force is a bug.
Regarding Vorbis, it's been discussed before in this thread. I would like to add support, but it will surely be complex and I can't say when I will get around to it.
-------------------- May the FOURCC be with you... |
 |
| ale5000 |
| Posted: Feb 6 2011, 06:02 PM |
 |
|

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

|
Edit: Problem fixed
-------------------- 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 |
 |
| fccHandler |
| Posted: Feb 6 2011, 07:31 PM |
 |
|
Administrator n00b
  
Group: Moderators
Posts: 3961
Member No.: 280
Joined: 13-September 02

|
| QUOTE (ale5000 @ Feb 6 2011, 02:02 PM) | | I thought that the function of writing and index to file was for opening later the index file (to open the video with parsing it). |
No, in VirtualDub you always open the .mkv file, not the .mkidx file. What happens is the plugin looks for a previously saved .mkidx file in the same folder and with the same name as the .mkv file. If the .mkidx file exists, then it automatically loads the index from that, which is like 1000 times faster than doing a full parse of the .mkv.
In the future I will probably add the ability to open the .mkidx file directly, but currently it doesn't work.
To support Vorbis I have a pretty good idea of what I need to do; it's just a matter of deciding how and where to implement it. I think it is going to be difficult to do without turning the current code into a huge mess, and to be really honest Vorbis is kind of low on my priorities.
-------------------- May the FOURCC be with you... |
 |
| fccHandler |
| Posted: Feb 6 2011, 07:48 PM |
 |
|
Administrator n00b
  
Group: Moderators
Posts: 3961
Member No.: 280
Joined: 13-September 02

|
Hmm, seems that "Save as default" is not having the desired effect, but I think I know why. Will fix soon.
EDIT: Fixed: http://fcchandler.home.comcast.net/Plugins/Matroska
This post has been edited by fccHandler on Feb 6 2011, 09:43 PM
-------------------- May the FOURCC be with you... |
 |
| Dstruct |
| Posted: Feb 11 2011, 06:27 PM |
 |
|
Advanced Member
  
Group: Members
Posts: 257
Member No.: 24005
Joined: 8-August 08

|
With this MKV file I'm getting VirtualDub to crash all the time:
| CODE | VirtualDub crash report -- build 32839 (release) --------------------------------------
Disassembly: 10007320: 8928 mov [eax], ebp 10007322: 8b442434 mov eax, [esp+34h] 10007326: 85c0 test eax, eax 10007328: 7406 jz 10007330 1000732a: c70001000000 mov dword ptr [eax], 00000001 10007330: 5f pop edi 10007331: 5b pop ebx 10007332: 33c0 xor eax, eax 10007334: 85d2 test edx, edx 10007336: 5e pop esi 10007337: 0f94c0 setz al 1000733a: 5d pop ebp 1000733b: 59 pop ecx 1000733c: c22000 ret 0020 1000733f: cc int 3 10007340: 8b442404 mov eax, [esp+04h] 10007344: 8b4810 mov ecx, [eax+10h] 10007347: 8b4124 mov eax, [ecx+24h] 1000734a: c20400 ret 0004 1000734d: cc int 3 1000734e: cc int 3 1000734f: cc int 3 10007350: 8b442404 mov eax, [esp+04h] 10007354: 8b4810 mov ecx, [eax+10h] 10007357: 8b4128 mov eax, [ecx+28h] 1000735a: c20400 ret 0004 1000735d: cc int 3 1000735e: cc int 3 1000735f: cc int 3 10007360: 8b442404 mov eax, [esp+04h] 10007364: 8b4014 mov eax, [eax+14h] 10007367: c20400 ret 0004 1000736a: cc int 3 1000736b: cc int 3 1000736c: cc int 3 1000736d: cc int 3 1000736e: cc int 3 1000736f: cc int 3 10007370: 8b442404 mov eax, [esp+04h] 10007374: 8b4c2408 mov ecx, [esp+08h] 10007378: 894814 mov [eax+14h], ecx 1000737b: c20800 ret 0008 1000737e: cc int 3 1000737f: cc int 3 10007380: b001 mov al, 01h 10007382: c20800 ret 0008 10007385: cc int 3 10007386: cc int 3 10007387: cc int 3 10007388: cc int 3 10007389: cc int 3 1000738a: cc int 3 1000738b: cc int 3 1000738c: cc int 3 1000738d: cc int 3 1000738e: cc int 3 1000738f: cc int 3 10007390: 32c0 xor al, al 10007392: c20400 ret 0004 10007395: cc int 3 10007396: cc int 3 10007397: cc int 3 10007398: cc int 3 10007399: cc int 3 1000739a: cc int 3 1000739b: cc int 3 1000739c: cc int 3 1000739d: cc int 3 1000739e: cc int 3 1000739f: cc int 3 100073a0: 33c0 xor eax, eax 100073a2: 33d2 xor edx, edx 100073a4: c20c00 ret 000c 100073a7: cc int 3 100073a8: cc int 3 100073a9: cc int 3 100073aa: cc int 3 100073ab: cc int 3 100073ac: cc int 3 100073ad: cc int 3 100073ae: cc int 3 100073af: cc int 3 100073b0: 8b442404 mov eax, [esp+04h] 100073b4: 8b4808 mov ecx, [eax+08h] 100073b7: 8b4924 mov ecx, [ecx+24h] 100073ba: 8b5104 mov edx, [ecx+04h] <-- FAULT 100073bd: 8b442408 mov eax, [esp+08h] 100073c1: 895004 mov [eax+04h], edx 100073c4: 8b4908 mov ecx, [ecx+08h] 100073c7: 894808 mov [eax+08h], ecx 100073ca: c70000000000 mov dword ptr [eax], 00000000 100073d0: c6400c00 mov byte ptr [eax+0ch], 00h 100073d4: c20800 ret 0008 100073d7: cc int 3 100073d8: cc int 3 100073d9: cc int 3 100073da: cc int 3 100073db: cc int 3 100073dc: cc int 3 100073dd: cc int 3 100073de: cc int 3 100073df: cc int 3 100073e0: 8b442404 mov eax, [esp+04h] 100073e4: 8b4808 mov ecx, [eax+08h] 100073e7: 8b442408 mov eax, [esp+08h] 100073eb: 3b4144 cmp eax, [ecx+44h] 100073ee: 7332 jnc 10007422 100073f0: c1e004 shl eax, 04h 100073f3: 034140 add eax, [ecx+40h] 100073f6: 8b4c2410 mov ecx, [esp+10h] 100073fa: 8b10 mov edx, [eax] 100073fc: 895108 mov [ecx+08h], edx 100073ff: 8b5004 mov edx, [eax+04h] 10007402: 89510c mov [ecx+0ch], edx 10007405: f7400800000080 test [eax+08h], 80000000 1000740c: 740a jz 10007418 1000740e: c6410100 mov byte ptr [ecx+01h], 00h 10007412: c6014b mov byte ptr [ecx], 4bh 10007415: c21000 ret 0010 10007418: c6410101 mov byte ptr [ecx+01h], 01h 1000741c: c60120 mov byte ptr [ecx], 20h 1000741f: c2 db 0c2h
Built on Aegis on Sun Sep 05 20:52:28 2010 using compiler version 1400
Windows 5.1 (Windows XP x86 build 2600) [Service Pack 3]
EAX = 00bd3e10 EBX = 00c5b2a4 ECX = 00000000 EDX = 100073b0 EBP = 00c5b2d0 ESI = 00c5ade0 EDI = 00c5b2b0 ESP = 0012fcec EIP = 100073ba EFLAGS = 00210246 FPUCW = ffff027f FPUTW = ffffffff
Crash reason: Access Violation
Crash context: An out-of-bounds memory access (access violation) occurred in module 'Matroska'...
...reading address 00000004.
Pointer dumps:
EAX 00bd3e10: 10016a94 00e50048 00bd3cd0 00000002 ffffffff 00bd3df8 0005003b 00001000 EBX 00c5b2a0: 00bd3e08 00000000 00000000 00c56b28 00000001 00000001 00000000 00000000 EDX 100073b0: 0424448b 8b08488b 518b2449 24448b04 04508908 8908498b 00c70848 00000000 ESI 00c5ade0: 005fb7b0 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EDI 00c5b2b0: 00000001 00000001 00000000 00000000 00000001 00000001 00000000 00000000 ESP 0012fce8: 00000000 004d690b 00bd3e10 00c5b2d0 00c56b44 00c57908 0012fda4 00000000 0012fd08: 00c5ade0 00c56b44 00c57908 00c56b50 005fb894 000001c6 0012fd58 005d7a0f 0012fd28: 00000007 004d6f0e 00bd3e10 00c56b28 00c57908 00c573f0 00c57908 00000000 0012fd48: 00bd3e10 00c56b50 005fb894 000004e9 0012fd98 005d7a83 00000003 00465057 EBP 00c5b2d0: 00000000 00000000 00000000 00000000 00a10044 010c0109 000007f0 ffffffff 00c5b2f0: 00000000 00000000 00000000 00000001 00000000 00000000 00000000 00000000 00c5b310: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00c5b330: 00000000 00000000 00000000 00518fb1 0012f3ec 006425c0 00000000 00000000
Thread call stack: 100073ba: Matroska!VDGetPluginInfo [10000000+36b0+3d0a] 004d690b: VDVideoSourcePlugin::VDVideoSourcePlugin() 004d6f0e: VDInputFilePlugin::GetVideoSource() 00465057: VDProject::Open() 0051d1d8: VDAutoLogger::VDAutoLogger() 00448cbb: VDProcessCommandLine() 7e368734: USER32!GetDC [7e360000+86c7+6d] 7e36882a: USER32!GetDC [7e360000+86c7+163] 7e3689cd: USER32!GetWindowLongW [7e360000+88a6+127] 7e3693e9: USER32!PeekMessageW [7e360000+929b+14e] 7e37a471: USER32!PeekMessageA [7e360000+1a340+131] 7e3689ea: USER32!GetWindowLongW [7e360000+88a6+144] 7e37a43b: USER32!PeekMessageA [7e360000+1a340+fb] 004520d8: WinMain@16() 005b771b: __tmainCRTStartup() 7c817077: kernel32!RegisterWaitForInputIdle [7c800000+1702e+49]
-- End of report |
| CODE | General Unique ID : 250264549060621732130817303533964931617 (0xBC4732EB779054C685A7E8409EEEB221) Format : Matroska File size : 4.37 GiB Duration : 1h 45mn Overall bit rate : 5 924 Kbps Encoded date : UTC 2010-12-14 07:25:11 Writing application : mkvmerge v4.0.0 ('The Stars were mine') built on Jun 6 2010 16:18:42 Writing library : libebml v1.0.0 + libmatroska v1.0.0
Video ID : 1 Format : AVC Format/Info : Advanced Video Codec Format profile : High@L4.1 Format settings, CABAC : Yes Format settings, ReFrames : 5 frames Format settings, GOP : M=4, N=16 Codec ID : V_MPEG4/ISO/AVC Duration : 1h 45mn Bit rate : 4 413 Kbps Width : 1 280 pixels Height : 544 pixels Display aspect ratio : 2.35:1 Frame rate : 24.000 fps Color space : YUV Chroma subsampling : 4:2:0 Bit depth : 8 bits Scan type : Progressive Bits/(Pixel*Frame) : 0.264 Stream size : 3.17 GiB (73%) Writing library : x264 core 110 r1820 fdcf2ae Encoding settings : cabac=1 / ref=5 / deblock=1:0:0 / analyse=0x3:0x133 / me=umh / subme=8 / psy=1 / psy_rd=1.00:0.00 / mixed_ref=1 / me_range=16 / chroma_me=1 / trellis=1 / 8x8dct=1 / cqm=0 / deadzone=21,11 / fast_pskip=0 / chroma_qp_offset=-2 / threads=12 / sliced_threads=0 / nr=0 / decimate=1 / interlaced=0 / constrained_intra=0 / bframes=3 / b_pyramid=2 / b_adapt=1 / b_bias=0 / direct=1 / weightb=1 / open_gop=0 / weightp=2 / keyint=250 / keyint_min=24 / scenecut=40 / intra_refresh=0 / rc_lookahead=40 / rc=2pass / mbtree=1 / bitrate=4413 / ratetol=1.0 / qcomp=0.60 / qpmin=0 / qpmax=51 / qpstep=4 / cplxblur=20.0 / qblur=0.5 / ip_ratio=1.40 / aq=1:1.00 Language : English
Audio ID : 2 Format : DTS Format/Info : Digital Theater Systems Codec ID : A_DTS Duration : 1h 45mn Bit rate mode : Constant Bit rate : 1 510 Kbps Channel(s) : 6 channels Channel positions : Front: L C R, Side: L R, LFE Sampling rate : 48.0 KHz Bit depth : 24 bits Compression mode : Lossy Stream size : 1.11 GiB (25%) Language : French
Text ID : 3 Format : UTF-8 Codec ID : S_TEXT/UTF8 Codec ID/Info : UTF-8 Plain Text Language : English |
FIXED (2.1) |
 |
| fccHandler |
| Posted: Feb 12 2011, 01:30 AM |
 |
|
Administrator n00b
  
Group: Moderators
Posts: 3961
Member No.: 280
Joined: 13-September 02

|
Weird. The video format (BITMAPINFO) pointer is NULL, and that's not ever supposed to happen.
At what point did it crash: before, during, or at the end of the parsing stage?
Had you previously saved a .mkidx file alongside this video?
Please try this older version 1.7 and let me know if you see the same crash: http://fcchandler.home.comcast.net/Matroska17.zip
Also would you be able to extract the first 4 KB of this file and post it? It would be helpful for me to examine the Matroska headers; maybe there is something unusual in there.
EDIT: Nevermind. This is an old bug come back to haunt me. I will fix it tonight.
This post has been edited by fccHandler on Feb 12 2011, 02:14 AM
-------------------- May the FOURCC be with you... |
 |