§ ¶VirtualDub 1.9.9 released
It's been so long since I released a new version of VirtualDub that I almost forgot my SourceForge password. Ugh.
Version 1.9.9 is now up, and is a stable release with queued up bug fixes; several of them are in the core filtering engine and a couple are in the AVI and Huffyuv handling code. As usual for a stable release, there are no new features other than a small diagnostic one (log specific errors when plugins fail to load on startup).
I don't normally disclose much specifics about what I have in progress, but since I've been slow lately working on VirtualDub (mainly due to time and motivational constraints) and because I have published some working test code already, I'll mention some of my long term plans here. As many of you know, one of the big issues with VirtualDub right now is lack of support for more advanced video formats. VirtualDub's development model depends on an abstraction between specific video formats and the core program for various reasons, relating to legal, maintenance, and simple complexity problems. The short answer is that I cannot and will not take a dependency on an external library to handle formats, nor can I implement them directly. Therefore, the current long-term plan is to beef up the input and output plugin support -- which includes adding command-line encoder support and bringing the DirectShow input plugin internal to the program. The command-line encoder support is still rough, but I've been posting test releases in the forum, and it's starting to look good as a way to export to formats such as H.264, as well as any bizarro homegrown format you can encode to with a simple CLI program. The DirectShow input plugin mostly works, although it needs work on the file type mapping side.
Another frequently requested feature is multicore support. There is a strong misconception that not taking advantage of multiple cores is a bug that requires a ten minute fix, and this notion really needs to be dispelled: writing correctly multithreaded software is hard with standard programming paradigms and that's a major problem that the software industry is currently facing. This is further complicated when dealing with APIs that have threading affinity or are difficult to run in a concurrent manner. The problem with VirtualDub is that the video and audio codecs are typically the main bottleneck, and I can't force those to be multithreaded from my end. I do have a couple of plans, though. First, video codecs that produce only key frames can be parallelized; this is not currently implemented in even test releases, but I don't see any blocking issue there. Second, I do have more control over video filters, and while I can't run a single video filter on multiple threads, as I've written before it is possible to run different video filters in the same chain concurrently. The test releases in the beta forum can already do this to some extent, and I'm seeing some promising gains on a dual-core machine.
Now, the bad part: I have no timeline whatsoever for this. Sorry, but that's reality. I have a full-time job, I have other interests, and therefore I only work on VirtualDub occasionally. I get a lot of requests for various features, some of which are well-written, and some of which are frankly abusive, but regardless I can only take on a few of them at a time, and I generally have to avoid chasing the frontier, whether it be in compilers, OS features, algorithms, formats, etc. If you've sent me an email and haven't gotten a response, or are still waiting for a feature to arrive -- I apologize, and please believe me when I say I keep a master list of requests. Thanks for your support and your continued patience, and if you've got some time, feel free to try some of the test releases I put out in the forums.
Build 32817 (1.9.9, stable): [April 9, 2010]
* The log now indicates which plugins failed to load on startup.
* UI: Fixed a case where the output pane could change aspect ratio when
auto pane sizing was enabled and the main frame window was resized.
* UI: The output pane now has the correct pixel aspect ratio when an input
plugin indicates non-square pixels and no filters are used.
* UI: 6% zoom menu items didn't display checkmarks properly.
* AVI: Fixed incorrect decoding of paletted video files when biClrUsed=0 in
the header and the input color mode is set to Autoselect.
* AMD64: Fixed incorrect disassembler module in crash handler.
* Render: Fixed sporadic hang when using smart rendering with fast
* Render: Audio is no longer cut off when "cut off when video ends" option
is disabled and IVTC filter is used.
* Filters: Fixed duplicate frame fetches when using lagged filters (ex:
temporal smoother) at the very end of the source video stream.
* Filters: Fixed frame fetch errors when using filters with a frame window
(ex: interpolate) at the end of an MPEG-1 video.
* Filters: Source length was not set during renders.
* Filters: Fixed garbage line at bottom of frame when using IVTC filter
with an odd height.
* Filters: Fixed bug where filter preview stopped displaying frames past a
certain point when edits had occurred on the timeline.
* Batch: Timeline had wrong frame counts when creating batch jobs via
Process Directory or Batch Wizard with a frame rate changing filter (ex:
* Decoders: Fixed decoding of Huffyuv files using median prediction and
* Decoders: Fixed incorrect chroma DC handling with restart markers in
I am simply thankful for this awesome program. I use it for my every day work (I am a webmaster dealing with tons of videos daily). VirtualDub is one of the two main programs I use.
Andy Vogel - 10 04 10 - 05:47
Thanks for a great application you give everyone for free and for the countless hours put in it for anonymous guys like me or us. Your work truly deserves respect.
Ovi (link) - 10 04 10 - 07:23
Avery, thanks for your continued support of VirtualDub. I've been using it for 10 years, and I hope that I'll still be using it 10 years from now.
Steve V - 10 04 10 - 17:37
Multi threading: I dont know how the encoding pipeline works but you might be able to split them into multiple processes. You are certainly concerned that the libs/codes/whatever you use are not thread-safe which is certainly true. But by splitting into multiple processes those instances dont share state.
tobi - 10 04 10 - 22:17
Thanks for the release! Much appreciated! :]
When dealing with videos and conversion I ALWAYS recommend virtualDub!
eRiC (link) - 12 04 10 - 00:20
Thank you for the update. I have just upgraded my system and somehow lost be previous version of that irreplaceable utility Virtualdub, which I have been using for longer than I care to remember.
Please don't concern overly with the plethora of additions/improvements? which could be made to this prog. Those of us that have come to know and love Virtualdub adjusted to any idiosyncrasies a long time ago and if it works why change it? I mean lets get real here. Life was made for living not for sitting hunched over a hot keyboard chasing racalcitrant chunks of code, no matter what we thought in our youth.
Thank you again.
Jasgeo - 12 04 10 - 10:48
no se si me entiendas pero este programa fue el primer programa que utilice en mi vida para editar videos eso hace mas de 5 o 4 años si no mal recuerdo y creeme que hasta el dia de ho lo extrañado ojala no pase tanto tiempo en el proximo release como esta ves muchas gracias
friend thank you
heavyarms - 12 04 10 - 13:28
This is the best video tool ever!!!
I use it every day for so many years now!
I actually managed to create my own method of NTSC-PAL conversion that is 10000000% perfect with no motion jaggies or artifacts! I compared the results to a studio 19" rack format converter (costs above 16.000 euros) and the result is exactly the same! Flawless motion, perfect quality! I was stunned! I just... compined some already available filters, ALL of them internal !!!
The result is absolutely AMAZING! I actually use an NTSC camera everyday to edit and broadcast... PAL video!
It is an example, how can a well-writen programm leads to an idea, that solves a universal problem :)
Maybe one day I'll give the combination (and the whole idea) to the creator of this programm, so we may see a "pre-configured" ntsc-pal / pal-ntsc filter :)
If he is intrested... he knows my email :)
Animagic - 12 04 10 - 22:44
Thanks, for the nifty tool.
Ashish - 13 04 10 - 00:41
Thank you very much for VirtualDub. I have been using it for as long as I can remember and have always been very happy with it.
Sinan Unur (link) - 13 04 10 - 07:59
Thank You Veri Mach for GOOD Program. From Russia!
polekon - 17 04 10 - 21:01
Just a heads up, you seem to have typoed DXVA as "VDXA" in the prefs box.
Saketai - 18 04 10 - 10:25
That's not a typo.
Phaeron - 18 04 10 - 10:33
Whoops. Looks like I have some reading up to do.
Fast reply, I was about to email you after it occurred to me that the comments section is a bad place to report... "typos".
Saketai - 18 04 10 - 10:35
Thank you for this amazing program!
I'm especially grateful for the "include selection and edit lists" option in the Save Configuration dialog which was added since the past couple of versions.
Ravi - 27 04 10 - 21:06
I should probably have written a big thank you a long time ago, I have been using this software for a long time and it's never failed me...
I'm looking forward to a smoother Direct Show implementation; the current input filter works great but selecting/opening files can sometimes be a bit troublesome, especially if it’s an mpeg2.
One small wish though: Would be nice if it were possible to append a clip through drag-drop (perhaps by holding ctrl or shift?)
Once again thank you for the great work
TopCatDk - 29 04 10 - 20:27
Virtualdub is one of the best free programs out there. Thank you.
Alex - 29 04 10 - 22:45
I use it all the time. Nothing comes near it for the quality output. Other programs that cost big $$$ mostly don't give as good a result as VirtualDub. Keep up the great work. Much appreciated by all ☺
SanFranMan - 04 05 10 - 15:54
Ladies & Gentlemen if we keep flooding Avry Lee's Head with all the great comments, the poor mans head will surely explode. lol Sorry avry (i just couldent resist) :-)
I too am totally blown away with the versatility of VirtualDub. i have been using it for over 8 years now, and it is the first tool I reach for in my video editing tool arsnal. and is the main tool I use for converting non standard frame rates / bit rates into CBR audio & video Tracks suitable for impotring in to tmpeg enc. and final cut pro.
virtualdub is one of the finest video processing tools I have had the pleasure to use.
Phillip Jordan - 06 06 10 - 02:35
Download V1.9.11 (x64 / 64-bit) release build (VirtualDub-1.9.11-AMD64.zip)
Pretty good. I figured I'd try it once, and then just encode a single video. The 64 bit version above does utilize more then one core. When I got it running, it was using a large amount of cores 2 and 4. I don't know if that's because you coded it that way, or because the 64 bit enhancements helps this. For me, where this is seems almost good where it is, with no further enhancements. Having it using 2 cores is enough for me, as I can still let it sit in the background, and then do other things. I've been using VirtualDub since 2003 or 2004.
I am also the newest post on here. Take Care All. ;-) :-)
FievelJ Mousekewitz - 23 04 12 - 02:23