AVS Forum banner

1 - 20 of 89 Posts

·
Registered
Joined
·
423 Posts
Discussion Starter · #1 ·
Ok... I fought with this issue for a long time... I asked questions several times and didn't get answers... and couldn't find what I was looking for in search, so I just had to figure it out myself.


Let me begin by saying my understanding of DXVA is very low, but I know the latest motherboards with integrated graphics (G45, 9300/9400, etc) are supposed to fully accelerate video in the hardware, leaving the CPU with very little load.


My MKV test files are a dozen or so BluRay rips that I've used EAC3TO to grab only the video, HD audio (re-encoded to FLAC), and then remux into an MKV (No Compression). Also, more than a few x264 HD Video files from TV episodes I've missed and subsequently downloaded. I wanted to be able to play all this from inside the Vista Media Center GUI and get full DXVA. Also, I only wanted to have to use a remote control, and not break out a keyboard/mouse every time I wanted to watch these videos.


Initially while I was able to get all my MKV's to play back from inside VMC, the CPU load (on an E7300) was 50%+ which clearly wasn't using DXVA. I found I could play the MKV's in Arcsoft TMT and get single digit CPU %'s, but I couldn't get the MKV's to load into TMT from inside VMC (without using a keyboard).


I'd done most of my troubleshooting with an Intel G45 motherboard, but am now using a Gigabyte 9400 and am much happier (although I think this would still work on the G45).


I'll lay out these steps assuming you have a fresh Vista install... if you've been mucking around for a while, you likely have lots of extra codecs installed which generally makes things very difficult.


First, to have MKV's show up inside Vista Media Center (VMC) you need to set VMC as the default program. You do this simply by right clicking on an MKV from an explorer window and say "Open with"... select Media Center, and make sure the check box is selected for always use. Now MKV's will show up in your 'videos' section (assuming you're monitoring a folder with MKV's in it). If you go and try to load one though you'll get a file cannot be played error.


To play MKV files you need a splitter... I use and recommend Haali Media Splitter. This will open the MKV containers and attempt to pass the video and audio components to their respective decoders. Installing Haali may change your file associations, so you might need to check to see that MKV's are still associated with VMC.


Since all my bluray MKV's are encoded into lossless FLAC you also need a codec for FLAC. I've used other FLAC codec's in the past, but this time I went with MadFlac... it's simple and easy. install MadFlac.


Next buy and install Arcsoft TMT. The entire point of this is to get direct show filters (codecs) that support DXVA... Plus TMT is a pretty sweet bluray player for when you want to play stuff off an actual disk.


Next download and install Radlight Filter Manager. This is a tool which lets you see all your installed codec's and tinker with them. It's important to always launch Radlight as administrator (right click and select run as admin) or you won't be able to do some things. Once Radlight is open, expand the "directshow filters" category and look for "Arcsoft Video Decoder". If you double click on it it'll expand and give you some details, what you want to do is click the "properties" button in radlight. If you're like me, you'll get an error saying a .DLL file is missing. This is the source of the problem. Open up the Arcsoft TMT installation directory and locate the .DLL that appeared in the error message. Copy that .DLL into the /Windows/System32 folder. Once the .DLL is copied, go back and hit the Properties button again. You'll get the same error but with a different .DLL mentioned. Repeat this process (about a half dozen times) until you no longer get an error and the properties window opens correctly. Now the Arcsoft Codec's should be accessable to any directshow player (such as VMC).


You also need to change the priority of the Arcsoft codec's. Again using Radlight in admin mode, double click on the Arcsoft Video Decoder and notice the listed priority. You'll want to increase that priority so it'll become the default decoder. You do that by clicking on the priority dropdown list and selecting "preferred" or "preferred +1". Then click "update priority". You'll see the priority number change in the details. If you're not running in Admin mode, you'll get an error when you try to do this. Scroll up and change the priority for "Arcsoft HD Audio Decoder" also. This step is probably not really necessary, since MKV's can't hold the HD audio tracks directly anyway, but I figured why not?


Now if you take an MKV and drag it into GraphEdit, you should see the splitter sending the video to Arcsoft Video Decoder and then on to the renderer, and the audio to MadFlac and then on to the playback device.


