Log in

View Full Version : New DXVA/GPU accel. discussion (from CoreAVC)


Pages : [1] 2 3

hdboy
21st April 2007, 01:40
incidentally, the just released nvidia 8500/8600 cards promise to offload 100% of avc decoding to the GPU. for ex: reduce cpu usage to 5% on a x2 3800 while playing back casino royal bluray h264.

http://www.avsforum.com/avs-vb/showthread.php?t=835630&page=4

what does this mean for coreavc? I think they need to move fast to add h/w support.

CiNcH
21st April 2007, 10:26
What do I need CoreAVC when everything is offloaded to the GPU? I can use just everything supporting PureVideo 2 and it mostly will be as fast...

KoD
21st April 2007, 11:37
Well, Nvidia might just boost lots of promises as well. Not like they haven't done so in the past with the previous gfx card generations. And I still believe the price of CoreAVC can't compare to that of buying a new monster gfx card. Still, the activation scheme was not something CoreAVC needed. It may have boosted sales in the beginning but it surely doesn't do this now and it never takes long for software protections to be removed when that software is popular.

tomos
21st April 2007, 13:45
reading about those cards here (http://www.anandtech.com/video/showdoc.aspx?i=2970&p=3), if they offer this kind of offloading on the lower end GPUs then it would be easier just to get one of those cards IMO

migrena
21st April 2007, 21:57
there will be people who doesnt need such gpu (read: non-gamers), integrated gpu is sufficient for normal people who will be using their pc only for working and watching hd movies, but gpu support for encoder - that would be nice :)

Betaboy about gpu support:
http://www.corecodec.com/forums/index.php?topic=89.msg558#msg558

anyway i cannot thing of anything more encouraging piracy than closing shop for several months, i would rather release buggy product marked "unstable - use at your own risk" and then series of updates as the bugs are squashed

tomos
22nd April 2007, 02:03
deffo. am hoping thats where all these moves towards GPGPU's are taking us. then high end cards might not just be for gamers. use that power as you wish. you can game, or use it for assisted decoding/encoding.

that's just a pipe dream though huh

zambelli
23rd April 2007, 00:37
I don't see GPU support being a high priority deliverable for CoreAVC; after all, they made their name by being the fastest *software* H.264 decoder. I'd much rather see some multicore decoding support, full H.264 profiles decoding support and most importantly - the ability to move licenses from one machine to the other without restrictions.

hdboy
23rd April 2007, 06:26
actually, there's no need for a "monster" gfx card. a 8500 which goes for $99 right now will do it. I expect by the end of the year this will go into integrated gfx solution from nvidia.

so why should coreavc bother? well, you still need s/w to take advantage of h/w and if your favorite directshow player (read: MPC) doesn't....

On that note: zambelli have you had a chance to test how the wmp11 vc1 decoder do with the new nvidia cards?

G_M_C
23rd April 2007, 08:24
I don't see GPU support being a high priority deliverable for CoreAVC; after all, they made their name by being the fastest *software* H.264 decoder. I'd much rather see some multicore decoding support, full H.264 profiles decoding support and most importantly - the ability to move licenses from one machine to the other without restrictions.


I second that motion.

And on the subject of GPU decoding; I would advise to wait on Ati/AMD's solution, wich is due in may 2007. The supposedly have a new decoder that decodes everything on the GPU (as i've been told). They have appropriately called it their "Universal Video Decoder" (UVD).

Seen that their track record with Avivo has been very good, i expect that UVD will be a very good product. And it might have some extra's going for it (HTPC-wise that is); Some of their HTPC-minded cards will ship with an "build-in" audio-chip; Giving the card full HDMI capabillities, for those wanting to hook their PC on to their Home Theatre systems. Haven't read what version HDMI or surround-audio they will support though (full HDMI 1.3 ?? The new Dolby/DTS-formats ??).

Jay Bee
23rd April 2007, 09:05
I second that motion.

And on the subject of GPU decoding; I would advise to wait on Ati/AMD's solution, wich is due in may 2007. The supposedly have a new decoder that decodes everything on the GPU

Nvidia 8600 already does.

KoD
23rd April 2007, 12:30
actually, there's no need for a "monster" gfx card. a 8500 which goes for $99 right now will do it. I expect by the end of the year this will go into integrated gfx solution from nvidia.
For people complaining about a 15$ decoder, I guess it does.

