|
|
| phaeron |
| Posted: Dec 5 2002, 11:09 PM |
 |
|

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

|
The layer I fix is already in the codebase and in the knowledge base and will be in the next revision; the VBR fix fccHandler reported will be in too but I haven't done it yet.
As for Tidus and Yuna, they are the lead characters of Final Fantasy X. |
 |
| S_O |
| Posted: Dec 7 2002, 09:20 PM |
 |
|
Vdubmod Alpha Testing Team
  
Group: Vdubmod Alpha Testing Team
Posts: 102
Member No.: 57
Joined: 25-July 02

|
..and again I´ve changed something: The mpeg-info-dialog now also displays the stream-id for Video and Audio and also all existing streams are listed now like "0xE0 - Video" in a list-field:
vdub_mpegfix.zip (512KB, with source) |
 |
| Suiryc |
| Posted: Dec 8 2002, 11:28 PM |
 |
|
Developer of VirtualdubMod
  
Group: VirtualdubMod Team
Posts: 222
Member No.: 468
Joined: 10-October 02

|
Hi
I tested the latest changes and it seems there is a bug. The MPEG1 file (50MB clip) I tried to open made VirtualDub eat more and more memory until Windows warned me that it was too much (>500MB)  This happens during the parsing process (that actually never progress). At the end I have a warning about the fact there is an incomplete stream (but maybe it is due to the fact I - tried to - hit Abort), and then VirtualDub tell me 'Out of memory' .
Any idea ?
-------------------- OGM tools, VirtualDubMod [SourceForge : Tracker/DL] (FAQ) Don't forget the Needed DLLs for VirtualDubMod. Post bugs/requests in our Tracker. We give 100% of your donations to the Open Source community |
 |
| fccHandler |
| Posted: Dec 9 2002, 07:40 AM |
 |
|
Administrator n00b
  
Group: Moderators
Posts: 3961
Member No.: 280
Joined: 13-September 02

|
You debeloper, and hab no idea? Bery bery bad...
-------------------- May the FOURCC be with you... |
 |
| Suiryc |
| Posted: Dec 9 2002, 03:23 PM |
 |
|
Developer of VirtualdubMod
  
Group: VirtualdubMod Team
Posts: 222
Member No.: 468
Joined: 10-October 02

|
| QUOTE (fccHandler @ Dec 9 2002, 01:40 AM) | You debeloper, and hab no idea? Bery bery bad...  |
lol yeah but you guys made a lot of changes in Mpeg.cpp and I hadn't the time to try to understand the whole thing  Since S_O and you made the changes it would be easier for you to have an idea and find where is the bug
-------------------- OGM tools, VirtualDubMod [SourceForge : Tracker/DL] (FAQ) Don't forget the Needed DLLs for VirtualDubMod. Post bugs/requests in our Tracker. We give 100% of your donations to the Open Source community |
 |
| fccHandler |
| Posted: Dec 9 2002, 03:33 PM |
 |
|
Administrator n00b
  
Group: Moderators
Posts: 3961
Member No.: 280
Joined: 13-September 02

|
Actually, the only thing I changed in the parser was the line about "stream_id == 0xc0." I don't know about S_O's version of Mpeg.cpp.
-------------------- May the FOURCC be with you... |
 |
| S_O |
| Posted: Dec 11 2002, 12:25 PM |
 |
|
Vdubmod Alpha Testing Team
  
Group: Vdubmod Alpha Testing Team
Posts: 102
Member No.: 57
Joined: 25-July 02

|
Hmmm? Which version do you use (does the mpeg-info dialog show stream-numbers)? I yust tested a 400MB MPEG, it opened in about 10 Sek (same as the original) without any problems. After loading VirtualDub needs 16.700KB in memory, the original needs 16.648KB. No big difference. I cannot reproduce that error, could you tell me a bit more about the mpeg? does it work in the original version? Best would if you could upload it somewhere, 50MB is no prob for me. |
 |
| Suiryc |
| Posted: Dec 11 2002, 08:03 PM |
 |
|
Developer of VirtualdubMod
  
Group: VirtualdubMod Team
Posts: 222
Member No.: 468
Joined: 10-October 02

