Jump to content

EVR Support in DVBViewer Pro


vladojko

Recommended Posts

Hi,

 

It would be great to have Enhanced Video Renderer support in DVBViewer pro, for use with Geforce 8500/8600 cards, as it is the only way at to moment to use their H.264 acceleration. GE version already supports EVR.

 

Greetings

Vladimir

Link to comment

Well to be honest we do not plan to use evr since our intention is to switch to d3d hopefully more sooner than later. A technical demo can be found in the beta section.

 

Christian

Link to comment

would it be hard to integrate another Renderer? Griga already integrated it into the GE Version, shouldn't it be possible to take most of the modifications to the Pro Version? Some people could be very happy, the results with full H.264 Hardware decoding are amazing :bye:

Link to comment

In DVBViewer Pro it might be more troublesome due to the more sophisticated OSD. The rest isn't such a big thing - just another kind of VMR9.

Link to comment

Hopefully with new Nvidia drivers for XP (in June) the acceleration will work with other renderers too (as there is no EVR in XP).

Regardin OSD, I think that hw acceleration is more usefull and important then osd

Link to comment
Regardin OSD, I think that hw acceleration is more usefull and important then osd

I really don't think so. So it's settled :bye:

Link to comment
H264 works well enough with high power PCs. simply remove all plugins.

 

I do not agree. With C2D E6300 which is quite powerfull we get 50% CPU usage on Anixe HD, but picture is not smooth... Try to watch football, you will get headacke I am sure. But with HW acceleration, everything is super smooth.

Link to comment

EVR is possible under XP, yes, but I still think that the implementation under XP will work with VMR, just like it was the case with PV1. At least I hope so...

Link to comment

Yesterday tried DVBViewer GE with EVR and hw acceleration on 8500gt.

I reached 20% cpu on HD channels instead of 100% with software acceleration.

 

I VOTE FOR EVR SUPPORT IN DVBViewer PRO!

 

B)

 

Thanks

Christian

Link to comment

To be honest i doubt that this performance gap is just caused by EVR. I made a lot of tests in the past and we (Lars and I) honestly dont think to integrate EVR. Especially since it causes more work than it did in the GE. Especially since we render the OSD into a second pin. Anyway i think it is better to keep focus on the work I did in the last weeks: The D3D Solution (http://www.DVBViewer.info/forum/index.php?showtopic=17746&st=45&gopid=135844entry135844).

Concening to the speed issue: You have to make sure that both applications are using the same codec - since the differences are huge.

 

Christian

Link to comment
To be honest i doubt that this performance gap is just caused by EVR. I made a lot of tests in the past and we (Lars and I) honestly dont think to integrate EVR. Especially since it causes more work than it did in the GE. Especially since we render the OSD into a second pin. Anyway i think it is better to keep focus on the work I did in the last weeks: The D3D Solution (http://www.DVBViewer.info/forum/index.php?showtopic=17746&st=45&gopid=135844entry135844).

Concening to the speed issue: You have to make sure that both applications are using the same codec - since the differences are huge.

 

Christian

 

Hi Christian, thank you for your answer.

The huge difference in CPU load is not due for EVR itself, but the possibility to use a codec (PDVD7.3) that can benefits of PurevideoHD support and hardware h.264 decoding offered by my Geforce 8500GT. If I use EVR with a different codec that has not purevideohd support the situation is the same and I cannot get important benefits.

 

Christian

Link to comment
he huge difference in CPU load is not due for EVR itself, but the possibility to use a codec (PDVD7.3) that can benefits of PurevideoHD support and hardware h.264 decoding offered by my Geforce 8500GT

 

Correct, Christian. Same for me! I own an 8500GT. Without this card i could never watch HD channels due to the low 3.2 Ghz P4 CPU. And it only works with EVR...

 

CPU is at 12% with EVR (DVBViewer GE), CPU goes nuts (100%) on VMR9 (DVBViewer Pro).

Actually CI support for GE would be sufficient for me B)

 

 

cheers

Future

Edited by Future777
Link to comment
To be honest i doubt that this performance gap is just caused by EVR.

Thing is that the CyberLink H.264 Decoder only supports DXVA2 to accelerate H.264 under Vista (under XP proprietary API's are used, as there is no official support for EVR/DXVA2 there). It seems to be that DXVA2 can only be accessed through EVR.

 

With a GeForce 8500/8600, support for EVR/DXVA2 means 100% CPU offload as the complete H.264 decoding pipeline is integrated into the GPU (known as PureVideo 2 Engine).

Edited by CiNcH
Link to comment

Yes - at present the 8500/8600 models only allow h264 acceleration with EVR, but next month NVidia release drivers that will allow it with VMR9. Spatial-temporal deinterlacing on BBC HD 20mbit does look fantastic with EVR and these cards though *mrrrrm*

 

Also, there's another problem with EVR: if you use that, you'll get no hardware acceleration or spatial-temp deinterlacing with any MPEG2 decoder (not even PDVD 7.3's MPEG2 codec supports DXVA2).

Link to comment
Actually CI support for GE would be sufficient for me

Work-around for the moment: Record with DVBViewer Pro (switch playback completely off: View -> Close Graph), and play the file in DVBViewer GE, while it is recorded. A kind of forced timeshift... B)

Link to comment
Spatial-temporal deinterlacing on BBC HD 20mbit does look fantastic with EVR and these cards though *mrrrrm*

I also was very surprised with the picture quality when using VMR and DXVA (especially with the deinterlacing and edge enhancement sharpener) with latest GPU series.

 

Will be interesting to see whether it will also be possible to use VMR9 under Vista to take advantage of H.264 acceleration. Do you have some insider information here?

 

What's the situation with PureVideo 1 driver implementation under Vista? Guess it can also only be accessed via DXVA2...

Link to comment
Work-around for the moment: Record with DVBViewer Pro (switch playback completely off: View -> Close Graph), and play the file in DVBViewer GE, while it is recorded.

A brilliant idea! Now you know what you have to do: start bugging Griga without mercy to strip down the GE to evr only playback and make a plugin for the pro out of it ;)B)

