Current version

v1.10.4 (stable)


Main page
Archived news
Plugin SDK
Knowledge base
Contact info
Other projects



01 Dec - 31 Dec 2013
01 Oct - 31 Oct 2013
01 Aug - 31 Aug 2013
01 May - 31 May 2013
01 Mar - 31 Mar 2013
01 Feb - 29 Feb 2013
01 Dec - 31 Dec 2012
01 Nov - 30 Nov 2012
01 Oct - 31 Oct 2012
01 Sep - 30 Sep 2012
01 Aug - 31 Aug 2012
01 June - 30 June 2012
01 May - 31 May 2012
01 Apr - 30 Apr 2012
01 Dec - 31 Dec 2011
01 Nov - 30 Nov 2011
01 Oct - 31 Oct 2011
01 Sep - 30 Sep 2011
01 Aug - 31 Aug 2011
01 Jul - 31 Jul 2011
01 June - 30 June 2011
01 May - 31 May 2011
01 Apr - 30 Apr 2011
01 Mar - 31 Mar 2011
01 Feb - 29 Feb 2011
01 Jan - 31 Jan 2011
01 Dec - 31 Dec 2010
01 Nov - 30 Nov 2010
01 Oct - 31 Oct 2010
01 Sep - 30 Sep 2010
01 Aug - 31 Aug 2010
01 Jul - 31 Jul 2010
01 June - 30 June 2010
01 May - 31 May 2010
01 Apr - 30 Apr 2010
01 Mar - 31 Mar 2010
01 Feb - 29 Feb 2010
01 Jan - 31 Jan 2010
01 Dec - 31 Dec 2009
01 Nov - 30 Nov 2009
01 Oct - 31 Oct 2009
01 Sep - 30 Sep 2009
01 Aug - 31 Aug 2009
01 Jul - 31 Jul 2009
01 June - 30 June 2009
01 May - 31 May 2009
01 Apr - 30 Apr 2009
01 Mar - 31 Mar 2009
01 Feb - 29 Feb 2009
01 Jan - 31 Jan 2009
01 Dec - 31 Dec 2008
01 Nov - 30 Nov 2008
01 Oct - 31 Oct 2008
01 Sep - 30 Sep 2008
01 Aug - 31 Aug 2008
01 Jul - 31 Jul 2008
01 June - 30 June 2008
01 May - 31 May 2008
01 Apr - 30 Apr 2008
01 Mar - 31 Mar 2008
01 Feb - 29 Feb 2008
01 Jan - 31 Jan 2008
01 Dec - 31 Dec 2007
01 Nov - 30 Nov 2007
01 Oct - 31 Oct 2007
01 Sep - 30 Sep 2007
01 Aug - 31 Aug 2007
01 Jul - 31 Jul 2007
01 June - 30 June 2007
01 May - 31 May 2007
01 Apr - 30 Apr 2007
01 Mar - 31 Mar 2007
01 Feb - 29 Feb 2007
01 Jan - 31 Jan 2007
01 Dec - 31 Dec 2006
01 Nov - 30 Nov 2006
01 Oct - 31 Oct 2006
01 Sep - 30 Sep 2006
01 Aug - 31 Aug 2006
01 Jul - 31 Jul 2006
01 June - 30 June 2006
01 May - 31 May 2006
01 Apr - 30 Apr 2006
01 Mar - 31 Mar 2006
01 Feb - 29 Feb 2006
01 Jan - 31 Jan 2006
01 Dec - 31 Dec 2005
01 Nov - 30 Nov 2005
01 Oct - 31 Oct 2005
01 Sep - 30 Sep 2005
01 Aug - 31 Aug 2005
01 Jul - 31 Jul 2005
01 June - 30 June 2005
01 May - 31 May 2005
01 Apr - 30 Apr 2005
01 Mar - 31 Mar 2005
01 Feb - 29 Feb 2005
01 Jan - 31 Jan 2005
01 Dec - 31 Dec 2004
01 Nov - 30 Nov 2004
01 Oct - 31 Oct 2004
01 Sep - 30 Sep 2004
01 Aug - 31 Aug 2004


