View Full Version : MPCVideoDec, is possible to display subtitle in DXVA with MKV?
Romulus76
22nd May 2008, 17:03
Hello everyone,
first of all.... good, good project!! :) also for MPC-HC...
My configuration is: Asus P5BWiFi, P4-2.8GHz, 2GB DDR, ATI HD3450 dxva enabled, SPDIF out, Windows XP SP3 in VRM9 exclusive, Reclock 1.6.
My display is Samsung TV-LCD in HDMI 1280x720@50Hz, no tearing or juttering.
My first step is to view MKV in MPC-HomeCinema with DXVA enabled... result was excellent, as expected! All works fine, also SSA subtitles inside MKV file (after enabled the subtitle autoload option in the program). I can see the dxva option enabled in properties of filters (because I've MKV encoded @ 4.1).
After that I tried to copy MPCVideoDec.ax in System32 folder and register it with regsvr32; as expected the filter was registered properly in Windows (DirectVobSub/VsFilter was disabled to autoload when necessary)
Then I open GraphEdit and tried to render MKV file with SSA subtitles... the chain was something like:
"MKV file" --> "MPC Video Decoder" --> "VMR out" (and also audio, but doesn't matter).
As I know nothing else between MPCVideoDec and VMR... finally I was able watch the video BUT I wasn't able to display the SSA subtitles!! :eek:
Is there a method to enabled they with this chain? Or are only enabled with MPC-HC?
Thanx
clsid
22nd May 2008, 18:06
It is not possible. At this moment using MPC-HC is the only way to get DXVA and subs.
subtitles are hardware rendered by mpc internally. MPCVideoDec.ax is just a decoder.
Casimir666
22nd May 2008, 18:44
Subtitles works only with DXVA only with "VMR renderless" or "EVR custom". Maybe you can have subtitle with MPCVideoDec works using KMPlayer but i haven't done the test.
pdanpdan
22nd May 2008, 19:54
DXVA + Subtitles are working with KMPlayer with the standalone decoder (tested both text subtitles and sub/idx)
clsid
22nd May 2008, 19:58
That is because it uses the same technologies as MPC (internal sub renderer). It isn't going to work in WMP, Media Center, GraphEdit, etc.
sheppaul
22nd May 2008, 23:49
Well, KMP has an overly renderer for subtitles which does not exist in mpc. If the dxva decoder of mpc supports dxva1, it is also possible to display subtitles with overlay mixer and dxva enabled which is impossible in MPC. Thus, the subtitle renderer seems not using the same tech of mpc. ASS subs are well rendered on overlay surface too.
pf. I've forgot to mention one more thing. KMP has an ability to render subtitles on vmr7/9 windowed mode with dxva enabled while MPC can't. I think there is a way to display subtitels on EVR (not EVR Custom) with DxVA enabled considering the case of KMP.
ibius
25th May 2008, 15:43
@Casimir666: dont confuse the guy, its not entirely true.
Romulus76 uses XP, if he has .NET Framework 3+ installed he can use EVR in MPC-HC but not with DXVA enabled, doesnt matter if he uses MPCVideoDec or CL264dec, cause EVR only supports DXVA 2.0, and DXVA 2.0 only exists on Vista.
Shinigami-Sama
25th May 2008, 23:15
@Casimir666: dont confuse the guy, its not entirely true.
Romulus76 uses XP, if he has .NET Framework 3+ installed he can use EVR in MPC-HC but not with DXVA enabled, doesnt matter if he uses MPCVideoDec or CL264dec, cause EVR only supports DXVA 2.0, and DXVA 2.0 only exists on Vista.
wrong
dxva2 is on xp as well, its just up to the card makers to enable it in drivers
recent MS updates and all
foxyshadis
26th May 2008, 01:53
Well, KMP has an overly renderer for subtitles which does not exist in mpc. If the dxva decoder of mpc supports dxva1, it is also possible to display subtitles with overlay mixer and dxva enabled which is impossible in MPC. Thus, the subtitle renderer seems not using the same tech of mpc. ASS subs are well rendered on overlay surface too.
KMP's rendering of subs onto an overlay surface uses the same method as any other video player using VSFilter external with a pre-upsize. I don't think KMP renders them at full desktop resolution, since that's a huge speed hit and they look a bit fuzzy now anyway, but it's definitely higher than original size for small videos.
mariner
26th May 2008, 06:34
wrong
dxva2 is on xp as well, its just up to the card makers to enable it in drivers
recent MS updates and all
Greetins Shinigami-Sama.
Would appreciate if you could provide more info on DXVA2 support in XP.
On my current XP sp3 system with 3650 AGP graphics card (Cat 8.5), DXVA is only available on EVR(vista) and EVR (Custom Presenter) using internal VC1 dedoder, but not H264 decoder. Cyberlink decoders do not seem to supprt DXVA on EVR at all.
1. How do I enable H264 DXVA support in EVR?
2. If it's due to card limitation, which graphics card would support DXVA for both VC1 and H264 on EVR?
Thanks and best regards.
Shinigami-Sama
26th May 2008, 06:52
Greetins Shinigami-Sama.
Would appreciate if you could provide more info on DXVA2 support in XP.
On my current XP sp3 system with 3650 AGP graphics card (Cat 8.5), DXVA is only available on EVR(vista) and EVR (Custom Presenter) using internal VC1 dedoder, but not H264 decoder. Cyberlink decoders do not seem to supprt DXVA on EVR at all.
1. How do I enable H264 DXVA support in EVR?
2. If it's due to card limitation, which graphics card would support DXVA for both VC1 and H264 on EVR?
Thanks and best regards.
I'm just quoting from what casmir/clsid have stated in other threads
and from what I've read AGP has shaddy support for DXVA for what ever reason
try running the dxva dectetion tool, its somewhere in this subforum and has been mentioned here a few times
try updating your DX9, automatic update doesn't seem to grab the new updates for some reason...
Romulus76
26th May 2008, 07:41
Good explanation... thanx at all!! :cool:
So now I'm using MPC-HC... for next time I'll wait for news about subtitles.
Good job.
mariner
26th May 2008, 07:48
Thanks for reply.
DXVA works fine in VMR7/9. I did not expect DXVA to work in EVR, but was surprised to find Casimir's VC1 decoder (but not H244) working in DXVA under EVR. Does anyone have H264 DXVA working in EVR under XP?
Same result with 2600Pro PCI-E card in laptop.
Testing done using latest EVR.dll form .net 3.5 and DX9 Mar08.
Thanks and best regards.
Casimir666
26th May 2008, 07:53
Thanks for reply.
DXVA works fine in VMR7/9. I did not expect DXVA to work in EVR, but was surprised to find Casimir's VC1 decoder (but not H244) working in DXVA under EVR.
Me too but as Shinigami-Sama says it's more a question of driver than DXVA.
Does anyone have H264 DXVA working in EVR under XP?
+1
mariner
26th May 2008, 08:05
Thanks for reply Casimir and many thanks for the great program.
Would you like to share with us your setup that has H264 DXVA working in EVR under XP?
Best regards.
Sulik
26th May 2008, 09:00
DXVA H.264 will not work with EVR on XP for the same reason than DXVA1 H.264 does not work on Vista: Microsoft provides the DXVA1<->DXVA2 translation layer and unfortunately, it does not include H.264 (only VC1 and MPEG-2).
(The drivers are always DXVA1 on XP, and always DXVA2 on Vista, MS owns the translation layer, not the HW vendors)
ibius
26th May 2008, 14:44
Thank you Sulik, thats exactly what I was trying to clarify.
Actually I found a thread on kmplayer's forum with posts by the same guy who also mentions you :) -> http://www.kmplayer.com/forums/showthread.php?t=7271 and it's the thread Im referring to.
Here is a quote for Shinigami-Sama:
"It's possible to use EVR under XP - it comes with the .NET 3.0 runtime - though it's not registered by default. But it's impossible to use DXVA 2.0 in XP - it requires Vista video driver model."
Here are some for all:
"Some basic facts about DXVA 2.0 vs 1.0:
* DXVA 2.0 requires EVR and Vista. VMR7 and VMR9 support only DXVA 1.0, and this is true in both XP and Vista.
* DXVA 2.0 is supported in both DirectShow and Media Foundation on Vista. A DShow decoder filter can be designed to support both DXVA 1.0 (with VMR) and DXVA 2.0 (with EVR). The WM Format SDK only supports DXVA 1.0 for WMV decoding.
* Vista only has a native DXVA 2.0 driver, but the driver is designed to translate DXVA 1.0 API calls into equivalent DXVA 2.0 functions if the video driver is WDDM compatible. This allows legacy (XP) DXVA 1.0 decoders to still work in Vista."
"DXVA is more than just for decoding. It also includes video processing and capture support.
In order to have DXVA decoding support, you need 4 components:
* An MPEG-2, VC-1 or H.264 decoder that supports offloading parts of the decoding process to the GPU by using DXVA API calls
* DXVA system driver - this is the OS runtime library that powers the DXVA API. You have DXVA 1.0 in XP and DXVA 2.0 in Vista. In Vista this component also translates DXVA 1.0 API calls into equivalent DXVA 2.0 functions.
* Video driver that supports DXVA decoding/processing. It's up to the driver to report the capabilities of the card to the DXVA driver. Because many of the actual decoding/processing functions are generic and implemented in a whole class of GPUs, sometimes it only takes a driver update to bring a particular DXVA feature to life.
* Video card that has particular decoding/processing features implemented in its hardware."
And the one I already mentioned: "EVR only supports DXVA 2.0, and DXVA 2.0 only exists on Vista."
Guy's last quote: "All of those articles come from Zambelli who works at MS codec tech team."
sheppaul
26th May 2008, 15:18
KMP's rendering of subs onto an overlay surface uses the same method as any other video player using VSFilter external with a pre-upsize.
With vsfilter, it's impossible to enable DxVA as it is an interconnecting video filter between a video decoder and renderer. The subtitle is not drawn via video filters but directly rendered in the player. What you are talking about is probably to mix subtitles into decoded video streams.
Shinigami-Sama
26th May 2008, 22:02
-snip-
blah blah blah
real information from a quick 45 second search
http://forum.doom9.org/showpost.php?p=1113670&postcount=1381
dxva2 working in XP
sheppaul
27th May 2008, 13:20
blah blah blah
real information from a quick 45 second search
http://forum.doom9.org/showpost.php?p=1113670&postcount=1381
dxva2 working in XP
If it is working, it's not dxva2 but probably custom work from the vendor which is not using the APIs of DxVA2. DxVA2 requires WDDM driver.
mariner
27th May 2008, 14:40
DXVA H.264 will not work with EVR on XP for the same reason than DXVA1 H.264 does not work on Vista: Microsoft provides the DXVA1<->DXVA2 translation layer and unfortunately, it does not include H.264 (only VC1 and MPEG-2).
(The drivers are always DXVA1 on XP, and always DXVA2 on Vista, MS owns the translation layer, not the HW vendors)
Greetings Sulik and thanks for the clear explanation. I guess I have misunderstood Casimir's reply.
The return from DXVA Checker 1510 is precisely what you've said: No H264 DXVA2 on XP.
ModeMPEG2_IDCT: DXVA2, NV12, 720x480 / 1280x720 / 1920x1080
ModeVC1_VLD: DXVA1/2, NV12, 720x480 / 1280x720 / 1920x1080
ModeH264_VLD_NoFGT: DXVA1, NV12, 720x480 / 1280x720 / 1920x1080
Best regards.
Shinigami-Sama
27th May 2008, 20:58
If it is working, it's not dxva2 but probably custom work from the vendor which is not using the APIs of DxVA2. DxVA2 requires WDDM driver.
if it walks like a duck
talks like a duck...
sheppaul
28th May 2008, 03:28
if it walks like a duck
talks like a duck...
Though it walks like a duck, it could pretend to be a duck. :p I highly doubt if it is fully functioning on xp.
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.