That gives us time to do something useful :D

Link to comment
Will be interesting to see whether it will also be possible to use VMR9 under Vista to take advantage of H.264 acceleration. Do you have some insider information here?

 

Fraid not - I read it somewhere. It might have just been an assumption though, based on the fact that EVR is a Vista thing. Also, to widen compatibility you can't imagine them leaving it EVR only, as all the old apps using VMR9 get screwed (including XP's version of WMP, and XPMCE)

 

What's the situation with PureVideo 1 driver implementation under Vista? Guess it can also only be accessed via DXVA2...

 

Not sure if this is what you're meaning, but none of the PV1-based MPEG2 codecs (even PDVD's) will hardware accelerate with EVR, but they're all fine with VMR9 (at least with the 8500). However, a lot of people seem to be getting (driver-related?) problems with VC1, and getting no acceleration at all.

 

 

Edit: bit hazy on the interaction between the various layers here, so apologies for any misunderstandings.

Edited by arfster
Link to comment
However, a lot of people seem to be getting (driver-related?) problems with VC1, and getting no acceleration at all.

Let's say not as much as H.264. The bitstream processor within GeForce 8500/8600 only supports CAVLC/CABAC of H.264. Entropy coding of VC-1 is not supported. As for other algorithms (like motion compensation, iDCT and deblocking) I do not know which of them are implemented within the PureVideo 2 engine.

Hardspell testet PureVideo 2 with VC-1. Around 80% CPU usage with a Sempron 2800+ (100% and of course not smooth when using CPU only) and 25% with a A64 X2 3800+.

Edited by CiNcH
Link to comment

Whatever the decision ist, another video renderer von DVBViewer pro is needed for vista hopefully more sooner than later. The reason is that current nvidia vista drivers have a bad quality scaling algorithm when vmr9 is used which results in absolutely ugly picture quality for example when hdtv channels are downscaled (lots of aliasing effects). This is really annoying... the Zoom Player autohor currently recommends to use the Haali Video Renderer Filter as a custom Video Renderer and it works fine. Maybe that is an option also for DVBViewer?

Link to comment

