Too much CPU usage/lagging for 1080p h264 mkv files

DangerIsGo

2[H]4U
Joined
Apr 16, 2005
Messages
3,000
So I have some h264 mkv 1080p files that I'd like to play on my new Asus 780G mobo, the M3A78-EMH HDMI. Pairing this with a AMD Athlon 64 LE-1600 2.2GHz AM2 45W CPU and 2 GB G.Skill DDR2 1066 (running at DDR2-800), video playback in VLC is maxing out my CPU, to the point where VLC will freeze when I start the file. Other times, it will play about 2-3 seconds of it, then just hang. This is with the latest version of VLC. Next I tried using FFDShow to decode the video and DTS passthrough to my receiver (for home theater) option in FFDShow for the audio. Again, The video is playable, but choppy and laggy where the event would happen in audio and a few seconds later, you would see it. Next, I disabled h264 decoding in FFDShow and chose CoreAVC to decode the video. Pretty much the same thing that happened when FFDShow was doing the video decoding (audio is still passthrough to receiver). A little less laggy, but my CPU is still completely maxed with either FFDShow or CoreAVC. The audio is fine, wonderful in fact. Crisp and clean just the way it should be. Im using the HDMI (with audio) from the board to the receiver. I know my CPU should not be maxed at all while doing this playback. Yet it is. Anyone know what I am doing wrong? Why would my CPU be maxed? Any things I can try? Thanks.
 
I guess VLC and FFDShow just don't use UVD? I know that PowerDVD does when playing blu-rays though.
 
You are using one of the weakest modern processors possible and software only decoding for 1080p. FFDShow and CoreAVC do NOT use GPU Acceleration and is fully CPU dependent. Recent versions of both are multi-threaded so if you want to stick with those decoders, you need a more powerful CPU. A ~2.5ghz dual-core AM2 solution should work as would any decent C2D.

All the reviews you've been reading about the 780G, HD3450, etc are using programs that use GPU decoding (UVD or Purevideo) and require very little CPU utilization. Not the case with playing back h,264 encoded FILES using SOFTWARE DECODERS.
 
Try Media Player Classic using Cyberlink's H264 decoder as your primary decoder. It will use the 780G chipset to offset the CPU for hardware decoding.

And yeah.. that processor is not quick enough to expect much of any x264/h264 1080p decoding without any GPU help. I recommend a halfway decent dual core at the minimum, such as a 5000+ to be on the safe side.
 
