|
|
| fccHandler |
| Posted: Jul 7 2005, 09:12 PM |
 |
|
Administrator n00b
  
Group: Moderators
Posts: 3961
Member No.: 280
Joined: 13-September 02

|
@stephanV and meilin:
Fixed.
BTW, I was wrong about something. It looks like the older VirtualDub only used RGB 555, so there never was a converter for 565 in my MPEG code (until today).
In fact it's interesting to compare the two, because that one extra green bit makes a surprisingly big difference in the quality.
@neuron2:
I forgot to get back to you above. I don't believe it's true that all audio packets must have PTS, or at least it doesn't say that anywhere in the MPEG specs. Plus I realized that it wouldn't matter if it did, because AC-3 isn't an audio stream as defined in the spec.
I'm still thinking about an internal solution to the general audio skew problem with VOBs...
-------------------- May the FOURCC be with you... |
 |
| stephanV |
| Posted: Jul 7 2005, 09:53 PM |
 |
|
Spam killer ;)
  
Group: Moderators
Posts: 4348
Member No.: 8917
Joined: 18-February 04

|
yup, works now
-------------------- useful links: VirtualDub, Input plugins and filters, AviSynth, AVI-Mux GUI, AC3ACM by fcchandler, VirtualDub FAQ |
 |
| meilin |
| Posted: Jul 8 2005, 12:08 AM |
 |
|
Unregistered

|
works now thx |
 |
| phaeron |
| Posted: Jul 8 2005, 04:08 AM |
 |
|

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

|
@fccHandler: Kasumi does interpolate chroma and uses horizontally coaligned chroma samples for YCbCr, but cannot currently handle interlaced chroma positioning. |
 |
| fccHandler |
| Posted: Jul 8 2005, 05:13 AM |
 |
|
Administrator n00b
  
Group: Moderators
Posts: 3961
Member No.: 280
Joined: 13-September 02

|
Thanks, I thought as much.
I've never done much DVD ripping; most all of the MPEG-2 I work with is interlaced, so it's rather important. Kind of like compression artifacts, once you begin to notice improperly upsampled interlaced chroma (CUE) it will haunt you forever.
-------------------- May the FOURCC be with you... |
 |
| cwalk2this |
| Posted: Jul 8 2005, 07:09 PM |
 |
|
Unregistered

|
hey fccHandler, I just finished using your mpeg2 mod for the first time and it's great. Quick question/problem, I have opened up a progressive vob file in virtualdubmod and virtualdub-mpeg2 and compared the preview images side by side. I notice that virtualdub-mpeg2 assumes that my file is interlaced when it is not. Virtualdubmod seems to get it right, and all frames are displayed as progressive. Is there a reason why it is doing this? Can I disable it? Thanks again, keep up the good work. |
 |
| neuron2 |
| Posted: Jul 8 2005, 09:36 PM |
 |
|
Advanced Member
  
Group: Members
Posts: 1244
Member No.: 5294
Joined: 18-July 03

|
. |
 |
| Loadus |
| Posted: Jul 9 2005, 01:53 AM |
 |
|

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

|
This release just made my day!
Thanks fcc!!
-------------------- deviantART behance |
 |
| neuron2 |
| Posted: Jul 9 2005, 03:04 AM |
 |
|
Advanced Member
  
Group: Members
Posts: 1244
Member No.: 5294
Joined: 18-July 03

|
. |
 |
| cwalk2this |
| Posted: Jul 9 2005, 06:32 AM |
 |
|
Unregistered

|
| QUOTE (neuron2 @ Jul 8 2005, 09:36 PM) | | Try extended open options: uncheck Allow "repeat first field" flags. | Thank you. |
 |
| youBastrd! |
| Posted: Jul 9 2005, 03:06 PM |
 |
|
Unregistered

|
Stupid question: how do I use this to encode a video into MPEG format?
I've tried nothing, and I'm all out of ideas.
Thus far the process is : 1. Open the input video: use File/Open 2. Select the video compression format: use Video/Compression, pick something that looks like MPEG in the list. This step doesn't work for me. On my PC, the selection of codecs is identical in VirtualDub-MPEG2 1.6.8 is identical to VirtualDub 1.6.8 (in fact, in my ignorance, I can't see any appreciable differences) 3. Save the file: File/Save as AVI... Presumably, this step is incorrect.
Thanks in advance for any tips!
|
 |
| stephanV |
| Posted: Jul 9 2005, 03:54 PM |
 |
