[FFmpeg-devel] [RFC] H.264/SQV3 separation: h264data.h

Diego Biurrun diego
Fri Nov 28 21:46:19 CET 2008


On Fri, Nov 28, 2008 at 07:14:57PM +0100, Michael Niedermayer wrote:
> On Fri, Nov 28, 2008 at 05:48:50PM +0100, Diego Biurrun wrote:
> > Next up on the list is moving the tables in h264data.h to a .c file that
> > can be compiled and shared by the H.264 and SVQ3 decoder.  This requires
> > adding an ff_ prefix to the names of the tables, removing the static
> > keyword and then moving h264data.h to h264data.c while replacing the
> > contents of h264data.h with appropriate extern declarations.
> > 
> > I have done this in my local tree, but the patch is 174kB big (and
> > terribly boring), so I'm not sending it here.  OK to proceed (in
> > several steps)?  
> 
> yes
> 
> > Will this need to be benchmarked at some point?
> 
> id say it cant hurt to benchmark it before commit

Hmmmmm

I ran the following benchmarks on my K6-III with two different samples:

http://samples.mplayerhq.hu/V-codecs/h264/cathedral-beta2-400extra-crop-avc.mp4
http://samples.mplayerhq.hu/V-codecs/h264/Aladin.mpg

I used the following MPlayer command lines to benchmark:

mplayer -quiet -frames 1000 -benchmark -nosound -vo xmga
mplayer -quiet -frames 1000 -benchmark -nosound -vo null

I made five runs for each sample and vo and threw away the best and
worst times.  The results are attached.

Unfortunately there seems to be a slight slowdown with the cathedral
sample, with Aladin it's a bit inconclusive.

Now I don't know how to continue from here.  Were my benchmarking
procedures sensible?  (BTW, is there a good way to benchmark with ffmpeg
directly?)  Are these intermediate results worth anything at all or
should the benchmarks be done once the split is complete to be
significant?

I remember that WMV2 decoding times improved after the split from
msmpeg4.  Please point me in the right direction.

Diego
-------------- next part --------------
mplayer-split -quiet -frames 1000 -benchmark -nosound -vo null cathedral-beta2-400extra-crop-avc.mp4

BENCHMARKs: VC:  27.329s VO:   0.021s A:   0.000s Sys:   0.261s =   27.611s
BENCHMARK%: VC: 98.9794% VO:  0.0766% A:  0.0000% Sys:  0.9440% = 100.0000%

BENCHMARKs: VC:  27.267s VO:   0.022s A:   0.000s Sys:   0.255s =   27.545s
BENCHMARK%: VC: 98.9935% VO:  0.0794% A:  0.0000% Sys:  0.9271% = 100.0000%

BENCHMARKs: VC:  27.590s VO:   0.021s A:   0.000s Sys:   0.261s =   27.873s
BENCHMARK%: VC: 98.9867% VO:  0.0764% A:  0.0000% Sys:  0.9369% = 100.0000%


mplayer-split -quiet -frames 1000 -benchmark -nosound cathedral-beta2-400extra-crop-avc.mp4

BENCHMARKs: VC:  26.697s VO:   4.159s A:   0.000s Sys:   0.236s =   31.092s
BENCHMARK%: VC: 85.8646% VO: 13.3769% A:  0.0000% Sys:  0.7585% = 100.0000%

BENCHMARKs: VC:  26.724s VO:   4.047s A:   0.000s Sys:   0.229s =   31.000s
BENCHMARK%: VC: 86.2068% VO: 13.0554% A:  0.0000% Sys:  0.7378% = 100.0000%

BENCHMARKs: VC:  26.827s VO:   4.051s A:   0.000s Sys:   0.236s =   31.114s
BENCHMARK%: VC: 86.2207% VO: 13.0196% A:  0.0000% Sys:  0.7596% = 100.0000%



mplayer-split -quiet -frames 1000 -benchmark -nosound -vo null Aladin.mpg

BENCHMARKs: VC:  12.223s VO:   0.021s A:   0.000s Sys:   0.300s =   12.545s
BENCHMARK%: VC: 97.4400% VO:  0.1681% A:  0.0000% Sys:  2.3919% = 100.0000%

BENCHMARKs: VC:  12.278s VO:   0.021s A:   0.000s Sys:   0.302s =   12.601s
BENCHMARK%: VC: 97.4393% VO:  0.1638% A:  0.0000% Sys:  2.3969% = 100.0000%

BENCHMARKs: VC:  12.220s VO:   0.021s A:   0.000s Sys:   0.293s =   12.534s
BENCHMARK%: VC: 97.4933% VO:  0.1706% A:  0.0000% Sys:  2.3361% = 100.0000%


