iXBT Labs - Computer Hardware in Detail

Platform

Video

Multimedia

Mobile

Other

Open Source Technique of Measuring DivX, XviD, WMV9, MPEG1 & MPEG2 Video Compression Performance

December 20, 2003




Since we started our epic work from testing audio compression performance it would be logical to expand it with video compression tests. The number of video compression formats (at least, popular ones) is much greater compared to audio, the number of various codecs and software packages is unimaginable, and the video compression process is much more resource hungry. Even if we need to compress 5-10 minutes at acceptable quality and with the acceptable results it might take several hours even on the most powerful CPUs! That is why we continue the series of open techniques started with audio formats; today we will speak about video compression.

We selected the following codecs and software for complex testing of performance of modern x86 processors in compressing video on the software here: 

Attention! The description of the test technique can be altered with the release of a new or updated version of the test packet. This page is not static and can be updated at any moment.

Formats, codecs, and software

  1. DivX 5.1.1 Pro MPEG4 codec
  2. XviD MPEG4 codec
  3. Windows Media Video 9 Series
  4. Mainconcept MPEG Encoder (for MPEG1/2 encoding)
  5. Canopus ProCoder (for MPEG1/2 encoding)
  6. VirtualDubMod video file processing software

Test technique and encoding options

There are actually two groups of people who encode video at home: rippers and amateur producers. And we offer two groups of tests respectively. 

Rippers usually convert movies from original DVDs into MPEG4 CDs or Video CDs. High-quality content can be obtained only with 2-3 such discs. The tests of DivX, XviD and MPEG1 formats are meant exactly for them. For these tests we used MPEG2 (standard for DVD movies) as it's of the most interest for such users. However, we couldn't use the original DVD content because we couldn't make it downloadable and you can hardly find it on the web. That is why we have taken a small and available free of charge Bend It Like Beckham trailer. It was renamed into TEST.MPG and used as a source file for encoding into DivX, XviD, MPEG1 and WMV9 formats.

The second group includes amateur producers who compress video content from their digital cameras. Quality is much more important in this case, and a 3-minute clip can take 100 MB. Usually they use the good old MPEG2 format instead of state-of-the-art DivX or XviD or alike. So, we used two most popular MPEG2 coders: Mainconcept MPEG Encoder and Canopus ProCoder. Options also fundamentally differ from ripper tests (quality outweighs size!). The source is also different - this is an original clip from a DV camera with scenes being difficult for MPEG2 coders (flowing water, etc.), abrupt change of views and other content untypical for the "noble DVD".

So, we have a suite of 8 subtests with two test sources:

  1. MPG (MPEG2) into DivX
  2. MPG (MPEG2) into XviD
  3. MPG (MPEG2) into Windows Media Video 9 (WMV)
  4. MPG (MPEG2) into MPEG1 with Mainconcept MPEG Encoder
  5. AVI (DV) into MPEG2 with Mainconcept MPEG Encoder
  6. AVI (DV) into MPEG2 with Canopus ProCoder

In all cases we used two-pass VBR encoding because the single-pass encoding is considered to be insufficient and it's very rarely used in real life. In the ripper tests we also preliminarily resized the image (Resize, 720x388 --> 640x346) and deinterlaced it. When a given codec could do itself, we let it do it, otherwise we used the VirtualDubMod filter. Audio stream parallel encoding wasn't fulfilled. 

Settings of the respective codecs and software can be found on the following pages (note that they are filled with screenshots, sometimes very weighty):

  1. DivX settings  (changed on 11.12.2003)
  2. XviD settings (changed on 11.12.2003)
  3. Windows Media Video 9 VCM Codec settings (changed on 11.12.2003)
  4. Mainconcept MPEG Encoder (MPEG1/MPEG2) settings (changed on 11.12.2003)
  5. Canopus ProCoder (MPEG2) settings (changed on 11.12.2003)

Test packet and script