Powered by Pivot  
XML: RSS feed 
XML: Atom feed 

§ VirtualDub 1.6.6 released; multithreading 1.7.0

It's been a while, but 1.6.6 is now out the door. This release is solely a bug-fix release; the one option that was added addresses a compatibility issue with some hardware-based playback devices. Assuming that no major issues crop up this version will be promoted to stable in the next release with few or no changes; otherwise, I'll try again.

Part of the reason for the delay was that I was also working on a 1.7.0 branch at the same time. Some of the changes that I did not want to put in 1.6.6 and probably won't put in 1.6.7 will go into this branch instead. The primary change that I am working on at the moment is rewriting the rendering engine; it's a monolithic mess right now and I'm trying to break it apart into stages so that it is more finely grained. Among the benefits of doing this are that it could be further multithreaded for better performance on 2-way and 4-way SMP machines, and also able to cover the latency of IPC between 32-bit and 64-bit processes, which is how I plan to have the 64-bit version use 32-bit filters and codecs. It will also make handling multiple sources and possibly multiple outputs easier, if I go down that route.

Possible performance issues with Symantec AntiVirus Corporate Edition

One of the changes that was made to 1.6.6 was a rework of the way that VirtualDub opens files for write. For performance reasons, VirtualDub opens the output AVI twice, once in non-buffered I/O mode and again in buffered mode. Both open calls are done with the WRITE flag for access and for sharing permissions. I received some reports that 1.6.5 could not write files when certain versions of Symantec AntiVirus Corporate Edition were active and scanning AVI files. Basically, Symantec AntiVirus is apparently able to violate Win32 sharing conventions by opening newly created files and denying write access even though there is already a Win32 file handle open with write access. This causes VirtualDub's second file open to fail with an access denied error.

In 1.6.6, I fixed the open code so that it would once again work if only the buffered file handle open succeeded. However, in this mode you will see degraded file I/O performance if you are writing out a high-bandwidth video file, such as an uncompressed or Huffyuv-packed file. In addition, the file cache will also be more polluted so that other programs may page to disk after a prolonged save operation. If you are experiencing these kinds of problems with an antivirus product I first recommend trying to update to the vendor's latest version, and if that doesn't resolve the problem, try adding the output folder to the exclude list for scanning.

YCbCr issues

There were some minor accuracy bugs in the MMX versions of a few of the YCbCr conversion routines. Occasionally, the conversion resulted in values that were +/- 2/255 or +/- 3/255 off ideal; this has now been generally reduced to +/- 1/255. The differences were not visible.

Conversion from UYVY and YUY2 to RGB now interpolate chroma properly. This bug didn't affect the planar formats, though.

If you had a YCbCr-encoded AVI (YUY2, UYVY, YV16, YV12, I420, IYUV, or YVU9) that had a width that wasn't divisible by 4, 1.6.5 could report errors about incorrect frame sizes while scrubbing on the timeline. This was due to a bad scanline pitch computation that has been fixed in 1.6.6.

Sector alignment of large, uncompressed video frames

During 1.6.6's development I received a report from a hardware vendor that modifications were required to VirtualDub to play back its AVI files on their hardware devices, due to additional alignment restrictions in the hardware for DMA transfers from the hard disk. An option is now present in Options > Preferences > AVI to force sector alignment for large, uncompressed video frames. You should not enable this unless you are experiencing incompatibility problems as it will result in additional padding chunks being placed in the output file.

Change log

