Update] VirtualDub v1.6.0 (Experimental)

A

ArjanDotOrg

VirtualDub v1.6.0 (Experimental)


Overview :

VirtualDub is a video capture/processing utility for 32-bit Windows
platforms (95/98/ME/NT4/2000/XP), licensed under the GNU General Public
License (GPL). It lacks the editing power of a general-purpose editor
such as Adobe Premiere, but is streamlined for fast linear operations
over video. It has batch-processing capabilities for processing large
numbers of files and can be extended with third-party video filters.
VirtualDub is mainly geared toward processing AVI files, although it
can read (not write) MPEG-1 and also handle sets of BMP images.

What's New:

The AMD64 build is preliminary. Benchmarks from the AMD64 build are
worthless, because low-level pixmap conversion routines are not
optimized. The only asm-optimized parts are the MPEG-1 video decoder
and the resampler. Another problem you'll run into is that 32-bit
plugins can't be used, including video filters and Avisynth. Win64 does
not allow a 64-bit process to load 32-bit DLLs. COM marshalling might
be able to handle Avisynth but I doubt it; it's more likely that I will
have to launch the 32-bit VirtualDub as a child process and use IPC to
access 32-bit code.

1.6.0 has a completely rewritten bitmap library (Kasumi) that has
native support for packed and planar YCbCr (YUV) formats. All
conversions interpolate/decimate chroma with bilinear filtering and
with MPEG-2-consistent chroma positioning; conversions between YCbCr
formats do not round-trip through RGB. This means that 1.6.0 does not
require a codec to decode or encode UYVY, YUY2, YV16, YV12, I420, IYUV,
YVU9, or Y8, and all conversions are supported. Correspondingly, the
Video Depth dialog has been rewritten to allow direct selection of
YCbCr formats. VirtualDub will automatically fall back if the codecs
involved cannot handle the requested formats -- for example, if YV12
doesn't work it will try YUY2. Fast Recompress is now mostly redundant
except that it prohibits features that would force a round-trip through
RGB; it will probably be removed in a later version.

The video filter system is still restricted to XRGB32, unfortunately. I
wanted to lift this restriction for 1.6.0 but it was apparent that I'd
need to rewrite the pixmap library first. An optimization has been
added to the video pipeline, however: if Full Processing Mode is
selected and the video filter chain is empty, the rendering engine will
blit directly from the source format to the destination format. This
speeds up the process and drops out a possible RGB round-trip. I did
rewrite the resampler, however, in order to add AMD64 support and I
expect to add 8-bit channel support later to allow all planar formats
to be resampled.

The display subsystem was also improved in 1.6.0, most notably that it
now supports planar YCbCr overlays. If you load an Avisynth 2.5 script
it is now possible to use hardware overlay to display YV12 output. Note
that some video drivers don't ship with correct defaults for overlay
contrast/saturation and you may notice a shift in the image; this
usually can be corrected in your video driver's control panel.
Preliminary OpenGL and Direct3D 9 drivers are now exposed, although
disabled by default in Preferences. The OpenGL driver supports
point/linear filter mode selection and the Direct3D 9 driver also
supports bicubic. Bicubic mode requires an NVIDIA GeForce2 or better,
or an ATI RADEON 7xxx or better; quality is better on GPUs that support
pixel shader 1.4. One of the reasons I have begun working on 3D drivers
is that the Microsoft DirectX team has hinted that DirectDraw's days
are numbered. This is unfortunate as Direct3D makes a lousy replacement
for DirectDraw, being much more work for lower performance, but at
least it is still better than GDI.

VirtualDub 1.6.0 now supports reading type-1 DV files. I bought a copy
of SMPTE 314M and implemented a DV video decoder; a DV codec is no
longer required. (The 8x4x2 IDCT is still in floating-point, but it
isn't used often.) Audio support was actually harder for two reasons:
most of the DV audio modes are only covered in the much more expensive
ISO/IEC 61834, and the audio stream isn't always locked. I "solved" the
latter by loading the audio in ten-frame chunks and resampling them to
the correct length. This means that even in Direct Stream Copy mode the
audio may be modified slightly. However, the difference is usually not
more than a sample or two in duration, 48KHz audio seems to always be
locked, and it has the side effect of fixing timing variations. There
may be some stuttering during preview if you are playing a DV file off
of a slow link, due to the huge block size.

The image sequence code now supports progressive JPEG; it does not use
the Independent JPEG Library (IJL), but the quality factors are the
same. One issue, though, is that quality level 100 may produce images
that show high-frequency artifacts in other applications, such as
Internet Explorer and ACDSee 3.0. I tracked this down to a problem with
the fast integer IDCT in the IJL library; using IJL with the more
precise IDCT fixes the decoding. Another issue that is on my end is
that reading a JPEG file that comes from a digital camera may result in
a black border, due to insufficient parsing of EXIM headers. I know
that PNG support has also been requested; I have working code for
decoding PNG (8K!) but haven't plugged it in yet.

Homepage: http://www.virtualdub.org

For more Multimedia Editors/Rippers/Conversion-tools, check out:
http://www.arjan.org/#1.2.67


Kind regards,
Arjan

Arjan.org's Absolute Freeware Links 2004 (http://www.arjan.org)
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top