Load up VMC, go to your videos section and select an MKV. If all has gone according to plan you should get beautiful 1080p playback, with very low CPU usage, and lossless multichannel LPCM being sent over HDMI to your receiver.


I also highly recommend installing "My Movies" since you can then use My Movies to get all the info and cover art for your BluRay's, point it at the MKV file and it should load right up and play smoothly. Works for me!


I wrote all this up while I'm away from my HTPC so I may have missed a piece or two, but if you have any questions feel free to ask and I'll try my best.


Good Luck! I'm finally happy with my HTPC again... full support and playback for ripped DVD's and BluRay discs with Hardware Acceleration all using my Harmony remote and VMC!
 

·
Registered
Joined
·
138 Posts
if you download the trial of TMT and then it expires, does the codec you set up still work? (while the program presumably wont)
 

·
Registered
Joined
·
423 Posts
Discussion Starter · #4 ·

Quote:
Originally Posted by artisanoo /forum/post/15304370


if you download the trial of TMT and then it expires, does the codec you set up still work? (while the program presumably wont)

I think I read elsewhere that the Codec's check for a valid key beyond 30 days, but I don't know for sure since I'm using a fully purchased version.
 

·
Registered
Joined
·
2,806 Posts
A good guide for easily playing MKVs in MC, or any app that uses directshow..


I would mention though that the bit about having "extra codecs" installed is overblown and might lead people to do a fresh install unnecessarily. Your procedure (correctly) to use graphedit/radlight to set priorities takes care of that problem.


Otherwise, nice work.
 

·
Registered
Joined
·
522 Posts
very interesting since i've been looking for a way to completely get rid of powerdvd.
 

·
Registered
Joined
·
423 Posts
Discussion Starter · #8 ·
I'll be very interested of other people are also able to get DXVA working with MKV's using this method. Anybody know if you could use the PowerDVD or WinDVD codec's to do the same thing?
 

·
Registered
Joined
·
2,039 Posts
I assume this won't work for Vista x64 as there is no 64-bit FLAC decoder available. Not sure if Haali is available 64-bit either.


The price we pay for being on the bleeding edge 6 years after 64-bit processors appeared.



At least TMT plays MKVs properly.
 

·
Registered
Joined
·
423 Posts
Discussion Starter · #10 ·

Quote:
Originally Posted by lifespeed /forum/post/15307227


I assume this won't work for Vista x64 as there is no 64-bit FLAC decoder available. Not sure if Haali is available 64-bit either.


The price we pay for being on the bleeding edge 6 years after 64-bit processors appeared.



At least TMT plays MKVs properly.

Before using Madflac I used FFDshow... is there a 64bit version of that? I thought there was a 64 bit version of Haali too... I could be wrong though.
 

·
Registered
Joined
·
4,835 Posts

Quote:
Originally Posted by EskimoPie /forum/post/15307299


Before using Madflac I used FFDshow... is there a 64bit version of that? I thought there was a 64 bit version of Haali too... I could be wrong though.

There's no 64 bit Haali, but you can use the 64 bit MKV splitter here:

http://sourceforge.net/project/showf...kage_id=260619


As for FLAC, you can use the 64bit ffdshow-tryouts. That doesn't help for .flac files, but it'll work for FLAC inside the mkv container.
 

·
Registered
Joined
·
80 Posts
Just in the last few days it is possible to manage x64 filters. See below:
http://jvance.com/blog/2008/12/15/Di...itCodecs.xhtml


A new version of GraphStudio (an open-source graphedit replacement) was released that supports x64. This is big news because previously, there was not a single filter management program on the internet that would work with 64 bit codecs. Therefore, it was near impossible to understand why a media file would not playback in the 64 bit version of Vista Media Center.

Background on 64bit and 32bit Codecs

When codecs are compiled for either 64bit or 32bit they are only compatible with media players of the same type. You cannot mix and match. This is especially a problem on Vista x64 because Vista Media Center runs as a native 64bit application. However, Windows Media Player on 64bit systems defaults to 32bit even though there is a 64bit version installed side by side (the start menu just points to 32bit version).

It’s Best to Choose a Side

