Jump to content
Sign in to follow this  
hackbart

NVidia Bug

Recommended Posts

hackbart

If you google a bit and/or search around our board you will see a couple of complains concerning weird video behaviour in combination VMR9 and NVidia cards. I just can repeat again and again it is definitively not a bug caused by the DVBViewer and you can easily reproduce this with any other Directshow tool. All you need is to connect two pins of the VMR with two different sources, e.g. two videos. If you open the VMR Property Window you should be able to arrange the videos inside the videowindow. If both do not start with 0,0 and end with 1,1 you might get a weird display. If it works you might change the color via the Mixer Control. Both in combination is a big NoNo ;), at least with all newer NVidia drivers. I really hope they might fix this, because its a traceable problem.

 

I made a work around which does not use the IVMRMixerControl9 Interface, but this forces some restrictions if you enable the NVidia VMR Fix option:

1. the Onscreen Display is now no longer independent from the Video

2. you can no longer select buttons by clicking on the OSD in this mode

 

Anyhow, ATI cards and all Geforce cards <6600 should not be affected.

 

Christian

Share this post


Link to post
Salvatore

Please don’t be angry O’mighty one.

 

I hope they have seen the light, and would go forth and multiply.

 

Thanks for remaining earth. ;)

Share this post


Link to post
hackbart

i will upload a beta later this day - before that i need to test some smaller things.

 

Christian

Share this post


Link to post
hackbart

I've uploaded the file so you might give it a try..

 

Christian

Share this post


Link to post
azeman

Thanks for the update.

Now VMR9 with my 6600GT AGP is working again. ;)

My actual driver version: 92.91

Share this post


Link to post
Findus

Hi Christian,

 

I tried the fix and here is my status update.

Hardware: NVidia 6150 chipset on a Asus Board and PowerDVD 7 codec

 

NVidia Driver version 81.xx: The fix is working, - but with all other driver versions up to 92.xx it's still unusable with VRM9. The complete tv-screen is scrambled. But the tv-picture at least is visible on the complete screen.

 

Findus

Share this post


Link to post
ramonchin
Hi Christian,

 

I tried the fix and here is my status update.

Hardware: NVidia 6150 chipset on a Asus Board and PowerDVD 7 codec

 

NVidia Driver version 81.xx: The fix is working, - but with all other driver versions up to 92.xx it's still unusable with VRM9. The complete tv-screen is scrambled. But the tv-picture at least is visible on the complete screen.

 

Findus

 

Hi!

Hardware: NVidia 7950 GT vga (91.47 driver) on a Asus MotherBoard and nvidia purevideo codec ... The complete tv-screen is scrambled too.

Share this post


Link to post
Griga

Options -> DirectX -> Video Format Detection ticked?

Share this post


Link to post
ramonchin
Options -> DirectX -> Video Format Detection ticked?

 

I'll try it tonight. Thank you.

Share this post


Link to post
NeDrY
NVidia Driver version 81.xx: The fix is working, - but with all other driver versions up to 92.xx it's still unusable with VRM9. The complete tv-screen is scrambled. But the tv-picture at least is visible on the complete screen.

 

With Driver 81.98 the Nvidia Fix works for me (GeForce 6600GT), with newer Versions it works too, but I can't zoom into the Picture (Pan&Scan).

 

VMR7 works fine with newest Drivers though, I hope Christian will fix the Missing-OSD-Issue with VMR7...

 

Cheereo

NeDrY

Share this post


Link to post
blackburn_

VMR9 works like a charm now on my 7600GT using the 92.91 drivers and the "Nvidia fix" box ticked. The picture quality is superb using hardware acceleration and deinterlacing.

 

Thank you so much Christian! = >_<

 

PS. Now the only "problem" I have is how to close the OSD on a channel change.. If anyone knows please post here. DS

Share this post


Link to post
ramonchin

Is VMR much better than overlay for you? better colour? or is only the best way to show OSD with picture?

 

If I use VMR, should I reduce brightness and increase saturation?

 

On the other hand I've noticed that VMR produces a less flawessly video than overlay.

 

Thank you

Share this post


Link to post
NeDrY
Is VMR much better than overlay for you? better colour? or is only the best way to show OSD with picture?

 

If I use VMR, should I reduce brightness and increase saturation?

 

On the other hand I've noticed that VMR produces a less flawessly video than overlay.

 

Thank you

 