Build 23486 (1.6.6, experimental): [May 29, 2005]
   [features added]
   * Added an option in Options > Preferences > AVI to force sector alignment
     for large uncompressed frames. This can resolve compatibility problems
     with some uncompressed hardware video playback units.

   [bugs fixed]
   * Capture: Video/audio format and compression and video frame rate now
     autosave on disconnect.
   * Capture: Fixed some cases where the Raw Audio Format dialog didn't
     highlight the currently selected PCM format.
   * Capture: Noise reduction threshold was not restored properly.
   * Capture: Renamed Peak Meter back to Volume Meter and restored V
   * Frame byte size was being computed improperly for YCbCr AVIs.
   * Fixed broken MJPEG video decoding at bottom-right corner on streams that
     have restart markers.
   * Reworked MJPEG field ordering detection to be consistent with DirectShow
     MJPEG decoder. If this is reversed for your files, enable "swap fields"
     in AVI extended open options.
   * Scene detection was busted for 16-bit RGB (very rare case).
   * Minor status updating features, such as the current position nub moving
     during input preview, were broken after running a job that ended in an
   * (AMD64 only) Scene detection is now implemented.
   * (AMD64 only) Enabled some video filters that had scalar implementations:
     flipv, fliph, deinterlace, rotate, and HSV.
   * Save Image Sequence dialog didn't show the "add as job" button as checked,
     even if it was saved as such from the last time.
   * Fixed minor bugs in various image converters and improved accuracy of a
     few YCbCr-to-RGB converters.
   * Fixed UYVY/YUY2-to-RGB converters not interpolating chroma properly.
   * Fixed YVU9 chroma planes being swapped on write to disk and enabled YVU9
     for direct input.

   [regressions fixed]
   * App would sometimes exit after stopping frameserver.
   * Frameserver sent garbage data if the video filter chain changed the frame
   * Fixed a regression in video codec negotiation for MS MPEG-4 V3 variants
     where a different but compatible codec was not properly detected.
   * Doing a paste with no selection caused one frame to be deleted before
     doing the paste.
   * Write open failures were being reported again when the target file
     couldn't be opened a second time in fast I/O mode, which happens
     sometimes with emulators or remote drives. The slower fallback has been
   * Running out of disk space at the very end of a render operation was
     sometimes reported as an I/O error rather than a write error.
   * Sampling in filter preview could fail if the timeline had been edited.


Comments posted:

Has it ever been clarified that VirtualDub demuxes AC3 tracks with a faulty WAV header? The 'cbSize' chunk of the WAVEFORMATEX structure is always written as 18, but there are not 18 bytes of extra data to read. This can cause applications to miss the data (and fact) chunk. It looks as though "18" is being written to specify the size of WAVEFORMATEX (which *is* 18 bytes). If so, this is precisely the problem. The size of the format structure is specified in the fmt chunk (where it is supposed to be specified). Change the value of 'cdSize' to zero, and this problem is fixed.

S. A. DeCaro - 30 05 05 - 06:32

VD doesn't convert sound from 48khz to 44khz if I convert stereo to mono, at the same time.

MAU777 - 30 05 05 - 12:28

So symantec strikes again? I remember that betatesters of the Dialog newsreader reported multiple problems with their antivirus (also related to it being able to bypass standard windows file sharing conventions), and I've seen their products recognise perfectly safe installers as being trojans...

ender - 30 05 05 - 17:04

S.A.DeCaro: When demuxing a track, VirtualDub simply copies the entire wave header verbatim from the source AVI. You may want to check the source AVI's audio format block. Also, make sure you're using the official versions of VirtualDub and not a third-party modified version, as I can't help you with those.

MAU777: I can't reproduce this. How exactly does it fail? If you can repro on 1.6.6 and can provide more detailed steps then I can look into it.

Phaeron - 30 05 05 - 18:06

Phaeron: I open an avi file with audio stereo at 48 khz in VD, doesn't matter if video is set to full processing mode or to direct stream copy. In the audio menu I set full procesing mode, in conversion I set 44khz and mono, the output file has an audio mono at 48khz. VD doesn' convert 48khz to 44khz.

MAU777 - 01 06 05 - 08:20

Phaeron: This happen in VirtualDub 1.6.5 and 1.6.6

MAU777 - 01 06 05 - 11:38

MAU777: I'm afraid I still can't reproduce it. Make sure you don't have the "integral conversion" option checked. If you're still having problems I'd be happy to try to walk you through more detailed diagnosis steps, but please contact me by email or through the forum as it's very hard to continue a thread in blog comments.

