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.

Pages: (19) « First ... 9 10 [11] 12 13 ... Last » ( Go to first unread post )
VirtualDub File Input Filter, how to create one
« Next Oldest | Next Newest » Track this topic | Email this topic | Print this topic
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.
 
    Top
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!
 
     Top
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
 
  Top
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...
 
     Top
Gromozeka
Posted: Oct 13 2007, 05:12 PM


Unregistered









fccHandler
Thanks
P.S: mpeg1 not splitting! sad.gif
 
  Top
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...
 
     Top
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 smile.gif
 
  Top
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?
 
     Top
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.
 
     Top
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...
 
     Top
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)?
 
      Top
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.
 
    Top
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...
 
     Top
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:

user posted image

If it play:
My crashinfo:
http://rapidshare.com/files/62655501/crash...shinfo.txt.html

But info of the file shows correctly:

user posted image
 
  Top
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...
 
     Top
1 User(s) are reading this topic (1 Guests and 0 Anonymous Users)
0 Members:
281 replies since Sep 25 2007, 05:43 AM Track this topic | Email this topic | Print this topic
Pages: (19) « First ... 9 10 [11] 12 13 ... Last »
<< Back to VirtualDub Filters and Filter Development