The picture quality is best in overlay mode with hardware acceleration but some people use VMR because this enables OSD-Transparency and the OSD is visible via TV Out of your Graphics Card (because it is merged with the Picture). If You don't use the OSD you can go with overlay mixer >_<.

 

@Blackburn: I fixed your OSD Problem, look into your mentioned Thread ;)

 

Cheereo

NeDrY

Edited by NeDrY

Share this post


Link to post
Findus

Short status update...

VMR 9 with Video Format Detection ticked and VMR fix ticked still does not work with drivers 91.xx and greater. Screen is still scrambled but VMR 7 works.

 

A lot of people are saying that with VMR 9 the picture quality is much better compared to overlay, which is in contradiction to what NeDry is saying.

Findus

Share this post


Link to post
Franky692

If I use VMR7 or VMR9 in DVBViewer I get tearing and stuttering problems. It's not too evident but exist (more evident in VMR9). I suppose this is due an nVidia bug. Now OSD can work also in VMR7 mode and here I can Resize and move TV image without any 0,0 limit (not allowed in VMR9). So I'm tryng to get the best from VMR7. Whit nVidia decoder the fluidity of images is quite good but randomly I get some tearing.

Since in some other HTPC applications VMR7 and VMR9 can works fine without stutter and tearing and zoom limitations, using directX exclusive mode (probably in VMR9 Renderless mode) why don't you consider an option to allow this mode in DVBViewer? Probably because we lose PiP.But I think a lot of us prefer VMR 7-9 instead of PiP. Or there is something more?

I love image quality of VMR9 (7 too) with nVidia Cyberlink InterVideo decoders and nVidia pure video post processing, I love DVBViewer features too. How can I get both things together?

Edited by Franky692

Share this post


Link to post
hackbart

Guess which kind of mode we are using? The problem is that its obvious a bug in the nvidia driver which can be overidden if you use the same aspect ratio for the OSD like the video. Again: It is a bug of Nvidia and not one made by us.

Share this post


Link to post
Franky692

Thanks for your reply...

Again: It is a bug of Nvidia and not one made by us.

I edited a bit my previous post to better focalize my problem.

I perfectly agree with you :It's a nVidia bug.

I guess at this point (after your reply) you already use diretcX in full screen exclusive mode in VMR9 Renderless , isn't it?

But I suppose exists a good workaround to this nVidia bug, otherwise I can't understand why in other HTPC frontend I haven't any stuttering and tearing in VMR9 with same HW OS decoders and drivers (on same PC).

I add also that the video quality in VMR9 with nVidia post processing is in my opinion better than Overlay mode.

can be overidden if you use the same aspect ratio for the OSD like the video

It's something we can do in DVBViewer with some configurations? If yes can you spend some explenations words?

Edited by Franky692

Share this post


Link to post
Zyknyp

Setting up an option for using VMR9 "renderless exclusive" mode, is it possible? It looks like it's the only VMR9 mode in which Nvidia cards work alright.

Share this post


Link to post
ramonchin

Has anyone sent a mail to Nvidia talking them about these VMR problems?

 

What's the answer?

 

If I use VMR7 or VMR9 in DVBViewer I get tearing and stuttering problems. It's not too evident but exist (more evident in VMR9). I suppose this is due an nVidia bug. Now OSD can work also in VMR7 mode and here I can Resize and move TV image without any 0,0 limit (not allowed in VMR9). So I'm tryng to get the best from VMR7. Whit nVidia decoder the fluidity of images is quite good but randomly I get some tearing.

Since in some other HTPC applications VMR7 and VMR9 can works fine without stutter and tearing and zoom limitations, using directX exclusive mode (probably in VMR9 Renderless mode) why don't you consider an option to allow this mode in DVBViewer? Probably because we lose PiP.But I think a lot of us prefer VMR 7-9 instead of PiP. Or there is something more?

I love image quality of VMR9 (7 too) with nVidia Cyberlink InterVideo decoders and nVidia pure video post processing, I love DVBViewer features too. How can I get both things together?

 

 

Where can I find "nVidia purevideo post processing"? And, how can i adjust that?

Share this post


Link to post
Franky692

I guess nVidia knows the problem and I don't understand why they don't try to fix it. Probably games performances frame rates is more important than Video and TV for them.

But I'm almost sure that with directX exclusive mode (probably in VMR9 Renderless mode) the problem doesn't appear.