Software and files not included into the test packet

  1. DivX 5.1.1 Pro MPEG4 codec. The test packet must support both versions - both payware and AdWare. The packet worked well, at least in our case. Undoubtedly, it's necessary to install the DivX to make the DivX encoding test work. No more external software is needed.
  2. Freeware XviD MPEG4 codec. There's a great deal of its variations and compilations but we chose the latest version 1.0 beta 2 from Koepi. It's necessary to install the XviD to make it encode into XviD. No more external software is needed. The XviD codec is free of charge. Attention! The test technique v1.0 used another XviD version!
  3. Windows Media Video 9 VCM (Video Compression Manager) Codec. Although the VCM codec fulfills the same functions as the Windows Media Encoder 9 it can't be considered its pure alternative. First of all, the Windows Media Encoder is not only a codec, - it also covers a shell and encoding utilities. The VCM version is a pure codec, without a shell, and it requires an external program (we use the VirtualDubMod). Secondly (the key advantage of the VCM), after installation of the Windows Media Encoder 9 the Windows Media Video codec is not available anymore for external programs, i.e. encoding into this format is possible only in the Windows Media Encoder 9. Besides, the Windows Media Encoder doesn't support such simple operations as resize and deinterlace. As a result, the Windows Media Video 9 VCM looks a more universal option (though it works slower). Installation of the WMV 9 VCM is required for testing the Windows Media Video encoding. No more external software is required for this test. The Windows Media Video 9 VCM is available free of charge (though it works only under the Windows which is not free :).
  4. Mainconcept MPEG Encoder - shell and MPEG1/2 codec. This is an advanced product with a lot of options of quality/speed/compression degree, presets for most frequent cases (like Video CD, SVCD, DVD, etc). Also, this encoder is widely optimized: it supports MMX, 3DNow!, SSE, SSE2 SIMD instructions and can split encoding into several streams (it potentially provides performance growth with Hyper-Threading enabled or in case of several physical CPUs in the system). Mainconcept MPEG Encoder is necessary for testing MPEG1 encoding and MPEG2 encoding (those two tests which were carried out with its help). The nnCron Automation Manager is not be installed (see further about it). The Mainconcept MPEG Encoder is not free but there's a demo version available. The installation packet is the same, you just need to enter DEMO instead of the key (and press Ignore). The demo version adds a logo to video encoded. It doesn't affect performance, at least we didn't notice the difference. Before downloading the installation packet from the company's site you will be asked to enter certain information about yourself.
  5. Canopus ProCoder. MPEG1/2 encoding software. It's considered that it provides the best result though it's not that speedy. We couldn't find any information about instruction support but it does support SMP systems (2 physical CPUs and Hyper-Threading). There are also presets and various additional encoding options (but fewer than in the Mainconcept MPEG Encoder). The Canopus ProCoder is necessary for two tests of MPEG2 encoding. At present the test packet supports only the demo version named Canopus ProCoder Demo. You can download it from the manufacturer's site, but before that you will need to register and get your own account and a password. The chargeable version of the Canopus ProCoder wasn't added yet to the test packet (only the demo one because the Canopus ProCoder is not cheap - $499). It's also necessary to install the nnCron Automation Manager and Apple QuickTime for testing the MPEG2 encoding with this software suite (see below).
  6. Apple QuickTime. This packet is also well known and needs no  recommendations. It's necessary for the Canopus ProCoder [Demo]. Freeware. Available from Apple's site.
  7. nnCron Automation Manager. We use the nnCron exceptionally as an Automation Manager. But it's also a perfect scheduler and programming medium with the Fort-like support. This is a useful and interesting program, especially for small-office automation, and we are grateful to its developers (especially because they made some changes to satisfy our testing needs). nnCron is available free of change for certain categories of people. But it doesn't refer to mass media and other commercial organizations (we have bought it).
  8. The test packet doesn't include the sources to be encoded - TEST.MPG (for compression into DivX/XviD/WMV9/MPEG1) and TEST.AVI (for compression into MPEG2). Attention! The test technique 1.0 worked with a different set of source files! So, we used a trailer (MPEG2 DVD file) and an AVI file from the DV digital camera. They are not included into the test packet because of their size. The MPG file is 33.2 MB (34822144 bytes), lasts 1 min. 35 sec, 720x576 pixels (Bend It Like Beckham trailer). The AVI file is 636 MB (667794940 bytes), 2 min. 55 sec., 720x576 pixels (amateur shooting, it was provided by Mikhail Afanasenkov, participant of the IXBT.COM forum). It's still unclear where it's possible to provide it for download (I hope the outcome will be positive). TEST.MPG is needed for testing compression into DivX/XviD/WMV9/MPEG1, and TEST.AVI for testing MPEG2. The files are to be in the benchmark root directory (in the folder with !video.bat). The test packet can be used with any files - it's the content type which is important, not the content itself. It's also clear that you can use not only the source DV file for testing MPEG2 encoding, and not only a MPEG2/DVD file for testing DivX encoding. However, we are not going to change the source file formats because the benchmark would turn into a pure synthetic test.
  9. VirtualDubMod freeware for video encoding and editing is included into the test packet, but only as a brief version which is required for test procedures (without help and some other files). 

Test script operation

The test script must work on any PC running under the Windows 2000 or XP (probably it will also work on later Windows versions like Windows Server 2003). First of all you should install the software needed (see above what programs are needed for what tests) and record TEST.MPG and TEST.AVI source files into the root directory. You can use any files of the respective format. You will also need Disc C: in your system and some free space on it (reserve space equal to TEST.AVI size just in case). The test packet can be located in any place on any disc (we carried out the tests with the final script version changing its location). The OS and Program Files folder can be located anywhere as well, - the OS just must know the correct paths.

During the test all other applications should be closed. It mustn't be critical to pointer movements but there can be problems if you type anything. It took for us over 3 hours (!) to run the test with our test files on the PC based on the Pentium 4 clocked at around 3 GHz. During the test the system displays diagnostic information so that you know which test is running at a given moment. The test script is much more complicated compared to the audio tests that is why you can come across errors we didn't notice. We hope they won't cause any fatal outcome except the script failure. In any case, feedback is welcome.

