View Full Version : Xvid decoder. Quality/Speed trading.
IgorC
10th December 2006, 21:19
I noticed that Xvid is CPU hungry to postprocess but it provides slightly better quality.
SSIM and speed measurements of Xvid 1.2 and FFdshow decoders:
1. No postprocess (PP0)
Xvid - SSIM 77.87
User: 10s, kernel: 0s, total: 10s, real: 14s,fps:105.1,dfps:79.9
FFdshow - SSIM 77.87
User: 8s, kernel: 1s, total: 9s, real: 13s, fps: 119.7, dfps: 84.4
2. PP1
Xvid - SSIM 78.81
User: 20s, kernel: 0s, total: 21s, real: 24s, fps: 54.0, dfps: 46.8
FFdshow - SSIM 78.40
User: 11s, kernel: 1s, total: 12s, real: 14s, fps: 94.4, dfps: 79.9
3. PP2
Xvid - SSIM 78.90
User: 25s, kernel: 0s, total: 26s, real: 31s, fps: 42.8, dfps: 36.9
FFdshow - SSIM 78.72
User: 11s, kernel: 1s, total: 12s, real: 14s, fps: 92.9, dfps: 78.2
Video was encoded by Xvid 1.2 without Qpel, GMC but other settings are tuned to max. values. 720x304 800 kbit 23.98 fps.
Sharktooth
11th December 2006, 17:39
It all depends on what kind of PP you're using with FFDShow.
It can use several algorithms... so...
IgorC
11th December 2006, 23:23
You're right. I totally forgot that ffdshow had separate luma and chroma pp options. I'll update the results.
Sagittaire
12th December 2006, 00:01
you use certainely PP from mplayer (fast) but you can use nic's algo too (slow but better quality).
Best setting for my eyes for H263 quantisation is:
- Nic's algo only with PP4
- Strength at 60-70%
- default threshold
best setting for metric for H263 quantisation is:
- Nic's algo only with PP4
- Strength at 100%
- default threshold
Higher strength done less blocking but more blur too.
IgorC
12th December 2006, 00:22
Sagittaire
With your options ffdshow obtains even better results for metric and visually than Xvid best PP.
FFdshow - 79.15 :)
It's possible slightly improve metric result adjusting strength to something like 125-135%. The new result is 79.17
Sagittaire
12th December 2006, 15:00
And at this time the best ASP encoder for metric is Libavcodec ...
IgorC
12th December 2006, 15:39
And at this time the best ASP encoder for metric is Libavcodec ...
Very interesting. What command line do you use for best metric?
Sagittaire
12th December 2006, 17:08
high quality but slow
mencoder.exe Encodage.avs -o LAVC-900.m4v -ovc lavc -lavcopts vstrict=1:vpass=1:turbo:vqscale=3:vb_qfactor=1.5:vb_qoffset=0.0:vqcomp=0.75:vmax_b_frames=2:vb_strategy=2:brd_scale=1:bidir_refine=4:preme=2:dia=1:predia=1:mbd=2:precmp=0:cmp=0:subcmp=0:v4mv:mv0:mv0_threshold=0:trell:cbp:last_pred=0:psnr:vrc_strategy=0 -of rawvideo -ffourcc MP4V
mencoder.exe encodage.avs -o LAVC-900.m4v -ovc lavc -lavcopts vstrict=1:vpass=3:vbitrate=896:vb_qfactor=1.5:vb_qoffset=0.0:vqcomp=0.75:vmax_b_frames=2:bidir_refine=4:preme=2:dia=1:predia=1:mbd=2:precmp=0:cmp=0:subcmp=0:v4mv:mv0:mv0_threshold=0:trell:cbp:last_pred=0:psnr:vrc_strategy=0 -of rawvideo -ffourcc MP4V
mencoder.exe encodage.avs -o LAVC-900.m4v -ovc lavc -lavcopts vstrict=1:vpass=2:vbitrate=896:vb_qfactor=1.5:vb_qoffset=0.0:vqcomp=0.75:vmax_b_frames=2:bidir_refine=4:preme=2:dia=-6:predia=-6:mbd=2:precmp=2:cmp=2:subcmp=2:v4mv:mv0:mv0_threshold=0:trell:cbp:last_pred=3:psnr:vrc_strategy=0 -of rawvideo -ffourcc MP4V
MP4Box.exe -add LAVC-900.m4v LAVC.mp4
IgorC
12th December 2006, 19:19
I failed to obtain better result with your 3pass settings. Only 78.30
With all three full slow pass the ssim is 78.56 with best pp4 + Nics default.
Here is ranking for my source (ffdshow pp for all)
1. Xvid 1.2 79.15
2. Divx 6.4 78.92 (Divx decoder isn't that good now. They maked it faster). 3 pass, h263+, insane q, no psy
3. LASP 78.56 . mplayer 3d of dic. http://ffdshow.faireal.net/mirror/mplayer/
Sagittaire
13th December 2006, 00:01
Better result with my samples ... :scared:
Try with insame setting (very very slow):
mencoder.exe Encodage.avs -o LAVC-1000.m4v -ovc lavc -lavcopts vstrict=1:vpass=1:vqscale=4:vb_qfactor=1.5:vb_qoffset=0.0:vqcomp=0.75:vmax_b_frames=2:vb_strategy=2:brd_scale=0:bidir_refine=4:preme=2:dia=1:predia=1:mbd=2:precmp=0:cmp=0:subcmp=0:v4mv:mv0:mv0_threshold=0:trell:cbp:last_pred=0:psnr:vrc_strategy=0 -of rawvideo -ffourcc MP4V
mencoder.exe encodage.avs -o LAVC-1000.m4v -ovc lavc -lavcopts vstrict=1:vpass=3:vbitrate=1000:vb_qfactor=1.5:vb_qoffset=0.0:vqcomp=0.75:vmax_b_frames=2:bidir_refine=4:preme=2:dia=1:predia=1:mbd=2:precmp=0:cmp=0:subcmp=0:v4mv:mv0:mv0_threshold=0:trell:cbp:last_pred=0:psnr:vrc_strategy=0 -of rawvideo -ffourcc MP4V
mencoder.exe encodage.avs -o LAVC-1000.m4v -ovc lavc -lavcopts vstrict=1:vpass=2:vbitrate=1000:vb_qfactor=1.5:vb_qoffset=0.0:vqcomp=0.75:vmax_b_frames=2:bidir_refine=4:preme=2:dia=-6:predia=-6:mbd=2:precmp=6:cmp=6:subcmp=6:v4mv:mv0:mv0_threshold=0:trell:cbp:qprd:last_pred=3:psnr:vrc_strategy=0 -of rawvideo -ffourcc MP4V
MP4Box.exe -add LAVC-1000.m4v LAVC.mp4
IgorC
13th December 2006, 18:01
Your new settings give better result but still not high as Xvid's.
78.84
With your setting of 3d pass for all three pass ( all 3 passes very slow) the result is 79.15. It has almost the same result with Xvid's result. The difference is smaller than 0.01 ssim.
LAVC is good as Xvid but at very high quality cost. Visually I like slowest LAVC output too. It looks as Xvid (somewhere better somewhere worse)
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.