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.7.1 (27021) released

New experimental version.


Well, you know the drill.

Animated GIF support is indeed in this version. I experimented with an animated palette delta trick that a reader suggested, and it does indeed create some really nice animated GIFs. (For the three of you who remember my really old DOS paint program, I pulled the adaptive palette generation code from it.) Animated GIF output wasn't really meant to be a real feature in VirtualDub, particularly since I don't want to implement two-pass encoding just for an optimized global palette, so the output path doesn't have options and tends to write enormous files. Still, if you want to experiment with it, you can do so via the Tools > Create Animated GIF menu option.

There are a few other miscellaneous features in this version as well. I threw in a CPU version of the "warp resize" display pixel shader I posted a while back, and the "display decompressed output" option can now be toggled on the fly, so you can preview part of a save operation without slowing down the whole thing.

The real features in this version, though, are all due to me screwing around a bit with 3D acceleration.

First, the Direct3D and D3DFX display minidrivers now have hardware YCbCr acceleration support for most formats, including UYVY, YUY2, YV24, YV16, YV12, I420, and YVU9. I used pixel shaders for this, so it's not vulnerable to the imprecise or incorrectly ranged hardware conversions that the DirectShow Video Mixing Renderer 9 sometimes hits with StretchBlt(). Also, the D3D9 and D3DFX minidrivers now have full support for field display modes. The plan is to eventually switch the default display path from DirectDraw to Direct3D for Windows Vista, but I'm not ready to make the switch yet, as I'm still seeing annoying issues with Vista and NVIDIA display drivers... and I haven't gotten around to reinstalling Vista RTM on my ATI-based machine to figure out who to blame.

Second, preview acceleration in capture mode now has options to do field-based display. This isn't particularly useful during normal capture, but they're more useful if you're viewing non-interlaced output... like if a certain programmer decided to use his new capture device to play an old Playstation 1 game, like Lunar 2....

The distinctive feature in this version, though, is the screen capture support in capture mode. Now, you might think... why the heck did he add screen capture? Because he's too cheap to buy a real screen capture program? Well, yes, but the real reason is that I found an interesting way to do it. The screen capture minidriver supports OpenGL acceleration, which means that if you have a 3D card with pixel shaders, you can get hardware accelerated scaling, RGB-to-YCbCr conversion, and duplicate frame detection (probably the strangest use ever for occlusion query). I have successfully captured a 1920x1200 desktop, shrunk to 960x600, converted to YUY2, and compressed to Huffyuv at 30 fps. Combine this with "What U Hear" or "Stereo Mix" or whatever your sound card calls the loopback, and you can capture motion video with sound with surprisingly good sync. Surprisingly, it works even if another program is using the 3D hardware -- I successfully captured Final Fantasy VII in an emulator at full rate. The downside is that it doesn't seem to work with the NVIDIA drivers for Vista, where it just gives a black screen. It fails even if the DWM is disabled and only Aero Basic is displayed. Again, I haven't tried this with ATI's Vista drivers yet, although I did test it successfully on a RADEON X850XT in Windows XP. If anyone has an idea how to get desktop readback into a texture working on Vista or manages to get it working with WDDM drivers, please let me know.

Read on for the change list.