Hm, after reading a little on the subject i got to agree that it makes sense to support the hardware acceleration of the new nvidia cards. If it means that EVR support is necessary, then avoiding EVR is certainly no good idea.

Link to comment
...ugly picture quality for example when hdtv channels are downscaled (lots of aliasing effects).

We do not need EVR for that. Christian is working on his own rendering engine. It will be possible to take advantage of shader units in GPU's to perform video post processing on a pixel-basis (scaling, deinterlacing, sharpening, whatever). Currently it is possible to use ffdshow to tackle the problem.

 

Haali Video Renderer also takes advantage of shaders to perform two-pass bicubic scaling. Same goes for MPC also offering bicubic scaling, but only one-pass.

Edited by CiNcH
Link to comment

In my last post, i was talking about the complete h264 decoder acceleration and not only hardware-accelerated scaling. Obviously, the Geforce 8500/8600 series Purevideo HD is providing _complete_ h264 decoding on the gpu and as far as i understand it, this complete acceleration seems to require evr. I am just saying that this should be taken into account, because this would enable completely new hdtv use-cases for "smaller" htpc machines that are not having dual core processors. If Purevideo HD works with the d3d renderer as well, everything is fine.

Link to comment

I would also like to see H.264 acceleration, yes. But again we are early adopters of this new technology. So we have to wait and see how it develops from the software point of view.

Probably there will be a way of taking advantage of DXVA2 without EVR. DXVA2 is supposed to be renderer independent. So probably not much is missing to use it with VMR9. At least it is a different story as it was with DXVA, where the renderer is kind of a proxy to the driver.

Edited by CiNcH
Link to comment

to be honest:

 