Now, about that hardware assist... am I the only one that had issues with it in its various implementations in the past ? There are a few other points I could make, but I'm lazy right now.

Dr.Khron
23rd April 2007, 13:01
Seen that their track record with Avivo has been very good, i expect that UVD will be a very good product. And it might have some extra's going for it (HTPC-wise that is); Some of their HTPC-minded cards will ship with an "build-in" audio-chip; Giving the card full HDMI capabillities, for those wanting to hook their PC on to their Home Theatre systems.

Whoa, that sounds extremely cool... My Living Room PC needs a new video card, but maybe I'll wait until that technology comes out. Of course, its currently plugged into a crummy old CRT TV tube via a composite cable, so maybe I should get a new TV first. Then again, I think I'd prefer to buy a real set of surround speakers, and pass the audio directly to the external surround amp from the PC.

I dunno if I see a viable market in the future for CoreAVC. Its a nice peice of software, yes, but FFDshow has much more active delveopment, and I think it does just as good a job with brute force. I mean, computers are only going to get faster, cheaper and more powerful for the next few million years or so, right?

I used to use CoreAVC on the living room PC back when it was a P3-1000 (and when CoreAVC was widely distributed as "free"), becuase FFDShow just couldn't cut it. However, now that I recycled my woman's old P4 desktop as the new LRPC, FFDShow plays AVC just fine.

