Current version

v1.10.4 (stable)


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


Blog Archive

VirtualDub 1.6.1 released

The second experimental release in the VirtualDub 1.6 series has been released. This release mainly fixes a bunch of regressions in 1.6.0 and should be more stable, especially on AMD64. I will probably be doing at least a couple more experimental releases, so keep the feedback coming -- I do actually read the bug reports and fix bugs even if I don't respond to all of them.

Note that the capture module is being overhauled and thus is a bit broken in this release. It is recommended that you stick with 1.5.10 for video captures at the moment.

The capture module had been stagnating for some time and the problem came to a cusp in 1.6.0 when its window procedure conflicted with the main editor to cause the crash on exit, so I decided to finally start rewriting it. One of the goals in doing so is to implement a much better resync system; the current build has a PCM audio resampler that works better but I still have to add compressed audio support and tune the feedback system. Another goal is to get capture working with newer video capture devices, most notably my Plextor PX-M402U. DirectShow capture support is in the build, but it has no audio support and barely works so don't even think about trying it for a real capture session. Video for Windows drivers are still supported but I have dropped support for AVICap mode as it greatly complicated the internals. Please don't write to ask me to implement command-line support, scriptability, scheduling, or DV support as they've already been requested.

1.6.1 also contains a couple of minor improvements to aid launching VirtualDub from a shortcut or batch file. You no longer have to specify parameters right up against the switch, so /s <file> works as well as /s<file>. There is a new switch, /i (invoke), which is similar to /s (script) except that it collects all successive non-switch arguments into the script-accessible VirtualDub.params[0..N-1] string array. This makes it easy to create a generic processing script and then pass filenames to it. Also, the script system now accepts strings with U"..." syntax to indicate that the scripts should not be processed for C-style escapes and should be converted from native ANSI encoding. In particular, this means that path backslashes do not have to be escaped and high-plane characters do not have to be converted to UTF-8, making it easier to generate scripts. (Don't say I didn't listen to you, Frank.) Note that VirtualDub itself still writes UTF-8 directly, which you must be aware of if you attempt to read those files.

There are a couple of changes that are not noted in the change log. The release.bat script has been totally reworked and now has switches for using the Visual Studio .NET 2003, Windows Server 2003 DDK, and Visual Studio .NET 2005 compilers. You still need Visual C++ 6.0 to drive the build process as the .dsp-to-.vcproj conversion is not automated. The verinc and mapconv tools were also modified to avoid the need to request a refresh of the .bin version files from Perforce. I also updated the crash analysis system to fix a stupid bug in the disassembler that was causing the "db xxh" goofs and to fix several problems with AMD64 traces.

Build 22022 (1.6.1, experimental): [November 3, 2004]
   [features added]
   * Rewrote command line parsing so that arguments to /s, /p, and /b no longer require the parameters to be adjacent to the switch.
   * New /i (invoke) command line flag runs a script and passes additional parameters to it, which are available as VirtualDub.params[n].
   * Unescaped, native-coded strings can now be embedded in a script using U"..." syntax. In particular, this allows filenames to be inserted directly from a batch file.
   * The Abort button on the dub status dialog now confirms by default for non-preview operations; this can be disabled in Preferences.
   [bugs fixed]
   * "AVIFile compatibility mode" no longer needs to be manually checked in extended AVI options when opening Avisynth scripts.
   * JPEG output mode now properly checks that the output format is set to 16-bit, 24-bit, or 32-bit RGB.
   * Fixed incompatibilities with some custom UI shells that subclass application windows.
   * DV audio settings are now derived from the first frame rather than the header, which is sometimes incorrect.
   * Fixed crash when attempting to append or check info on a DV type-1 AVI file.
   * Removed prototype "triangular resize" filter.
   * Jump To Frame dialog now takes source rate adjustments into account.
   * Fixed some errant cases of "invalid handle" errors when files could not be found.
   * Fixed decoding errors when rendering from an image sequence and the timeline format was customized to have frame byte size information.
   * Image sequences didn't load properly if the numeric part of the filename was too large (>2^31).
   * (AMD64 only) Fixed incorrect RGB888-to-XRGB1555 conversion.
   * (AMD64 only) Fixed crash when loading scripts with filters that had more than one configuration parameter.
   [regressions fixed]
   * Fix for timeline sometimes getting trashed after starting the frame server.
   * Fix for erroneous first frame if first frame is displayed when starting Direct-mode render.
   * Fix for bad parameters being sent down to video codec if codec's native decompression format is paletted or no compatible RGB format is supported.
   * Preference settings common to 1.5.10 or earlier weren't saving properly in the Registry.
   * Wave sources weren't taking effect immediately.
   * Fixed crash on filter crop set script commands.
   * Added the selection start/end markers to the new timeline control (sheesh).
   * Fixed volume setting warping when saving job entries.


This blog was originally open for comments when this entry was first posted, but was later closed and then removed due to spam and after a migration away from the original blog software. Unfortunately, it would have been a lot of work to reformat the comments to republish them. The author thanks everyone who posted comments and added to the discussion.