Log in

View Full Version : Video decoder for a slow computer


vlada
15th May 2006, 17:03
Hello,
I have problems with playing video an older computer I have. It is P3 566 MHz (128 MB RAM, Win2k). The only format I can play is MPEG-1 (VCD). But I remember playing it even on a 100 MHz Pentium I. DVD and MPEG-4 videos are very choppy and players use all CPU. I tried TCPMP, VLC and FFDshow with almost the same results.

The videos play badly from HDD and DVD-ROM. UDMA is enabled for both. Video uses DirectX (DX9 is installed) overlay, so here shouldn't be the problem neither.

It is very strange because I can play a DVD on my another computer - Celeron 400 MHz in VLC. Also I don't remember having any problems with Duron 600 MHz I had some years ago. It even played MPEG-4 in PAL (720x576) resolution.

Do you have any idea what could be the problem? Why is the CPU overloaded by video playback? Thank you.

foxyshadis
16th May 2006, 03:22
If tcpmp and vlc can't handle it, nothing else can. Which is weird, because a P3M is pretty decent, especially compared to a celeron. Is it locked to a low clock speed? Speedstep might be disabled in the bios or windows. (power profile should be set to portable/laptop, not max battery, which locks it to the lowest multiplier.)

Otherwise you might need to reinstall your video and chipset drivers.

Axed
16th May 2006, 05:39
A complete windows reinstall might be what the doctor ordered for this

setarip_old
16th May 2006, 18:44
@vlada

Hi!

Try changing to a lower desktop resolution (e.g. 800x600 or 640x480) and if necessary, reducing the number of colors displayed...

AVIL
16th May 2006, 19:25
Hi,

To render mpeg4 I use BSPLAYER standard. Pretty fast, but the last versions are adware. Try version 1.37 (build 826). I think is the last truly freeware.

Mode of outputting video matters. If you works on WRM9, almost the job is made by soft. Then image is choppy. Try bsplayer overlay modes. In generall try all the rendererers the software offers. I think also that with bsplayer a P3 must render flawessly divx videos (with ffdshow installed of course).

To render DVD you can try PowerDVD whith hardware acceleration checked. I use version 4, old but powerful.

Good luck

neoufo51
17th May 2006, 03:46
I can't believe nobody has told this fellow to go buy more ram.

mike_lee
17th May 2006, 08:50
I can't believe nobody has told this fellow to go buy more ram.

That's because we know he has no money. As a matter of fact I took a ram chip to Best-Buy today because I wanted more ram (which they didn't have) Somehow the chip I was carrying around got fubard. I cleaned it with freon and looked at it with a magnifying glass - but to no effect - I was careful with the thing so I wonder what happened? I'm running FireFox, 516 ram gets you about 20 minutes of FireFox time

kopavel
17th May 2006, 11:50
try to use MPlayer:

console: http://ffdshow.faireal.net/mirror/mplayer
With GUI: http://oss.netfarm.it/mplayer-win32.php
or GUI for console version: http://mpui.sourceforge.net

his don't need any codecs and mostly use overlay correctly.
For me - sometimes work in totali distroed videosistem in windows/directx.

vlada
7th June 2006, 09:27
Thanks for all your suggestions. Just to clear some facts: I was setting up the computer for my friend, it§s not my computer. I put on it a clear (new) install of Win2k nad bought more RAM (used to have 64MB, now 128MB). I tried almost everything - VLC, TCPMP, MPlayer, FFDShow, XviD - nothing play smoothly. I checked, if overlay is used and it is. All HW drivers work and are installed correctly, DMA is enabled, so it is really very strange. I'm quite sure that buying more memory won't fix the problem. If the player uses 100% CPU, it has nothing to do with memory.

I'll try to put a second system on the computer - Win98SE and I'll see what will change.

kopavel
9th June 2006, 11:28
try to switch to another overlay type - may be you have old videocard with REALY slow yv12 overlay - try to use in mplayer (console) " -vf yuy2" parameters
try to use " -cache 2000" parameter to use cached input from hdd, may be it's help
try to check mplayer output in console - there you may see CPU usage in part
for examle"
A: 2.8 V: 2.8 A-V: 0.005 ct: -0.005 67/ 67 3% 0% 0.4% 0 0
a: - position in audio stream
v: - position in video stream
a-v: desync between audo/video
ct: - how mutch correction is aplyed to correct a-v desync
67/67 - how much frames played
(now important for you):
3% - cpu usage to decode video
0% - cpu usage for output to video device (overlay)
0.4% - cpu to decode audio
0 0 - dont remember exactly - not important for you...

Konstantin
15th June 2006, 15:32
You can try Elecard DVD Player or Elecard MPEG Player whith hardware acceleration checked.
(www.elecard.com)