|
Spam killer ;)
  
Group: Moderators
Posts: 4348
Member No.: 8917
Joined: 18-February 04

|
You cant save as mpeg2 with VirtualDub-MPEG2, unless you use the ympeg plugin (or maybe ffdshow vfw plugin), but that will also work with vanilla VDub. The "mpeg2" refers to the capabiloty of opening mpg files.
-------------------- useful links: VirtualDub, Input plugins and filters, AviSynth, AVI-Mux GUI, AC3ACM by fcchandler, VirtualDub FAQ |
 |
| phaeron |
| Posted: Jul 11 2005, 07:54 PM |
 |
|

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

|
@fccHandler:
I've been getting a bunch of crash reports specific to the MPEG-2 version.
There seems to be a problem with the MPEG-2 decoding glue. I've attached a sample crash report below. The pointer in question (EBP) looks like a valid heap pointer so my guess it is a free memory use problem. If you saved off the link map file from the release process (you do save your link maps, right?), then you can use Asuka to get the line number:
| CODE | asuka lookup VirtualDub.map 0x4562d9
|
or, if you have the linkmap.zip file produced by release.bat:
| CODE | asuka lookup linkmap.zip!VirtualDub.map 0x4562d9
|
Crash dump:
| CODE | VirtualDub crash report -- build 23663 (release) --------------------------------------
Disassembly: 00456240: 01eb add ebx, ebp 00456242: 698a4a1580f903 imul ecx, [edx-67feab6], 74168b03 8b1674 0045624c: 1880f9018bce sbb [eax-3174fe07], al 00456252: 7549 jnz 0045629d (VideoSourceMPEG::streamGetFrame+41d) 00456254: 6a00 push 00h 00456256: 50 push eax 00456257: 6a00 push 00h 00456259: 6a03 push 03h 0045625b: ff5240 call dword ptr [edx+40h] 0045625e: 6a01 push 01h 00456260: 53 push ebx 00456261: 6a01 push 01h 00456263: eb47 jmp 004562ac (VideoSourceMPEG::streamGetFrame+42c) 00456265: 8a4f16 mov cl, [edi+16h] 00456268: f6c101 test cl, 01h 0045626b: 7418 jz 00456285 (VideoSourceMPEG::streamGetFrame+405) 0045626d: f6c102 test cl, 02h 00456270: 8bce mov ecx, esi 00456272: 7529 jnz 0045629d (VideoSourceMPEG::streamGetFrame+41d) 00456274: 6a00 push 00h 00456276: 50 push eax 00456277: 6a00 push 00h 00456279: 6a03 push 03h 0045627b: ff5240 call dword ptr [edx+40h] 0045627e: 6a01 push 01h 00456280: 53 push ebx 00456281: 6a01 push 01h 00456283: eb27 jmp 004562ac (VideoSourceMPEG::streamGetFrame+42c) 00456285: f6c102 test cl, 02h 00456288: 8bce mov ecx, esi 0045628a: 7411 jz 0045629d (VideoSourceMPEG::streamGetFrame+41d) 0045628c: 6a00 push 00h 0045628e: 50 push eax 0045628f: 6a00 push 00h 00456291: 6a03 push 03h 00456293: ff5240 call dword ptr [edx+40h] 00456296: 6a01 push 01h 00456298: 53 push ebx 00456299: 6a01 push 01h 0045629b: eb0f jmp 004562ac (VideoSourceMPEG::streamGetFrame+42c) 0045629d: 6a01 push 01h 0045629f: 50 push eax 004562a0: 6a01 push 01h 004562a2: 6a03 push 03h 004562a4: ff5240 call dword ptr [edx+40h] 004562a7: 6a00 push 00h 004562a9: 53 push ebx 004562aa: 6a00 push 00h 004562ac: 8b06 mov eax, [esi] 004562ae: 8bce mov ecx, esi 004562b0: 6a03 push 03h 004562b2: ff5040 call dword ptr [eax+40h] 004562b5: 8b742410 mov esi, [esp+10h] 004562b9: b803000000 mov eax, 00000003 004562be: eb75 jmp 00456335 (VideoSourceMPEG::streamGetFrame+4b5) 004562c0: 8b412c mov eax, [ecx+2ch] 004562c3: 8bbe70040000 mov edi, [esi+470] 004562c9: d1fb sar ebx, 1 004562cb: 8d145b lea edx, [ebx+ebx*2] 004562ce: 8d2cd0 lea ebp, [eax+edx*8] 004562d1: 8b17 mov edx, [edi] 004562d3: 53 push ebx 004562d4: 8bcf mov ecx, edi 004562d6: ff522c call dword ptr [edx+2ch] 004562d9: 807d1403 cmp byte ptr [ebp+14h], 03h <-- FAULT 004562dd: 8944241c mov [esp+1ch], eax 004562e1: 7435 jz 00456318 (VideoSourceMPEG::streamGetFrame+498) 004562e3: 83f801 cmp eax, 01h 004562e6: 7429 jz 00456311 (VideoSourceMPEG::streamGetFrame+491) 004562e8: 8b07 mov eax, [edi] 004562ea: 6a01 push 01h 004562ec: 6a02 push 02h 004562ee: 8bcf mov ecx, edi 004562f0: ff5038 call dword ptr [eax+38h] 004562f3: 837c241c02 cmp dword ptr [esp+1ch], 02h 004562f8: 7417 jz 00456311 (VideoSourceMPEG::streamGetFrame+491) 004562fa: 8b4510 mov eax, [ebp+10h] 004562fd: 8b4c2418 mov ecx, [esp+18h] 00456301: 8b17 mov edx, [edi] 00456303: 6a01 push 01h 00456305: 6a02 push 02h 00456307: 6a01 push 01h 00456309: 53 push ebx 0045630a: 50 push eax 0045630b: 51 push ecx 0045630c: 8bcf mov ecx, edi 0045630e: ff5224 call dword ptr [edx+24h] 00456311: b801000000 mov eax, 00000001 00456316: eb1d jmp 00456335 (VideoSourceMPEG::streamGetFrame+4b5) 00456318: 85c0 test eax, eax 0045631a: 7417 jz 00456333 (VideoSourceMPEG::streamGetFrame+4b3) 0045631c: 8b4510 mov eax, [ebp+10h] 0045631f: 8b4c2418 mov ecx, [esp+18h] 00456323: 8b17 mov edx, [edi] 00456325: 6a01 push 01h 00456327: 6a02 push 02h 00456329: 6a00 push 00h 0045632b: 53 push ebx 0045632c: 50 push eax 0045632d: 51 push ecx 0045632e: 8bcf mov ecx, edi 00456330: ff5224 call dword ptr [edx+24h] 00456333: 33c0 xor eax, eax 00456335: 50 push eax 00456336: 8d8e50ffffff lea ecx, [esi-b0] 0045633c: e8 db 0e8h 0045633d: df05 fild word ptr [ebp] 0045633f: 00 db 00h
Windows 5.1 (Windows XP build 2600) [Service Pack 2]
EAX = ffffffff EBX = 008400c2 ECX = 00b78b60 EDX = 008400c2 EBP = 107d1250 ESI = 00b9d0b8 EDI = 00b78950 ESP = 0e6efd98 EIP = 004562d9 EFLAGS = 00010286 FPUCW = ffff027f FPUTW = ffffffff
Crash reason: Access Violation
Crash context: An out-of-bounds memory access (access violation) occurred in module 'VirtualDub'...
...while running thread "Processing" (thread.cpp:150).
Pointer dumps:
EBX 008400c2: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 ECX 00b78b60: 00000000 0457f800 045b2200 04617600 0467ca00 00000000 00000000 0000003f EDX 008400c2: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 ESI 00b78b60: 00000000 0457f800 045b2200 04617600 0467ca00 00000000 00000000 0000003f EDI 008400c2: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 ESP 0e6efd98: 00545200 001be8f0 0e6efe34 014002c0 00b9d0b8 0047e46a 0053ad54 00000000 0e6efdb8: 00000000 ffffffff ffffffff 00000000 014005d0 014002c4 0000027f 40e3027f 0e6efdd8: 01400510 00000000 00000000 00009e64 00000000 027f0e7f 00009e64 00483c87 0e6efdf8: 00000000 01400510 0e6efe44 014002c4 00000002 00000001 7c90e57c 7c809c38
Thread call stack: 004562d9: VideoSourceMPEG::streamGetFrame() 0047e46a: Dubber::WriteVideoFrame() 00483c87: VDStreamInterleaver::PushStreams() 7c90e57c: ntdll!NtSetEvent [7c900000+e570+c] 7c809c38: kernel32!SetEvent [7c800000+9c28+10] 0047e1d6: Dubber::WriteVideoFrame() 0047ee21: Dubber::ThreadRun() 004dc2e7: VDThread::StaticThreadStart() 00524e3f: _threadstartex@4() 7c91056d: ntdll!RtlFreeHeap [7c900000+1043d+130] 7c80b50b: kernel32!GetModuleFileNameA [7c800000+b357+1b4] 7c91056d: ntdll!RtlFreeHeap [7c900000+1043d+130]
-- End of report
| |
 |
