|
|
| phaeron |
| Posted: Oct 13 2007, 09:06 AM |
 |
|

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

|
| QUOTE | Notice that the filter preview never calls kPixFormat_Null. It only accepts video in RGB24, RGB32, RGB15 and PAL8. The other import plugins (Mpeg2, WMV and FLV) have methods that can change the decompression colorspace format on a per frame basis. My quicktime plugin does not and I am not sure what to do about it.
|
It's fairly easy for me to change the filter preview code to accommodate any format, but note that you'll probably still want to support an RGB format for best compatibility. I wouldn't be surprised if there was another portion of code that wanted RGB (scene detector comes to mind). I don't think I'd want to try fully lifting this restriction in 1.7.6 since it'd be a bigger change. The conversion code path doesn't have to be fast, since the render path can accommodate any supported format.
| QUOTE | And I still don't know why the RGB previews are upside down.
|
Check that you are correctly linearizing the frame data layout. When the second parameter (useDIBAlignment) to SetTargetFormat() is NULL, you are required to lay out the frame buffer in DIB compatible fashion, which means bottom-up memory order for RGB. |
 |
| pintcat |
| Posted: Oct 13 2007, 09:40 AM |
 |
|
Advanced Member
  
Group: Members
Posts: 142
Member No.: 18182
Joined: 19-February 06

|
@fccHandler: Your new MPEG2 plug-in worked fine for me. I've opened a video directly from DVD (5 VOBs in a row) and it did the job. The movie ran very smooth during preview. The only thing to complain is that video and audio were out of sync. But I think I can handle this with VDub's Interleave option. Besides, the ability to append several MPEGs to one big stream as a feature for your import plug-in is a VERY good idea, since I had to do this with other tools like SmartRipper or DGIndex. Now, importing an MPEG2 stream has been reduced to one single step, which is quite convenient. For me, VirtualDub makes the most significant improvements since it is able to handle external video import filters! |
 |
| Gromozeka |
| Posted: Oct 13 2007, 10:49 AM |
 |
|
Unregistered

|
But VirtualDub can will use external video export filters? For example use matroska on an output |
 |
| fccHandler |
| Posted: Oct 13 2007, 04:40 PM |
 |
|
Administrator n00b
  
Group: Moderators
Posts: 3961
Member No.: 280
Joined: 13-September 02

|
| QUOTE (pintcat @ Oct 13 2007, 05:40 AM) | | I've opened a video directly from DVD (5 VOBs in a row) and it did the job. The movie ran very smooth during preview. The only thing to complain is that video and audio were out of sync. |
If you are adding VTS_##_0.VOB, try it without.
BTW, I still have one peculiar VOB which I keep as an example. It starts with audio and video in sync, then the audio stream disappears during a copyright notice, and reappears later with a reset of the PTS. This causes a big delay in VirtualDub-MPEG2 and the MPEG-2 plugin. I keep it because someday I'd like to figure out a good way to deal with oddities like this, but to date I haven't.
@Gromozeka: The WMV plugin still has some serious sync issues that I'm trying to find solutions for, so adding an Append feature is very low priority right now. I might try it later, after I get the other issues worked out.
-------------------- May the FOURCC be with you... |
 |
| Gromozeka |
| Posted: Oct 13 2007, 05:12 PM |
 |
|
Unregistered

|
fccHandler Thanks P.S: mpeg1 not splitting! |
 |
| fccHandler |
| Posted: Oct 13 2007, 09:29 PM |
 |
|
Administrator n00b
  
Group: Moderators
Posts: 3961
Member No.: 280
Joined: 13-September 02

|
No, you can't join just anything. The feature is primarily intended for joining VOBs on DVDs. Other types of MPEG files won't usually work, because they are complete individual sequences, and the parser ends when it finishes parsing one sequence.
As I said, a generic "append" mechanism for MPEG is pretty much impossible with the current code, and the join feature is NOT a solution for that. Instead, it's just a workaround for sequences (like VOBs) which have been deliberately split into chunks.
I recommend TMPGEnc for joining MPEG-1 files and MPEG-2 files which are not DVD VOBs.
-------------------- May the FOURCC be with you... |
 |
| Gromozeka |
| Posted: Oct 14 2007, 09:24 AM |
 |
|
Unregistered

|
fccHandler
| QUOTE | | I recommend TMPGEnc for joining MPEG-1 files and MPEG-2 files which are not DVD VOBs. |
Thanks, I'm using avidemux |
 |
| XYZ |
| Posted: Oct 14 2007, 10:46 AM |
 |
|
Advanced Member
  
Group: Members
Posts: 48
Member No.: 22012
Joined: 27-August 07

