Log in

View Full Version : DXVA compatibility for software players thread


Pages : 1 [2] 3 4

Schrade
26th May 2008, 10:14
For people wondering exactly what chipset their card has you might want to try out GPU-Z: http://www.techpowerup.com/gpuz/

It's like CPU-Z but for Video Chipsets.

Here's my XFX GeFORCE 8800GT Alpha Dog Edition (YDE4):

http://i32.tinypic.com/2gtqn1x.png

Kado
26th May 2008, 11:12
@ranpha
Haruhi video uses from 0.77% to 9% with a average of 4% (Pentium D 930@4.2GHz), using latest mpc hc (the one with gpu detection), and with internal subs renderer working.
Remember that if you use directvobsub dxva will not work and that the number of threads is meaningless unless you're using software mode.

ranpha
26th May 2008, 12:29
@ranpha
Haruhi video uses from 0.77% to 9% with a average of 4% (Pentium D 930@4.2GHz), using latest mpc hc (the one with gpu detection), and with internal subs renderer working.
Remember that if you use directvobsub dxva will not work and that the number of threads is meaningless unless you're using software mode.

Do you turn on buffering? Because here if the subtitles is turned on while buffering is disabled, the increase in CPU is about 10% to 20%. Subtitles at default setting of prebuffering at 3, the increase is negligible, maybe 3% at most. If you see the first Haruhi pic, DXVA is enabled which means that DirectVobSub is not used (disabled in external filters anyway - just to be sure). The internal subtitles engine takes more CPU than decoding with DXVA itself if you have buffering disabled.

That's why while taking CPU numbers with those videos with elaborate karaoke effects like the Haruhi video, it is best that subtitles are disabled to get a better grip on the numbers.

edit: Download DPC Latency Checker at http://www.thesycon.de/deu/latency_check.shtml then run it while playing a video with elaborate karaoke effect and see if you have spikes or not.

xW0Lf
29th May 2008, 19:06
they redirected me (suggest to use this thread instead MPC home cinema):..
so i quote my question:

if dedicated chip for h.264 decoding in ati 2x00HD and newer (nvidia 8x00 cards too) can decode only standard h.264 files on-the-fly (example: 1080p with <=4 ref. frames)...
can we do something to avoid that limitation and still use some of graphic-card features to off-load main CPU?
like as decode only parts of h.264 stream, not full (50% work to decode using cpu and 50% to decode using GPU)...
or to use shaders to decode h.264 in GPU ...

main goal is to send part of job to GPU....
i still have single-core P4 @ 3.4ghz and sometimes, when playing 1080P streams (full 1920x1080 with picture, without croping black regions), i got some frame drops/skiping...
and... most of my 1080p collection is non-standard (>4 ref.frames)....

so?
any ideas?

ranpha
30th May 2008, 06:35
they redirected me (suggest to use this thread instead MPC home cinema):..
so i quote my question:

if dedicated chip for h.264 decoding in ati 2x00HD and newer (nvidia 8x00 cards too) can decode only standard h.264 files on-the-fly (example: 1080p with <=4 ref. frames)...
can we do something to avoid that limitation and still use some of graphic-card features to off-load main CPU?
like as decode only parts of h.264 stream, not full (50% work to decode using cpu and 50% to decode using GPU)...
or to use shaders to decode h.264 in GPU ...

main goal is to send part of job to GPU....
i still have single-core P4 @ 3.4ghz and sometimes, when playing 1080P streams (full 1920x1080 with picture, without croping black regions), i got some frame drops/skiping...
and... most of my 1080p collection is non-standard (>4 ref.frames)....

so?
any ideas?

For now I think MPC-HC cannot do what you want. Maybe PowerDVD can, but then again that software won't play mkv files.

tetsuo55
30th May 2008, 09:44
they redirected me (suggest to use this thread instead MPC home cinema):..
so i quote my question:

if dedicated chip for h.264 decoding in ati 2x00HD and newer (nvidia 8x00 cards too) can decode only standard h.264 files on-the-fly (example: 1080p with <=4 ref. frames)...
can we do something to avoid that limitation and still use some of graphic-card features to off-load main CPU?
like as decode only parts of h.264 stream, not full (50% work to decode using cpu and 50% to decode using GPU)...
or to use shaders to decode h.264 in GPU ...

