De ontwikkeling van VirtualDub begon toen Avery Lee, de auteur van het programma, tijdens zijn studententijd ontevreden was over bestaande video capture-programma's om anime mee op te nemen. Sindsdien is het programma sneller geworden en meer functies gekregen, en kunnen er met behulp van filters allerlei effecten worden toegepast op het videomateriaal. Avery Lee heeft gisteren versie 1.6.0 van VirtualDub uitgebracht, deze experimentele versie kent de volgende wijzigingen:
- Native AMD64 build (see Release Notes for restrictions).
- New "perspective" video filter can deproject subimages that are displayed obliquely in a scene.
- YUV formats can now be directly selected for decompression and compression.
- Planar YUV formats are now supported for both display and output.
- Added preliminary DirectX 9 (D3D9) display driver support, with support for filter mode selection and multipass bicubic filtering. This driver must be manually enabled in Preferences.
- Added OpenGL display driver, with support for filter mode selection. This driver must be manually enabled in Preferences.
- Frame seeking is now incremental so that extremely long frame distances between key frames no longer hang the app during the preload.
- Added support for the PRELOAD flag on video decompression to speed up seeking.
- New position slider that displays frame number markers and supports mouse wheel scrolling beyond 32K.
- Fast recompress format is reported in log.
- Basic movement keyboard shortcuts now work in filter preview.
- JPEG image sequence input and output is now supported.
- Single images can be opened as video files.
- Integrated DV video decoder.
- Audio is now decoded from type-1 DV files.
- Audio filter dialog now has a position control to allow previewing at arbitrary points.
- The frame indicator in the timeline control can now be customized via Preferences/Timeline.
- Major optimizations to Resize video filter.
- SSE2-optimized IDCT kernel.
- Added workaround for codecs that pass decode queries for formats they can't actually decode. VirtualDub will only use these codecs to decode formats with FOURCCs that the codec is registered with, or that the codec naturally produces.
- Improved workaround for codecs that unmask FPU exceptions in their DLL initialization, particularly FP Divide by Zero (which can cause other codecs to crash).
- Expanded a number of internal variables to 64-bit to reduce problems with long streams that have more than 2^31 bytes or samples.
- Fixed crash when opening file for first time with output pane disabled.
- Fixed crash when displaying odd-width 16-bit video on a 32-bit display.
- Corrected asymmetry in response of TV filter in 5x5 chroma blur + tsoften mode.
- A low frame rate video with no audio could cause the blitter thread to consume 100% CPU at high priority, virtually locking the system.
- Enabling error concealment prevented the bad video frame scan from working.
- Fixed crash when changing priority in the middle of render termination.
- Fixed 3072 sample delay in "center cut" audio filter.
- Aggressive AVI recovery was very slow when processing large blocks of invalid data, such as 8MB of nulls.
- Fixed leak of handles in frameclient driver that was causing Windows XP Explorer to keep AVI files open frameclient proxy mode was enabled.
- Jobs using WAV file audio didn't close the WAV file after completion, keeping it locked across subsequent jobs.
- Appended file lists were being written out in job scripts in ANSI rather than UTF-8, causing problems with high-plane characters.
- Audio information in File Information wasn't taking all samples into account.
- Long paths in the most recently used (MRU) list now ellipsize.
- Lowered priority of livelock messages to Info so they don't flag as warnings in the job queue.
- Fixed race condition that sometimes resulted in final B frames not being flushed completely.
- "Butterfly" audio filter didn't work with 8-bit audio.
- Unbuffered I/O is now disabled on non-hard-disk paths for better efficiency on slow links, particularly over networks.
- Frameserver paths longer than 64 bytes prevented the frameclient from connecting properly.
- Improved input validation on frame rate entry fields to catch period/comma mixups.