Build 27021 (1.7.1, experimental): [February 6, 2007]
   [features added]
   * AVI file info now shows the FOURCC of the video stream.
   * The "display decompressed output" option can now be enabled and disabled
     in the middle of encoding.
   * Improved playback timing.
   * Added /hexview command-line flag to open a file in read-only mode.
   * Added /noStupidAntiDebugChecks for development purposes.
   * Added "warp resize" video filter.
   * The "resize" video filter now allows editing the frame height with an
     aspect ratio constraint active.
   * Ctrl+Drag in the audio display modifies the audio displacement.
   * Added an option to create several types of diagnostic test videos.
   * Added Y800 as a synonym for Y8.
   * Added support for the 4:4:4 planar YCbCr "YV24" format.
   * Added animated GIF import.
   * D3D: UYVY, YUY2, YV24, YV16, YV12, I420, and YVU9 video display is now
     accelerated in Direct3D mode.
   * D3DFX: Added additional support for field-based display shaders.
   * Capture: Added a new screen capture driver.
   * Capture: Added configurable hotkeys for stopping and starting capture.
   * Capture: DirectShow filter graph build errors are now noted in the log
   * Capture: Full-screen mode now auto-hides mouse cursor.
   * Capture: Added UI for modifying DirectShow brightness, contrast, gamma,
     sharpness, and hue settings.
   * Capture: Audio playback setting is now auto-saved. 

   [bugs fixed]
   * "Export as filmstrip" command failed if no audio stream was available.
   * Filmstrips didn't resave properly as AVI (video stream type set
   * Modified the SSE check to ignore the flush-to-zero (FTZ) bit, which
     unfortunately some compiler DLL runtimes twiddle.
   * "Preserve empty frames" was writing out the empty frames as key frames.
     VirtualDub corrects this on load, but it was still incorrect on disk.
   * "Preserve empty frames" caused the video codec key frame interval to
     work incorrectly -- it counted compressed frames rather than total frames.
   * "Display decompressed output" was broken.
   * Added workaround for silent crash when using the audio display with older
     versions of Avisynth.
   * Added workaround for digital cameras that leave the last byte off of JPEG
   * Added workaround for some naughty DLLs that prevented VirtualDub's crash
     logging mechanisms from working properly.
   * Added more workarounds for overlay surface goofiness on Windows Vista.
   * Audio display now reflects timeline edits and the audio displacement
   * Made it more difficult to accidentally select frames in the audio display.
   * Fixed divide by zero crash when D3DFX display is enabled and a video pane
     is shrunken to zero width.
   * Fixed case where tiny audio chunks were emitted periodically when using
     some MP3 codecs at a 44KHz sampling rate (audio interleaving issue, not
     sync issue).
   * Fixed goofed file filters in source dialog of "create paletted AVI"
   * Inverse telecine could be enabled with smart rendering (which doesn't
   * Fixed "preserve empty frames" and "smart rendering" options to work
     better in the presence of a B-frame encoding delay.
   * Capture: Alt+Enter full-screen toggle left window in topmost placement.
   * Capture: Fixed sporadic crash when capturing with resync disabled.
   * Capture: Fixed tabbing in "set custom format" dialog.
   * Capture: /capfileinc and the startup code didn't increment the filename
     properly past existing files when multisegment capture was enabled.
   * Capture: Hide on Capture now works for DirectShow-based devices.
   * Capture: Added workaround for driver bug in Adaptec AVC-1400 GameBridge
     drivers that causes a crash when displaying video capture pin properties.
   * Capture: Fixed filter leak in DirectShow driver in some cases when the
     filter graph failed to build properly.
   * Capture: When the "transform filter" registry option was used, the
     transform filter popped off the capture filter after a video format

   [regressions fixed]
   * Fixed crash when opening AVI file with truncated MP3 audio format.
   * Fixed some audio sync errors when cutting.
   * Fixed the resize filter's settings not saving properly. This was actually
     caused by a long standing overload resolution bug in filter script with
     multiple glue functions on the same overload.
   * Fixed crash when attempting to preview with an audio stream for which no
     decompressor is available.
   * Fixed crash when using quick preview beyond end of selection.
   * Fixed a couple of cases of bogus total audio sample counts being reported
     in the dub status window.
   * Audio sync sometimes wasn't correct when cutting files with VBR audio.
   * Audio stream estimate on status window was sometimes negative.
   * Fixed crash at end of operation with IVTC enabled.


Comments posted:

I haven't tried it yet but this sounds useful. Even if the GIF files are huge they can be loaded into Fireworks and the palette optimised in there. Getting an AVI into animated GIF format in the first place has always been the long-winded part for me. Usually it has involved exporting all the frames as stills.

rgsuk - 07 02 07 - 05:34

Hi Avery

Before I got to post a regression bug report with test3 and 4 verses XviD codec (worked in 1.7.0) it has vanished with the new version. Thanks. :)
OT: Over a year ago I did some formating of the vdscript.txt to html and have now, at last, made it lina compliant. Compiles with VS2005 pro, See the topic at

If you're interested you can just grab it,( Though I can imagine that there has been a lot of changes internally with new Audio script functions and stuff that obsoletes a lot of vdscript.txt )

PS! Hope it's not a double post. Got a bit confused by the "Preview Comment" button.

Henrik - 07 02 07 - 07:22

[...]The downside is that it doesn't seem to work with the NVIDIA drivers for Vista,[...]

For me, OpenGL doesn't even work under WinXP SP2 with an NVIDIA GeForce8800GTX.
In OpenGL-screen-capture, I only can "capture" a black rectangle.
Disabling OpenGL in the source-settings for the capture-filter solves it and
I see the real screen-content.

Greetings, Chris.

Chris - 07 02 07 - 13:41

Chris again,

there is a funny bug in the information panel.
I'm running an SMP-build from the Xvid-codec on a Core-2-Duo. When I configure
Xvid to use more than one thread, the information-panel in VDub shows a CPU-Usage
higher than 100% :-)
Setting Xvid to use only one thread, it returns to normal values

Chris - 07 02 07 - 13:58

Not too surprised, as it was a nasty hack anyway -- the hack is that the OpenGL window test doesn't apply to glReadPixels() or glCopyTexSubImage() as it does for rendering, so I create a full-screen invisible window and use that to capture the screen into a texture. I suspect NVIDIA broke it when they revved the drivers. But for the record, I did test it on a GeForce Go 6800, a GeForce FX 5600, and an RADEON X850XT. In fact, I had to work around a bug in ATI's occlusion query implementation. :)

As for the CPU usage reporting, that's documented in the help file. :) The short answer is that it's not really better the other way -- on a two CPU system you could start dropping frames when you hit 50%.

Phaeron - 08 02 07 - 00:10

The new version still has some problems with loading processing settings (Ctrl+L) with selection and edit list included. I have mailed you about that a while ago but it perhaps got lost in your spam filter or something.
When I open a video file, select frames 10000-20000 and delete them, then select frames 20000-25000 and save processing settings with 'Include selection and edit list' checked, then restart VirtualDub, open the same avi file again and load the previously saved processing settings, frames 20000-35000 are marked. The end of selected area seems to be shifted by the number of frames deleted.
The same happens if I just use the Edit/Revert all edits option, however it doesn't happen if edits are not cleared.
Also after loading processing settings with edit list included if there was no selection, the whole video becomes selected with the blue selection bar extending over the slider area. I think this doesn't do anything wrong, it just looks strange.

Karel - 08 02 07 - 08:27

I tested the Program and it looks very nice. This is the first time i try full screen mode in capture. Please add Hotkeys in fullscreen mode to turn Info+Status Window on - off. Sometimes i must look at the Info-Panel. Double-Click at TV-Window could switch between full-screen and Window Mode.

Thanks for for nice work

Gerold - 13 02 07 - 01:24

Hi, always here to request Bell resize filter again, sorry

More and more often neither bilinear and bicubic fit my needs,

and i would like to use Bell in movies as i do with pics.

The advantages of Bell filter are on Benny's site from years...

movmasty - 22 04 07 - 21:17

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.