[MEncoder-users] new doom9 codec comparission (submission)

Corey Hickey bugfood-ml at fatooh.org
Fri Dec 9 21:35:29 CET 2005


After much testing and deliberation, I present to you the best encoding
and decoding options I can come up with at this time. Please let me know
if you have any trouble; I'll try to stay in contact as much as possible
via email.

Part 1: general

The mencoder binaries you usually use will suffice:

I have tested with what is currently the latest build, dated 2005-11-23.

For playback, use ffdshow. I have tested with this build:

Media Player Classic build 6487 works for me:

I notice that in the faq for your 2004 comparison, you specify that
noise added in postprocessing is disallowed. Please let me know if that
is not still the case; I can provide parameters for adding a bit of
noise that slightly improves perceptual quality.

The video bitrates in the following commands are based on the email you
sent me earlier; feel free to tweak them as needed to suit whichever
container you mux into.

Part 2: FFmpeg MPEG-4

This set of options to mencoder are tuned for quality, not speed, in
almost every way. The only quality-oriented option left out is qns=2;
this has a noticeable effect, but most of the benefits are concealed by
postprocessing and in this case it isn't worth the drop in performance.

I suspect you will want to use your MeGUI frontend, so I'll just give
you a relatively compact unix-style command that you can translate
easily. Or, if you prefer, scroll down to part 4 to see a separate
command for each pass.

for i in vpass=1:turbo vpass=2 ; do
  mencoder matrix.vob -aid 128 -oac copy \
-vf crop=718:356:0:60,scale=640:272 -sws 9 -ovc lavc \
-lavcopts vcodec=mpeg4:vbitrate=581:mbd=2:mv0:trell:cbp:\
last_pred=2:vqcomp=0.6:vmax_b_frames=2:qpel:$i \
-ofps 24000/1001 -o mpeg4.avi

The only difference between the first and second pass (besides vpass, of
course) is that the first pass uses turbo.

For playback, I suggest using ffdshow's "mplayer" processing method with
"Accurate deblocking" enabled. Leave processing strength at the default.

Part 3: FFmpeg snow

Snow has a lot fewer options to tweak, at this point. All these options
for snow are tuned for quality. See part 4 for a separated set of commands.

for i in vpass=1:vqscale=2.15 vpass=2:vbitrate=581 ; do
  mencoder matrix.vob -aid 128 -oac copy \
-vf crop=718:356:0:60,scale=640:272 -sws 9 -ovc lavc \
-lavcopts vcodec=snow:vstrict=-2:cmp=1:subcmp=1:mbcmp=1:\
qpel:vqcomp=0.6:$i -ofps 24000/1001 -o snow.avi

The first pass is done with a constant quantizer that approximates the
bitrate used in the second pass.

For playback, no postprocessing is needed.

I haven't had any success with getting Media Player Classic to play
MP4Box-muxed MP4 files with snow video. In the event your favorite AVI
muxer doesn't understand snow either, you can use the following mencoder

mencoder snow.avi -audiofile audio.mp3 -mc 0 -noskip \
-ovc copy -oac copy -o snow-final.avi

Again, feel free to adjust the bitrate of the second pass to suit the
container. You don't need to mess with vqscale for such small adjustments.

Part 4: separated commands

Just in case these are easier for you to interpret. My mail program is
going to break them up into several lines, so put everything between the
"---"s together.

MPEG-4 pass 1:
mencoder matrix.vob -aid 128 -oac copy -vf
crop=718:356:0:60,scale=640:272 -sws 9 -ovc lavc -lavcopts
-ofps 24000/1001 -o mpeg4.avi

MPEG-4 pass 2:
mencoder matrix.vob -aid 128 -oac copy -vf
crop=718:356:0:60,scale=640:272 -sws 9 -ovc lavc -lavcopts
-ofps 24000/1001 -o mpeg4.avi

snow pass 1:
mencoder matrix.vob -aid 128 -oac copy -vf
crop=718:356:0:60,scale=640:272 -sws 9 -ovc lavc -lavcopts
-ofps 24000/1001 -o snow.avi

snow pass 2:
mencoder matrix.vob -aid 128 -oac copy -vf
crop=718:356:0:60,scale=640:272 -sws 9 -ovc lavc -lavcopts
-ofps 24000/1001 -o snow.avi

Part 5: thanks

The following people helped me out on the MPlayer mailing lists:
Michael Niedermayer
Dominik 'Rathann' Mierzejewski
Guillaume POIRIER
Rich Felker
Hans-Carl Oberdalhoff
Martin Collins
Matthias Wieser
Jan Knutar
Stefan Gürtler
Vladimir Mosgalin

Also, many thanks are due to all the MPlayer and FFmpeg authors,
especially Michael Niedermayer, who wrote a large portion of the
encoding parts of both programs and fixed a few bugs I threw at him in
the course of this evaluation.

-Corey Hickey

More information about the MEncoder-users mailing list