1. it is a hell of a work to integrate - especially since graphic card drivers acting more than stupid (especially nvidia which still has the http://forums.nvidia.com/index.php?showtopic=15184 problem).

2. Even the cheapest core2duo cpu decodes the h264 in software mode without any problems and in my case the cpu usage is less than 35%

3. I tested EVR in Graphedit and honestly did not found any kind of real speed improvement.

4. Since We plan to render the output into a D3D environment i do NOT plan to add more development time into EVR or something else.

Link to comment
to be honest:

2. Even the cheapest core2duo cpu decodes the h264 in software mode without any problems and in my case the cpu usage is less than 35%

 

Can you tell me how to reach 35% cpu with my E6420 C2D when decoding H.264? I am about 95-100%....

 

I can understand that it can cause you a lot of work for integrating it but, you can perhaps evaluate a special edition of DVB Pro (I am disposed to pay something too to have it)...

 

Bye bye :bye:

Link to comment

sample.jpg

 

I have honestly no idea why you deal with 100% cpu usage and again the EVR is no magic fairy powered renderer which conjure all cpu usage away. The used decoder here is the Cyberlink Decoder, i also tested the latest Mainconcept which is almost as fast.

 

And i dont think i can afford to spend months of integrating the EVR - there are no capacities here to do this.

Link to comment
1. it is a hell of a work to integrate - especially since graphic card drivers acting more than stupid (especially nvidia which still has the http://forums.nvidia.com/index.php?showtopic=15184 problem)

Not heard of the problem in conjuction with DXVA2 yet.

2. Even the cheapest core2duo cpu decodes the h264 in software mode without any problems and in my case the cpu usage is less than 35%

True. Probably chrispazz has the "use only 1st CPU" option enabled within DVBViewer.

Hopefully the streams will stay this way. But if you look at Blue-Ray or HD-DVD decoding you will recognize that we are reaching the limit with current low-end dual-core CPU's (don't know about the AACS decryption overhead). You also have to consider deinterlacing, which is a complex task even for standard definition. Current blend pixelshader algorithm is far from being comparable with current DXVA implementations..

3. I tested EVR in Graphedit and honestly did not found any kind of real speed improvement.

Depends. First generation H.264 acceleration is not that strong (GeForce 7 and Radeon X1000 series). But a drop in CPU utilization should still become apparent when enabling hardware acceleration within the CyberLink H.264 decoder (I think for MainConcept hardware acceleration has some problems).

 

Fact is that DXVA2 is only possible with EVR for the time being (dunno about the future...).

Fact is that PureVideo2 can only be accessed through DXVA2 under Vista (and most likely will be the same for ATi's upcoming Unified Video Decoder).

Fact is both, PureVideo2 and Unified Video Decoder, feature the whole H.264 decoding pipeline within hardware.

 

I do not want to argue with you about it. If you say it is hard to implement it and there are no resource left to do so I perfectly respect that. And I am not even asking for support (your D3D Renderer does a perfect job performance-wise on my C2D and H.264 material even without GPU acceleration). But some things should still not be underestimated I think.

Edited by CiNcH
Link to comment

I thought dxva2 is independent from the renderer (you just wrote that a couple of posts earlier)? now it needs EVR - i don't understand. I wonder whether Christian actually tested the h264 acceleration on a 8600 or 8500 series card with a recent Purevideo HD enabled driver (apparently, this has only been added in the last driver release or so) since these two series are actually the only ones supporting the full h264 decoding pipeline. Even the 8800 series does not have support for it.

Edited by bnz
Link to comment
I thought dxva2 is independent from the renderer (you just wrote that a couple of posts earlier)? now it needs EVR - i don't understand.

Supposed to be renderer independent. Think that you still somehow have to tell the renderer that you are using DXVA2. But not all DXVA2 calls are sent via a renderer API down to the driver like it was the case with DXVA1. So it should be easier to implement it if you are developing an own renderer.

 

I wonder whether Christian actually tested the h264 acceleration on a 8600 or 8500 series card with a recent Purevideo HD enabled driver

He most likely used a GPU only supporting first generation H.264 acceleration. But hopefully not with MainConcept where DXVA fails for newer builds. Hardware acceleration is known to cause problems with this decoder.

Edited by CiNcH
Link to comment
post-1-1179214389_thumb.jpg

 

I have honestly no idea why you deal with 100% cpu usage and again the EVR is no magic fairy powered renderer which conjure all cpu usage away. The used decoder here is the Cyberlink Decoder, i also tested the latest Mainconcept which is almost as fast.

 

That's only 5.4mbit though - BBC HD is three times that :-) It's about the same CPU hit in software as HD-DVD, so a e6420 is going to be pretty stressed(shouldn't be maxxed though). Personally I'm more interested in hardware deinterlacing though, because that makes a huge difference to picture quality for football/tennis/concerts - if you try force the Cyberlink decoder to do software mode pixel adaptive deinterlacing on BBC HD it maxxes out a 3.2ghz Core2Duo :-)

 

Anyway, not much point even thinking about EVR till next month's drivers, if there's a chance(likelihood?) they'll support VMR9 h264 acceleration for the 8500/8600. Incidentally, has anyone tried the 160.xx beta drivers floating around the net to see if they do?

Link to comment
Personally I'm more interested in hardware deinterlacing though, because that makes a huge difference to picture quality for football/tennis/concerts - if you try force the Cyberlink decoder to do software mode pixel adaptive deinterlacing on BBC HD it maxxes out a 3.2ghz Core2Duo :-)

That's true. Current GPU deinterlacers are very advanced and CyberLink's adaptive deinterlacer is not very optimized for speed.

 

Incidentally, has anyone tried the 160.xx beta drivers floating around the net to see if they do?

No changes yet. Still the same VMR bugs, still no hardware acceleration under XP.

Edited by CiNcH
Link to comment
That's only 5.4mbit though - BBC HD is three times that :-)

 

Exactly, same story for Premiere HD and Discovery HD which send somwhere between 15-19mbit. These bitrates have a huge impact on the cpu load. I would guess even the slow libavcodec/ffdshow could decode a 6mbit stream on my "old" pentium-d.

Edited by bnz
Link to comment
Probably chrispazz has the "use only 1st CPU" option enabled within DVBViewer.

 

No...

I'm using both cores.

With National Geographic HD (Sky Italy bouquet) cpu is about 95-100% and image stutters a lot.

It is a E6420 with 1GB ram with that 8500GT.

With DVBViewer GE, same configuration, cpu load is as low as 20% with EVR and ndivia drivers that manage H.264 decoding using DXVA2.

 

Chris

Link to comment
Guest
This topic is now closed to further replies.
×
×
  • Create New...