NVidia pure video post processing is inside ForceWare installation pack in drivers which version > 91. In new control Panel interface -> advanced mode Video and TV section -> Edge enhancements and Noise reduction slide bars, but we are a bit OT...

Share this post


Link to post
ramonchin
I guess nVidia knows the problem and I don't understand why they don't try to fix it. Probably games performances frame rates is more important than Video and TV for them.

But I'm almost sure that with directX exclusive mode (probably in VMR9 Renderless mode) the problem doesn't appear.

NVidia pure video post processing is inside ForceWare installation pack in drivers which version > 91. In new control Panel interface -> advanced mode Video and TV section -> Edge enhancements and Noise reduction slide bars, but we are a bit OT...

 

But in renderless mode i think DXVA isn't working

Is it?

Share this post


Link to post
Zyknyp

Why not? Afaik it should work as well.

"VMR9: Renderless

This is the most complex VMR9 rendering mode. It can work in Direct3D exclusive mode which means the entire machine is set to fullscreen and no background application are allowed access to the video hardware. Under Direct3D Exclusive Mode, less CPU is required to play videos and depending on the resolution of the video, playback may be smoother. The downside is that in Direct3D Exclusive mode, your computer is wholly dedicated to video playback and you won't be able to perform any other tasks."

I think that the the latter condition is not a problem for us, at least I hardly do anything else when watching full-screen something...if DVBViewer had a selectable option (so those who don't want it or don't care about it can leave things set by default) that enables VMR9 renderless exclusive mode when going to full-screen, that would be quite a break-through. But who nkows? Maybe there are technical setbacks in this...

Edited by Zyknyp

Share this post


Link to post
Franky692

Sure, and while I watch TV usually I don't play with a game! So, why not an option in DX control panel of DVBViewer to set it? I suppose with this mode in use we can lose some DVBViewer features probably, but the good point is that it avoid stuttering and we have all the advantages of VMR9.

Edited by Franky692

Share this post


Link to post
ramonchin
Sure, and while I watch TV usually I don't play with a game! So, why not an option in DX control panel of DVBViewer to set it? I suppose with this mode in use we can lose some DVBViewer features probably, but the good point is that it avoid stuttering and we have all the advantages of VMR9.

 

Last night I was comparing Overlay, VMR7 and VMR9... You are right, VMR9 washes the picture a little bit and video shows less artifacts and real color... but yes, with some channels it stutters.

Share this post


Link to post
Griga
if DVBViewer had a selectable option (so those who don't want it or don't care about it can leave things set by default) that enables VMR9 renderless exclusive mode

It's not just adding an option. Renderless mode means, the application has to do the rendering itself, or with other words: provide its own video renderer - a kind of plugin (allocator/presenter) for the VMR9, that replaces most of its functionality:

 

http://msdn.microsoft.com/library/default....laybackmode.asp

 

That would be a lot of work, including all the researches that are necessary to find out how to do it, all the testing...

Share this post


Link to post
ramonchin

are ATI cards suffering this stuttering problem with VMR ? Only nvidia?

Share this post


Link to post
hackbart

my ATI cards are working fine and also my Nvidia card inside my laptop and the nvidia 6600GT i use inside my developer system is also working without any problems - at least if i do not tune a HDTV channel. In this case i can reproduce the weird display behaviour and thats why i added the nvidia workaround. Please dont think i'm not familiar with custom allocators. I already played with a D3D render output (first by using of the vmr and later by using my own allocator filter) and also with OpenGL. The opengl produced a real nice display but it's speed was lousy, caused by the (i call it) "non thread capable rendering" problem. If you are interested in this filter you should look at delphigl.com - i posted the sources for this a year ago. The D3D output was working fine, but not with several mpeg decoders which was one of the reason i did not integrated it.

 

Christian

PS: Happy christmas :bounce:

Share this post


Link to post
ramonchin
my ATI cards are working fine and also my Nvidia card inside my laptop and the nvidia 6600GT i use inside my developer system is also working without any problems - at least if i do not tune a HDTV channel. In this case i can reproduce the weird display behaviour and thats why i added the nvidia workaround. Please dont think i'm not familiar with custom allocators. I already played with a D3D render output (first by using of the vmr and later by using my own allocator filter) and also with OpenGL. The opengl produced a real nice display but it's speed was lousy, caused by the (i call it) "non thread capable rendering" problem. If you are interested in this filter you should look at delphigl.com - i posted the sources for this a year ago. The D3D output was working fine, but not with several mpeg decoders which was one of the reason i did not integrated it.

 