xyloy
15th June 2006, 15:45
Thanks for all your suggestions. Just to clear some facts: I was setting up the computer for my friend, it§s not my computer. I put on it a clear (new) install of Win2k nad bought more RAM (used to have 64MB, now 128MB). I tried almost everything - VLC, TCPMP, MPlayer, FFDShow, XviD - nothing play smoothly. I checked, if overlay is used and it is. All HW drivers work and are installed correctly, DMA is enabled, so it is really very strange. I'm quite sure that buying more memory won't fix the problem. If the player uses 100% CPU, it has nothing to do with memory.

I'll try to put a second system on the computer - Win98SE and I'll see what will change.
Make me think there is a problem with the graphic card...
Or the Motherboard drivers: My PC motherboard is nvidia nForce2 chipset-based, and needs nVidia's nForce 2 chipset drivers for WinXP, otherwise the whole system is always frozen by a 100% CPU usage(same with ATI Radeon drivers newer than the 5.10 version, but this time the 100% CPU usage only occurs when decoding video)


Appart from that, 128 MB of RAM with win2000 is not enough. The system surely swaps a lot of virtual memory all the time.

Tought swapping gives a hard time to the HDD and the memory, and while the HDD is burning MBs of swap file, the whole system lacks a lot of stability & speed(I experienced it. Using Win2K/XP with 256 MB of RAM is a real big pain in the a**).

But the CPU usage caused by swapping is most of the time near zero.

Hope all my bable will help you somehow. ;)

Awatef
19th June 2006, 14:45
As some suggested, I suppose your graphics card is no good.
Even Pentium-II processors are able to play DVDs if the graphics card supports all hardware acceleration options (which are iDCT and Motion Compensation).
Check this site to see if your hardware is supported:
http://www.cyberlink.com/english/products/powerdvd/7/hardware_comp_list.jsp

As for MPEG-4 content, well, let me tell you something: back in the days when I had a Pentium-III @ 667MHz, it was barely possible to play 640x480 videos, even if they had no B-frames.
As MPEG-4 files nowadays make use of a lot of advanced encoding options, I don't think you'll be able to get anything acceptable from a 500MHz class processor :(

kopavel
19th June 2006, 15:36
Awatef: with p3-700 i can play not only all mpeg4-asp with ~10% cpu but some mpeg4-ACP, so p3-500 must play all divx or xvid
(except mindles variation as 2048x1024 and ect. ;] )

Awatef
19th June 2006, 15:53
@ kopavel
Impressive! How could you achieve this?
I'm on a Celeron-M @ 1.3GHz right now (which is roughly equivalent to a P4@2GHz), and your average 640x480 XviD videos drive the CPU load to about 30-40% if postprocessing is disabled.
I'm using ZoomPlayer with the standard DivX and MP3 decoders.

NB: Using ffdshow and setting the postprocessing method to "mplayer" lowers the CPU load considerably but lowers the image quality as well (flickering).

kopavel
20th June 2006, 11:48
Awatef: 30% for 1.3Ghz is quite a lot... :-/
in some bad AVI/DIVX/XVID i have 20-30% too, but its not normal.
may be problem is in ... Celeron?? ;]]]
I never love this chip - for example c-633 is aproximatly two(!!) times slower of p3-733 (in some tests).
and yes - in this c633 some avi go in near 100% cpu :D
--------
for example now make a test on my job system - ice age 2 screener, 720x384 (1078kbit) video, 128 kbit mp3 audio - ~20% cpu, p3-700, ati rage128 (8 mb). m/b - asus cubx (440bx)
not new hardware, isn't it? but only 20%
software: MPlayer dev-SVN-r18717-4.0.3 (last available build for P3 from http://ffdshow.faireal.net/mirror/mplayer)

Awatef
20th June 2006, 12:37
Hmm... so your secret lies within mplayer huh?
Could you post the command line you're using please? And doesn't it affect the image quality? no flickering?
For instance, the only player that consumes about 20-30% on my system would be the old Windows Media Player (Version 6.4) but I do prefer ZoomPlayer because it's universal...

By the way, my CPU shouldn't be the problem here. I have Celeron-M (identical to Pentium-M but 1MB cache instead of 2), not Celeron. As said, although it has only 1,3Ghz, it is at least as fast as a 2GHz P4. And I have plenty of RAM too (768MB DDR333). For instance, CPU load averages on 50% for 704x480 H.264 videos with AC3 5.1 sound & softsubs, so the power is there.

foxyshadis
21st June 2006, 01:16
If it's a 350 it's not a half-bad processor, aside from lack of speedstep. Perhaps you're using VMR7/9 whereas he's using overlay or VMR7 windowed (which is overlay with benefits). Makes a huge difference, along with the various DShow filters' processing and copying.

mpeg-4 decoders have advanced quite a bit as well in the last 5 years, and mplayer is always more efficient than a directshow implementation. but kopavel, one question, are you measuring while playing at full screen?

kopavel
21st June 2006, 13:59
foxyshadis: no diffirence between FS or windowed.
I sink overlay not play much in here (cpu for overlay ->0%)
Awatef:command string is simple mplayer.exe filename.avi ;)
it's mean - default, no others keys
one things - you wrote H264 - it's AVC, i mean xvid - its a big difference...
on p3-700 AVC ofcouce play only in not some big resolution or if not used all and havy compression metods/things
but using some keys (loosing some quality) can play many of them...

