§ ¶VirtualDub 1.10.3 released
Release early, release... eventually.
VirtualDub 1.10.3 is out. It contains a number of bug fixes along with a couple of small things on the side. Several of the video filters have had additional fixes, a WAVE64 format bug was fixed, a DirectShow capture crash was fixed, a couple of Unicode text problems have been resolved, high DPI aware mode has been enabled, an option has been added to apply edits only to video and not audio, and support for high-performance screen capture on Windows 8 (DXGI 1.2) has been added.
Happy holidays, everyone. Changelist is after the jump.
Build 35390 (1.10.3, experimental): [December 27, 2012]
* Added option to control whether edits on the timeline are applied to
* Capture: Added support for screen capture via DXGI Output Duplication in
* Capture: Added support for Core Audio loopback capture in the screen
capture driver on Windows Vista and later.
* Script: Improved error reporting for script errors during job execution.
* UI: Added option for confirmation on exit.
* UI: Program is now marked as high-DPI aware.
* UI: Added /topmost flag.
* AVI: Add .vpy extension to AVIFile path.
* AVI: AVIFile mode path now allows Unicode filenames.
* Filters: Convert format filter can now target Rec. 709 and full-range
* GIF: Animated GIF exporter now uses subrects and adaptive local color
* Grayscale/Y8_FR video displays properly with GDI and DirectDraw display
* Fixed the main data chunk size in WAVE64 files being 24 bytes too small.
* Fixed garbled status message with /F flag on x64 build.
* Fixed scanline alignment on V210 format to 128 bytes.
* Capture: Fixed regression in the bandwidth indicator from increase in
frame rate precision.
* Capture: Fixed crash in DirectShow mode when selecting an audio device
that has been removed.
* Filters: Fixed garbage initial value for format convert audio filter.
* Filters: Fixed crash in ELA modes of the bob doubler.
* Filters: Fixed degree sign in rotate2 and HSV filter blurbs on
* Filters: Fixed inverted images with field swap and deinterlace filters
with RGB24 input.
* GIF: Clear codes are now forced when the LZW table fills up to work
around buggy decoders.
* Script: Lifted some line length limitations in script handling.
Can you please rename the capture window video menu's "Set Custom Format" entry to something clearer, perhaps "Set capture resolution and color space".
I was trying to screen-capture a section of the desktop and it took me 30minutes to find this setting.
The resolutions "Set Custom Formats" lists for screen-capture are somewhat outdated (topping at 768x576), why not any modern resolutions presets like 1280x720 and 1920x1080?
Another confusing issue... I had the screen-capture set to capture the entire desktop but it would only capture 320x240 by default, I had to manually set the desktop resolution Frame Size under "Set Custom Format" in order to get it to capture the entire desktop.
These are minor quips, but I do believe they have some merits.
Keep up the good job!
bLight - 28 12 12 - 08:24
Maybe "Set Capture Format" would be better than "Set capture resolution and color space"?
yawnmoth - 28 12 12 - 18:06
I am always getting the message:
the capture device does not support the selected video format.
For almost any combination of resolution, compression codec, and data format.
Carlos Gabriel Hasbun Comandari (link) - 28 12 12 - 22:01
Your changelogs never disapoint :)
sc - 28 12 12 - 22:20
Carlos, you have to change the option on the right, from 16 bit RGB to 24 or 32 bit RGB or in the worst case YV12 / YUY2.
If your desktop colors are set to 24bit, you can't capture in 16 bit.
marius - 30 12 12 - 07:53
Hey I was wondering if this works for windows 8, am i safe downloading this for windows 8, is there anything to worry? Hope you guys can get back to me asap, thanks.
TheKido - 26 01 13 - 09:26
Why do some people always ask "Does program X work on Windows current
?", when the answer is Yes in 99.9% of cases, and it's really easy to check for yourself, especially when the program is free...
ender - 03 02 13 - 06:01
Windows Vista conditioned people to ask this after it introduced a bunch of bugs that programs had to work around... and I don't mean things like UAC, I mean fundamentals like GDI-DirectDraw interop. I had to add a workaround to VirtualDub for OpenGL-based child windows not repainting in Vista with the DWM enabled without a SWP_FRAMECHANGED hack.
In any case, VirtualDub works fine on Windows 8.
Phaeron - 03 02 13 - 17:52
Is there a way for VirtualDub's screen capture to continue capturing after a UAC prompt appears (using DXGI method)? It stops capturing anything, only showing the last frame before the UAC prompt instead, unless I select "Screen capture" again.
jabashque - 17 02 13 - 12:39
I'll have to look into that, but it may be tricky. The UAC popup works by switching to an alternate desktop object, which presumably then causes DXGI to return a lost state error from the output duplication APIs. It depends on how involved recovering from this is -- if it involves a complete teardown and rebuild of all DXGI objects then it's going to suck.
Phaeron - 17 02 13 - 12:45
Per a comment on the blog that pointed me to this site you might be able to get around the UAC capture by using VNC or VMware to the host in question. Your local system running virtualdub wont switch because it is a different system.
Rowan - 08 04 13 - 07:11
Unrelated question, but how can I get the timeline to display in total seconds? Many filters, scripts, and applications require timestamps in seconds, and it's inconvenient to have to convert from H:M:S for each time point. I've tried (%S.%03t) but it doesn't work because the counter resets after every 60 seconds.
Gabe - 25 04 13 - 06:51
From my experience, in Windows 7 at least, if DWM is enabled it is not necessary to use PFD_DOUBLEBUFFER and wglSwapIntervalEXT().
You just draw to a front buffer and it works without tearing.
Unfortunately, if you do that then you must handle WM_DWMCOMPOSITIONCHANGED and switch to double-buffering + vsync again if composition is disabled.
Igor Levicki (link) - 12 05 13 - 16:58
Well, unless you actually want double buffering. I'd consider it a poor practice to draw directly on the front buffer and rely on implementation details for when the output is actually presented. VirtualDub's OpenGL display path relies on double buffering as it clears the render buffer before drawing the image on it, which may be letterboxed. It could split the border to avoid this, but at this point the graphics hardware has special optimizations for clears that make it dubious to avoid them.
There's also the factor that drawing on the front buffer may not be the most efficient method of exchanging display surfaces with the DWM. Drawing on the front buffer directly likely forces the DWM to blit, whereas on Windows 7 it really wants to swap surfaces with the application. This is best done with FLIPEX present mode in Direct3D 9Ex and in Flip Sequential mode in DXGI 1.2. Not sure how this is achieved in OpenGL.
Phaeron - 12 05 13 - 18:56
Here is what Microsoft has to say about it:
Particulary this part:
"Evaluate whether your application must provide its own double buffering. The DWM effectively double buffers content and presents the window in a single frame."
DWM architecture is explained here:
Igor Levicki (link) - 22 06 13 - 01:37
This mainly concerns GDI rendering through a DC. I still would not recommend doing front buffer rendering in GL, if for no other reason than it doesn't give the DWM as good of an idea of when it should present your rendered image.
Phaeron - 24 06 13 - 16:01
Since I MUST use the 64 bit version of virtualdub (4K and 6K videos...) I miss some quite simple filters which don't exist for x64.
One would be: Gaussian blur with a free adjustable radius. Currently I use it several times in a row together with resize to small and big again, or switch to Blender which is VERY slow. An extra would be: Radius adjustable using "blend" value as percentage of set radius instead of actual blending.
The other would be: Motion blur with an adjustable "how many frames to blur", currently I simply use motion blur several times in a row.
The "logo" filter dialog loves to crash after a few hours of encoding in 1.9.11, I hope it is more stable at 1.10.3 :)
Of course I have more wishes, but they are not as simple as the two above mentioned. Like if there is any way planned being able to use 32 bit filter plugins in 64 bit Veedub via some dirty hack *g*.
Thank you for keeping on with Virtualdub, using is since 199???. Forgot which year exactly, AMD K6-3 was the CPU and I used VirtualDub to record analouge TV from WinTV ; ).
Joachim Otahal (link) - 29 07 13 - 09:07
About the "Background I/O": When checking with Process Hacker is sets the IO priority to "very low". This means nearly a halt to Virtualdub in quite some cases, slowing down from 1 fps to 0.05 fps. Better would be "low", i.e. just one step lower.
Joachim Otahal (link) - 04 08 13 - 09:24