¶VirtualDub 1.8.0 Released
VirtualDub 1.8.0 is out -- this is a new experimental release that contains many changes I've been working on in the background for months. As this is an experimental release, it is recommended that you stick with 1.7.8 for production use. However, any feedback on changes in 1.8.0 is appreciated and will be used as the 1.8.x branch eventually becomes the new stable branch.
The main big change in 1.8.0 is enhanced audio support, including:
- Support for reading and writing VBR audio with correct sync.
- Input plugins can expose true VBR audio.
- Support for multiplexing in raw MP3 tracks.
- Support for selecting the source audio track when multiple audio tracks are present.
- Built-in audio decoding support for µ-law, A-law, MP2, and MP3 audio.
The VBR warning is still displayed by default, although it can be disabled in Preferences; turns out, some people were using it to detect files that were unlikely to play properly on their hardware players.
The video filter subsystem has also been overhauled for 1.8.0. A side effect of the changes is that some video filters -- in particular, those that use GDI to draw on video frames -- may run slightly slower. However, there are other changes which can allow the filter chain to run much faster as well. The changes:
- Video filters can now increase or decrease the frame rate. A frame rate doubling filter (bob doubler) has been added to exercise this capability.
- Individual filter entries can be temporarily enabled or disabled via checkmark.
- The filter chain can now run directly with YCbCr formats. Existing video filters are still supported via implicit conversion; new video filters can choose to support any subset of the available formats.
- Cropping is supported in YCbCr. The pipeline will, by default, convert YCbCr video to a format with higher chroma resolution if necessary to do the crop -- for instance, attempting to crop to odd pixel boundaries will force a conversion from 4:2:0 to 4:4:4. There is an option in the crop dialog to snap the crop boundaries instead of forcing a conversion.
- The "resize" video filter can now run directly in all supported YCbCr formats. In some cases, this can be significantly faster, as much as 50% faster when this also allows conversions to and from RGB to be omitted.
- The pipeline will automatically convert video formats as necessary. For instance, it is possible to run most of the filter chain in 4:2:0 and convert to 32-bit RGB later to run an existing video filter. The filter dialog indicates where conversions are taking place in the filter chain and can also display the exact formats involved.
- A "convert format" video filter has been added to force conversion to a specific format at a specific point in the filter chain.
- Capture mode has also been enhanced to take advantage of YCbCr filtering. The end conversion to 24-bit RGB is now optional, which means that YCbCr data can be filtered and fed directly to the video codec for enhanced speed.
Video filter authors interested in adding frame rate modification or YCbCr support to their filter should consult the VirtualDub Plugin SDK, version 0.7. The Plugin SDK is still pre-release, but comments and questions are welcome.
There are other miscellaneous changes in 1.8.0, as well as bug fixes that were too risky or extensive to push into 1.7.8.
As I write this, there is an issue on the SourceForge project servers that is preventing me from updating the download page for 1.8.0. If this is still an issue when you read this, visit the VirtualDub project page on SourceForge, and you should be able to download both 1.7.8 and 1.8.0. For those of you who are signed up for new release notifications, the file releases have now been split into stable and experimental packages, so you should subscribe to the virtualdub-experimental package if you wish to be notified when a new experimental release is available. I'd also encourage you to visit the Testing/Bug Reports section of the forum occasionally, as bleeding-edge test releases also appear there.
Changelist after the jump....
Build 29393 (1.8.0, experimental): [February 24, 2008]
* The old support for reading "striped AVIs" has been removed.[features added]
* Alternate audio streams in an AVI file can now be chosen.
* Added fallback audio decoders for mu-law, A-law, MP2, and MP3 formats.
* Video files with audio tracks can also be used for replacing existing
* MP3 files without a WAV header can now be used as input.
* Added support for writing AVI files with VBR audio.
* The default frame rate for loaded image sequences can now be changed in
* The time knob can be dragged during a preview.
* Mark-in and mark-out commands now work during preview.
* Added new "time stretch" audio filter.
* Increased precision of ratios for audio stretch filters.
* Added "zone plate" test video mode.
* Changes to the input color format are now reflected in the preview panes.
* Added support for non-standard 15fps MPEG-1 video streams.
* VBR warning for AVI audio streams can now be toggled in Preferences.
* Filters: Can now be toggled on and off in the filter list.
* Filters: Fast YCbCr cropping is now supported.
* Filters: Flip vertically, grayscale, and resize now support direct planar
* Filters: Added "convert format" video filter.
* Filters: Redesigned color popup; hold down SHIFT. Now works after
stretching video window.
* Script: Implemented string+int, string+long, and string+double.
* Plugins: Input driver plugins can now delegate video decompression to
* Capture: Added /capfilealloc switch to preallocate capture files from the
* Hex editor: Now supports Unicode filenames.[bugs fixed]
* Cmdline: Ctrl+C/Break when a render is running also aborts a running
* If a particular input driver is forced when opening a video, that driver
is remembered in a job.
* Video filter dialog didn't update the indicated frame sizes properly when
deleting a filter.
* Fixed slight delay when a rendering job stops.
* Optimized AVI frame index code to avoid extreme delay when starting a direct
stream mode operation on an AVI file with only one key frame.
* Progress bar is now lies less when reindexing large AVI files.
* Fixed issue in AVI aggressive recovery algorithm that could cause valid
chunks to be missed.
* Selection was not properly saved in .vcf files, causing it to be invalid on
load if edits had occurred.
* Fixed crash when dragging curve points with no video loaded.
* Video/audio error mode dialogs weren't properly disabling options not
supported for the current input file.
* Capture: Video filter list now reflects active capture format.
* D3D: Fixed slowdown when bicubic mode is enabled.