¶What's new in the 1.7 series
A reader wanted to a summary of all the new features in the VirtualDub 1.7 series, so....
Improved file format support
- Maya IFF (read).
- PNG (now read/write).
- Animated GIF (read/write).
- Adobe Filmstrip (read/write).
- WAVE64 (read/write): Now break the 2GB barrier for audio files.
- Raw audio (write).
- IFF ANIM: Added support for HAM, Halfbrite, and AGA modes.
- AVI: Direct YV24 and Y800 support.
- Input driver plugin API: Add support for custom formats.
- Smart rendering: Recompress only the portions of the video you've edited and copy the rest at direct-mode speeds.
- Audio display: View the waveform or spectrogram of an uncompressed audio stream. Visually drag an audio stream back into sync.
- On-the-fly compressed preview: View the post-compression output for a moment. Toggle it back off without speed penalty.
- Preserve empty frames: Process a "120 fps" video at actual frame rate.
More powerful filtering
- Revamped resize filter UI: Easy relative sizing and aspect ratio preservation. Save your favorite settings.
- New center cut algorithm for better center/side audio separation.
- Cleaner pitch scaling algorithm.
- Warp resize: Cartoon-friendly resizing.
- Filter curves: Fade a filter in and out over time. Combine with smart rendering to direct-copy the parts of the video you don't filter.
- Fixed display issues when running under Windows Vista.
- Recover broken AVI files written by Vista RTM. (Note: There is now a patch available from Microsoft for this issue.)
- Workarounds for broken JPEGs and mu-law audio streams written by digital cameras.
- Resolved issues with various drivers and codecs, including the Adaptec GameBridge, Pinnacle DV codec, and Blackmagic MJPEG codec.
- No more dangling frames when writing segmented AVIs while compressing video.
Better display support
- Better vertical sync and field display support: See interlaced video more faithfully.
- Improved D3DFX annotation/semantics support: Prototype more powerful algorithms.
- Direct3D accelerated color conversion for UYVY, YUY2, YV24, YV16, I420, and YVU9 formats: Preview faster under Vista with WDDM drivers.
Expanded video capture capabilities
- Video proc amp support: Easy access to a device's brightness, contrast, saturation, and hue controls.
- Configurable global stop/start hotkeys.
- Tuner antenna/cable switching.
- More settings auto-save.
- Improved audio resync code.
Stability, stability, stability
- Lots of bug fixes that were too risky to push into the 1.6.x series.
Build 28204 (1.7.4, stable): [September 22, 2007] [bugs fixed] * Fixed bug where frame regions were shifted instead of extended to fix key frame violations in direct video mode. * If a video filter errored out during start phase, already initialized filters didn't receive end calls. * Toggling the "show decompressed video" setting in Fast/Normal Recompress modes could result in a crash. Build 28191 (1.7.3, experimental): [August 31, 2007] [features added] * Added display option for showing display debugging info. * Frame rate adjustment can now be entered exactly, including as a rational fraction. * Jobs can now be reloaded for tweaking. * Capture: Added several options for fine-tuning timing issues with DirectShow-based capture drivers. * D3D: Improved bicubic algorithm for ps1.1+ capable cards. * D3DFX: Extended annotation and semantics support -- see help for details. * Hex editor: Now supports drag and drop. [bugs fixed] * Audio volume dialog didn't display properly after setting volume adjustment to zero in script. * Fixed crash when attempting to use "show decompressed output" when no decompressor is available for the output format. * Added workaround for digital cameras that write incomplete u-law audio formats. * Fixed crash when writing job that uses the Pinnacle DV codec. * Added code to prevent crash when decoding an MJPEG stream where the JPEG images are larger than the frame size reported in the video stream. This now produces an error when the internal decoder is used. * AVI recovery code can now recover AVI files with 'rec' grouping chunks. * Fixed scrambled colors in filter preview with paletted video. * Fixed I/O errors in rare case where an AVI file could not be opened in unbuffered I/O mode. * Implemented mode 7 compression, HAM, and Halfbrite modes in IFF ANIM reader. * Audio display would occasionally stop updating across certain edits. * Output video pane now updates itself after filters are edited. * Fixed minor bug where audio decompression errors would be reported as compression errors. * Fixed a case where audio displacements didn't work with compressed audio and full processing mode. * Perspective video filter now works in batch mode. * Added workaround for strange bit rates being shown on output AVI files in Windows Vista Explorer. * Fixed decoding of AVI files that have zero-byte frames marked as key frames (AVIFile turns these back into non-key frames). * "Sharpen" video filter no longer shows black when filter preview is first opened. * D3DFX: Leaving alpha blending on in an effect no longer scrambles YCbCr decoding. [regressions fixed] * OK and Cancel behaviors on brightness/contrast video filter were swapped. * Fixed crash when loading 8-bit RLE videos. * D3D: Works again on video cards supporting less than pixel shader 3.0. * Added setting value back to sharpen video filter configuration dialog. * Fixed trippy gradient displays when trying to show a solid color for the dummy frame at the end (some display drivers don't handle 1x1 blits correctly). * Capture: Left-click start option works again. Build 27700 (1.7.2, experimental): [May 19, 2007] [features added] * Added minor frame lines to the parameter curve editor. * Input driver plugin support. * The threshold, sharpen, and brightness/contrast filters now support preview. * The DV type-1 audio source can now be set to conceal errors. * Rendering operations can be throttled or paused. * Capture: Screencap driver can now capture the mouse cursor. [bugs fixed] * AVI parser now handles files with a significant amount of garbage prior to the first video or audio chunk. * Curve editor opens to current frame instead of frame 0. * Smart rendering didn't check the right locations in filter opacity curves if edits had been applied. * Animated GIF decoder didn't handle the "erase" and "restore" disposal modes correctly. * Animated GIF decoder could display a one-frame glitch at start of decoding. * Time-based filters and filter curves weren't reflected in output preview when applied to a repeating frame. * Fixed interlaced field DirectDraw display with planar YCbCr formats. * The "smart rendering" option could cause a missing codec error even if the video mode was set to Direct. * Added workaround for BlackMagic MJPEG codec not producing key frames. * Added workaround for update problems with the Direct3D and OpenGL display modes in Windows Vista. * Capture: Fixed crash when attempting to use "remove duplicate frames" feature of screencap driver on a 3D card that didn't support occlusion query. * Capture: Fixed crash in screencap driver on 3D cards that don't support buffer objects. * Capture: Fixed bugs in screencap driver's rescale function. [regressions fixed] * Fixed inaccurate length field in WAV header. * D3D: Fixed memory leak. * AMD64: MPEG video decoder now works. 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 window. * 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 incorrectly). * 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 images. * 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 setting. * 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" option. * Inverse telecine could be enabled with smart rendering (which doesn't work). * 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 change. [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. Build 25854 (1.7.0, experimental): [November 5, 2006] [features added] * New "smart rendering" feature for selective processing of video around edit areas while copying as many existing frames as possible. * New audio waveform/spectrogram display. * Added option for preserving empty frames during recompression or decompression instead of replicating frames. * Added option for saving raw audio stream without a header. * Added support for the Sony WAVE64 file format, for wave files larger than 4GB. * Added support for reading and writing Adobe Filmstrip (.flm) files. * Added support for reading Maya IFF (.iff) files. Currently this is limited to RGB information at 8 bits/channel. * PNG output is now supported. * Resize video filter now has options for relative and aspect-ratio derived sizing and to save defaults. * Opening a video file from the command-line or drag-and-drop now sets the filename as default for the Save As AVI/WAV dialogs. * Added new pitch scaling audio filter. * Improved quality of "center cut" audio filter (with suggestions from Moitah). * The main window and job control dialogs now save their positions. * Opacity curves can now be attached to video filter instances. * Volume adjustment now shows amplification factor in decibels. * Filter API: Preview code preserves keyboard accelerators on preview button. * Job control: (X of Y) is now displayed in the job control window caption when the job list is being processed. * AVI Info now shows additional information for PCM audio streams encoded using WAVE_FORMAT_EXTENSIBLE. * Capture: Added experimental option to insert arbitrary DirectShow transform filters into a capture graph. To enable, specify the filter moniker in [HKCUSoftwareFreewareVirtualDubHidden FeaturesCapDShow: Transform filter name] in the Registry. * Capture: Added full-screen toggle (Alt+Enter). * Capture: Added support for switching DirectShow TV tuners between antenna and cable modes. [features removed] * The "integral conversion" option under audio conversion is no longer supported. [bugs fixed] * Fixed a case where the projected file size status indicator could overflow for very long audio dumps. * AVIs with MP3 audio streams where wBitsPerSample != 0 are now detected and auto-corrected for better compatibility with the standard MP3 codec installed in Windows. * Rewrote segmentation code to buffer data instead of attempting size prediction; this makes the segmentation more accurate and avoids dangling key frames during on-the-fly compression. * Added workaround for compatibility problems with Aero Glass in Windows Vista beta 2. * Audio displacement now works when processing only part of the audio stream. * Added warning for non-zero dwStart values in AVI files. * Fixed a performance problem in the PNG decoder on large images with a lot of IHDR blocks. * Fixed errors in JPEG encoding with pure red or blue colors. * Changed keyboard shortcut for Undo from Ctrl+U to the standard Ctrl+Z. * Added workaround for annoying Microsoft security update that sometimes prevents the help file from working. * Fixed clamping in amplifier that caused -0x8000 values to change to -0x7FFF. * Capture: Duplicate raw wave formats are no longer shown with DirectShow- based drivers. * Capture: The UI now reflects changes to audio and video sources made through the driver dialogs. * Capture: Possible fix for crash when changing formats with DirectShow- based devices due to a threading issue.