mplayer-split -quiet -frames 1000 -benchmark -nosound Aladin.mpg

BENCHMARKs: VC:  12.253s VO:   1.559s A:   0.000s Sys:   0.314s =   14.125s
BENCHMARK%: VC: 86.7425% VO: 11.0377% A:  0.0000% Sys:  2.2199% = 100.0000%

BENCHMARKs: VC:  12.190s VO:   1.569s A:   0.000s Sys:   0.311s =   14.070s
BENCHMARK%: VC: 86.6324% VO: 11.1538% A:  0.0000% Sys:  2.2138% = 100.0000%

BENCHMARKs: VC:  12.215s VO:   1.567s A:   0.000s Sys:   0.315s =   14.097s
BENCHMARK%: VC: 86.6501% VO: 11.1156% A:  0.0000% Sys:  2.2343% = 100.0000%
-------------- next part --------------
mplayer-vanilla -quiet -frames 1000 -benchmark -nosound -vo null cathedral-beta2-400extra-crop-avc.mp4
BENCHMARKs: VC:  27.886s VO:   0.021s A:   0.000s Sys:   0.248s =   28.155s
BENCHMARK%: VC: 99.0450% VO:  0.0757% A:  0.0000% Sys:  0.8793% = 100.0000%

BENCHMARKs: VC:  27.822s VO:   0.021s A:   0.000s Sys:   0.251s =   28.095s
BENCHMARK%: VC: 99.0294% VO:  0.0764% A:  0.0000% Sys:  0.8942% = 100.0000%

BENCHMARKs: VC:  27.962s VO:   0.021s A:   0.000s Sys:   0.252s =   28.235s
BENCHMARK%: VC: 99.0329% VO:  0.0743% A:  0.0000% Sys:  0.8928% = 100.0000%


mplayer-vanilla -quiet -frames 1000 -benchmark -nosound cathedral-beta2-400extra-crop-avc.mp4

BENCHMARKs: VC:  27.427s VO:   4.061s A:   0.000s Sys:   0.230s =   31.719s
BENCHMARK%: VC: 86.4693% VO: 12.8047% A:  0.0000% Sys:  0.7260% = 100.0000%

BENCHMARKs: VC:  27.555s VO:   4.080s A:   0.000s Sys:   0.234s =   31.870s
BENCHMARK%: VC: 86.4616% VO: 12.8036% A:  0.0000% Sys:  0.7349% = 100.0000%

BENCHMARKs: VC:  27.581s VO:   4.032s A:   0.000s Sys:   0.233s =   31.846s
BENCHMARK%: VC: 86.6070% VO: 12.6622% A:  0.0000% Sys:  0.7308% = 100.0000%



mplayer-vanilla -quiet -frames 1000 -benchmark -nosound -vo null Aladin.mpg

BENCHMARKs: VC:  12.203s VO:   0.022s A:   0.000s Sys:   0.292s =   12.517s
BENCHMARK%: VC: 97.4926% VO:  0.1719% A:  0.0000% Sys:  2.3355% = 100.0000%

BENCHMARKs: VC:  12.256s VO:   0.020s A:   0.000s Sys:   0.293s =   12.569s
BENCHMARK%: VC: 97.5104% VO:  0.1602% A:  0.0000% Sys:  2.3295% = 100.0000%

BENCHMARKs: VC:  12.305s VO:   0.021s A:   0.000s Sys:   0.290s =   12.616s
BENCHMARK%: VC: 97.5286% VO:  0.1693% A:  0.0000% Sys:  2.3022% = 100.0000%


mplayer-vanilla -quiet -frames 1000 -benchmark -nosound Aladin.mpg

BENCHMARKs: VC:  12.232s VO:   1.562s A:   0.000s Sys:   0.305s =   14.099s
BENCHMARK%: VC: 86.7575% VO: 11.0805% A:  0.0000% Sys:  2.1620% = 100.0000%

BENCHMARKs: VC:  12.086s VO:   1.585s A:   0.000s Sys:   0.300s =   13.971s
BENCHMARK%: VC: 86.5054% VO: 11.3472% A:  0.0000% Sys:  2.1474% = 100.0000%

BENCHMARKs: VC:  12.240s VO:   1.603s A:   0.000s Sys:   0.294s =   14.136s
BENCHMARK%: VC: 86.5840% VO: 11.3363% A:  0.0000% Sys:  2.0797% = 100.0000%



More information about the ffmpeg-devel mailing list