Christian

PS: Happy christmas :bye:

 

Hackbart, I've stuttring problems with some SD channels (not HD), but is so strange that all of them are fluid under Unchanged mode.

 

Merry Christmas for everyone... DVB maniacs :bounce:

Share this post


Link to post
Franky692

Thanks for your reply everybody,

I hope in near future nVidia or somebody else will fix this situation, what I can add it's only that now I have an nVidia 7950Gt I had an ATI before and for options and quality I prefer nVidia in my HTPC. I can easily compare Picture Quality by MediaPortal Theatertek that uses VMR9 in exclusive mode and DVBViewer in Overlay, and I can say that expecially in Sport and action movies VMR9 is better in my opinion. DVBViewer is a good, small, stable and full of features software, bettere that the others, the only lack is the stable VMR9 mode. It's my target use only one HTPC software. It's for that reason I insist on this point. I say "add an option" from the interface point of view it's easy, I know, the problem and big effort is develop what this options means in DVBViewer code.

I hope in future...

 

Happy Christmas everybody

Edited by Franky692

Share this post


Link to post
ramonchin

I think the stuttering problem depends of deinterlacing engine. If deinterlacing is disabled... video always is smooth under VMR. "Unchanged" method is smooth in all conditions.

 

On the other hand, most of the DVB-T channels play smoothly with/without deinterlacing under VMR.

 

Most of the DVB-S channels play stuttered video (I have good DVB-S signal)... So I have to disable deinterlace.

 

Thanks

Edited by ramonchin

Share this post


Link to post
CiNcH

LoL, right, another way to remove stuttering.

 

What I already found out removed stuttering, if I remember it correctly there were three ways to do it:

 

- switch to 16-bit color depth

- disable DXVA

- disconnect OSD Source Filter from the DirectShow graph

 

Another interesting topic about stuttering is within the Sceneo forum (however it is in German...): http://www.sceneo.com/phpBB2/ftopic6707.html

 

Though there is still no way that satisfies me.

Edited by CiNcH

Share this post


Link to post
ramonchin
LoL, right, another way to remove stuttering.

 

What I already found out removed stuttering, if I remember it correctly there were three ways to do it:

 

- switch to 16-bit color depth

- disable DXVA

- disconnect OSD Source Filter from the DirectShow graph

 

Another interesting topic about stuttering is within the Sceneo forum (however it is in German...): http://www.sceneo.com/phpBB2/ftopic6707.html

 

Though there is still no way that satisfies me.

 

Hi cinch.

How could I disconnect OSD Source Filter from the DirectShow graph?

 

Thanks

Share this post


Link to post
CiNcH
Hi cinch.

How could I disconnect OSD Source Filter from the DirectShow graph?

 

Thanks

 

When DVBViewer is started a filter graph is created and started. With GraphEdit you can then connect to this graph and remove filters by deleting them. Dunno whether it still works with latest DVBViewer. When I did it the last time my system froze...

Share this post


Link to post
Griga
How could I disconnect OSD Source Filter from the DirectShow graph?

Plugin

Share this post


Link to post
ramonchin

So...I'll not be able to see HTPC menu (music, movies, weather...).

 

In order to see what plugings are working (an disconnet it when i want to) Should I keep window mode for right button use?

 

Thanks

Edited by ramonchin

Share this post


Link to post
Zyknyp
LoL, right, another way to remove stuttering.

 

What I already found out removed stuttering, if I remember it correctly there were three ways to do it:

 

- switch to 16-bit color depth

- disable DXVA

- disconnect OSD Source Filter from the DirectShow graph

 

Tried 1st and 3rd, didn't work.

Share this post


Link to post
ramonchin
Tried 1st and 3rd, didn't work.

 

Tried 3rd, didn't work...

Try turning off deinterlace engine.

Edited by ramonchin

Share this post


Link to post
Zyknyp

Deinterlacing off while watching 1080i is NO option.

Share this post


Link to post
ramonchin

Finally I have choosen "Overlay mixer" option until Nvidia gets VMR working fine.

 

I have decreased "Saturation" to 40 and now the color are quite good (similar to VMR).

 

I'd like to think about other things :bye:

Edited by ramonchin

Share this post


Link to post
Guest
This topic is now closed to further replies.
Sign in to follow this  

×
×
  • Create New...