¶VirtualDub 1.9.1 released
This release has been delayed a bit for various personal reasons, but a new experimental release is now out (1.9.1). This release contains a number of new features as well as a bunch of bug fixes.
1.9.1 contains a bunch of improvements to the video filter subsystem. The new V14 API now supports 16-byte alignment for vectorized code, and more importantly, now supports multiple source frames per output frame. This makes windowed filters easier to write and faster to execute, as in-filter buffering is no longer required. Several new filters have been added to take advantage of this, such as a frame rate interpolator (interpolate) and a filter to convert fields into frames (interlace). The deinterlacer has also been partially rewritten -- it now supports the popular Yadif algorithm and can upsample to field rate as well as output frame rate. The Plugin SDK has also been updated to V1.1 to cover the new changes in the V14 API (see sidebar link).
There are a couple of breaking changes in this version, hopefully none too annoying. One of them is that the blend curves now work in the frame numbers of the attached filter, since the existing behavior wasn't workable with generalized frame fetching. IVTC is now a video filter, which should generally be easier to work with and more flexible, but that means that the timeline now works in post-IVTC frames. Finally, for those who are poking Registry keys directly, VirtualDub's Registry key has moved from HKCUSoftwareFreewareVirtualDub to HKCUSoftwareVirtualDub.orgVirtualDub. I had to make this change to work around stupid virus scanners that reported any key with SoftwareFreeware in the name as coming from a dialer trojan.
Changelist after the jump.
Build 31536 (1.9.1, experimental): [March 28, 2009]
* Render: Audio buffer size is now tunable in Options > Preferences.
* Render: Blitters are now cached for additional speed.
* Render: Performance sub-panel of status window now shows more
* Render: Navigation keyboard shortcuts now work during preview.
* Filters: IVTC is now a video filter.
* Filters: Convert format filter now has options for UYVY and YUY2.
* Filters: Field swap now supports YCbCr formats.
* Filters: The filter system now automatically prerolls forward to
compensate for filters with a lag (delay from input to output).
* Filters: New interlace filter to generate interlaced video.
* Filters: New interpolate filter to resample to different frame rates
* Filters: Added ELA, Yadif, and frame rate doubling modes to deinterlace
* Filters: The filter system is now better at detecting and reporting
errors in filters.
* Filters: Fixed overrun crash in box blur filter if radius exceeds size
* PluginAPI: Video filters can request multiple source frames per output
* PluginAPI: Video filters can request aligned scanlines.
* PluginAPI: Video filters can initiate direct bypass for frames during
* Capture: Fixed wrong area captured by screen capture driver with OpenGL
acceleration enabled, rescale on, and mouse pointer capture enabled.
* Display: Added options for zooming to 12%.
* UI: Added Ctrl+Shift+F7 as a shortcut for batching Save AVI.
* UI: Preview no longer sticks if you seek to the end of the timeline.
* UI: Curve editor position now updates at end of timeline.
* AVI: Added DVSD to list of video formats that only have key frames.
* Audio duration in File Information was incorrect for VBR audio streams.
* Fixed crashes with test videos when input color format was set to 4:4:4
* Audio display now updates after preview stops.
* Decoders: MJPEG decoder was decoding blocks in the wrong order for 4:2:0
* Decoders: MJPEG decoder didn't safely handle corrupt data having skip-16
codes overruning the coefficient matrix.
* Filters: Fixed cases where resize filter was not using fast paths for
1:1 resampling along an axis.
* Filters: Fixed crash in warpsharp filter due to out of bounds
* Filters: Fixed script error when loading configurations with warpsharp
* Filters: The filter system no longer tries Y8 before other YCbCr formats
if the filter cannot support a RGB32 source.
* Filters: The resize filter was using incorrect border fill colors for
4:4:4 YCbCr (YV24) input.
* Capture: Frame rate changes in filters are now respected.
* Display: Panes could get stuck in GDI mode if auto-fallback mode was
* Display: Reduced CPU usage when GPU queue becomes full in Direct3D mode
with vsync off.
* Display: You can no longer resize panes below 1x1.
* Render: "Show decompressed output" no longer misses the very first frame
if activated at the start of a render.
* Render: "Show decompressed output" wasn't using internal video decoders.
* Filters: Sampling with levels filter didn't work when the input format was
YCbCr (since 1.9.0).
* Filters: Filter preview broke when toggling luma mode on levels filter
with YCbCr input (since 1.9.0).
* Filters: Fixed cropping bug where tall, narrow videos didn't crop properly.
* Filters: Brightness/contrast filter was broken for RGB32 input (since
* Render: Fixed smart rendering issue that could cause broken frames at the
start of a new processed section (since 1.8.1).
* Fixed a rare crash when doing YUV to RGB conversion on SSE2 capable
systems (since 1.9.0).
* Settings saving in the Save Segmented AVI... dialog was scrambled (since
* Fixed an off-by-one error in the frame count limit for segmented saving.