I tried that and when i opened the file (after selecting VMR9, cyberlinks h264 decoder, (or coreavc's decoder), it just says opening file...the HDD light stays lit, and i hear the HDD churning, but it never opens. CPU utilization stays low, so I dont know whats going on. Why its not opening. Same thing happens with windows media player.
 
I tried that and when i opened the file (after selecting VMR9, cyberlinks h264 decoder, (or coreavc's decoder), it just says opening file...the HDD light stays lit, and i hear the HDD churning, but it never opens. CPU utilization stays low, so I dont know whats going on. Why its not opening. Same thing happens with windows media player.

You can manually force MPC to use the Cyberlink h.264 codec by setting h.264 to disabled in the FFDshow configuration and setting up external filters in MPC to use Cyberlink as Preferred. You can also make MPC block FFDShow and Core if you are still having problems with FFD or Core popping up when you play the file.

This method works on my setup, but I actually prefer the playback quality of FFD compared to Cyberlink with GPU acceleration although you would think that using your GPU would be a good thing. The main difference in playback quality I notice with FFDshow is that it appears smoother than with Cyberlink and the Edge Enhancement/Noise Reduction that you can use with the Purevideo control panel effects the image quality more favorably with FFD than Cyberlink.

Even if you use a pure software decoder like Core or FFD you can still use the post-processing abilities of your GPU so it's not completely wasted (pull-down, de-interlace, edge/noise, contrast, gamma, etc). If upgrading your processor to a low-cost dual-core simply is not an option, then try the method I listed above to force Cyberlink, but I think you're limiting yourself. (You can tell I'm not really a fan of Cyberlink :), if you search other home theatre forums there are threads on how to do the opposite and not let Cyberlink decode anything, since many enthusiasts in this area don't like the result).

http://www.newegg.com/Product/Product.aspx?Item=N82E16819103732

That's only $40 shipped and should clock to 2.5ghz with only a slight volt bump and nearly double your decoding ability. Another option is to see how high you can push your single core but with prices this low, I think it's worth the upgrade.
 
So heres what I did next:

I found media player classic hometheater, and used the powerdvd h264 codec (with DXVA checked of course). Nope. Still max CPU usage. Next Core AVC. Still max cpu usage. Next, blocked all external ones and used the internal one (as people have said that it works good for HD radeon chips. In the settings, I had DXVA checked. Started the movie, went to look at the filters, and what does it say? "Not using DXVA". WTF. NOTHING else is in the way. Its only the FFDShow audio decoder (which is just a passthrough), the MPC codec, and thats it. Everything else is blocked. Why is DXVA disabled? I have Enable media acceleration (or something like that ) checked in CCC -> avivo -> all settings. What am I missing to have no hardware acceleration?
 
How was your AVC file encoded in the first place? If you used the wrong settings whilst encoding it, then it will never playback with DXVA accleration (at least not with the current decoders).

Go to your encoder and check the settings the latest ones have options to try and keep the encoded file DXVA compliant, so that it will always get hardware acceleration and always playback through the GPU.
 
So heres what I did next:

I found media player classic hometheater, and used the powerdvd h264 codec (with DXVA checked of course). Nope. Still max CPU usage. Next Core AVC. Still max cpu usage. Next, blocked all external ones and used the internal one (as people have said that it works good for HD radeon chips. In the settings, I had DXVA checked. Started the movie, went to look at the filters, and what does it say? "Not using DXVA". WTF. NOTHING else is in the way. Its only the FFDShow audio decoder (which is just a passthrough), the MPC codec, and thats it. Everything else is blocked. Why is DXVA disabled? I have Enable media acceleration (or something like that ) checked in CCC -> avivo -> all settings. What am I missing to have no hardware acceleration?

If you still have CoreAVC and FFD installed even if you choose the cyberlink decoder sometimes it still tries to use CoreAVC or FFD. Did you try checking "cyberlink preferred" WITH Core/FFD "BLOCKED" in the external filters? Even when I set cyberlink as preferred, it was still pulling up FFD until I manually blocked FFD in the external filters. Even when I configured the codec section of FFD to disable h.264 encoding, it would STILL pop up until I blocked it, but I can verify that at least on my setup, it is possible to force MPC to use cyberlink codec with GPU acceleration if you set FFD and CoreAVC to BLOCK and cyberlink to PREFERRED. My CPU utilization is under 10% with that setup but I still preferred the quality of FFD instead of Cyberlink.

Lastly, you can try uninstalling all codecs except the Cyberlink and set it as preferred as a last ditch effort. Or... just spend $40 on the link I provided above and have the flexibility to use any decoder you want :)
 
you sure it is h.264 and not x.264? x.264 will not utilize the video chip to offload the show. I had a similar problem when I thought I had a h.264. If you have a .mkv file it is probably a x.264 which is all processor. Coreavc will help if you had a dual core processor but that is about it. Either way good luck.
 
you sure it is h.264 and not x.264?

Erm, what you just said makes absolutely no sense

H264 is a video codec
X264 is a video encoder that produces compliant H264/AVC streams

There completely different things.

x.264 will not utilize the video chip to offload the show. I had a similar problem when I thought I had a h.264. If you have a .mkv file it is probably a x.264 which is all processor

Thats also incorrect, x264 just produces H264 compliant video. If the right encoding options and Levels are used then the file will benefit from DXVA and be decoded via the GPU.

Im not sure. I didn't encode them.

A quick way to see what video decoder is trying to decode the stream is to open the file in windows media player and whilst its running, click file->properties in the window.. It should tell you what video decoder your using
 
x264 encoded videos are not necessarily h264 compliant and cannot always be hardware decoded.
 
They should be H264 compliant.

The only reason that they do not recieve DXVA acceleration is because DXVA only "appears" to support level 4.1 and certain encoding options, which is why the majority of the X264 encodes do not work (they exceeded the Level/BFrames/ etc etc).

There is a bunch of new profiles which should keep encodes, so that they recieve DXVA acceleration, but as the HDDVD/Bluray specs for allowed options are still a secret the profiles are not 100% guaranteed,although in the majority of cases they work correctly.
 
I started a 720p MKV x264 file with MPC-HC, and used the internal h264 decoder, which allows for DXVA. When starting the file, It says Playing, although the time remains at 00:00, and the screen just stays black. When I go into MPC Video Decoder properties, Under DXVA settings I see: "H.264 bitstream decoder, no FGT" rather than "Not Using DXVA" So it looks like its offloading to the graphcs, but again, its not playing. Why is that?
 
Because the file was encoded using a set of options that breaks DXVA acceleration, this can range from a bunch of things like the encoding level being too high or too many B/Ref frames etc etc.

You can either re-encode this file to one that will support DXVA, at the cost of time and a loss of quality, or you will have to drop back to a software solution to be able to play it.
 
I just used MKV2VOB and converted an mkv movie to avi using x264 (slowest). Is that right? What do I do with it now?

Edit: I played it in MPC with Cyberlink PowerDVD H.264 codec, and I dont have like ANY cpu usage, but I don't have the DTS audio that came with the original file. ??
 
Ive never used MKV2VOB so unfortunately i cannot really help you on that one, however the program name indicates it would simply be putting your movie into a VOB file (with MPEG2 video) if this is the case then thats why you have almost 0% cpu usage now as MPEG2 is very very easy to encode.

Not sure why you have lost the DTS audio though, its possible that it cannot be inserted into an avi file and so got encoded to a different audio (not sure on avi containers), however you can demux it from the original MKV file if you need it.

If you do any other decoding then use the latest version of MeGUI and when you encode video, use one of the profiles listed below to give you the best possible chance of getting DXVA acceleration.

DXVA-SD-HQ - DVD quality source with High quality encoding.
DXVA-SD-Fast - DVD quality source with Fast encoding.
DXVA-HD-HQ - High Definition source with High quality encoding
DXVA-HD-Fast - High Defintion source with Fast encoding

For your audio, simply use whatever the source is and DO NOT reencode it.
 
Would a 2.1GHz Brisbane dual core cpu be good enough for 1080p content? Also, lets say itll be OCed to 2.31.

Edit: Nevermind. This was all my dad's PC, the 780G. I just convinced him to pull the plug on a 5000+ black edition CPU
(Dual Core). I think thats more than enough to software decode a 1080p movie, right? :)
 
They should be H264 compliant.

The only reason that they do not recieve DXVA acceleration is because DXVA only "appears" to support level 4.1 and certain encoding options, which is why the majority of the X264 encodes do not work (they exceeded the Level/BFrames/ etc etc).

There is a bunch of new profiles which should keep encodes, so that they recieve DXVA acceleration, but as the HDDVD/Bluray specs for allowed options are still a secret the profiles are not 100% guaranteed,although in the majority of cases they work correctly.

Just to make it clear, even if the profile is correct there were some builds a few months back of x264 that still didn't make compliant streams even when you did things right, and not a lot of people realize it.
 
Erm, what you just said makes absolutely no sense

H264 is a video codec
X264 is a video encoder that produces compliant H264/AVC streams

There completely different things.



Thats also incorrect, x264 just produces H264 compliant video. If the right encoding options and Levels are used then the file will benefit from DXVA and be decoded via the GPU.



A quick way to see what video decoder is trying to decode the stream is to open the file in windows media player and whilst its running, click file->properties in the window.. It should tell you what video decoder your using

Your making things way to complicated... 99% of .mkv files are not h.264 compliant and that was my point you tried to twist to make yourself look smarter...
 
Your making things way to complicated... 99% of .mkv files are not h.264 compliant

too complicated? I was trying to help you distinguish the differences between H264 and x264, your post was just a mess making it out that there where 2 video formats (H264/x264) and then posting garbage like "x264 will not utilize the video chip to offload the show" when x264 is in fact a video encoder and has absolutely nothing to do with playback of the file.

99% of .mkv files are not h.264 compliant

I never ever said they were, however the output from x264 should be H264 compliant (except as pointed out by Ryokurin with some builds). If a file does not recieve DXVA acceleration, this is not a sign that the file is not H264 compliant at all.

you tried to twist to make yourself look smarter..

grow up.
 
Back
Top