| pjw |
| Posted: Jul 12 2005, 02:38 AM |
 |
|
Unregistered

|
| QUOTE (phaeron @ Jul 11 2005, 07:54 PM) | I've been getting a bunch of crash reports specific to the MPEG-2 version.
|
FWIW, when I see this error, it is always right at the end of processing an MPEG2 file.
|
 |
| Eggplant |
| Posted: Jul 12 2005, 02:50 AM |
 |
|
Unregistered

|
I get similar crashes (free memory twice or some other null reference) encoding to XviD or DivX. Everything works great until the very end of the encoding process. Odd thing is that other codecs work okay. Crash dump attached, hope it helps:
| CODE | VirtualDub crash report -- build 23663 (release) --------------------------------------
Disassembly: 00456240: 01eb add ebx, ebp 00456242: 698a4a1580f903 imul ecx, [edx-67feab6], 74168b03 8b1674 0045624c: 1880f9018bce sbb [eax-3174fe07], al 00456252: 7549 jnz 0045629d (VideoSourceMPEG::streamGetFrame+41d) 00456254: 6a00 push 00h 00456256: 50 push eax 00456257: 6a00 push 00h 00456259: 6a03 push 03h 0045625b: ff5240 call dword ptr [edx+40h] 0045625e: 6a01 push 01h 00456260: 53 push ebx 00456261: 6a01 push 01h 00456263: eb47 jmp 004562ac (VideoSourceMPEG::streamGetFrame+42c) 00456265: 8a4f16 mov cl, [edi+16h] 00456268: f6c101 test cl, 01h 0045626b: 7418 jz 00456285 (VideoSourceMPEG::streamGetFrame+405) 0045626d: f6c102 test cl, 02h 00456270: 8bce mov ecx, esi 00456272: 7529 jnz 0045629d (VideoSourceMPEG::streamGetFrame+41d) 00456274: 6a00 push 00h 00456276: 50 push eax 00456277: 6a00 push 00h 00456279: 6a03 push 03h 0045627b: ff5240 call dword ptr [edx+40h] 0045627e: 6a01 push 01h 00456280: 53 push ebx 00456281: 6a01 push 01h 00456283: eb27 jmp 004562ac (VideoSourceMPEG::streamGetFrame+42c) 00456285: f6c102 test cl, 02h 00456288: 8bce mov ecx, esi 0045628a: 7411 jz 0045629d (VideoSourceMPEG::streamGetFrame+41d) 0045628c: 6a00 push 00h 0045628e: 50 push eax 0045628f: 6a00 push 00h 00456291: 6a03 push 03h 00456293: ff5240 call dword ptr [edx+40h] 00456296: 6a01 push 01h 00456298: 53 push ebx 00456299: 6a01 push 01h 0045629b: eb0f jmp 004562ac (VideoSourceMPEG::streamGetFrame+42c) 0045629d: 6a01 push 01h 0045629f: 50 push eax 004562a0: 6a01 push 01h 004562a2: 6a03 push 03h 004562a4: ff5240 call dword ptr [edx+40h] 004562a7: 6a00 push 00h 004562a9: 53 push ebx 004562aa: 6a00 push 00h 004562ac: 8b06 mov eax, [esi] 004562ae: 8bce mov ecx, esi 004562b0: 6a03 push 03h 004562b2: ff5040 call dword ptr [eax+40h] 004562b5: 8b742410 mov esi, [esp+10h] 004562b9: b803000000 mov eax, 00000003 004562be: eb75 jmp 00456335 (VideoSourceMPEG::streamGetFrame+4b5) 004562c0: 8b412c mov eax, [ecx+2ch] 004562c3: 8bbe70040000 mov edi, [esi+470] 004562c9: d1fb sar ebx, 1 004562cb: 8d145b lea edx, [ebx+ebx*2] 004562ce: 8d2cd0 lea ebp, [eax+edx*8] 004562d1: 8b17 mov edx, [edi] 004562d3: 53 push ebx 004562d4: 8bcf mov ecx, edi 004562d6: ff522c call dword ptr [edx+2ch] 004562d9: 807d1403 cmp byte ptr [ebp+14h], 03h <-- FAULT 004562dd: 8944241c mov [esp+1ch], eax 004562e1: 7435 jz 00456318 (VideoSourceMPEG::streamGetFrame+498) 004562e3: 83f801 cmp eax, 01h 004562e6: 7429 jz 00456311 (VideoSourceMPEG::streamGetFrame+491) 004562e8: 8b07 mov eax, [edi] 004562ea: 6a01 push 01h 004562ec: 6a02 push 02h 004562ee: 8bcf mov ecx, edi 004562f0: ff5038 call dword ptr [eax+38h] 004562f3: 837c241c02 cmp dword ptr [esp+1ch], 02h 004562f8: 7417 jz 00456311 (VideoSourceMPEG::streamGetFrame+491) 004562fa: 8b4510 mov eax, [ebp+10h] 004562fd: 8b4c2418 mov ecx, [esp+18h] 00456301: 8b17 mov edx, [edi] 00456303: 6a01 push 01h 00456305: 6a02 push 02h 00456307: 6a01 push 01h 00456309: 53 push ebx 0045630a: 50 push eax 0045630b: 51 push ecx 0045630c: 8bcf mov ecx, edi 0045630e: ff5224 call dword ptr [edx+24h] 00456311: b801000000 mov eax, 00000001 00456316: eb1d jmp 00456335 (VideoSourceMPEG::streamGetFrame+4b5) 00456318: 85c0 test eax, eax 0045631a: 7417 jz 00456333 (VideoSourceMPEG::streamGetFrame+4b3) 0045631c: 8b4510 mov eax, [ebp+10h] 0045631f: 8b4c2418 mov ecx, [esp+18h] 00456323: 8b17 mov edx, [edi] 00456325: 6a01 push 01h 00456327: 6a02 push 02h 00456329: 6a00 push 00h 0045632b: 53 push ebx 0045632c: 50 push eax 0045632d: 51 push ecx 0045632e: 8bcf mov ecx, edi 00456330: ff5224 call dword ptr [edx+24h] 00456333: 33c0 xor eax, eax 00456335: 50 push eax 00456336: 8d8e50ffffff lea ecx, [esi-b0] 0045633c: e8 db 0e8h 0045633d: df05 fild word ptr [ebp] 0045633f: 00 db 00h
Windows 5.1 (Windows XP build 2600) [Service Pack 2]
EAX = ffffffff EBX = 008400c9 ECX = 00b36a60 EDX = 008400c9 EBP = 0f6012f8 ESI = 00b380b8 EDI = 00b36850 ESP = 0124fd98 EIP = 004562d9 EFLAGS = 00010286 FPUCW = ffff027f FPUTW = ffffffff
Crash reason: Access Violation
Crash context: An out-of-bounds memory access (access violation) occurred in module 'VirtualDub'...
...while running thread "Processing" (thread.cpp:150).
Pointer dumps:
ECX 00b36a60: 02020303 03291800 032ada00 032e5e00 0331e200 00000000 00000000 0000003f ESI 00b36a60: 02020303 03291800 032ada00 032e5e00 0331e200 00000000 00000000 0000003f ESP 0124fd98: 00545200 0019b008 0124fe34 00b31870 00b380b8 0047e46a 0053ad54 00000000 0124fdb8: 00000000 ffffffff ffffffff 00000000 00b31b80 00b31874 0000027f 408a027f 0124fdd8: 00b31ac0 00000000 00000000 00000352 00000000 027f0e7f 00000352 00483c87 0124fdf8: 00000000 00b31ac0 0124fe44 00b31874 00000002 00000001 7c90e57c 7c809c38
Thread call stack: 004562d9: VideoSourceMPEG::streamGetFrame() 0047e46a: Dubber::WriteVideoFrame() 00483c87: VDStreamInterleaver::PushStreams() 7c90e57c: ntdll!NtSetEvent [7c900000+e570+c] 7c809c38: kernel32!SetEvent [7c800000+9c28+10] 0047e1d6: Dubber::WriteVideoFrame() 0047ee21: Dubber::ThreadRun() 004dc2e7: VDThread::StaticThreadStart() 00524e3f: _threadstartex@4() 7c91056d: ntdll!RtlFreeHeap [7c900000+1043d+130] 7c80b50b: kernel32!GetModuleFileNameA [7c800000+b357+1b4] 7c91056d: ntdll!RtlFreeHeap [7c900000+1043d+130]
-- End of report
| |
 |
|