main goal is to send part of job to GPU....
i still have single-core P4 @ 3.4ghz and sometimes, when playing 1080P streams (full 1920x1080 with picture, without croping black regions), i got some frame drops/skiping...
and... most of my 1080p collection is non-standard (>4 ref.frames)....

so?
any ideas?

Those stutters and frame drops can have 3 possible causes:
-the stuttering/framedrop bug in MPC-HC
-Problems with your other hardware/software
-An incomatible file that accidentally passed the checks

Now you could use the gpu main cpu and ram to do the decoding, but that means that you would have to write a decoder from scratch that runs on the gpu

marc99
30th May 2008, 10:08
they redirected me (suggest to use this thread instead MPC home cinema):..
so i quote my question:

if dedicated chip for h.264 decoding in ati 2x00HD and newer (nvidia 8x00 cards too) can decode only standard h.264 files on-the-fly (example: 1080p with <=4 ref. frames)...
can we do something to avoid that limitation and still use some of graphic-card features to off-load main CPU?
like as decode only parts of h.264 stream, not full (50% work to decode using cpu and 50% to decode using GPU)...
or to use shaders to decode h.264 in GPU ...

main goal is to send part of job to GPU....
i still have single-core P4 @ 3.4ghz and sometimes, when playing 1080P streams (full 1920x1080 with picture, without croping black regions), i got some frame drops/skiping...
and... most of my 1080p collection is non-standard (>4 ref.frames)....

so?
any ideas?

h264 Decoder: CPU+GPU ( NVidia CUDA)

http://symposium.elis.ugent.be/upload/ordered/papers_poster/778_bpieters_paper.pdf

xW0Lf
30th May 2008, 10:49
it's nice.
but what's with ATI users (including me)...
this is , if i get it right, for nvidia cards/gpu's ?

marc99
30th May 2008, 11:15
ATI has CTM (Close to Metal).

xW0Lf
30th May 2008, 11:40
can we something available for testing/playing/probing just now...?
in terms that i put/ask?

Konrad Klar
30th May 2008, 15:12
For now I think MPC-HC cannot do what you want. Maybe PowerDVD can, but then again that software won't play mkv files.

You can use CyberLink's DS filters in other DirectShow programs that does not have problems with mkv.

ranpha
30th May 2008, 16:03
You can use CyberLink's DS filters in other DirectShow programs that does not have problems with mkv.

Only for full bitstream processing. Partial decoding can't be done as mentioned in first post.