Therefore, if you need Vista Media Center, stick to only 64bit codecs. Do not install any 32bit codecs and instead of using the default 32bit WMP, use the 64bit version found at “C:\\Program Files\\Windows Media Player\\wmplayer.exe” or better yet use Media Player Classic – Home Cinema x64 edition. If you want to use a 32bit or x86 media player and still utilize VMC, then you’ll have to install two versions of each codec you want to use.


To make things worse, it is possible for 32 bit filters to conflict with 64 bit filters.

Quote:
My (wild) guess would be that the graphbuilder is instructed by templates from 32-bit filters (either Haali or Gabest source/demux filters) to use some 32-bit source/demux instead of "File Source (Async.)" that for obvious reasons won't work – RadScorpian

His guess was confirmed.

Quote:
Microsoft was stupid enough to make this keys shared between 32/64bit. This means that playback will break in many applications if you have got different source filters installed for 32/64 bit. Media Player Classic is the only DS player I know of that can cope with this issue. – clsid

This also explains why even with all the internal filters turned off, that MPC-HC x64 was still able to play video’s that other 64bit players could not. Since I installed some 32bit filters first, it created a registry key pointing to the 32bit filter rather than the 64bit filter. See Troubleshooting for more information on how I fixed it.

My Setup

I like to play MKV backups I keep on the hard drive so I use the following filter’s:


* MPC Video Decoder x64 (MPCVideoDec.ax) for DXVA hardware accelerated AVC and VC1 decoding

* Matroska Splitter x64 (MatroskaSplitter.ax) for playback of MKV and MKA files

* ffdshow x64 (ffdshow.ax) for playback of various video types and multichannel audio such as FLAC, DTS Master Audio, AC3 Dolby True-HD

Installation

ffdshow x64 comes with an installer. When you install ffdshow make sure you uncheck the codecs that you want the MPC Video Decoder to decode with hardware acceleration (at least H.264 / AVC and VC-1).



Note: If you’ve already installed you can uncheck the codecs in the property page.


To install MPCVideoDec.ax and MatroskaSplitter.ax files you’ll need to do this manually. Put these files somewhere permanent and then register them using the following command lines:
Code:
Code:
> C:\\Windows\\SysWOW64\
egsvr32.exe D:\\Programs\\Filters\\MPCVideoDec.ax
> C:\\Windows\\SysWOW64\
egsvr32.exe D:\\Programs\\Filters\\MatroskaSplitter.ax
Testing Playback

To test you’ve installed the 64bit filters correctly, you can just try and play a file in the 64bit version of WMP. However, WMP gives you little if any indication of what went wrong if the video does not play back correctly (same with VMC).


A better method to check your codecs are installed correctly is with the afore mentioned GraphStudio x64.


1. Open GraphStudio and go File –> Render Media File… to open a graph of the media file. If you get a “Cannot render file” message then something went wrong and you should check Troubleshooting. If you see a graph built, then you should make sure it is using the proper filters. For example, for my MKV file I want it to use the MPC – Video Decoder for the x264 video and the ffdshow Audio Decoder for the DTS Master audio.




If the wrong filter shows up then you may need to alter the merit of the filters or toggle the type of filters that each codec will decode. To toggle merit, see Troubleshooting.

Troubleshooting
“Cannot render file” – This may occur if you don’t have the necessary codecs or there are conflicts with existing 32bit codecs. If you previously installed 32 bit codec you may need to delete a registry key to get the 64bit codec to work.


For example, I could not play an MKV file until I opened the registry “regedit.exe” and deleted the following key:
Code:
Code:
HKEY_CLASSES_ROOT\\Media Type\\Extensions\\.mkv
Wrong Filter in Graph – This may occur if there are multiple filters that are capable of decoding the media format. This is usually a problem if you prefer one filter over the other because one may support hardware acceleration and the other does not.


Some filter’s have many codecs built in and you must enable the codec from the property page. For example, the MPC – Video Decoder has a tab where you can toggle the codecs it handles. In GraphStudio, you can access a filter’s property page from the Graph menu –> Insert Filter… –> Choose Filter –> Click Property Page button.




In some cases this isn’t enough to get the filter to load. You may also need to alter the merits of the codecs involved. Merit values define the order in which the Filter Graph Manager tries to add filters during graph building. You can change merit values in GraphStudio.

GraphStudio is currently the only application that can manage 64bit codecs. All other codec managers only show 32bit codecs.


