[MPlayer-dev-eng] [LONG] PSNR comparison, new source and results
Romain Dolbeau
dolbeau at irisa.fr
Tue Jun 15 10:46:26 CEST 2004
Hello all,
New results from my attempt at finding the "best" lavc options.
I used a very different file this time ; instead of the slow-motion
scene from "CT,HD", I used a very fast-moving from The Matrix.
5000 frames from the subway fight, when Smith beats up Neo.
I also used 2-pass encoding, only looking at the PSNR result
of the second pass.
filters: "-vf crop=720:422:0:78,scale=576:238"
(yes, not multiple-of-16 height, sorry, but it uses the same AR than
the properly cropped source and I started the runs before Rich told
me it was bad)
common options: "vcodec=mpeg4:vqmin=2:vqmax=31:keyint=125:vpass=X:"
I also forced the following options in my tool:
"vme=4:mbd=2:qpel:trell"
The various tested option were:
{pre,,sub}cmp=2, 3 or 6
{pre,}dia=1 or -2
vmax_b_frames=0 or 1
mv0 or not
qprd or not
v4mv or not
cbp or not (we always have trell)
vlelim=-4 or not
vcelim=7 or not
vbitrate=500, 650 or 800
768 tests per bitrate (2304 in total)
1) Result a 500 kbps
best combination:
vme=4/cmp=2/precmp=2/subcmp=2/dia=-2/predia=-2/vmax_b_frames=1/mbd=2/qpel/mv0/v4mv/trell/cbp
* vmax_b_frames=1 was mostly negative ; in fact, the above line give nearly
as good a result with vmax_b_frames=0, losing on chrominance but winning on
luminance.
* mv0 is a win (except 2 samples with a negligible loss)
* v4mv is always a win
* qprd is more often than not a loss
* cbp is nearly always a win, but variance is small either way
* *cmp=2 is almost always the best choice
* *dia=-2 is nearly always a win over *dia=1
* vlelim & vcelim are both always a loss
2) Result a 650 kbps
best combination:
vme=4/cmp=2/precmp=2/subcmp=2/dia=-2/predia=-2/vmax_b_frames=0/mbd=2/qpel/mv0/v4mv/trell/cbp
* vmax_b_frames=1 was usually negative, but by a smaller margin
than for vbitrate=500. the above line give nearly the same
result with vmax_b_frames=1, losing on luminance but winning
on chrominance (same change as above for 500 kbps)
* mv0 is a win (except 2 samples with a negligible loss)
* v4mv is always a win
* qprd is often a win
* cbp is almost always a win, but variance is small either way
* *cmp=2 is almost always the best choice
* *dia=-2 is nearly always a win over *dia=1
* vlelim & vcelim are both always a loss
3) Result a 800 kbps
best combination:
vme=4/cmp=2/precmp=2/subcmp=2/dia=-2/predia=-2/vmax_b_frames=1/mbd=2/qpel/mv0/v4mv/trell/cbp
* vmax_b_frames=1 was usually positive. Using vmax_b_frames=0 on the
line above is a loss, mostly on chrominance.
* mv0 is always a win
* v4mv is always a win
* qprd is usually a win
* cbp is almost always a win, but variance is small either way
* *cmp=2 is almost always the best choice
* *dia=-2 is nearly always a win over *dia=1
* vlelim & vcelim are both always a loss
4) Result with v4mv & mv0
Only looking at the 3 * 192 results with mv0 and v4mv:
* qprd is slighlty better-looking
* vmax_b_frames is mostly a loss
5) Result for vmax_b_frames
* if vmax_b_frames=0, qprd is mostly a win at all bitrates
* if vmax_b_frames=1, qprd is usually bad, but it is less clear-cut
at 650 than for the other 2 bitrates
* mv0 and v4mv give a bigger PSNR boost when vmax_b_frames=0 than
when vmax_b_frames=1 at all bitrates
* *dia=1 is slightly less below *dia=-2 with vmax_b_frames=0 than
with vmax_b_frames=1
6) Result with v4mv & mv0 for vmax_b_frames
Only looking at the 3 * 192 results with mv0 and v4mv:
* if vmax_b_frames=0, qprd is a win as bitrate goes up
* if vmax_b_frames=1, qprd is a loss as bitrate goes up
* *dia=-2 is still better, but the variance is smaller
7) Conclusion
a - don't use vlelim & vcelim, at least on that kind of scene at
that kind of bitrate
b - mv0 and v4mv are good
c - unlike "CT,HD", cbp is usually a win here
d - qprd & B-frames are open for discussion. Despite qprd looking
better than B-frames on average, the winning combination at
various bitrate doesn't involve qprd and 2 times out of 3
uses B-frames - the third doesn't loose much using them.
I'm gladly taking all advices and suggestions on other tests...
--
Romain Dolbeau
-------------- next part --------------
A non-text attachment was scrubbed...
Name: matrix.500.txt.bz2
Type: application/x-bzip2
Size: 4135 bytes
Desc: not available
URL: <http://lists.mplayerhq.hu/pipermail/mplayer-dev-eng/attachments/20040615/e7eeb1df/attachment.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: matrix.650.txt.bz2
Type: application/x-bzip2
Size: 3977 bytes
Desc: not available
URL: <http://lists.mplayerhq.hu/pipermail/mplayer-dev-eng/attachments/20040615/e7eeb1df/attachment-0001.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: matrix.800.txt.bz2
Type: application/x-bzip2
Size: 3867 bytes
Desc: not available
URL: <http://lists.mplayerhq.hu/pipermail/mplayer-dev-eng/attachments/20040615/e7eeb1df/attachment-0002.bin>
More information about the MPlayer-dev-eng
mailing list