Digital Digest
  • About the Author
  • Email
  • Disclaimer
  • Essential Links
  • Essential Tools
  • Ethics, Piracy & Philosophy
    Convert DVDs with Flask Mpeg
  • Extracting the DVD
  • Using FlasK Mpeg
  • Resizing in Flask
  • Convert DVDs with Mpeg2avi
  • Extracting the DVD
  • Using Mpeg2avi
  • Resizing in Mpeg2avi
  • Advanced DVD Conversion
    Convert DVDs with DVD2AVI
    Nandub SBC Encoding
  • Using Nandub
  • Using DivX 4.0
  • Audio / Video Editing
    Advanced VirtualDub
    Digital Video Capture
  • Video Capture: Part 1
  • Special FX Tutorials
  • Morphing Buffy Style
  • Star Wars LightSaber Effects
  • The Exorcist Effect
  • Other Video Formats
    VCD & SVCD Guides
  • DVD to VCD
  • AVI to VCD
  • Multimedia Guides
  • DivX with Subtitles
  • Mutilanguage DivX
  • Multimedia DivX Pt 1
  • Multimedia DivX Pt 2
  • Appendix / Tips
  • Aspect Ratio's
  • Resizing DVD's
  • DivX Quality Guide
  • Bicubic vs Bilinear Resizing
  • Deinterlace Method Test
  • Video Comparisons
  • WM8 Quality
  • Basic DVD Structure
  • NTSC / PAL & Interlace
  • AVI 4GB Limit
  • Key Frames & Delta
  • Monitor Setup Guide
  • FAQ's
  • Questions Answered
  • Downloadable PDF Guides
  • Glossary
  • Word Definitions
  • My Guides Translated
  • Go Here
  • Mayo DivX Codec 4.0 Beta Guide

    Viva la France! Finally we have something worth testing from Gej and the Project Mayo crew, hurrah! =o). And I think you will be in for a pleasant surprise. If you haven't yet heard, you can now download the Project Mayo Codec 4.0 Beta, so get it here at:

    Unfortunately, as with almost every new thing, there is never enough documentation on it. This guide is designed to get you started in the new codec. Remember, you found it first on Digital Digest =o).

    UPDATE: The new DivX 4.0 Beta 3 is out. All the bugs I mentioned in previous articles are fixed. You can now open encoded movies in VirtualDub again. The layout is slightly changed but the options are basically the same and easier to understand. You gotta hand it to the Mayoites they have been very quick with bug fixes and updates!



    Install the codec by double clicking on it and following the instructions just like with the old codec. Remember this is just a new codec so it can be used in just about any application including Flask Mpeg, VirtualDub, Adobe Premiere or whatever you prefer. Here I am using the DVD2AVI frameserve method found Here. I select Video > Compression in VirtualDub and up pops the following dialogue box. Choose the Divx Codec 4.0 Beta and hit the Configure button (encircled in red).

    Then will appear the following options. I know it looks really very complex and scary. But don't worry, its much easier than it appears and, hey, you got me to explain it all to you =o). Lets take every option one at a time and explain what it is used for. I have labeled them to make this easier...



    (A) 'Variable bitrate mode'. There are basically three options:

    1- Pass: This used to be called "constant bitrate" but has been changed to 1-Pass because it sounded confusing. It didn't really mean constant bitrate since on default settings it just meant a normal variable bitrate (like the old DivX low motion codec). The difference between the DivX Low Motion and this is of course we have much more control over the quality settings as you will see later.

    1-Pass Quality-Based: When using the 1-pass quality setting every single frame gets the same bitrate so it is basically constant bitrate (CBR). Instead of letting us use a bitrate setting (i.e. numbers in kilobits per second), it uses a quality percent slider bar (D).

    2-Pass, first pass & 2-Pass, second pass: These two options are part of the same thing. They allow us to use 2-pass variable bitrate encoding. In other words, the first pass will examine the movie and make a log (stats) file with details about how many parts have high motion scenes and how many parts have low motion scenes. Then, with this information, it can calculate the best possible way to compress the movie into the size you you wish to fit it. Once the log file is made you can then choose the second pass option and the movie will finally be compressed based on this information. Please note that creating this log file takes the same amount of time as actually compressing the whole movie! Using the 2-pass variable bitrate option will give you the best possible quality! The price you have to pay for quality is, of course, the extra time it takes to make.

    (B) 'Performance/quality'. This sets the amount of time the codec spends looking for the best way to compress each frame. The 'Slowest' setting takes the longest and produces the best compression and obviously the 'Fastest' setting spends the least time and so will make the worst quality and worst compression. Mayo notes that the fastest quality is really meant for real time video capture. It appears also that these settings change the level of softening applied to your movies and perhaps that is really all they change? The slowest level has the most anti-noise filter. The slow has almost the same amount but not used quite as harshly. The medium appears to be like DivX without an anti-noise filter. Anything below medium seems to look bad and blocky, so I'd say use medium if keeping the picture sharp is more vital and slow or slowest for all others. The differance between slow and slowest is almost none so you may as well use just slow?

    (C) 'Output video bitstream'. This is where we put the bitrate for the movie you wish to encode just like we would do with any other of the Divx codecs. Along with the quantizer setting this option is the only setting that is really going to make a big difference to the final filesize and quality of your movie. To enter it you can either type the number or use the slider bar. I suggest you use a bitrate calculator to work out the best bitrate for your movie length. You are looking at between 650-1000 kbps for a single CD movie and between 1300 to 2000 for two CDs.

    (D) 'Quality Based Encoding Parameters'. This is used solely for the '1-Pass Quality-Based' encoding option that I already explained previously. If you choose the 1-pass option this slider bar will be the only option you will be allowed to set. The quality will be constant for every frame making 1-pass encoding useful for making master copies that can be stored and edited later. At its default setting of 85% it will encode at about 780kbps constant bitrate (CBR). Just moving it a little bit more or less will make huge changes to the quality and filesize. I think 95% gives a good quality compression and you will end up with a movie usually under 2GB in size.

    Note: This slider bar has changed position and is now found on the lower right side of the selection box.

    (E) 'Maximum key frame interval'. If you are not sure what a keyframe is check my guide Here. In a movie a scene change is described as when the camera switches from one person to the next. This produces a huge change in the picture. Since Mpeg compression is based on only saving the differences between two frames, if the next frame in the sequence is a completely different one from the last (as is the case for almost every scene change) then it is better to start each scene with a whole keyframe rather than one built out of blocks. And, since all the frames after the first one of a new scene are based on the first, they will all appear slightly better quality as a result of the correctly placed keyframe. In movies the average time between each keyframe is between 2 and 8 seconds. The Divx 4.0 codec is like Nandub in that it automatically inserts keyframes at scene changes. But no keyframe detection method is fool proof. So this 'Maximum key frame interval' option is built in for safety. All it does is put a keyframe if none are detected after the amount of frames you choose here. It is set at a default to inserting a keyframe once every 300 frames. This is basically the same as one keyframe every 10 seconds. I always leave this setting at default because I see no big reason to change it.

    (F) 'Default decoder postprocessing level'. This is basically the same as the CPU setting in the old Divx 3.11 codec. But this time Mayo have allowed us to choose the default level. This setting has nothing to do with encoding quality, it only affects the default playback setting used in Media Player (or the official Playa). These settings can be changed manually by right-clicking in Media Player. The reason Media Player allows various CPU / Postprocessing options is because the faster your computer the better quality Media Player can play the movie. If you have a very fast computer you can set a default playback setting that includes both de-blocking and de-ringing filters. But what are these you ask?

    Blocking (macroblock artifacts)
    After the De-blocking Filter

    As you can see above the biggest problem with any mpeg encoding is the macroblocks (blocking). The deblocking filter tries to blur the edges of these squares and make them blend together. Its a very very hard thing to do and is not always perfect. Some people prefer not to use the filter at all since it blurs the image somewhat, others have no choice since the CPU power of their machine is not enough.

    Ringing (edge artifacts)
    After the De-ringing Filter

    The Ringing artifacts are little bright glitches found around the sharp edges of a movie (hence they are more noticeable in cartoons). This is a result of the compression and is only really noticeable at low bitrates.

    Regardless of what these filters do, both of them are used at the same time so we cannot turn individual ones on or off. But if we set the postprocessing level to 0 it will use no filters. An Mpeg file is basically a black and white movie with solid blocks of colour painted over the top! The black and white image will show most of the artifacts since the human eye cannot detect quick changes in colour as easily as it can shade. If we use setting 1, 2 and 3 it will use various quick 'n' dirty deblocking and deringing filters that only effect the shades and not the colour. If we go as high as settings 4, 5 and 6 the filters will effect all the colour parts too. Most people will find that their computer power will only allow them to use setting 1 or 2 otherwise the movie playback will not be very smooth. I usually use a default setting of 2 but just decide what you feel is best for you.

    Now, back to the other settings:

    (G) 'Max CPU usage'. This has absolutely nothing to do with video quality. If you are worried that the codec is not taking advantage of the full speed of your computer you can check this box. It will try to make sure that all CPU power has been devoted to encoding. If you check this you will probably have problems running any other program while you are encoding (or they will just run quite slow).


    To the right of the CPU setting we are given the option to deinterlace our movie. To do this just make sure the deinterlace checkbox is ticked. As you know from my previous articles Found Here it isn't an easy task to solve interlace problem when they appear. Basically an interlace problem is when the original DVD looks like the picture below on the right.

    The reason it looks like this is because the fields have been mixed up; part of two different frames are displayed weaved together! Mayo have tried to be kind to us and help solve this problem. Unfortunately their solution probably produces the worst results of any of the deinterlacers I've seen so far. As you can see from the above picture on the left, the Mayo deinterlacer appears to be a threshold based deinterlacer set at about 15%. This makes the final image contain a lot of ghosting. Did you also notice the gaps in the picture? I have no idea what caused them but I'm guessing its some kind of bug in the program. This problem has not been fixed in the latest version yet.

    In short, I suggest you use either AVISynth or one of VirtualDub's Deinterlacers on your movie first, and always keep the Mayo one turned off! Of course you should never ever use a deinterlacer unless you have the above problem. I noticed that some people suggest that using it makes the final DivX movie smaller. Please don't do it for this reason! Yes, the movie is sometimes smaller but this is only because the deinterlacer blurs the image and makes compression easier. If you must blur your movie just use a VirtualDub noise or blur filter.

    (H) 'Maximum quantizer & Minimum quantizer'. These offer the most control over the final file size and quality (at least when it comes to using the 1-pass option). I'm not joking! If you set the bitrate setting of your movie at just 1 kbps it can still go over sized if you set the quantizers wrong and vice-versa, even at 6000 kbps you can have a seriously undersized movie! So what exactly do these settings do? These quantized values represent the compression levels the codec is trying to use on both fast motion and low motion scenes. Those who use Nandub will recognise these options as working in a similar way to its DRF compression levels. The lower the quantization setting the less compression will be used and the larger your movie will end up! Remember this rule, always!

    To clarify further, to have a very highly compressed movie you want both the max and min quantizers set as high as you can get away with. The Mayo default settings are a pretty good all round settings that work quite well, but if you want better quality you do the following:

    Minimum quantizer: If you start encoding a movie and notice the low motion scenes look blocky then you can try lowering the minimum quantizer (for less compression). Obviously this will take up more memory but you have to get a good balance. Its default value of 2 is good quality but you may wish to increase the compression level to between 4-5 for a single CD movie because its perhaps a bit too high.

    Maximum quantizer: If you start encoding a movie and find that the fast motion (action) scenes go really blocky, then try lowering the maximum quantizer (for less compression). Again this will increase the amount of memory the movie will take. The default setting is 12 but this is not enough for me, I like my action scenes clear. I suggest you play about with lower settings of between 6-8 for better quality in single CD movies. Be careful with the max quantizer setting it can eat up memory really quickly and give you an oversized movie.

    Obviously lowering both quantizer settings will make the movie larger so get the balance so you don't go oversized. Get the balance so both low motion scenes and high motion scenes encode well. It is possible to get almost perfect constant bitrate by setting both the max and min quantizer to the same number. But this will not give best quality if you need to fit a movie on a CD. The only advantage would be that the final filesize will be much more predictable.

    Since I am pushing the DVD2AVI method of encoding I suggest you set the quantizers quite high. Then find some parts of the movie with action and do a few 30-60 second tests to see what they looks like. Lower the max value until you cannot hardly notice the blocks. Again find a low motion scene where people are just speaking or something and lower the value until you cannot hardly notice any blocks. You may find that you do not need to use the very slow 2-pass encode option for super quality if you do it this way.

    In case any of you missed it, the DivX 4.0 codec is basically letting us do what we did with MakeFilm. It lets us set both the max and minimum compression values for our movies. With MakeFilm we needed to encode a separate low motion and high motion movie. The new Mayo codec does it all for us in one go and a lot faster may I add. This option is what I've been asking for since I first started using DivX. Now that we have it neither Makefilm, FairUse, AVIRevolution nor DivXProject will do! Divx 4.0 has only one real contender when it comes to great options and that's Nandub the SBC encoder! One final note, the Max and Min quantizers do effect the 2 pass encoding quality and filesize (but not as drastically as the 1-pass), so choose your settings wisely!

    (I) 'Rate control averaging period, frames'. This controls how many frames are used for determining how the bitrate should be averaged out. The default setting of 2000 seems to work fine in most cases. Mayo say increasing this number should also increase the quality control, so experiment a little.

    (J) 'Rate control reaction period, frames'. This seems to control a balance between high motion and low motion quality (although I'm not exactly sure of the process they are using). The default value of 20 seems to be fine for most movies. If you increase this number it will tend to favour high motion scenes making them look a bit better. But increasing this number may also make the low motion scenes look worse so a balance must be found.

    (K) 'Rate control down/up reaction '. This controls the motion detection sensitivity. The higher the number we put the more sensitive to motion the codec will be. So if we set it very high it will think almost every scene is an action scene and increase the bitrate to keep high quality. Unfortunately this can increase the size of the movie too. The default value of 20 seems fine.

    (L) 'Log file'. This is where the information from the 2-pass encoding is stored. You can rename it or use ones created by other people. You have to remember that when you are doing 2-pass encoding to keep the same video resolution and settings on the second pass as you did on the first.

    (M) 'Frame Dropping'. This used to be called crispiness but was not the same as the crispiness / smoothness settings of the old DivX codec so they changed the name to make it less confusing! The 'Frame Dropping' option only works with 2-pass variable bitrate encoding, it controls how many dropped frames you will get in your movie. A Frame Dropping setting of 0 produces no dropped frames. The higher the crispiness setting the more frames will be dropped. Although this frame dropping saves a lot of memory if it is set too high the movie playback will tend to look slightly jerky. The reason frame dropping only works on 2-pass encoding is because the Mayo DivX codec uses the log file to find places in your movie that it can best drop frames and not be noticed very much, such as very low motion scenes. Frame dropping is not the evil no no but probably just not needed for CD movies.

    Note: Previously the Frame Dropping option was called crispiness even though it change the picture sharpness like the original DivX 3.11 codec. But this is not as strange as it may first appear. Dropping frames was a special feature that was added to the DivX codec to save memory on low bitrate movies. The old DivX codec used to base its frame dropping on the crispiness / smoothness settings of the movie. The smoothness and crispiness settings seemed to effect some kind of pre-filter that was designed to soften noise in the picture. The softer the picture the better it would compress and vice versa. Since the old DivX codec would encode each movie in small sections at a time (each containing only so many blocks), if the picture was too clear and sharp it would 'drop' frames to compensate and fit the movie into the block size. In effect using a high crispiness setting would produce a sharp picture but a jerky playback, while having a high smoothness setting would produce a smooth playback but a softer picture.



    Is the Microsofts DivX 3.11 hack better or worse than the new DivX 4.0 codec, or is there a difference? To test this I decided to compare using the quality settings. Bitrate was not an issue here since I used the highest bitrate I could without worrying if the final movie would take many gigabytes or not. The following are three screenshots:

    The first is the SBC version compressed version (I used SBC to create the best quality DivX since I could control the DRF settings to force the highest quality of the codec). The second is the original DVD, which is always needed with any test since we can only judge something in comparsion to its original. And on the right is the highest setting the Mayo DivX 4.0 codec could make.

    Note: Its always a good idea to have the brightness on your computer screen turned up a little too high to examine any picture. There are whole procedures for getting the correct gamma balance and screen blackness etc., perfect, and I may explain this in the appendix at some time in the future for those who are interested in getting the best out of their PC monitor setup. But these extremes are only really needed for photo editing. Adobe Photoshop has a built in gamma correction wizard that helps to automate this a little.

    At this point you may be interested to know that my good friend Doom9 has done some SBC & DivX 4.0 picture comparisons for you to check out Here.

    I'd say a high percentage of you would, at first glance, think the Mayo codec is the better one. Either way I'm sure you'd agree that it is hard to tell any difference between the two especially if you have a small or old PC monitor. Notice too the hair and the skin-tones on the cheeks. Its obvious that the Mayo codec is using a anti-noise filter, it actually looks very simular (or maybe is the same as) the smoothness setting of the DivX 3.11 codec set to 1, or perhaps even stronger. Personally I see nothing wrong with this, and in some cases they are saving over a megabyte of data every minute of video by compressing this way. I'm not going to put Mayo down for doing it, I'd probably do exactly the same thing, it even helps prevent macroblocks better! Perhaps some would prefer a sharpness (anti-noise) option built into the codec. But everyone would just set it to the best sharpest setting and ruin their movies, so I see the wisdom in leaving such an option out.

    But saying that, probably soley from the fact that it doesn't have an anti-noise filter, the SBC version produced the closest match to the original DVD. The Mayo DivX 4.0 codec is only very slightly smoother and shows a tiny bit more contrast. If the DivX 4.0 Performance/quality setting is set to medium instead of slow it seems to turn off the anti-noise devices and looks about the same as SBC or maybe very very slightly worse.

    As for colour matching, the old Mayo codec didn't score very highly but this new version has almost perfect colour matching like the original DivX codec had. In fact, if I didn't know better I'd say Gej just re-hacked the old one again, added a few filters and and gave it Nandub-like options =o)



    To many Nandub SBC and DivX 4.0 settings remain a puzzling array of switches, lights and knobs! Of course I have written guides on how to use both of these applications. But I didn't show many picture examples in them, I hope to correct that now and perhaps you'll understand their working better because of it. You see, the reason both SBC and the Mayo codec give so simular results is because they use almost exactly the same methods to encode. If we disregard all the very minor extra settings given for those who like to twidle with things, and which make very little or no difference to the final outcome of a movie, we are left with basically three settings to play with on either codec; these are: bitrate, 2-pass encoding and Quantizers.

    What is Bitrate?

    There are two kinds of bitrate setting used on video compression: Constant Bitrate (CBR) and Variable Bitrate (VBR).

    Constant Bitrate: represents how much memory per second a codec will use to encode a movie. Obviously, the higher the bitrate the better the picture quality. Say, for example, one second of video was 25 frames. If I set a bitrate of 1000 Kilobits per Second (kbps) and encode 1 second, each frame would use 40 Kilobits of memory each. If I used a bitrate of 2000 kbps each picture could use 80 Kilobits. Obviously an 80 kilobit frame will look much better than a 40 kilobit frame.

    Notice too that it doesn't matter what resolutions we use! Lets say we encoded one second of video at 1000 kbps at a resolution of 352 x 288 pixels - the final filesize would be exactly 1000 kilobytes! Again, if we encoded one second of video at 1000 kbps, but this time we use a cinema resolution of 5000 x 5000 pixels; the final movie clip would still only be 1000 kilobytes in size! I know it sounds strange, but we set only '1000 kilobits' for one second of video and that is all it will use!

    Variable Bitrate: sets its own bitrate in accordance with the movie. To illustrate, mpeg compresion works basically by saving only the differences between sequances of frames. In non-action scenes there are very few differences between frames. Hence, if the total amount of differences are "small" the kilobits needed to store them will also be small. On the other hand, if there are lots of differences between frames it will take "lots" of kilobits to store them.

    What is 2-Pass encoding?

    Both Nandub SBC and DivX 4.0 can be set to use this 2-pass encoding feature. Basically it encodes the whole movie in one pass (1-pass) at the highest quality. It looks at where the variable bitrate has gone higher to compensate for action scenes and also notes where the bitrate has gone lower for low motion scenes. It keeps this information in a binary file which SBC calls a 'Stats' file and which DivX 4.0 calls a 'Log' file. Now that it knows where in the movie it must increase and decrease the bitrate to achive best quality, it can encode the movie at a very low bitrate and make sure the scenes that need it the most get more bitrate and scenes that need it the least get less bitrate. This method is the most efficent way of compressing any video into the smallest size.

    But we do not really have much control over either of these settings because you either have 2-pass or not and you must always set the bitrate at such a level that it makes your movie fit in the size you want it! So what's next...

    What are Quantizer settings?

    In short, quantizer settings let you choose the maximum and minimum quality for your video. This is probably the best thing anyone has ever thought up yet. Variable bitrate movies can basically be broken down into two types of scene, they are, as already mentioned, fast motion and low motion scenes. The quantizer settings let you choose what quality you want your low motion scenes and what quality you want your fast motion scenes. For example, here is a low motion scene encoded with various minimum quantizer levels:

    As you would expect the lower the quantizer number the lower the compression, and the lower the compression, the larger your movie will end up...but better quality of course. The above examples are the DivX 4.0 codecs quantizer settings. As you can see the quality remains quite good upto setting 4 and after that degrades quite a lot. Both Nandub and the DivX 4.0 codec have about 30 levels of quantizer but by the time you get to about 16 you are destroying the quality of your movie far too much. Although higher levels are acceptable for very small video's or streaming internet video, for CD-ROM videos its pointless going higher than about 16x compression.

    The Nanbub SBC encoding call's its quantizer settings DRF values. These work exactly the same except it appears that they change quality a little faster or perhaps this is just due to the fact they don't have that built in noise-reduction.

    Using Quantizer Settings

    Since a low motion scene would take a different amounts of bitrate from a fast motion scene the best quality compression can be achived by setting the max and min levels differently such as Max 8 Min 2. Getting a good ratio is not really that hard to do because only a couple of settings seem to produce good results. Strangely enough the setting that appears to give the best quality to size ratio for the DivX 4.0 codec is actually min 2 max 12! Yep, its also the default setting for the codec. It appears that Mayo have been doing a lot of testing or perhaps it just luck that they set that as default?!

    Even though 2-16 has one of the best size to quality ratio's the quality of the picture is still quite low with these settings. For the Minimum Qunatizer setting I found that a setting of 2 or 3 were the only choices to make. There is really no need to use any other Minimum setting for a CD-ROM movie. For the Maximum Quantizer I found that between 4 and 8 were the only realistic settings I could find to produce a good quality video. At a level of 4 most action scenes will have very few blocks but in some very heavy action scenes I just couldn't get rid of those blocks at all until I set the max quantizer to 2!

    One important thing to remember is that the max and min DRF (or Quantizer) options will still significantly effect the quality of the video even if you are using 2-pass encoding. And this applies to both the DivX 4.0 and Nandub methods of encoding! With the 2-pass encoding it will try to keep to the quantizer level whenever possible, but is also allowed to override them in order to fit the movie into a set size. However, if the quantizers are used without the 2-pass encoding option the size will be almost solely governed by the quantizer settings and may end up much larger or smaller than you intended.

    In many cases I may just use a slightly higher quantizer setting if I am doing 2-pass encoding since it tends to go undersized otherwise. So where I would usually use a setting like: min 2 and max 8 for a movie on 1-pass, I may alter it to something like: min 2 max 4 to help give it that extra boost.



    Everyone is comparing bitrates! But the whole concept of comparing movie quality based soley on bitrate has become a rather unreliable method of comparision. For example, as you all know the old Fast Motion DivX codec did better on action scenes while the Low Motion codec did better on non-action scenes. Comparing the quality of these two codecs based on bitrate would have been useless! For example, lets say you want to encode a 130 minute movie to DivX. If you set the old Fast Motion codec to 6000kbps you would end up with a movie that was between 700-800MB in size. If, however, you set the old Low Motion codec to 6000kbps you would end up with a movie that was about 4 gigabytes or more!

    The increased quality that can be produced by such methods as: MakeFilm, AVIRevolution, ProjectDivX, FairUse, Vidomi and Nandub SBC encoding have all been based on careful control over the DivX 3.11 codec. They all used exactly the same codec but they were designed to change the bitrate (and other settings) at certain parts of the movie to find the best way to compress each scene better. To illustrate what I mean, lets say I used the old DivX Low Motion codec to encode an action scene with a bitrate of 800kbps. Then I use Nandub SBC to encode the same clip with 2-pass encoding (all the best settings) and a bitrate of exactly the same. When I compare the SBC version to the DivX 3.11 version I am amazed. Wow! Even at 800kbps the quality of SBC is easily twice as good! But here is where I would make my biggest mistake. When I compare the filesize of the SBC movie to the DivX 3.11 movie I find that the SBC movie is also twice the size! So much for the bitrate comparison method!

    In my SBC vs Low Motion DivX 3.11 illustration the Low Motion codec would produce a movie clip of roughly 8MB but the SBC movie ended up 14MB. When I then increased the Low Motion codecs bitrate to 1020kbps the movie ended up 14MB give or take a few kilobytes. Was the quality as good as SBC? Yes, just about, there was a slight difference but unless you strain really hard you wouldn't really notice it.

    In short, to make any comparison test fair we are forced to compare movie clips that have almost exactly the same filesize as each other. Since all DivX movies are variable bitrate, in other words their filesizes change depending on how much action is in them, it is very very hard to encode one movie with SBC and another with the Mayo DivX 4.0 codec so they are equal. On the face of it it may not seem such a big deal. I mean if I encode a 60 second test clip in SBC and it ends up 6,300KB what does it matter that the same clip encoded with the Mayo's DivX 4.0 codec ended up 6,800KB. Well, even with such small differnces as these a two hour movie with SBC could end up 60MB smaller then the DivX 4.0! Then if I were to say 'look the DivX 4.0 looks better than the SBC one at the same bitrate', when in fact one was 60MB larger than the other, you'd say I was plain crazy!

    This is the problem with which I have had to fight. Whenever I compate quality I always take into account final filesize. In some cases this requires that I cheat a little by boosting or lessening the bitrate (or other settings) to make sure the final size was almost the same. Of course with SBC vs DivX 4.0 the real issue is not the final filesize generated but how well the codecs are able to make use of that avalable space to produce a quality picture. And obviously we cannot see how well each method makes use of the space unless we compare two video clips that take up the same amount of space. Since our goal is always to produce the best quality movie that will fit onto a single 650MB CD or two 650MB CD's then we are looking at comparing video clips that are between 5.5MB and 11MB per 60 seconds of video. Hence all tests I do are been designed to make the best quality videos that would fit into these size brackets. I suggest if you do your own comparision tests (as many have) that you follow this advice too.



    Here are some of my opinions on the whole encoding playing issues of the Divx 4.0 Beta.

    1. Although Mayo have offered us some really great options for encoding our movies with the Divx 4.0 codec, there is still no way to guarantee an exact filesize, we can still very often get an over or undersized movie. The bitrate doesn't really seem to have a great deal of control over the final filesize of the movie since the quantizers are doing most of the work. I know its almost impossible to keep to an exact filesize using a any single pass encode, but with 2-pass encoding it should be possible even though it hasn't reached that standard yet. Admittedly Nandub and most of the other methods have had this very same problem. I like the fact that they are letting us have more control over the codec though (like Nandub does) so that is good. Perhaps a simpler layout should be offered for the newbies with a separate button saying 'Advanced...' that would takes us to the nonessential extra options. I'll have to write an article on user friendliness on GUI's which is strangely enough another subject I've been studying 8o\.

    2. As I have already said, the deinterlacing looks really bad. I hope that later versions will offer better results. A Bob deinterlacer or one that can get the correct field order would be great (VirtualDub's Telecide filter is also a good choice). A threshold based deinterlacer can be added but I don't much like them anyway, I think they completely destroy the picture! An IVTC option would also be great (perhaps with an additional feature for choosing framerates?). But all this is really just for solving the same interlace problems anyway.

    3. The DivX Playa itself (not the codec) is still a cumbersome thing and I don't really like the way it works. It doesn't like to seek to places very well and will often jam up or not let you stop the movie from playing. None of these problems appear in Media Player. It does have some nice features though, such as subtitles and skins that look like they will be good for the future.

    So what would I like to see in the next version of the Mayo Divx 4.0 codec? Well, all of the above really! The most important thing is to get some better control over final filesize. Once they have this problem licked they are golden and I will kiss their feet and call it ice-cream. Next is speed, we can never have enough speed so that's always the next on the list, but they know that anyway.

    I'm greedy when it comes to features so I could make up features all day long, but that's just making more work for them, eh =o) Uh, okay, I'll add some more things that I personally would like to have but that are not really needed. For example, what about an option to add author details to the movie? Also perhaps a plug-in feature that allows us to use VirtualDub filters in the codec? That would solve noise reduction, interlacing, adding logo's, adding subtitles and a whole bunch of other common video problems. At the moment Mayo offer no DivX audio as part of their codec. The old 3.11 alpha used a hacked WMA audio. Perhaps Mayo should bundle the Ogg's Vorbis ACM codec or something? Vorbis is a true open source codec and produces great quality audio. In fact at medium bitrates of around 128 kbps Vorbis compression to quality ratio is better than MP3! Of course Vorbis is not very well supported yet.

    Note: Ogg is the name of the project developing the Vorbis compression. The compression is actually called "Vorbis" compression. We don't call MP3 Fraunhofer compression so stop calling Vorbis compression Ogg, it's annoying =oP.

    Yes, I think I have almost been completely converted to the evil cult of the Mayoites.

    The Advantages of using the Mayo DivX codec
    1. Completely free and legal DivX codec to use for the home user. As you know the 3.11 alpha version was hacked from Microsoft's ASF codec. Mayo may not allow business to use the codec without paying some kind of licensing fee but its free to the common user.
    2. It has a full 2-pass variable bitrate encoding scheme that can be applied to any popular video editing package without the need to frameserve or hack anything. Almost like Nandub in a box.
    The Disadvantages of using the Mayo DivX codec
    1. eh? where?!



    So which DivX encoding method is the best to use? Is this new codec able to compete with the ever popular Nandub and AVIRevolutions of the world? I'm now sure the answer is yes!!



    The future of video and audio is definately in internet downloadable movies and music videos. I know this will soon be a fact even though it has been opposed by the movie industry! There is a lot of crap going around at the moment about copyright laws and who has the right to make and sell downloadable movies. When video tapes were invented the movie industry went mad trying to outlaw them. They now embrace them as their major source of income. The same will apply to internet videos. Mpeg-4 and DivX appear to be the winners when it comes to a low bandwidth internet video solution. If you are looking for the next big business to invest in I'm sure we will see internet videos make millions very quickly in the next few years and then later billions. The battle has begun for who will control this market. This is what these large corporations are really concerned about. It is certainly not a fear of piracy that drives them as they may have fooled you into believing!

    All that aside, I would personally consider any low bitrate format such as DivX or QuickTime merely as stepping stones to this future of internet video. TV and cable stations already use MPEG compression to lower bandwidth. And I'm sure that in a few years there will be little or no difference between the internet and the TV. People will be buying entertainment systems that have internet and TV built in as standard. Internet movies will soon replace cable and other pay-per-view movie solutions. The only thing hampering this at the moment is the bandwidth problems. As cable technology grows so will bandwidth speeds. Only a few years ago it would have taken weeks to download a DivX movie. Nowadays broadband internet connections can download the movies faster than we can watch them! A time will come when speeds get so fast that DivX, QuickTime or any low bitrate compression will not even be needed. In the meantime DivX has proved itself as the format of choice for this exciting time ahead of us!

    I say f*ck QuickTime and that spyware application Real Player! Please don't use them....lets stick to DivX Mpeg-4 shall we?!


    Disclaimer: The information written in this article is my personal opinion. To the best of my knowledge everything contained in it is true. If you believe otherwise I suggest you research it for yourself. I reserve the right to free speech and to voice my opinion.

    Duplication of links or content is strictly prohibited. (C) NICKY PAGE 2000