You can download the latest version of the test packet from the support page

For aesthetes...

First of all we'd recommend reading the respective section in the audio compression performance tests because the video compression speed script is based on it. There is also something I'd like to add:

  1. This script doesn't work under the Windows based on the kernel different from NT, the script contains a respective check line.
  2. The registry settings for some programs (VirtualDubMod, Mainconcept MPEG Encoder, Canopus ProCoder Demo) and profiles (Canopus ProCoder Demo) required for operation of the script are imported while the script works. They can differ from your settings (if you use a given program not only for this test). The user settings can be restored only manually. The Canopus ProCoder Demo profile is not deleted after finishing the test.
  3. If TEST.AVI or TEST.MPG have the format unsupported by the respective software, the test will stop and notify about the error.
  4. If you use software and codec versions different from the indicated ones, the script might not work. Codecs are more critical to versions, while the Mainconcept MPEG Encoder and Canopus ProCoder are less critical.
  5. If you look through the source texts you will see that the procedure of measuring time of MPEG1 and MPEG2 compression for Mainconcept MPEG Encoder is not ideal: it additionally loads the system and thus bring in a certain measuring error (5 sec overall, and it can be a little more on weak systems). We know that. But compared to the total test time this value is inconsiderable, and we do not know any other more precise ways to realize it, though we are working on it. Finally, all the participants are in the same situation: the error affects all of them equally. 

About support

Undoubtedly, we are interested in your testing this packet. And we welcome all facts about bugs, errors etc., as well as your suggestions about options, software, versions etc. But do not expect all errors to be corrected at once, because the test packet is meant primarily for testing audio compression performance in our lab, and the most important for us it to have this packet running correctly in our lab.

It doesn't mean we refuse to provide support, but it will depend on the workload we have. Anyway, you use this script at your own risk and we are not responsible for the outcome (though we do our best to prevent any problems). Here you can always find news, changes and updates. 

Using the test packet by other mass media and commercial organizations

Of course, everyone can use it. But if you decide that it's simpler to use a finished program than to develop your own software, you should mention the developer's name - iXBT.com. Firstly, you express your thanks, and secondly, it can be useful for the readers as they can always compare a lot of results obtained within the open test technique by us, you and the readers themselves, and for that they must know what technique is used. 

The only limitation is that we do not recommend making the test packet available for download on your own sites - you'd better give the link to the official support page. Undoubtedly, there will be bug-reports and suggestions about modification of the test technique, that is why it's better to let everyone have the latest version. 
 

Stanislav Garmatyuk (nawhi@ixbt.com
 

Write a comment below. No registration needed!


Article navigation:



blog comments powered by Disqus

  Most Popular Reviews More    RSS  

AMD Phenom II X4 955, Phenom II X4 960T, Phenom II X6 1075T, and Intel Pentium G2120, Core i3-3220, Core i5-3330 Processors

Comparing old, cheap solutions from AMD with new, budget offerings from Intel.
February 1, 2013 · Processor Roundups

Inno3D GeForce GTX 670 iChill, Inno3D GeForce GTX 660 Ti Graphics Cards

A couple of mid-range adapters with original cooling systems.
January 30, 2013 · Video cards: NVIDIA GPUs

Creative Sound Blaster X-Fi Surround 5.1

An external X-Fi solution in tests.
September 9, 2008 · Sound Cards

AMD FX-8350 Processor

The first worthwhile Piledriver CPU.
September 11, 2012 · Processors: AMD

Consumed Power, Energy Consumption: Ivy Bridge vs. Sandy Bridge

Trying out the new method.
September 18, 2012 · Processors: Intel
  Latest Reviews More    RSS  

i3DSpeed, September 2013

Retested all graphics cards with the new drivers.
Oct 18, 2013 · 3Digests

i3DSpeed, August 2013

Added new benchmarks: BioShock Infinite and Metro: Last Light.
Sep 06, 2013 · 3Digests

i3DSpeed, July 2013

Added the test results of NVIDIA GeForce GTX 760 and AMD Radeon HD 7730.
Aug 05, 2013 · 3Digests

Gainward GeForce GTX 650 Ti BOOST 2GB Golden Sample Graphics Card

An excellent hybrid of GeForce GTX 650 Ti and GeForce GTX 660.
Jun 24, 2013 · Video cards: NVIDIA GPUs

i3DSpeed, May 2013

Added the test results of NVIDIA GeForce GTX 770/780.
Jun 03, 2013 · 3Digests
  Latest News More    RSS  

Platform  ·  Video  ·  Multimedia  ·  Mobile  ·  Other  ||  About us & Privacy policy  ·  Twitter  ·  Facebook


21

Copyright © Byrds Research & Publishing, Ltd., 1997–2011. All rights reserved.