JohnnyFu
28th April 2007, 18:45
Here (http://www.anandtech.com/video/showdoc.aspx?i=2977&p=4) is a pretty good example about the power of GPU acceleration.

I agree with zambelli that the ability to move licenses from one machine to the other without restrictions is very very important for a many customers.
But it is now more than 12 months ago that CoreAVC announced GPU support (on a 1.0x release, we already reached 1.3). I know... you won't or can't comment on GPU support Betaboy.

But i really want to know what is going on. A clear statement would be much appreciated.
Will we ever see GPU support ? In 6 months, in 12 months, in 18 months ?

G_M_C
8th May 2007, 10:06
I think that CoreAVC's products will more-or-less be obsolete in a few months. I say this because all new graphics cards seem to be able to do full H/X264/AVC decoding, including CABAC, in loop deblocking etc. on the GPU.

When you realize that that feature will be integrated on even the low-end board, then you'll also realize that it's very good value-for money when you buy a new graphics board and get the AVC decoding with it automatically. And depending on the manufacturer (Ati or NVidia) you'll even get regular updates of your software, 12 times a year with Ati ... and none of those updates have copy-restrictions :p

So all-in-all; I dont even want to spend money on CoreAVC anymore. I'll buy myself a mid-end passively cooled Radeon 2600HD with UVD, HDMI and full hardware decoding of video (VC-1/AVC/Mpeg2) and audio (New Ati-cards have audio build in, for output on to the HDMI !). That card even does dual-channel AVC-decoding for Picture-Picture (PiP)!

But thats only my $0,02 on the subject of CoreAVC.

pankov
8th May 2007, 10:24
I think that CoreAVC's products will more-or-less be obsolete in a few months. I say this because all new graphics cards seem to be able to do full H/X264/AVC decoding, including CABAC, in loop deblocking etc. on the GPU.

G_M_C,
I agree with you but I have a question though
Where did you get the idea that new cards (NVidia in particular) have x264 acceleration?? From my tests I can tell that only H264 (HD-DVD/Blu-Ray or HDTV transmissions) get's accelerated. All x264 reencodes are decoded in software.
This is on 8600GTS with Windows Vista 32bit, Forceware 158.24 and PowerDVD 7.3 (w/ the last updates). For directshow (HDTV + rips) playback I used ZoomPlayer (EVR renderer is a must) and the Cyberlink H264/AVC decoder and I had good results only with pure H264.

Anyone having different experience?

G_M_C
8th May 2007, 10:46
G_M_C,
I agree with you but I have a question though
Where did you get the idea that new cards (NVidia in particular) have x264 acceleration?? From my tests I can tell that only H264 (HD-DVD/Blu-Ray or HDTV transmissions) get's accelerated. All x264 reencodes are decoded in software.
This is on 8600GTS with Windows Vista 32bit, Forceware 158.24 and PowerDVD 7.3 (w/ the last updates). For directshow (HDTV + rips) playback I used ZoomPlayer (EVR renderer is a must) and the Cyberlink H264/AVC decoder and I had good results only with pure H264.

Anyone having different experience?

I dont have any hands-on experience yet. But as far as i can tell (reading about it) X264 is a H264 encoder. And H264 should be decoded through hardware.

But there have always been great differences in NVidia's PuireVideo decoders and Atis Avivo (and upcoming UVD). The problem might even be something as simple as the 4CC codes used (or recognized by PureVideo), or something in your settings/other codecs.

But as i said; I dont know for shure yet. I'm waiting untill the new Ati card come around, and start reading all over again. But i stay with my assumption: Eventually CoreAVC will be obsolete, because all decoding is done on the GPU. This conclusion is also based on the fact that Ati and NVidia have far more resources to devolope stuff like this (read this as much more money). And you can bet your ass that they will want to have a "the biggest piece of the pie possible " where High Def is concerned. Since HD is still new for most consumers world-wide, it's a nice marketing strategy to flaunt you HD-powers; And that includes X264 allmost automatically because thats the format used on the internet atm (filesharing might be illigal, but NVidia and Ati DO know that the great majority of their costumers download stuff, so it is economically viable to keep X264 in mind).

Theliel
8th May 2007, 11:31
G_M_C,
I agree with you but I have a question though
Where did you get the idea that new cards (NVidia in particular) have x264 acceleration?? From my tests I can tell that only H264 (HD-DVD/Blu-Ray or HDTV transmissions) get's accelerated. All x264 reencodes are decoded in software.
This is on 8600GTS with Windows Vista 32bit, Forceware 158.24 and PowerDVD 7.3 (w/ the last updates). For directshow (HDTV + rips) playback I used ZoomPlayer (EVR renderer is a must) and the Cyberlink H264/AVC decoder and I had good results only with pure H264.

Anyone having different experience?

Yes. The problems in this moment are Vista and Drivers. Nvidia series 7x00 and 8x00 (only 8600, 8500 in this moment) can decode all h264 content, HD or not, in x264 or in other format. Under XP, with cyberlink AVC/h264 video decoder filter you can enable dxva for all your h264 content and work fine.

Under vista... in this moment i only obtained h264 hardware accell with h264 raw, but in all content, QT, x264... so problem Im sure are software or driver.

pankov
8th May 2007, 11:54
Theliel,
I'm not sure I understand what you are saying.
As I know hardware acceleration of H264 of the 86(5)00 series is ONLY available in Vista. All my tests proved this. I get 70-80% CPU usage on my C2D6400@3.2GHz in WinXP and 3-7% usage in Vista for the same 1080p H264 content. For the tests I used BBC's Planet Earth (and some PremiereHD) DVB-S/S2 captures. It's the same with Blu-Ray discs (Casino Royale for example). All HDDVD/Blu-Ray reencodes done with x264 in matroska container (both 720p and 1080p) don't get accelerated - the CPU usage is around 30% for 720p and 80% for 1080p.
So I guess there is something wrong with the 4CC codes ... but I have to admit that I'm not exactly sure what's the difference between x264 and h264

foxyshadis
8th May 2007, 12:35
Are you sure that's Nvidia's fault and not Cyberlink's? An unfortunate major ommision in most online reviews of the card is that it's only tested on Vista. Driverhaven does claim that There is only one caveat to PureVideo HD at the moment and that is the feature only being available to Vista users until at least July this year. but doesn't cite a source.

Before you start looking into things like fourccs (which don't even exist in properly encoded mkvs, only in vfw-compatible mkv), find out what decoder is being used. The AVC stream in x264, nero, and captured TS are mostly the same (except captures usually have interlacing and recovery bits that the others don't). That should be pretty easy in zoomplayer, which reports the filters in a menu and lets you customize which ones get used for which formats. It may even be that an existing customization is interfering.

G_M_C
8th May 2007, 13:11
Are you sure that's Nvidia's fault and not Cyberlink's? An unfortunate major ommision in most online reviews of the card is that it's only tested on Vista. Driverhaven does claim that but doesn't cite a source.

Before you start looking into things like fourccs (which don't even exist in properly encoded mkvs, only in vfw-compatible mkv), find out what decoder is being used. The AVC stream in x264, nero, and captured TS are mostly the same (except captures usually have interlacing and recovery bits that the others don't). That should be pretty easy in zoomplayer, which reports the filters in a menu and lets you customize which ones get used for which formats. It may even be that an existing customization is interfering.

OFFTOPIC, this thread is about CoreAVC !!

tssk tssk foxyshadis, and that for a moderator :p !!

:devil: (just kidding) :devil:

But anyway; I brought up the HW decoders wich are integrated in the new GPU's just because i think those will be the main compatitor of CoreAVC; Unless they come up with something new (or revolutionary), AND the long-time-requested GPU assistance

But since they dont seem to be reacting in this thread anymore, i think that my conclusion isn't far from the truth ...

DigitalDeviant
8th May 2007, 15:30
Another downside of the new cards is that they're all PCI Express. Unfortunately, my PC has only AGP and I suspect a lot of the people relying on CoreAVC are in the same boat.

And it's not just this forum they're ignoring. They've been consistently refusing to reply on their own boards as well (including PM). Emails go unanswered and support tickets go unresolved. I've been waiting 6 weeks for some sort of help from them.

G_M_C
8th May 2007, 15:55
Another downside of the new cards is that they're all PCI Express. Unfortunately, my PC has only AGP and I suspect a lot of the people relying on CoreAVC are in the same boat.

And it's not just this forum they're ignoring. They've been consistently refusing to reply on their own boards as well (including PM). Emails go unanswered and support tickets go unresolved. I've been waiting 6 weeks for some sort of help from them.

I too have an APG system, that currently plays 1080p fine btw ;). But Ati and NVidia have both announced AGP versions of their mid-end GPU's :)