Awatef
21st June 2006, 16:23
OK Kopavel, here are the (very strange) results.
I downloaded the latest P4 build, and now mplayer recognizes the SSE & SSE2 instructions, which the original build didn't detect. That's a good sign.
Well, I played my usual 640x480 XviD files (encoded with BVOP enabled), those averaged on 25% (used ThrottleWatch to calculate the average).
I thought... hmm... far from the advertised 10%...
Now the surprise! I put an old DivX3 file with a resolution of 544x288 and guess what? I got 4% average only!!
The same file decoded in ZoomPlayer with the DivX 6.25 decoder gives 19% average.
What surprised me more is, when playing with mplayer, CPU load stays most of the time on 2% with jumps to 10 or 11% from time to time.
I don't understand how video decoding can consume only 2% CPU power, this is too good to be true!!
Any logical explanations?!

[EDIT]
Could you please download this file:
http://rapidshare.de/files/23699747/Xvid_640x480.avi.html (only 6MB)
And tell me what CPU load average you get?
If you get less than 25%, then there is something I'm not aware of that is hindering the system.
Actually, you should get more than 50%... -.-"

danpos
21st June 2006, 19:44
@Awatef

I've tried your avi sample out with three players:

- MPC (Gabest's own build): 66% CPU usage / 19 MB of RAM usage;
- WMP10 (SP2): 70% CPU usage / 24 MB of RAM usage;
- MPlayer for Windows: 5% CPU usage / 15 MB of RAM usage;

I've a Athlon XP 2600+ 'Barton' with 768 MB of RAM, Geforce2 MX 400 with 64 MB graphical card / HDD Maxtor PATA 80 GB operating on UDMA mode 6.

MPlayer for Windows that I've used is from here: http://forum.doom9.org/showthread.php?t=112365

JFYI. :)

See ya,

Awatef
21st June 2006, 22:20
Thanks for your input, danpos.
It opened my eyes!
I think, there is something wrong with the way the CPU load is calculated.
For instance, I have 2 other machines lying around, one w/ Celeron D @ 2,4GHz & one w/ P4HT @ 3GHz.
Guess what? only 1% CPU load on the P4 system with the original mplayer build (!)
But always about 25% load for both Celerons, no matter which build I use, be it the P4 build, the Pentium-M build or the P3 build.

There is no way such a CPU intensive routine like MPEG-4 decoding would be done with just 1% load!
I'm pretty sure that this is a bug in mplayer that would make the load counter collect wrong values under certain environments...

kopavel
24th June 2006, 23:50
Awatef :
for beginig - i'm not good writer in english but beliwe you can understand me. so...
at home (Athlon XP +3400, Barthon on 2400) i have ~7% with your clip, same show system task manager and sysinternal's process explorer - its not the bag of mplayer - trust me ;)
about 1% of cpu usage?? lets calculate - we can to play old divx at mmx only p-233 - so why at sse/sse2 compatible CPU with 10 times faster main mamory and 10 time biger and X times faster CPU cache and ofcourse 10 times biger CPU frequnci we must have only 3 times faster playing? (if you have ~30% cpu) if we have not smaler then 10 times fastnet in ALL parameters? (don't count at all SSE benefits) we must have not greater then 10% of cpu usage.
no - old(!) DIVX play exactly in 1-5% CPU in modern CPU - it is true ;)
i can see it not only in task manager but at my CPU temperature - it the same as in idle...
So on my home CPU i have not biger then 15% in usual modern xvid/divx, ofcourse we can find some not truely corect file with near 100% cpu - but it's not "usual" file...
And OFCOURSE all i write is IMHO ;)
P.S. - for experement - i just play your clip in Mplayer Clasic with FFDShow - you may dont belive me - ~10% :D
In screenshot we can see cpu usage, overlay not seen ofcource and cpu usage after clips end is 0, but we can see the graph - peak et beginin is ~30%, then all the time <10%
P.P.S - for more experement - your clip on just installed in VmWare (it's a system emulator) FedoraCore5 in just compiled Mplayer i have about 50% total virtual(!!) CPU usage and about 20% of virtual cpu usage in system monitor for mplayer, ~25% take Xorg - not yet so powerfull in linux to understend what is it ;)
P.P.P.S VMware, ASPlinux 11(kernel 2.6.14), player: Totem - 25% virtual CPU total usage
p.p.p.p.s in office on p3-700 with mplayer - begining with short peak at 60%, then 20% and slowly down to 7-10% et end. CPU usage watched in process explorer, not in mplayer but values a nearly the same.