[x264-devel] Re: Another CPU related question

Jelle jelle-x264-devel at foks.8m.com
Fri May 19 20:24:45 CEST 2006


Loren Merritt wrote:
> 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%.

Still a lot better than what I get... If it's not Xvmc, I'd like to know 
what it is. Am I doing something wrong?

The server for the mplayer CVS is down, so I tried the latest release 
mplayer (1.07pre7try2, compile with plain './configure').

I reran the 480x576 2.5Mbit video, and it got to 11.6% on the 3200+. I 
also ran it on a Turion (2.2GHz/1MB cache), and it needed 5.4% there 
(4.9% in x86_64 mode (pure64)), a 2.8GHz/512KB cache Xeon needed 5.6%.

At 480x576, that is quite a lot less macroblocks than a full DVD, but 
still it needs significantly more CPU than your benchmark. The 
difference is much more than you would expect from the CPU speed difference.

Am I doing something wrong? Or is the CVS version of mplayer that much 
faster than the latest release?

(A 4.5Mbit/s 720x480 stream on the P4/3Ghz/1M cache still needed 11.3% 
with mplayer 1.07pre7try2).


Jelle.

> 
> 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