From GraphStudio open the filters and choose the filter you’d like to alter the merit of. For more information about setting a merit value, see Understanding DirectShow Merits .
 

·
Registered
Joined
·
80 Posts

Quote:
Originally Posted by jhoff80 /forum/post/15307461


That doesn't help for .flac files, but it'll work for FLAC inside the mkv container.

There is in fact a x64 filter for Flac besides ffdshow. It was also released just this month on the xiph directshow page. However, it seems to have trouble with playback of 24bit multichannel Flac files.
 

·
Registered
Joined
·
77 Posts
THIS IS GREAT WORK !


Could you extend this guide to the last few codec everybody needs on a HTPC?


DivX/Xvid do you use FFdshow or Xvid installer?

Best MPEG2 decoder....


Subtitles plugins for MKV etc...

Selectable sound in avi files etc etc...


This post schould be a sticky!


A 1000 Thanks for your work on this guide!!!




>>>My MKV test files are a dozen or so BluRay rips that I've used EAC3TO to grab only the video, HD audio (re-encoded to FLAC), and then remux into an MKV (No Compression).>>>

-- Any guide or other link to how you do the Losless conversion of your Blu-rip to MKV? (-;
 

·
Registered
Joined
·
108 Posts
Hmm, interesting thread, like the OP I only like to use VMC for playback of any file, also like OP doing this only from the remote is a must.


I have also been experimenting with VA using the Arcsoft video decoder and there are 2 points I'd like to mention


1. I use the latest TMT .126 and Arcsoft have now disabled the use of it's decoders outside of TMT, although the decoder from the tryout version floating around this board is ok.


2. VA doesn't work with my ATI 4670 whem playing mkv files, going to the properties of the Arcsoft video decoder the VA box is checked.


So I still search for a VA solution with ATI.
 

·
Registered
Joined
·
423 Posts
Discussion Starter · #17 ·

Quote:
Originally Posted by bingobill /forum/post/15311930


1. I use the latest TMT .126 and Arcsoft have now disabled the use of it's decoders outside of TMT, although the decoder from the tryout version floating around this board is ok.

I'm using .126 also and my Arcsoft decoders are working fine from within VMC... I upgraded to .126 immediately after installing TMT though, and only copied the .DLL's mentioned above after the upgrade. Perhaps you need to re-copy the .DLL's?
 

·
Registered
Joined
·
423 Posts
Discussion Starter · #18 ·

Quote:
Originally Posted by manakeri /forum/post/15311117


Any guide or other link to how you do the Losless conversion of your Blu-rip to MKV? (-;

I used the guide in this link. AnyDVD to rip the BluRay to the hard drive (this step can actually be skipped I think), EAC3TO to break out the main movie into it's seperate audio/video components, and MKVMerge to put them into an MKV package. Not too difficult if you follow the instructions in the link, but it would be great if someone would create a nice simple GUI that would automate it with some button clicks instead of breaking out the DOS window.
 

·
Registered
Joined
·
108 Posts

Quote:
Originally Posted by EskimoPie /forum/post/15312470


I'm using .126 also and my Arcsoft decoders are working fine from within VMC... I upgraded to .126 immediately after installing TMT though, and only copied the .DLL's mentioned above after the upgrade. Perhaps you need to re-copy the .DLL's?

I've never had to copy any .dll to system32 actually, Arcsoft's decoders properties were always available from the start by right clicking from filter manager.


Perhaps you could check what version of the arcsoft decoder is shown from filter manager ?
 

·
Registered
Joined
·
108 Posts

Quote:
Originally Posted by EskimoPie /forum/post/15312500


I used the guide in this link. AnyDVD to rip the BluRay to the hard drive (this step can actually be skipped I think), EAC3TO to break out the main movie into it's seperate audio/video components, and MKVMerge to put them into an MKV package. Not too difficult if you follow the instructions in the link, but it would be great if someone would create a nice simple GUI that would automate it with some button clicks instead of breaking out the DOS window.

Here you confuse me again because if you're ripping DTS-MA again the current arcsoft DTS decoder won't work with eac3to. Have you tried this command with eac3to to see if it is actually using the arcsoft DTS decoder ?


eac3to -test
 
1 - 20 of 89 Posts
Top