kikker
8th May 2007, 17:44
Theliel,
I'm not sure I understand what you are saying.
As I know hardware acceleration of H264 of the 86(5)00 series is ONLY available in Vista. All my tests proved this. I get 70-80% CPU usage on my C2D6400@3.2GHz in WinXP and 3-7% usage in Vista for the same 1080p H264 content. For the tests I used BBC's Planet Earth (and some PremiereHD) DVB-S/S2 captures. It's the same with Blu-Ray discs (Casino Royale for example). All HDDVD/Blu-Ray reencodes done with x264 in matroska container (both 720p and 1080p) don't get accelerated - the CPU usage is around 30% for 720p and 80% for 1080p.
So I guess there is something wrong with the 4CC codes ... but I have to admit that I'm not exactly sure what's the difference between x264 and h264

This jives with what I've found over the weekend. My P4 2.6 with 7600GS rig running VISTA could not properly handle a x264 encode even at 720p using PowerDVD 7.3/Hardware acceleration combo. I verified that indeed the Cyberlink filter was used in Zoom. However, while CPU usage hovered around a relatively low 25%, the playback was quite jerky.

CoreAVC, on the other hand, played very nicely, albeit with higher CPU utilization.

pankov
10th May 2007, 01:46
Are you sure that's Nvidia's fault and not Cyberlink's? An unfortunate major ommision in most online reviews of the card is that it's only tested on Vista. Driverhaven does claim that but doesn't cite a source.