Phaeron - 02 06 05 - 00:24

Is it possible to add support for .avi files with no video track? I have come across these audio-only files a couple of times and had to use graphedit to extract the audio. It would be nice if one could get information and save the .wav from within VirtualDub.

Graham - 02 06 05 - 04:38

Does this mean that a 1.7 branch version will be coming out sometime this summer? Will DV capture be fully supported for the 1.7 branch?

TechMage89 - 06 06 05 - 13:18

I love your program, unfortunately I do not know so much about DVD editing and conversion as you do?
My problem: I have a ATI All-in-Wonder video card so I can record tv on my PC. This is stored in ATI's 'AVI' format. With your program I an edit it but can't get the format so that I can burn it to DVD. DVD Shrink does not open it and Nero 6 says that the file size is lager than 2GB and therefor can't work with it. If you can help me at all, even if I have to buy software, I wought be forever thankful.

A happy VirtualDub user

Wouter Booyens - 06 06 05 - 23:00

TechMage89: 1.7 will take a while I need to make some rather major changes to the program's core and that will take time to stabilize. As for DV capture, I still don't have a device I can actually use to develop such a feature.

Wouter: I don't think there's anything I can do to help you if a program doesn't support AVI files larger than 2GB and doesn't support opening multiple files as one big clip, then you're stuck.

Phaeron - 07 06 05 - 00:20

Can't find a DV device? I find them practically unavoidable. Every stupid company wants to sell a capture card with a DV chip, and with Sony's D8, almost every camcorder now uses the format.

TechMage89 - 07 06 05 - 16:09

I'm not sure that the device that convert and capture to DV produce the same DirectShow graph as an actual connected camcorder, and I haven't seen any so far that I'd actually want to buy. Unfortunately, I don't have a need for a DV camcorder either.

Phaeron - 09 06 05 - 04:48

Got to say after trying different programmes (shareware & freeware), virtualdub is one of the easiest I have used. My main use is to edit avi files & strip the sound from them so I can make a slideshow out of them with music. Keep up the good work.

Thx Again!!

Ian Reid - 10 06 05 - 20:34

I also have an AIW; for one thing, dont' capture to ATI's VCR or MPEG2 files (for the latter you can try VirtualDubMod)--you can compress to MPEG4 directly, which VirtualDub can then open and do whatever you like.

Mark - 10 06 05 - 23:36

I'm using Virtualdub 1.7.6 build 28292. I'm also using the mpeg-2 plugin. My video source file is MPEG-2, 5400kbps video, de-interlaced 720x576, with MP3 audio stream, 44.1 khz, stereo @160kbps. It's a PAL TV show recorded with a TV Tuner card, with Intervideo WinDVR.

I usually record the shows in said format, then open them in Vdub to edit out the ad-breaks, so that I can archive them.

The problem is that I can't perform a direct stream copy on the audio stream. Even if I set the audio to Direct Stream Copy, the output audio is 44.1khz stereo PCM. Thus, I have to decompress the audio to a wav file, re-convert it to mp3-wav (Winamp Diskwriter), and then mux it using Wav Audio source in Vdub.

Another issue is that I cannot obtain A/V sync if I compress the audio from within Vdub. I tried to set a compression format (Lame MP3) and save the wav file, but that trashes the A/V sync too, when I mux it in later.

Vivek - 15 12 07 - 07:50

Sorry...I meant to say created a WAV file using Mixcraft...

Bill - 26 09 09 - 05:04

Comment form

Please keep comments on-topic for this entry. If you have unrelated comments about VirtualDub, the forum is a better place to post them.
Remember personal info?

Email (Optional):
Your email address is only revealed to the blog owner and is not shown to the public.
URL (Optional):
Comment: /

An authentication dialog may appear when you click Post Comment. Simply type in "post" as the user and "now" as the password. I have had to do this to stop automated comment spam.

Small print: All html tags except <b> and <i> will be removed from your comment. You can make links by just typing the url or mail-address.