Comments
Comments posted:
I'm glad 1.6.9 is out, I think most 1.6.x bugs have gone by now, congratulations!
isidro - 11 07 05 - 02:03
I have a question about the way VirtualDub handles MP3 data when using interleaving. Since an MP3 audio frame is always 1152 samples in size (or 576 in the case of MPEG-2/2.5, but that's hardly used) the point at which a video frame has to be interleaved with the audio data can fall within an MP3 frame. What does VD do when this happens? Does it put the whole MP3 frame before the following video data, or does it split the frame data across chunks? In other words, is it possible for an "incomplete" (data is in next chunk too) MP3 frame to be put into a chunk?
If so, it would be nice if VD could handle MP3 data on a frame-basis, so that all frames are decodable from a chunk (better for playback, since otherwise two chunks need to be read to get all the audio data for one MP3 frame).
Yuri - 12 07 05 - 08:50
I'm sorry I posted the following comment to v1.6.8 release before noticing the release of 1.6.9. :
There is one more observation to (1.6.8, 1.6.9) and not in 1.5.1.
Using ‘Condional’ filter with/without
a clip gives a garbled list of filters among strange combinations of charachters. (several filters disappear.)
John I. - 12 07 05 - 16:11
Yuri:
When interleaving, VirtualDub neither knows nor cares that you are using MP3, only that it is interleaving a chunked audio stream. The granularity of interleaving is governed by the nBlockAlign field of the WAVEFORMATEX structure. Most MP3 codecs set this to 1, which tells VirtualDub that the stream can be handled at byte granularity. If nBlockAlign is set to a larger value then VirtualDub will only copy blocks that are multiples of that size. Unfortunately, for a stream that does not have identically sized blocks this is not possible (44KHz with proper padding), so this is not always feasible.
Note that MP3 frames may read data from previous frames through the bit reservoir, and the IMDCT and polyphase filter banks impose more delay, so being able to read a frame from one chunk doesn't make MP3 decoding from the file any easier.
John:
The conditional filter inspects private structures within VirtualDub that are not covered by the filter SDK, so it broke when I rewrote the system in the middle of the 1.5.x series to resolve filter load failures with too many filters loaded. Unfortunately, I can't really support the way this filter works going forward (it's going to break really badly in 1.7.x). However, I think the author has released a newer version that can recognize and access the 1.6.x structures, so you should check the author's site. I'm thinking about ways I can expose the same kinds of functionality that the conditional filter was used for, but it's a bit premature as the 1.7.x filter system isn't working yet.
Phaeron - 13 07 05 - 00:05
Please consider porting Virtualdub to Linux.
I know you've touched on this in your writings here on your website,
I know Vdub has limited (though still not entirely usable) use in WINE,
I know other projects exist in Linux (avidemux for example),
But Virtualdub is king! And we need it in Linux! Please consider porting it! It works very well in Windows, port it for the OS of the future: Linux!
Thank you and keep up the good work
AVirtualDubLover - 13 07 05 - 05:14
[regressions fixed]
* Fixed sporadic audio compression errors at end of render.
Thanks for this fix !
Cédric B. - 13 07 05 - 18:11
AVDubLover:
Since VirtualDub is based on the Video For Windows API, porting it to Linux would probably involve rewriting 90% of the application, at which point it wouldn't really be VirtualDub anymore.
TechMage89 - 14 07 05 - 15:19
Uh, no, the percentage that is dependent on VFW is nowhere near 90%. However, the UI is Win32 based and there are some VCisms in the code, so it would still be nontrivial.
Phaeron - 15 07 05 - 00:42
One bug I notice (sorry!) is that the analysis pass mode, which I've grown to love, will always default to normal priority, even when dub and default priority are set to idle. Otherwise, the last few versions have been rock solid stable for me.
foxyshadis (link) - 15 07 05 - 23:26
Hm, I think i found another one, around the same feature. I thought it was a fluke, but every time I run an analysis pass with an avisynth that takes a while, it refuses to reload the file, or any other file, until vdub is closed and reopened. (I disable some filters for first pass.) I'm trying to replicate, but it didn't happen with 10,000 frames uncompressed or 1,000 frames compressed, so I'm running a full first pass now to get the error.
The script is just:
x=DirectShowSource("star.grf")
return x
star.grf being a custom file->avi parser->ffdshow decoder graph since the encoding box won't use YUV otherwise.
And it didn't wirk. Sigh. I'll report back when I have a repeatable case.
foxyshadis (link) - 16 07 05 - 22:57
I've fixed the priority bug in the Run Video Analysis Pass command for 1.6.10, but I have no idea on the Avisynth problem. Once you trip DirectShow you're bringing in so much code into VirtualDub's process that it's anyone's guess which part failed. It does sound like some handle or object is being leaked, though, and since DirectShow is heavily COM-based, any refcount leak will result in the whole filter graph sticking around.
Phaeron - 18 07 05 - 03:40
Is it possible to add for Vdub 'internal filters' which have preview, an "Enabled" check box so the users can compare the difference before & after at different settings ?
John I. - 19 07 05 - 12:57
I was wondering - would there be a way to add an Ogg output filter to Virtualdub? I know that projects such as Virtualdubmod have done so, but would you consider it? It would allow people to use Vorbis sound encoding directly...
Still a very nice software. Keep it up!
Mitch 74 - 21 07 05 - 08:31
Can you provide on the site an change log for people who upgrade from the stable v1.5 to the new stable v1.6.8/9?
I don't mean a bug fix list that tells the differences between v1.6.8 and v1.6.9. but a major list that tells what happened since v1.5.
In other words, why should I upgrade from v
1.5?
Thanks!
Lior - 23 07 05 - 08:36
All versions of VirtualDub have cumulative changelogs from previous versions. Help > Change log... on the menu will allow you to see all changes going back to 1.5.
Phaeron - 23 07 05 - 16:45
Since v1.6.4 I haven't been able to get good audio/video syncronization. I'm using the DirectX driver to capture at 480x480. Things are good under 1.6.4 but after that even the cleanest source results in an out of sync capture.
Will - 24 07 05 - 20:41
OS: Win98SE (with 1 million security patches) H/W: Dell P-III 450MHz Katmai (100MHz Back-Side-Bus)
VDub versions: 1.6.8 thru 1.6.9
Undocumented features:
1. Next/Prev-KeyFrame on an MPEG-1 file displays [B] instead of [I] on the status bar. Wondering if this is just a cosmetic issue or VDub is wrongly adding an extra frame count internally. Also wondering if this is related to a 'regression' issue as stated in change log for "Build 18068 (1.5.8, stable): [November 3, 2003]" under 'bugs fixed'. This one seen since 1.6.8 (sorry for late notification) but works properly in 1.5.10. Did not use versions in between. Add: Looks like it's just cosmetic - Comparing both versions with fccHandler's MPEG-2 versions, I-frames were correctly indicated in fccHandler's (for the same frame no.).
2. Using Audio->Advanced Filtering and saving AVI results in uncompressed audio irregardless of the audio compression codec selected. However, if we set audio->Conversion and audio->Compression params before enabling Advanced filtering, AVI saved will follow the audio compression selected earlier. Seems that 'Compression' looks at results of 'Conversion' instead of results of 'Advanced Filtering'.
Eg. Wanted to do 'quick n dirty' HQ resampling of 22kHz audio to 44kHz (using 'resample' filter with 128-taps). If we immediately select Advanced Filtering and then use the 'resample' filter, the 'Compression' screen will only allow us to select rates for up to 22kHz. Even so, audio will still be uncompressed PCM. But, if we 'pretend' by 1st using 'Conversion' to set proper params for resampling to 44kHz, and then set 'Compression' codec, etc, BEFORE enabling 'Advanced Filtering' to do the actual resampling, resulting AVI will be correctly done. Wondering if the HQ 'resample' filter was actually used or the one in 'Conversion' was used in this case.
Thanx for this superb proggie!!!
XEQ.
XEQtor - 03 08 05 - 00:06
1. Frame types are being reported incorrectly in 1.6.x; it is a regression from 1.5.10 although I don't remember where it started. fccHandler was actually the one that reported the bug and I told him the fix, but it might not apply to his version since the MPEG parser is a bit different in the MPEG-2 version. The fix will officially appear in 1.6.10.
2. I can reproduce the UI glitch, but not the uncompressed audio output. Basically, the problem is indeed that the dialog doesn't notice that the graph is in use, and computes the wrong source format. This only affects what formats are displayed by default, though, and you can override it with the "show all formats" checkbox. I can't see how it would drop to uncompressed audio. In the next major version I plan to reimplement the Conversion options through the filter graph, so the old audio path can go away and there will no longer be parallel modes.
Phaeron - 03 08 05 - 01:00
What version of virtual dub would I use to remove the flicker when using a camcorder to capture film being projected with a movie projector with a frame speed of 16-18 frames per second?
Harry Putman - 04 08 05 - 17:44
Thank you for the prompt reply. Sorry for late come-back.
Can no longer reproduce the 'Uncompressed PCM' with 'Advanced Filtering' turned on. Compression does work, it's just not shown in the UI like when you use 'Conversion' - trivial tho. Sorry to waste yr time. But I may have instead found another 'feature' while trying to reproduce my previous observations. My actual usage was more complicated than my eg above. I wanted to duplicate most of the features available in 'Conversion' but using 'Advanced Filtering' instead. This way, I can use the 'multi-tap' to improve resampling quality (I hope) and do away with using the 'Conversion' screen. Wanted to: double sampling rate and dup mono track to stereo. For eg. 22kHz mono to 44kHz stereo, or 24kHz mono to 48kHz stereo. Used 'Advanced Filtering' with filters: input->resample->split->stereo merge->output. I then joined 2nd output pin of 'split' to 2nd input pin of 'stereo merge'. Result: left channel works, right channel gives clipping noise instead. Turned off 'Use Advanced Filtering', resorted to 'Conversion' instead and set 'stereo'. This works. Am I using the 'mono to stereo' conversion in Advanced Filtering wrong or is there a glitch in the 'split' filter? For that matter, same clipping result even w/o the resample filter (ie direct mono to stereo conversion). Have now checked & rechecked with diff clips - 22kHz & 24kHz - to avoid false reporting... Side-effect of this is that I can now safely confirm that VDub REALLY over-rides 'Conversion' and uses 'Advanced Filtering' if it is turned on.
Thanx again.
XEQ.
XEQtor - 09 08 05 - 03:21
Hi, a linux port would be very appreciated. Super software!!! Thanks!!!
Grzegorz Nowak (link) - 02 04 07 - 05:54