PDA

View Full Version : h.264 decoding questions


grimreefer
12-10-07, 11:16 AM
when i try to play a 1080p video file on my pc(pentium d@3.5ghz, 7800gtx), or my laptop (t2300 and 7600go), the video is extremely choppy and messed up, basically unwatchable with vlc player. both those pc's use xp.
my brother's pc (e4300@2.67ghz, 8600gt), and his laptop (t7200, 8400gm) both are able to watch the video well in vlc player. both those pc's use vista. im wondering what is the reason for this(the extra cpu power or the geforce 8 gpu's, or possibly the OS) ? also, im wondering if there is any way to get hardware decoding, or should i just get avc codecs and have everything done with my cpu?

walterman
12-10-07, 11:29 AM
VLC uses software decoding for h264.

Your Pentium D hasn't the computing power needed for h264. The Core2 based machines of your brother have the power (except for ultra high end h264 40mbit streams, i guess).

You could play those 1080p streams in your machine, if you use the hw acceleration of your 7800gtx. Basically you need a program like powerDVD or winDVD, that support the hw acceleration in your gfx card.

The IQ is higher when you use hw decoding too (http://www.nvidia.com/object/pvhd_fb.html). Hw uses better deinterlacing methods, deblocking, noise filtering, color correction, edge enhancement, high quality scaling, ... means that your streams could look better with hw decoding, if you can make it work.

Also, if you're dealing with mkv container, forget about hw acceleration. Commercial players that use hw decoding doesn't support mkv. There're tricks like building custom graphs or using the video filters that these programs install from other programs like zoomplayer, mpc, bsplayer, ...

mythy
12-10-07, 11:30 AM
whats your cpu usage when playing?

for comparison I got 3% cpu usage when playing back a 1080p rip with media player classic :D

grimreefer
12-10-07, 04:12 PM
well, im at 50%, but 1 core is at 100% (decoding isnt multithreaded i guess lol), im using media player classic and coreavc(and the video is actually playing normally now). the file is indeed an mkv.
what about converting it to xvid with mencoder? i was thinking possibly xvid with a bit rate of 6500. i think i would definately lose alot of audio quality, but would i end up gaining back some iq somehow?

Riptide
12-10-07, 04:16 PM
CoreAVC is the best software codec to use. My FX60 can play even the higher quality 1080p h.264 content smoothly with it.

jeffmd
12-10-07, 05:42 PM
CoreAVC is also unstable..it bluescreens my XP.

back to the OP question, youll need one of the mid range intel DUO processors or better for hope in decoding 1080p.

Riptide
12-10-07, 05:51 PM
Never had a bluescreen from CoreAVC. Is it just your system or are others having serious issues?

dxx
12-10-07, 06:33 PM
The biggest cause for the difference between your system and your bro's is his video card. Your 7900, while it's probably faster at games, is lousy for video because it can't decode in hardware. The 8600, and I believe the 8400 as well, can decode in hardware, so CPU consumption with HD videos and those cards is very low.

Your Pentium D not being able to decode fast enough to keep up is normal. My P4 at 2.7GHz / GeForce 5200 system can cope with most 720p video, but 1080 is unwatchable. A mate of mine with a 3GHz P4 reports the same.

There are things that can be done, though. Try installing the CCCP pack and watching using the bundled Media Center Classic. The default options pretty much nail it in terms of optimisation (believe me, I've spent far too much time testing various configs), but disable subtitles as well, to claw back a little more CPU time. If you're lucky, you'll be able to get 1080 video running smoothly. If not, you'll at least have 720 running without risk of a hitch.

Riptide
12-10-07, 06:54 PM
CCCP comes with ffdshow which uses software decoding for h.264. That in and of itself isn't a huge problem - except that included decoding in ffdshow doesn't utilize multiple cores.

If the OP has a single core or hyperthreaded chip it probably won't matter much. But other users w/multiple cores would benefit from CoreAVC or another codec that properly utilizes the extra processing capacity.

Trust me, the best software solution is to just install CoreAVC and media player classic. Set them up and give it a try. Even if you have a single core chip. If that doesn't do the trick then you'll have to upgrade. At least for h.264 functionality.

Also, get a cracked version of CoreAVC first to try it out. If it fixes your issues then pay the $15 to purchase it. Normally I wouldn't recommend that but I bought it about six months ago and had a huge issue getting it activated. Their support was total crap. I ended up cracking it after paying for it. :rolleyes:

-=DVS=-
12-10-07, 07:15 PM
One interesting thing i noticed in XP vs Vista with Aero on and Aero off ,playing with XP and Vista with Aero off i get tearing in some clips/movies with all kinds of formats but when playing under Vista with Aero on silky smooth no tearing , also under XP and vista without aero while playing long list's 50 to 100 music video clips with different formats , player tends to randomly crash no problem under Vista + Aero on.

jeffmd
12-10-07, 09:01 PM
riptide.. cccp does use my dual core cpu in my laptop. I think it decodes video in one and audio on the other.

I use ffdshow for 720p h264 movies, but if i need to squeek out every bit of juice, i'll load up vnc. however my dual core cant do 1080p so I avoid it and get 720p versions of shows and movies. I also find no noticable difference in video quality between the two. 1080p movies usualy just contain more noise that is removed when you scale it down to 720p.

PowerK
12-10-07, 10:57 PM
VLC uses software decoding for h264.

Your Pentium D hasn't the computing power needed for h264. The Core2 based machines of your brother have the power (except for ultra high end h264 40mbit streams, i guess).

You could play those 1080p streams in your machine, if you use the hw acceleration of your 7800gtx. Basically you need a program like powerDVD or winDVD, that support the hw acceleration in your gfx card.

The IQ is higher when you use hw decoding too (http://www.nvidia.com/object/pvhd_fb.html). Hw uses better deinterlacing methods, deblocking, noise filtering, color correction, edge enhancement, high quality scaling, ... means that your streams could look better with hw decoding, if you can make it work.
Isn't 8800GT (and most likely new 8800GTS) the only graphic card (from nVidia at least) capable of H.264 hardware acceleration ??
If I'm not mistaken, old 8800GTS (320/640), 8800GTX as well as 8800Ultra don't have H.264 hardware acceleration capability.

Riptide
12-10-07, 10:58 PM
I know the GTX doesn't do any hardware assist for h.264.

walterman
12-11-07, 07:20 AM
Isn't 8800GT (and most likely new 8800GTS) the only graphic card (from nVidia at least) capable of H.264 hardware acceleration ??
If I'm not mistaken, old 8800GTS (320/640), 8800GTX as well as 8800Ultra don't have H.264 hardware acceleration capability.

I know the GTX doesn't do any hardware assist for h.264.

Even my old 7900GTX had h264 hw decoding. The 8800GTX has the same PureVideo engine (Nvidia VP1). In the 8500/8600, nVidia introduced the Nvidia VP2.

There're 4 stages to decode h264/vc1 video: Bitstream Processing/Entropy Descode, Frequency Transform, Pxel Predition y Deblocking. The VP1 only does the last 2 by hardware. The VP2 does all the stages on hw (except the 1st stage for VC1, which is implemented in hw on the VP3: 8800GT).

With my old 7900GTX & with my 8800GTX, i've a 15-30% cpu usage while watching a 40mbit H264 1080p bluray stream. A friend with a 8500GT has a 5% cpu usage with the same stream.

To enable the h264 hw decoding, you need to install the proper forceware drivers, and a program like PowerDVD/WinDVD (that uses the purevideo interface from the driver). The difference in IQ is outstanding.

With software decoding, basically you're using all your cpu computing power to decode the frames of the movie, with little or no post processing to enhance the quality. With hw decoding, the purevideo engine in the gpu, decodes the frames of the movie & does the post processing, and moreover, the gpu still can use shaders to apply more post processing algorithms.

Personally, i can say that h264 hw decoding is a great feature to capture h264 streams from a dvb source, with preview & little cpu usage to avoid frame drop in the capture. :)