Konrad Klar
30th May 2008, 17:09
Hmmm..
It depends on what actually particular (CyberLink's) DS filter is doing inside.
AFAIK DirectShow system itself does not perform deep analysis of stream. It don't known nor understand such things like number of Ref Frames. It simply connects filters if mediatype at OUT of first and at IN of second is matching.

My impression was, that problems is inability of using PowerDVD's decoding engine with MKV files. Fortunatelly that is not true. CyberLink's DS filters are not tied to PowerDVD. I can play MKV files with MPC using CyberLink H.264/AVC Decoder (PDVD7.x) to decode H.264 streams.

Are you suggesting that PowerDVD is performing such analysis and depending on result uses CyberLink H.264/AVC Decoder (PDVD7.x), or decodes stream internally? :confused:

Regards.

Konrad Klar
30th May 2008, 17:36
General
Complete name : E:\Downloads\Movies\Rihanna - Umbrella.mkv
Format : Matroska
File size : 29.2 MiB
Duration : 4mn 11s
Overal bit rate : 976 Kbps
Encoded date : UTC 2007-09-29 02:16:56
Writing application : mkvmerge v2.0.2 ('You're My Flame') built on Feb 22 2007 07:36:20
Writing library : libebml v0.7.7 + libmatroska v0.8.1

Video
Format : AVC
Format/Info : Advanced Video Codec
Format profile : Main@L5.1
Format settings, CABAC : Yes
Format settings, ReFrames : 8
Codec ID : V_MPEG4/ISO/AVC
Duration : 4mn 10s
Nominal bit rate : 836 Kbps
Width : 608 pixels
Height : 352 pixels
Display aspect ratio : 16/9
Frame rate : 23.976 fps
Colorimetry : 4:2:0
Scan type : Progressive
Bits/(Pixel*Frame) : 0.163
Writing library : x264 - core 54
Encoding settings : cabac=1 / ref=5 / deblock=1:0:0 / analyse=0x1:0x131 / me=umh / subme=7 / brdo=0 / mixed_ref=0 / me_range=32 / chroma_me=1 / trellis=1 / 8x8dct=0 / cqm=0 / deadzone=21,11 / chroma_qp_offset=0 / threads=6 / nr=0 / decimate=1 / mbaff=0 / bframes=3 / b_pyramid=1 / b_adapt=1 / b_bias=0 / direct=3 / wpredb=0 / bime=0 / keyint=250 / keyint_min=25 / scenecut=40(pre) / rc=2pass / bitrate=836 / ratetol=1.0 / rceq='blurCplx^(1-qComp)' / qcomp=0.60 / qpmin=10 / qpmax=51 / qpstep=4 / cplxblur=20.0 / qblur=0.5 / vbv_maxrate=836 / vbv_bufsize=8000000 / ip_ratio=1.40 / pb_ratio=1.30

MediaInfo report for one of files in question.

ranpha
30th May 2008, 18:10
Hmmm..
It depends on what actually particular (CyberLink's) DS filter is doing inside.
AFAIK DirectShow system itself does not perform deep analysis of stream. It don't known nor understand such things like number of Ref Frames. It simply connects filters if mediatype at OUT of first and at IN of second is matching.

My impression was, that problems is inability of using PowerDVD's decoding engine with MKV files. Fortunatelly that is not true. CyberLink's DS filters are not tied to PowerDVD. I can play MKV files with MPC using CyberLink H.264/AVC Decoder (PDVD7.x) to decode H.264 streams.

Are you suggesting that PowerDVD is performing such analysis and depending on result uses CyberLink H.264/AVC Decoder (PDVD7.x), or decodes stream internally? :confused:

Regards.

As mentioned in the first post, the PowerDVD codec can use the 2 DXVA modes available, full bitstream and also hardware decoding. With MPC, the PowerDVD codec can only use the former, while with the Cyberlink player itself, the codec can use both modes. Cyberlink may have gotten assistance from AMD/nVidia so that the player can use hardware assist mode. which MPC lacks.

marc99
30th May 2008, 18:55
h264/AVC bitstream only.

xW0Lf
31st May 2008, 08:39
i read something interesting...
in 2x00 ati serries only HD models have on-card-chip for h264 decoding...
fastest 2x00 card is 2900 (for 3d/gaming), and that model NOT HAVE on-card-chip... but i read somewhere that ATI added on-card-decoding for h264 for that model too (but ofcourse without chip, all decoding work is done via shaders in card)..

can we somhow "RIP" that shader program and use it for 2400/2600 and 3x00 series.. or use it as base to made/write something new?

why all that?
to make posible playing non-standard h264 streams, using on-the-card power to offload main CPU

carnage_pl
2nd June 2008, 22:48
I have problems with that kind of file:
sample :
sample.avi (http://www.sendspace.pl/file/ppsdB28L/)
When I load there is black screen and no audio. Progress bar doesn't move.
When DXVA is off everything is ok.

xW0Lf
3rd June 2008, 17:07
nah.. looks like this is non-standard h.264... more referent frames than allowed for that resolution (or maybe some others)...
because of that.. i looking for solution to mix cpu+gpu to decode ALL H.264 in ALL conteiners...

MarcioAB
4th June 2008, 00:23
I have problems with that kind of file:
sample :
sample.avi (http://www.sendspace.pl/file/ppsdB28L/)
When I load there is black screen and no audio. Progress bar doesn't move.
When DXVA is off everything is ok.

Same here (with MPC_HomeCinema). With Cyberlink-DXVA=on it plays as DXVA=off

This "sample.avi" H264 encode has:

cabac=1 / ref=1 / deblock=1:0:0 / analyse=0x3:0x113 / me=hex / subme=5 / brdo=0 / mixed_ref=0 / me_range=16 / chroma_me=1 / trellis=1 / 8x8dct=1 / cqm=0 / deadzone=21,11 / chroma_qp_offset=0 / threads=3 / nr=0 / decimate=1 / mbaff=0 / bframes=2 / b_pyramid=1 / b_adapt=1 / b_bias=0 / direct=1 / wpredb=1 / bime=1 / keyint=250 / keyint_min=25 / scenecut=40(pre) / rc=2pass / bitrate=909 / ratetol=1.0 / rceq='blurCplx^(1-qComp)' / qcomp=1.00 / qpmin=10 / qpmax=51 / qpstep=4 / cplxblur=20.0 / qblur=0.5 / ip_ratio=1.40 / pb_ratio=1.30 / aq=2:1.00

So, there is something here that is preventing DXVA with 8600GTS + XP + VMR7 (because VMR9 is not working with MPC_HC with my last driver update).


Edit: Could be AQ=2 ?

Casimir666
4th June 2008, 07:40
Same here (with MPC_HomeCinema). With Cyberlink-DXVA=on it plays as DXVA=off

This "sample.avi" H264 encode has:

cabac=1 / ref=1 / deblock=1:0:0 / analyse=0x3:0x113 / me=hex / subme=5 / brdo=0 / mixed_ref=0 / me_range=16 / chroma_me=1 / trellis=1 / 8x8dct=1 / cqm=0 / deadzone=21,11 / chroma_qp_offset=0 / threads=3 / nr=0 / decimate=1 / mbaff=0 / bframes=2 / b_pyramid=1 / b_adapt=1 / b_bias=0 / direct=1 / wpredb=1 / bime=1 / keyint=250 / keyint_min=25 / scenecut=40(pre) / rc=2pass / bitrate=909 / ratetol=1.0 / rceq='blurCplx^(1-qComp)' / qcomp=1.00 / qpmin=10 / qpmax=51 / qpstep=4 / cplxblur=20.0 / qblur=0.5 / ip_ratio=1.40 / pb_ratio=1.30 / aq=2:1.00

So, there is something here that is preventing DXVA with 8600GTS + XP + VMR7 (because VMR9 is not working with MPC_HC with my last driver update).


Edit: Could be AQ=2 ?

This sample works with PDVD : it's a bug in mpc-hc decoder (working on it).

marc99
4th June 2008, 13:35
MPC-HC Internal decoder don't like AVI container, sample.avi remuxed to MKV work fine.

mariner
4th June 2008, 16:25
MPC-HC Internal decoder don't like AVI container...

Similar problem here, but works with CL264dec.ax.

MartinAF
13th June 2008, 02:00
Hello
i have an ATI HD3870 (latest drivers, tested with every driver version) card and have yet to see a mkv file that works with MPC and DXVA
i try dxva with almost every new version but get the same results (and i`m fallowing the development from the 1st public build but waited to post since i thought this is just something that will be fixed shortly)

this is how the haruhi video behaves on my rig:
http://dbd.republika.pl/dxva1.JPG
http://dbd.republika.pl/dxva2.JPG

blockiness and jaggering, note that video plays fine 99,999% of the time if i dont stretch it to full screen. When i go fullscreen it goes bonkers sometimes after a few sec. sometimes the same second i go fullscreen -> stuttering and artifacts like on those screens and have to turn off DXVA or restart video and not go fullscreen

those screens are taken with latest MPC and VMR9 mode (tried all those locked buffers, mixer modes etc. no change)

i can provide many samples but dont know how to cut mkv files wihtout re-encoding (which defeats the purpose), can someone point me to a good tool for cutting those files?

ranpha
13th June 2008, 07:41
Hello
i have an ATI HD3870 (latest drivers, tested with every driver version) card and have yet to see a mkv file that works with MPC and DXVA
i try dxva with almost every new version but get the same results (and i`m fallowing the development from the 1st public build but waited to post since i thought this is just something that will be fixed shortly)

this is how the haruhi video behaves on my rig:
http://dbd.republika.pl/dxva1.JPG
http://dbd.republika.pl/dxva2.JPG

blockiness and jaggering, note that video plays fine 99,999% of the time if i dont stretch it to full screen. When i go fullscreen it goes bonkers sometimes after a few sec. sometimes the same second i go fullscreen -> stuttering and artifacts like on those screens and have to turn off DXVA or restart video and not go fullscreen

those screens are taken with latest MPC and VMR9 mode (tried all those locked buffers, mixer modes etc. no change)
?

Does this happened even in Direct3D full-screen mode? Have you tried using Cyberlink PowerDVD codec?

MartinAF
13th June 2008, 11:42
the haruhi video (not counting the broken subtitles) and 1 more video i have work with fullscreen D3D. The rest suffer from blocking and artifacts, but the video plays and not hangs.
I will try cyberlink shortly.

MartinAF
13th June 2008, 20:59
Well i tested the haruhi video with cyberlink and it worked both when using full D3D and when using normal mode and going fullscreen etc.
Some of my clips stopped working with cyberlink -> hangs on the first frames. The interesting thing is some clips hanged with cyberlink while with MPC they worked flawless when i`m not going fullscreen.
It would be neat if someone could point me to a good mkv cutting utility :)

carnage_pl
13th June 2008, 21:07
I noticed strange behavior with 1080p files.
On settings :EVR custom + DXVA on video is slowed down compared to audio. I noticed also that form 5 buffers only one is used and 4 are free
EVR custom +DXVA off everything OK
EVR +DXVA also everything OK but black bar under the frame is gray rather than black
http://img165.imageshack.us/img165/3677/evrua0.th.jpg (http://img165.imageshack.us/my.php?image=evrua0.jpg)

My version of MPC-HC 1.1.578

ranpha
14th June 2008, 07:23
@MartinAF

Have you tried playing with 2D surfaces instead of the usual 3D surfaces? Assuming you use VMR9 renderless of course.

@carnage_pl

Did you use nVidia cards?

carnage_pl
14th June 2008, 07:43
No, I have ATI card in my laptop

ranpha
14th June 2008, 08:29
No, I have ATI card in my laptop

When DXVA is enabled, only one of the buffer will be used, so it is normal. Try setting all Direct3D settings like the anti-aliasing settings in Catalyst and see if that helps.

About the grey problem, if that did not happen on the black bar above (only happen at bottom bar), it should be the problem with your laptop monitor. From the screenshot, the blacks are true blacks and has no gray problems.

carnage_pl
14th June 2008, 09:14
Yes grey bar is caused by angle of monitor :P I didn't think and notice it earlier. But still suttering on 1080p appear. I will try playing with setting in Catalys but I don't think that is the problem because now I don't have installer Control center

ranpha
14th June 2008, 09:57
You should also make sure Lock Back Buffer is checked as it helps preventing out-of-sync audio too.

MartinAF
14th June 2008, 12:18
Yes i tried 2D surf. and there is no change, haruhi video still hangs and stutters/artifacts like earlier

ranpha
14th June 2008, 12:42
Yes i tried 2D surf. and there is no change, haruhi video still hangs and stutters/artifacts like earlier

If that's the case, maybe you should try using Overlay Mixer, because you can use DXVA with that renderer too. This is Windows XP right?

MartinAF
14th June 2008, 14:46
yes its windows xp sp3
DXVA is not working with overlay

trazalca
14th June 2008, 14:55
i have some problems with my ati hd2600 pro with vista sp1, with dxva checker i found that no dxva is available for h264 avivo, (like photo) i use mpc hc in EVR mode and no external filters, with file mkv i can't have hardware acceleration. Someone is so gentle to tell me how can i get that? Thanks in advance

ranpha
14th June 2008, 15:29
yes its windows xp sp3
DXVA is not working with overlay


Even with the Cyberlink decoder?

MartinAF
14th June 2008, 15:46
the cyberlink decoder loads but is not using DXVA -> i can tell because every video works and my card is not engaging video acceleration clocks (hd3870/50 have different clocks for 2D,3D and video acceleration modes)

Kado
14th June 2008, 22:27
When DXVA is enabled, only one of the buffer will be used, so it is normal.

That's actually wrong.
http://pwp.netcabo.pt/kado/dxva_evr.png
Vista SP1 x86 + 9800gtx + evr cp + mpc hc 1.1.580.0.

Rayce
16th June 2008, 03:43
I thought I'd just jump in and say that with my 8600GTS in Vista SP1, I can play x264 movies in DXVA-mode with the 1280-resolutions with ref's up to 9, 1920's up to 5. I'm using the x264 filter from PowerDVD 8 in MPC-HC.

MartinAF
1st July 2008, 17:22
Kado
in my example no buffers are used (or i`m mistaken and the number "0" is a buffer number) and the video is played with dxva1
and i discovered that i can manually resize the video as much as i want but the hangs/artifacts only apear when going fullscreen
http://dbd.republika.pl/haruhi.JPG
using latest mpc build

screen from dxva checker:
http://dbd.republika.pl/dxvacheck.JPG

maybe i should try vista?

ooferomen
4th July 2008, 18:33
how do you guys get that red text with those stats to show up?

ranpha
4th July 2008, 19:39
how do you guys get that red text with those stats to show up?

CTRL-J when EVR custom presenter or VMR9 renderless.

JediNight
4th August 2008, 11:07
I can't for the life of me get DXVA working in MPC-HC. I've tried all of the recommended Output settings from the homepage, have the latest Catalyst drivers installed, etc. and still no go.

Using a Radeon HD2900 Pro and XP SP2 yet. VMR9 Renderless, EVR, and EVR Custom all result in no DXVA. I've uninstalled all other Directshow filters besides the MPC-HC internal ones, and it correctly lists MPC Video Decoder. DXVA Checker comes back with full DXVA support across the board as well.

Anyone think of something I'm missing? I'm at a loss atm.

STaRGaZeR
4th August 2008, 12:38
I can't for the life of me get DXVA working in MPC-HC. I've tried all of the recommended Output settings from the homepage, have the latest Catalyst drivers installed, etc. and still no go.

Using a Radeon HD2900 Pro and XP SP2 yet. VMR9 Renderless, EVR, and EVR Custom all result in no DXVA. I've uninstalled all other Directshow filters besides the MPC-HC internal ones, and it correctly lists MPC Video Decoder. DXVA Checker comes back with full DXVA support across the board as well.

Anyone think of something I'm missing? I'm at a loss atm.

The R600 chip does not have UVD (well it has but is disabled because of some obscure reason), so you can't use any type of bitstream decoding. Maybe MPEG-2 IDCT will work though.

JediNight
4th August 2008, 19:06
I went back and did some googling, and apparently there was a large controversy over the fact that ATI led everyone to believe the entire HD2XXX line had UVD, but in fact the 2900 doesn't.

However, it does state that the HD2900 card supports decoding using its stream-processors -- just not a dedicated video decoding chip. Now only if I knew what that meant for my situation. If I'm using EVR can I assume the GPU is helping out even though DXVA is disabled?

So confusing...

STaRGaZeR
5th August 2008, 11:36
I went back and did some googling, and apparently there was a large controversy over the fact that ATI led everyone to believe the entire HD2XXX line had UVD, but in fact the 2900 doesn't.

However, it does state that the HD2900 card supports decoding using its stream-processors -- just not a dedicated video decoding chip. Now only if I knew what that meant for my situation. If I'm using EVR can I assume the GPU is helping out even though DXVA is disabled?

So confusing...

No, with MPC-HC internal DXVA filters either you have full bitstream decoding or you have no DXVA. PowerDVD and other programs with DXVA support do nothing too. That was just an excuse to justify the lack of UVD IMO.

TEB
6th August 2008, 12:50
Hi. Ive got a Nvidia 8800GT which has full DXVA support from what i can see from dxva checker. Im running Vista 32bit sp1 too..
when i set the 718 build og 604 build to EVR Custom i still dont get any dxva support when using stats (ctrl-j) on any mpeg2/h.264 content... Any idea what to test?

teb

Kado
6th August 2008, 21:34
@TEB
Check all filters that decode h264 and block them in the mpc external filters preferences, block vobsub as well.
Use this video (http://rapidshare.com/files/113536801/Suzumiya_Haruhi_no_Yuuutsu_-_C4_-_Special_Ending_-__Hitsuji__e569a2b7_.mkv.html) that is 100% DXVA compliant and has subtitles as well.
Use EVR CP if you have Vista or VMR9 if you have XP and enable h264 dxva in the internal filters. Use a recent MPC HC version like rev718 from here (http://www.xvidvideo.ru/content/category/1/1/2/). Also use Haali splitter.
Check if your filters are like this (http://pwp.netcabo.pt/kado/mpc_sh_dxva.jpg) (that is MPC HC rev718 using DXVA to decode the video in a 9800GTX).

If its still not working then update your GPU drivers.