|
Well actually I tested with your latest changes (that I included in VDMod, but I also tested with the .exe you provided).
The file can be opened in VirtualDub without any problem (no error, no warning, the file contains a video stream and a layer-2 audio stream).
After some tests (using TMPGEnc to cut out parts of the clip) it seems the problem is due to the file. Indeed I succeeded to find a small part (270kB) of the clip where the problem appears (I can open other parts of the clip without problems).
I will send you this 270kB sample (anyway I have no place where to upload the 50MB clip ^^').
-------------------- OGM tools, VirtualDubMod [SourceForge : Tracker/DL] (FAQ) Don't forget the Needed DLLs for VirtualDubMod. Post bugs/requests in our Tracker. We give 100% of your donations to the Open Source community |
 |
| S_O |
| Posted: Dec 11 2002, 08:15 PM |
 |
|
Vdubmod Alpha Testing Team
  
Group: Vdubmod Alpha Testing Team
Posts: 102
Member No.: 57
Joined: 25-July 02

|
| QUOTE | After some tests (using TMPGEnc to cut out parts of the clip) it seems the problem is due to the file. Indeed I succeeded to find a small part (270kB) of the clip where the problem appears (I can open other parts of the clip without problems).
I will send you this 270kB sample (anyway I have no place where to upload the 50MB clip ^^'). | Ok. Does it still work with the mpeg.cpp provided by fccHandler? If it works with it, here are things I implemented: The stream-change interface cannot be the reason, because it just changes the 0xe0 / 0xco into variables which can be changed in the mpeg-opening-options. Only the bug-fix that it doesn´t load mpegs with 0xc0/0xe0 not the audio/video stream can be the reason, but also here I cannot really find something, I have to test it. |
 |
| S_O |
| Posted: Dec 11 2002, 08:41 PM |
 |
|
Vdubmod Alpha Testing Team
  
Group: Vdubmod Alpha Testing Team
Posts: 102
Member No.: 57
Joined: 25-July 02

|
Got your MPEG-file and it´s causing the same probs for me, but the problem is not in my code, because I get the same problem with my first compile with the unchanged files of fccHandler, and I doesn´t know what exactly he changed, so I cannot find the bug. But it must be somewhere in his VBR-audio-parser, because first I got the same error first with mpegs containing 2 audio-streams, while the original VDub could open these files without any problems, just doesn´t played them (sync errors). I uploaded the file here: test.mpg (260KB) |
 |
| fccHandler |
| Posted: Dec 12 2002, 02:44 AM |
 |
|
Administrator n00b
  
Group: Moderators
Posts: 3961
Member No.: 280
Joined: 13-September 02

|
@Suiryc:
I downloaded your test clip, and clearly there is something unusual about the MPEG. I haven't tracked it down yet, but I will try.
You said the file could be opened in VirtualDub. I don't know which version you meant, but I tried using the actual 1.4.13 from Avery's site, and the file will not play (sync error). Furthermore, File->Information says the audio stream has 21 frames (it actually has 46).
When I tried a build with my modified Mpeg.cpp, it stalls just as you described. The stall can be prevented by changing the bitmask on line 1551 to 0x080C0EFF, but then VirtualDub says the audio stream only has 7 frames!
-------------------- May the FOURCC be with you... |
 |
| phaeron |
| Posted: Dec 12 2002, 04:16 AM |
 |
|

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

|
The audio stream in the MPEG file switches copyright bits in the middle of the stream. (Looks like someone did a splice.) The correct mask to fix the problem is 0x00FC0E00.
This file also exposes a bug in VirtualDub's video decoder, btw -- VirtualDub is attempting to decode the two B-frames at the beginning of the file that have the broken_link flag set. That flag indicates broken B-frames before an I-frame, caused by editing, that cannot be decoded. |
 |
| fccHandler |
| Posted: Dec 12 2002, 05:02 AM |
 |
|
Administrator n00b
  
Group: Moderators
Posts: 3961
Member No.: 280
Joined: 13-September 02

|
@phaeron: Darn, you beat me to it!
However, the bitmask you suggest will break the support for L3 VBR in my version of Mpeg.cpp. (Instead, I'm using 0x000CFEFF.) I've also added more stringent tests to MPEG_check_audio_header_validity(), since IMHO the original is far too lenient. (Had I done that before, the stalling reported by Suiryc would have been prevented.)
Again, thanks so much for your help!
http://home.attbi.com/~blade66/Mpeg.cpp
-------------------- May the FOURCC be with you... |
 |
| Morsa |
| Posted: Dec 12 2002, 07:11 AM |
 |
|
Moderator of the Vdub support board
  
Group: Moderators
Posts: 640
Member No.: 246
Joined: 9-September 02

|
It is really nice to see that you all people are making Vdub bug free and helping Phaeron. I'm really happy . This should happen all the time! Go on like this. Regards |
 |
| S_O |
| Posted: Dec 12 2002, 06:10 PM |
 |
|
Vdubmod Alpha Testing Team
  
Group: Vdubmod Alpha Testing Team
Posts: 102
Member No.: 57
Joined: 25-July 02

|
It fixes the problem, but I don´t know why, you only changed the header-check function, but all headers are correct, the one with copyright and without, and the funtion returns true in both cases, doesn´t it? It doesn´t check the copyright flag, because it doesn´t matter if it´s 0 or 1, both is allowed.
Edit: I included a messagebox that always appears when this fuction is called and shows the tag that the function should check. I opened my fixed file (I demuxed it, changed all header-flgs to copyright and remuxt it), the messagebox appers 46 times (the number of audio-frames). But know I opened the problem file, up to the 7th time everything normal. After that it appers thousands of times, alwys with invalid headers (like 0x33545646 or even 0x0), why does VirtualDub find thousands of audio-frames just because the copyright flag has been changed?
|
 |