Before you start looking into things like fourccs (which don't even exist in properly encoded mkvs, only in vfw-compatible mkv), find out what decoder is being used. The AVC stream in x264, nero, and captured TS are mostly the same (except captures usually have interlacing and recovery bits that the others don't). That should be pretty easy in zoomplayer, which reports the filters in a menu and lets you customize which ones get used for which formats. It may even be that an existing customization is interfering.
foxyshadis,
I'm not sure of anything. I'm just sharing my findings and I hope someone with more knowlage can clear things up for me.
Last night I tried playing all the files with FFDShow and it reports them all as "Input FOURCC: AVC1" :( but some of them get accelerated by Cyberlink Decoder + NV86(5)00 combo
:(
So how can I or someone else tell the difference?
If needed I can provide some samples.


P.S.
I apologize for the OT but I didn't know where else to find any help

arfster
12th May 2007, 00:24
This jives with what I've found over the weekend. My P4 2.6 with 7600GS rig running VISTA could not properly handle a x264 encode even at 720p using PowerDVD 7.3/Hardware acceleration combo. I verified that indeed the Cyberlink filter was used in Zoom. However, while CPU usage hovered around a relatively low 25%, the playback was quite jerky.


You must use a player with EVR (WMP11, PDVD Ultra, Theatertek 2.5, etc), or you don't get any 8500/8600 h264 acceleration. Reason is that PV2 is DXVA2 only, and only EVR supports DXVA2. You can verify this in graphedit if you like - I have, and with the Cyberlink decoder+EVR combination I get hardware acceleration to <1% CPU with all forms of h264.

Stupidly enough, it's the other way round for MPEG2. Cyberlink's decoder (and everyone elses' afaik) are PV1 only, so EVR doesn't work.

zambelli
12th May 2007, 04:03
Stupidly enough, it's the other way round for MPEG2. Cyberlink's decoder (and everyone elses' afaik) are PV1 only, so EVR doesn't work.
The Microsoft MPEG-2 decoder in Vista supports DXVA2 and EVR, AFAIK.

Sirber
12th May 2007, 04:09
The Microsoft MPEG-2 decoder in Vista supports DXVA2 and EVR, AFAIK.mkay, but why mpeg2 needs acceration in 2007? ;)

JohnnyFu
12th May 2007, 04:13
What is the meaning of EVR and PV1/2 ? :)

thank you
Johnny

arfster
12th May 2007, 15:29
mkay, but why mpeg2 needs acceration in 2007? ;)

It's not for CPU, but for advanced functions only available in hardware mode. Mainly, spatial-temporal deinterlacing of live video material - there's simply nothing to replicate that available in software (you can do it offline with avisynth scripts and some hand-tweaking, but not live). It's even worse with interlaced h264, which absolutely murders modern CPUs - you need 3.3ghz C2D to play some video AVC HDDVDs in software :eek:


JohnnyFu: EVR (Enhanced Video Renderer) is the new renderer available in Vista to replaced VMR9/overlay etc - it's really impressive, but cos it's new there are lots of application/driver bugs. PV1 is Purevideo 1 - the video hardware acceleration features available on 6xxx/7xxx/8800 cards. PV2 is the new version on the 8500/8600 for h264, which reduces CPU load to 1%. PV2 requires DXVA2, DXVA2 needs EVR to work....

wozio
12th May 2007, 17:38
PV2 requires DXVA2, DXVA2 needs EVR to work....
That is not true. Main DXVA 2 advantage over DXVA 1 is that decoders can use it without renderer. In DXVA 1 renderer was something like proxy to driver. Now in DXVA 2 there is separate interface independent on renderer.

And also if PV2 requires DXVA 2 that would mean it's not possible to implement it in win xp but nvidia claims that 8500/8600 acceleration will be available for xp in june.

Theliel
12th May 2007, 17:41
really EVR is needed under vista if you want to have any video hardware accell, no only for PV2.

Nvidia Serie 6x00, 7x00 and 8x00 (in this moment, only 8500/8600) have video hardware accell for h264 under vista, the problem is that EVR is needed in all cases. PowerDVD have got a good DS filter, but EVR support are "poor" in this moment. Other problem is that newer powerdvd filter work only in EVR mode, and no all player support EVR.

resuming...

CoreAVC only work fine FOR ME under vista in EVR mode.
Cyberlink decoder (with Dxva in use) only work fine in vista in EVR mode. -> Yes, all h264 content have hardware accell with a 7600 and 8600 with cyberlink decoder. Of course, with 8600 or 8500 CPU load are practicaly cero and with 7x00 serie CPU load are about 20-30%

for now, the only players that work for me are the latest ZP alpha version 5.5 with add EVR and KMplayer. PDVD 7.3 dont work fine (yes, increible that filter work fine and player not)

the most interesting are that CoreAVC work fine only in EVR too... in VMR9 CPU load go to 90-100%

zambelli
13th May 2007, 09:14
PV1 is Purevideo 1 - the video hardware acceleration features available on 6xxx/7xxx/8800 cards. PV2 is the new version on the 8500/8600 for h264, which reduces CPU load to 1%. PV2 requires DXVA2, DXVA2 needs EVR to work....
Actually, the difference is that PureVideo 2 supports VLD decoding - where the entire bitstream is decoded on the card, unlike with earlier DXVA profiles where only parts of the decoding process were processed by the GPU (i.e. MoComp, iDCT, Postproc).

really EVR is needed under vista if you want to have any video hardware accell, no only for PV2.
That's incorrect. DXVA 1.0 is still supported with VMR7 and VMR9. Any decoder designed to work with DXVA 1.0 and VMR will still work under Vista (DXVA 2.0 emulates DXVA 1.0). Naturally, the WDDM driver would also need to support both interfaces.

The differences in DXVA in Vista vs XP are mostly due to the video driver differences. Certain apps like WMP also use EVR by default, which adds to the difference. But generally any app designed for XP, VMR and DXVA 1.0 will continue to work under Vista.

DeepBeepMeep
13th May 2007, 10:28
The differences in DXVA in Vista vs XP are mostly due to the video driver differences. Certain apps like WMP also use EVR by default, which adds to the difference. But generally any app designed for XP, VMR and DXVA 1.0 will continue to work under Vista.


zambelli since you seem to know lots about DXVA, I would be grateful if you could answer my following question: I have been sticking to software decoders like CoreAVC so that I can used postprocessor filters such as ffdshow or DirectVobSub.

Is there a version of DXVA or a combination of filters that allows me to use a hardware decoder and still have a software decoder next in the chain ?
Basically I am looking for a graph that allows me to use a hardware decoder and still to able apply on the resulting picture some subtitles for instance.

Thanks

Sulik
13th May 2007, 10:39
Actually, only MPEG2/VC1 are supported for DXVA1 compatibility (VMR7/9). H.264 is only available through DXVA2 on Vista.

Theliel
13th May 2007, 11:59
exactly, in vista h264 only work in DXVA2+EVR

DeepBeepMeep, its posible, but your sentence are contradictory.

You want hardware decoder+software decoder?

If you want use Hardware decoder + filter for subtitles (for example) its posible:

Only need add to the chain ffdshow video raw:


1º. Configure ffdshow video decoder for raw:

http://img520.imageshack.us/img520/5084/86558750ff5.jpg

2º. Add ffdshow video raw filter to the chain:


In graphedit:

http://img176.imageshack.us/img176/7100/46494947qm4.jpg


I prefer ZoomPlayer, but the graph its the same.


Notes:
Under Vista you MUST select EVR, no VMR. Under XP you must select VMR.
For audio, you can choose any other filter you want.
For Mov content you must have haali splitter installed.
For hardware accel you must enter in the filter properties and set dxva


Now, your video are decoding in cyberlink filter with dxva and output go to ffdshow, where you can add any filter you want.

http://img154.imageshack.us/img154/8723/finalln0.jpg

Image are compose because i can't open all windows in the same time :)

arfster
13th May 2007, 14:33
And also if PV2 requires DXVA 2 that would mean it's not possible to implement it in win xp but nvidia claims that 8500/8600 acceleration will be available for xp in june.

Sure, I was only talking about the current situation with drivers/decoders. There's no way NVidia would have made a new card that required XP users to use EVR - that would just be daft.

DeepBeepMeep
13th May 2007, 17:17
Thanks Theliel for your help,

You guess what I want: Hardware decoder + software subtitles.

It seems to me that if the hardware decoder is not the last filter in the chain that is the filter before the video renderer, the hardware decoder switches automatically to software mode even if the DXVA option is set.

Unfortunately, this happens whenever ffdshow is added after the decoder. I have tried your graph on a H264 file.
With ffdhow: 95% CPU usage, which is the same CPU usage if I turn off DXVA
Without: 60% CPU usage

Can you confirm similar behaviours or it is just my system? thanks

pankov
14th May 2007, 00:59
DeepBeepMeep,
you are correct. If there is a subtitle filter (VobSub or FFDShow) added in the graph you lose the DXVA. You can see this if you use the NVidia Purevideo decoder (for MPEG2 stuff) - it shows the real decoding method (software vs. hardware).
I've been searching for solution for this problem more than an year now without any real progress. I did a lot of testing and found out that if the subtitle filter is not connected to the main decoding chain but to the second VMR imput pin you can get both subtitles and DXVA. There are two problems with this scenario:
- there is no subs filter that can take direct input from text (.srt/.sub/.txt) file and render is as a video stream (for the tests I used avisynth scripting)
- the player should add special support for this kind of subs rendering because the subs stream should be mixed with the main video stream either using transparency or some kind of PIP technique to place the subs over the main video but only in the desired position ... I suppose there should be black background for the subs - rectangular video is probably a must ...

Sadly noone seems to care for us - non native English speakers
;)