|
fccHandler, I am really grateful for your work on MPEG-2 plug-in, but I have few suggestions and observations.
- Opening many successive VOB files is not very user-friendly, it involves almost same number of clicks and steps as manually appending files with VD built-in command. I think it would be better if your plug-in could select automatically all VOB files with a same suffix, as older version of DGindex did. You should at least support Shift+click and/or Ctrl+click in the open dialog.
- Memory is drastically lacking, it comes to 0 MB (installed 512 MB) and not released after parsing. Fortunately, I have installed resident FreeRAM XP Pro.
- During parsing MPEG-2 files, I/O activities of other applications are reduced and computer responses slowly, for example surfing Internet.
I just tried VirtualDub-MPEG2 and it has same problems. Parsing in VirtualDubMod, DGIndex 1.5.0 and Avidemux 2.4 works fine.
EDIT: considering load of sequential VOB files - the VD open dialog already has an option "Automatically load linked segments". Could you test this settings instead to require users to check "Ask for extended options after this dialog" and again check similar option in a new dialog? |
 |
| XYZ |
| Posted: Oct 14 2007, 11:45 AM |
 |
|
Advanced Member
  
Group: Members
Posts: 48
Member No.: 22012
Joined: 27-August 07

|
| QUOTE (fccHandler @ Oct 13 2007, 04:40 PM) | | BTW, I still have one peculiar VOB which I keep as an example. It starts with audio and video in sync, then the audio stream disappears during a copyright notice, and reappears later with a reset of the PTS. This causes a big delay in VirtualDub-MPEG2 and the MPEG-2 plugin. I keep it because someday I'd like to figure out a good way to deal with oddities like this, but to date I haven't. |
Did you tried this VOB with DGIndex/Avidemux? How they responds with it? Do this VOB have multi-PGCs? If this is a case, maybe you should consider to integrate IFO parsing. In that way user could choose which angle/PGC wants, if VTS contains multiple of them. |
 |
| fccHandler |
| Posted: Oct 14 2007, 04:47 PM |
 |
|
Administrator n00b
  
Group: Moderators
Posts: 3961
Member No.: 280
Joined: 13-September 02

|
Regarding opening multiple files, I'll repeat what I said earlier:
| QUOTE (fccHandler @ Oct 13 2007, 02:20 AM) | | I'm not really happy with this first attempt, and I guarantee that it will be completely rewritten before I'm finished with it. Therefore, please don't complain about any missing features just yet. |
Regarding memory not being released, I thought I saw something similar after opening 80 MPEG files. I don't know yet why it happens.
| QUOTE (XYZ @ Oct 14 2007, 07:45 AM) | | Did you tried this VOB with DGIndex/Avidemux? |
It was out of sync in DGIndex also. In fact, I got the VOB from a post in the DGIndex forum at Doom9. I kept it because it's such an odd case.
-------------------- May the FOURCC be with you... |
 |
| Moitah |
| Posted: Oct 14 2007, 09:26 PM |
 |
|
Advanced Member
  
Group: Members
Posts: 210
Member No.: 8955
Joined: 20-February 04

|
@phaeron: Do you plan on having a way for a plugin to report a non-zero start time of the audio stream relative to the start of the video stream? A way to change the audio skew correction programmatically by a plugin, for example. Or should it be up the plugin to handle this internally, by removing or duplicating audio frames at the beginning (this is what the MPEG2 plugin does if I understand correctly)? |
 |
| phaeron |
| Posted: Oct 14 2007, 11:13 PM |
 |
|

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

|
I'm not going to comment on future plans because it wouldn't make any difference whether I said yes or no -- but for now, yes, the best approach is for the plugin to pad the beginning of the stream. This is particularly true if the plugin has special knowledge of a compressed stream and can pad it properly, versus blindly introducing runt samples at the start. |
 |
| fccHandler |
| Posted: Oct 15 2007, 06:00 AM |
 |
|
Administrator n00b
  
Group: Moderators
Posts: 3961
Member No.: 280
Joined: 13-September 02

|
I've added a checkbox in the "extended open" dialog of my MPEG-2 plugin which allows you to save an index when you open an MPEG file:
http://fcchandler.home.comcast.net/Plugins/MPEG2
The name of the index will be "[filename].idx". It's basically a giant memory dump of all of the info which was generated by the parser, including your chosen audio stream, and the names of multiple file parts (if any).
After this index is saved, if you open the base file again, the parser will find and use that index instead of reparsing the file(s), so re-opening is almost instantaneous. It works in jobs too.
-------------------- May the FOURCC be with you... |
 |
| Gromozeka |
| Posted: Oct 15 2007, 07:25 AM |
 |
|
Unregistered

|
fccHandler
The first opening mpeg2 file is normal - is created *idx file, but at the second opening this file there is a following:

If it play: My crashinfo: http://rapidshare.com/files/62655501/crash...shinfo.txt.html
But info of the file shows correctly:
 |
 |
| fccHandler |
| Posted: Oct 15 2007, 04:15 PM |
 |
|
Administrator n00b
  
Group: Moderators
Posts: 3961
Member No.: 280
Joined: 13-September 02

|
The crash info doesn't reveal much, but the info dialog says "MPEG-2 Information (0 files)." That gives me a good idea where the problem is.
EDIT: Well, I'm not sure. Please test this one for me: http://fcchandler.home.comcast.net/MPEG2.zip
-------------------- May the FOURCC be with you... |
 |