Quality Concerns

These comparisons are the result of discussions on the various forums (around December 2000) between Ross Mclennan, myself, and several others regarding the best way of producing continuous mpeg files for DVDs and SVCDs from digital camcorder sources, when working under windows 95/98/ME.


Not using avisynth
Using avisynth as a feeder
From Microsoft
type 1 avi's ===>

(DirectShowSource
script used
for avisynth)

Microsoft type 1 no feeder Microsoft type 1 avisynth feeder (DirectShowSource script)
From Microsoft
type 2 avi's ===>

(DirectShowSource
script used
for avisynth)

Microsoft type 2 codec no feeder Microsoft type 2 codec avisynth feeder (DirectShowSource script)
From Mainconcept
type 2 avi's ===>

(DirectShowSource
script used
for avisynth)

Mainconcept type 2 codec no feeder Mainconcept type 2 codec avisynth feeder (DirectShowSource script)
From Mainconcept
type 2 avi's ===>

(AVISource
script used for
avisynth)

Mainconcept type 2 codec no feeder Mainconcept type 2 codec avisynth feeder (AVISource script)


Technical details

Footage shot on Sony TRV120e digital 8 camcorder (digital in enabled), captured using ADS Pyro card, edited with Ulead MSP6VE. I am using qdv.dll version 400, once the project was complete it was exported back to tape in the camcorder.

The type 1 AVI's footage was then recaptured using MSP6.0VE, the type 2 AVI's footage was recaptured using AVI_IO and the mainactor codec. The video was coded using TMPEnc beta12a using my PAL DVD template with a constant bitrate of 8000kbs. For the avisynth tests version 0.3 was used, using the DirectShowSource script for the microsoft type 1 and 2, Mainconcept type 2, for example

DirectShowSource("d:\capture.00.avi") + DirectShowSource("d:\capture.01.avi")

and repeated using the AVISource for the mainconcept type 2, this being the only DV codec to work with the AVISource script.

AVISource("d:\capture.00.avi") + AVISource("d:\capture.01.avi")

All the tests were done on AMD athlon 700 win 98SE machine, except for the type 1 avi that would not load at all without the help of avisynth. For the top left test (type 1, no avisynth) I therefore had to resort to my old AMD K6 266 windows 95 machine which will encode type 1 avi's in TMPEnc beta 12a directly, although very, very slowly!

Mpeg2 files were then played back and screen captured using windvd. Other than the jpg compression and resize these images have not been processed in any way, full size screen captures are available by clicking on the above pictures.


Conclusions (updated 12 Feb 2001 - changes in bold)

  • It difficult to assess quality from single frames on the PC, since these interlaced MPEG2 files are best judged by playing them back on a TV screen. The differences in quality are even more obvious when viewed in this way.

  • Using Avisynth with DirectShowScript results in a degradation of the quality of the final MPEG. It does not matter what codec is used (Microsoft type1, Microsoft type2, Mainconcept type2), if the script contains DirectShowSource then the MPEG comes out bad. The whites in the picture appear muddy, and there is evidence of "banding" or "contouring" in areas where there should be a steady graduation. (look at the jet ski seat for example, most noticeable in the full size picture)

  • On many systems TMPEnc beta 12a will not read type 1 avi's without recourse to avisynth so the option of doing a straight encode is not there, and even if it is, it is in any case limited to 18 mins due to the limits of the FAT32 file system.

  • Using the mainconcept type 2 AVI's there is no differences between the files encoded straight and those using avisynth as a feeder, so long as the AVISource script is used to join the files produced by AVI_IO.

  • For best quality MPEG's I would recommend avoiding using avisynth with microsoft codec (type 1 or 2) AVI's and TMPEnc, as the quality is noticeably poorer than the alternatives.

  • I now believe this is because it is necessary to use the DirectShowSource script to join these files. It appears that when the AVISource script can be used, such as with the mainconcept codec, the quality is much better. I assume this is because the Mainconcept codec is doing the decompression prior to the data being fed into TMPEnc., Avisynth simply being used to join the data, not decompressing it as well.

  • So to sum up, use the Mainconcept DV codec, use avisynth, avoid the DirectShowSource script and your MPEGs will be as good as from the original AVI's but without the 2/4gig barrier's. My MPEGS are virtually indistinguishable from the original camcorder source at DVD data rates (8000kbs) and very acceptable at SVCD rates (2600kbs).