zambelli
14th May 2007, 08:18
Is there a version of DXVA or a combination of filters that allows me to use a hardware decoder and still have a software decoder next in the chain ?
Not with DXVA 1.0. DXVA 1.0 requires decoding to the renderer. If you insert Ffdshow between the decoder and the renderer, then DXVA can't work. Imagine DXVA 1.0 as living inside the renderer. If you want it to decode something, you need to give it an encoded bitstream. If you insert Ffdshow between the decoder and the renderer, then the renderer ends up receiving the uncompressed YUV video - and there's no decoding to be done on that.

H.264 is only available through DXVA2 on Vista.
It's not that H.264 decoding is not supported in DXVA. It's that the current crop of H.264 decoders don't support anything other than DXVA2 and Vista. DXVA support must be implemented in the decoder and the driver. One could theoretically have DXVA decoding support for H.264 with DXVA1/VMR under XP. The fact that nobody is doing it is not a restriction of DXVA API or Vista.

Sadly noone seems to care for us - non native English speakers
In order to support subtitling of DXVA decoded video, one would have to composite the subtitles with the video in the renderer - not before the renderer. It would require a custom presenter. It'd be up to the player developers to create such a feature.

The problem with most current subtitling plugins is that they work by overlaying the text onto the decoded video before it reaches the renderer.

