[x264-devel] Re: Another CPU related question

Loren Merritt lorenm at u.washington.edu
Thu May 11 09:11:57 CEST 2006


On Fri, 5 May 2006, Jelle wrote:
> Loren Merritt wrote:
>> 
>> No, I don't know whether my videocard supports xvmc, but I certainly 
>> haven't enabled it in ffmpeg. This is cpu-time as measured by
>> `time mplayer -benchmark -vo null -nosound -vc ffmpeg2`.
>
> Ok, I'll run that too then.
>
> Two different machines. I know for sure that neither machines have videocards 
> that support Xvmc.
>
> Athlon64 3200+ (2GHz/512kb cache)
> MPEG2 video 480x576 at 25fps, 2.5Mbit/s (much less than DVD), 4688 seconds long.
> 100 * 12*60+20/4688 =~ 16% CPU.
>
> P4/3GHz/1M cache
> MPEG2 video 720x480 at 29.97fps, 4.5Mbit/s, 1886 seconds long
> 100 * 4*60+12/1886 =~ 13% CPU.
>
> I don't know where you got 2%, but I can't reproduce anything even close to 
> it.
>
> 2% of a 2.2GHz CPU, or 44MHz, for DVD video? How can I get that?

Ok, so it wasn't quite 2%.

Athlon64 3400+ (2.2GHz/1024kb cache)
MPlayer dev-CVS-060508-14:21-4.0.4

MPEG2 video 720x480x23.976fps, 4.1 Mbit/s, 5598 seconds
BENCHMARKs: VC: 184.573s VO:  0.124s A:  0.000s Sys:  5.560s = 190.297s
BENCHMARK%: VC: 96.9921% VO: 0.0652% A: 0.0000% Sys: 2.9227% = 100.0000%
real    191.395s
user    185.882s
sys     3.446s

100% * 191.395 / 5598 = 3.4% CPU

MPEG2 video 720x480x23.976fps, 8.4 Mbit/s, 3750 seconds
BENCHMARKs: VC: 232.713s VO:  0.086s A:  0.000s Sys: 10.425s = 243.224s
BENCHMARK%: VC: 95.6782% VO: 0.0354% A: 0.0000% Sys: 4.2863% = 100.0000%
real    244.856s
user    233.706s
sys     5.401s

100% * 244.856 / 3750 = 6.5% CPU

> mpeg2 decoding takes about the same amount of operations per frame as JPEG 
> (mjpeg) encoding. If your 2% number is really valid, you should be able to 
> transcode mpeg2 to mjpeg 25 times faster than real-time (ramdisk to ramdisk 
> if necessary).

Transcoding mpeg2->mjpeg is only 6x realtime here (using the 3.4% dvd).
mjpeg takes more time for bitstream packing because it's higher bitrate, 
and more time for dct/quant because when encoding you need to process all 
pixels/coefs, whereas when decoding you skip the null coefs and null 
blocks. And yes, those factors combined cost more than a little motion 
compensation does.

--Loren Merritt

-- 
This is the x264-devel mailing-list
To unsubscribe, go to: http://developers.videolan.org/lists.html



More information about the x264-devel mailing list