pankov
14th May 2007, 08:35
zambelli,
am I right to think that in DXVA 2.0 it will be possible to have acceleration done in the decoder (H264/AVC/MPEG2) and then add the subs with a software decoder attached between the main video decoder and the renderer (EVR for example)?

SBeaver
14th May 2007, 09:44
I'm sorry if I'm a little off-topic, but is there a decoder with dxva support like the cyberlink h264 decoder above that works with vc1 video?
I though the MS decoder supported hardware decoding but I'm not getting performance anywhere near what I should get.

_xxl
14th May 2007, 13:51
vc1 video
MS decoder is multithreaded and DXVA.

Theliel
14th May 2007, 14:17
MS decoder never worked for me (work but wihtout dxva). Anyway, cyberlink have a VC1 decoder with dxva too.

SBeaver
14th May 2007, 14:36
Thanks for the replies.
Unfortunatly dxva for ms or cyberlink doesnt work for me.
I found the setting in wmp11 for directx accelleration (or something like that) and when I tried to play video it crashed my computer.
Cyberlinks decoder only freezes (and wont work outside powerdvd).
Maybe I should be looking for a better forceware driver, I was using the latest beta 165.xx for xp x64, must be some kind of strange bug.

_xxl
14th May 2007, 19:42
Is DXVA available for XP X64?

Sirber
14th May 2007, 20:40
Thanks for the replies.
Unfortunatly dxva for ms or cyberlink doesnt work for me.
I found the setting in wmp11 for directx accelleration (or something like that) and when I tried to play video it crashed my computer.
Cyberlinks decoder only freezes (and wont work outside powerdvd).
Maybe I should be looking for a better forceware driver, I was using the latest beta 165.xx for xp x64, must be some kind of strange bug.Which card?

SBeaver
15th May 2007, 01:01
Which card?

6600 GT, it should support decoding acording to nvidias site. that was 160.03 driver btw. http://www.nvidia.com/page/purevideo_support.html here it says vc1 decode supported for standard and hd material.

Sulik
15th May 2007, 01:42
It's not that H.264 decoding is not supported in DXVA. It's that the current crop of H.264 decoders don't support anything other than DXVA2 and Vista. DXVA support must be implemented in the decoder and the driver. One could theoretically have DXVA decoding support for H.264 with DXVA1/VMR under XP. The fact that nobody is doing it is not a restriction of DXVA API or Vista.

While it is possible to support H.264 acceleration in DXVA1 on XP, it is NOT possible for the driver to support H.264 acceleration in DXVA1 on Vista.
This is a limitation of the Microsoft DXVA1->DXVA2 translation layer (WDDM driver can only support DXVA2 DDI), which currently only supports official MPEG-2 and VC1 guids.

Theliel
15th May 2007, 02:18
offtopic and ontopic

interesting newer datas:


CPU: P4 3.4 HT
card: 7600GT


sample 1-> Dolphins_1080.wmv (downloaded from MS HD gallery)
sample 2-> nancy_drew-tlr1_1080p.mov (downloaded from QT trailers gallery)
all metric are CPU used.


Sample 1:


WMP work fine now with dxva(dont ask me ¿?)
Remember that WMP in vista use EVR.

WMP with Dxva disable -> 90% max, 34% min, 57% overall
WMP with Dxva enable -> 60% max, 22% min, 26% overall


ZoomPlayer with WMV decoder DMO in EVR -> 62% max, 30% min, 38% overall
ZoomPlayer with WMV decoder DMO in VMR9 -> Don't work, green colors
ZoomPlayer with WMV decoder DMO in Haali Renderer -> 70% max, 10% min, 32% overall <- Interesting

ZoomPlayer with libavcodec in EVR/VMR9 -> 72% max, 58% min, 63% overall
ZoomPlayer with libavcodec in Haali Renderer -> dont work fine, upper half show fine, down half are all green
ZoomPlayer with Cyberlink VC1 video decoder -> impossible (for now) connect filter.

Note: WMV decoder dont have any options for enable or disable dxva. In WMP you can enable dxva under preferences, in other

player you can't, so is it dxva enable by default in MS decoder?



Sample 2:


WMP + Cyberlink h264/AVC Video Decoder with Dxva disable or enable in codec -> 60% max, 14% min, 35% overall


Zoomplayer + Cyberlink h264/AVC Video Decoder dxva enable in EVR -> equal to MMP, maybe ZP a little more CPU use?
Zoomplayer + Cyberlink h264/AVC Video Decoder dxva disable in EVR/VMR -> 98% max, 34%min, 78% overall
Zoomplayer + Cyberlink h264/AVC Video Decoder dxva enable in VMR9 -> dont work.
Zoomplayer + Cyberlink h264/AVC Video Decoder dxva enable/disable in haali renderer -> 100% max, 30%min, 80% overall

Zoomplayer + libavcodec in VMR -> 90% max, 20% min, 45% overall <- Maybe no deblocking
Zoomplayer + libavcodec in EVR -> little more CPU use than VMR

ZoomPlayer + CoreAVC 1.3 in VMR -> 90% max, 32% min, 71% overall
ZoomPlayer + CoreAVC 1.3 in Haali/EVR -> 70% max, 18% min, 45% overall

ZoomPlayer + MainConcept AVC/H264 video decoder dxva enable/disble -> 90% max, 65% min, 80% overall


Conclusion:

My ffdshow have some problems with debloking :P
EVR take a little more resources than VMR9
Cyberlink h264 decoder with dxva enable only avalible in EVR
MS WMV decoder enable by default dxva.
EVR are the best renderer, but have some problems with AR sometimes
Haali renderer are a good election for non h264 content
Nvidia serie 7x00 work fine under vista in h264/VC1 with hardware support. Serie 8500/8600 are much better, tomorrow i can post some other result.

If somebody want other decoder test or suggestion, please, tell me.

zambelli
15th May 2007, 07:41
@Moderator:
Can we split this DXVA discussion into a separate thread? I'd rather not hijack CoreAVC's thread.

am I right to think that in DXVA 2.0 it will be possible to have acceleration done in the decoder (H264/AVC/MPEG2) and then add the subs with a software decoder attached between the main video decoder and the renderer (EVR for example)?
That's my understanding too. DXVA 2.0 video processor API can be used to perform subtitle blending. I think subtitles could also be composited with the decoded picture before it's passed off to the custom allocator.

Even though DXVA 2.0 separates decoding from the renderer, a renderer is still required. I don't think DXVA 2.0 would allow HW acceleration to be used for decoding in something like Avisynth's DirectShowSource(), for example.

WMV decoder dont have any options for enable or disable dxva. In WMP you can enable dxva under preferences, in other player you can't, so is it dxva enable by default in MS decoder?
I agree it's confusing. DXVA support for WMV decoder is controlled via a registry key. You can use the WMV PowerToy (http://www.citizeninsomniac.com/WMV) to enable/disable it. The confusing part is that WMP uses the same reg key to control DXVA for WMV - so the setting actually has a wider effect than just on the player application.

By default (if DXVA reg key doesn't exist), DXVA 2.0 support is enabled for WMV decoder (implies MF and EVR pipeline) but disabled for DXVA 1.0 (implies DirectShow/WMFSDK and VMR pipeline). When the reg key is set (0 or 1), then it disables/enables both DXVA 1.0 and 2.0 support.

@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.


A few MSDN topics on DXVA 2.0:
DirectX Video Acceleration 2.0 (http://msdn2.microsoft.com/en-us/library/aa965263.aspx)
Supporting DXVA 2.0 in DirectShow (http://msdn2.microsoft.com/en-us/library/aa965245.aspx)
What's New in DirectShow (http://msdn2.microsoft.com/en-us/library/ms788119.aspx)

Finally, if anybody has technical questions (Sulik, you might want to ask about that H.264 DXVA 1.0 issue), you can e-mail askdxva@microsoft.com with questions and somebody from the DXVA team will get back to you.