AVS Forum banner
Status
Not open for further replies.
1 - 11 of 11 Posts

·
Registered
Joined
·
283 Posts
Discussion Starter · #1 ·
Can someone please explain, in SIMPLE terms, what the advantages/disadvantages are between using the new VMR9 vs overlay.


I understand VMR requires more horsepower. But why is it preferable to overlay? What does "overlay" mean? (Video on top of what?)


I've searched here and the web and all I get are posts/sites assuming a great deal of knowledge.


Dumb it down for a newbie, please.


Dan
 

·
Registered
Joined
·
1,343 Posts
I would like some imformation on this also, I don't have a clue how to install vmr or how to use it! Come on give us "rookies" some advice.
 

·
Registered
Joined
·
1,849 Posts
Disclaimer: I could be wrong about some of the below info, but it is my best educated guess.


My understanding is Overlay is a seperate hardware function for video (TV cards, DVD players, etc. use it). It has its own color controls, and own "frame buffer" so to speak.


VMR uses the 3D rendering functions of the video card. This allows the possibility for using the programmable pixel shaders and other 3D hardware functions to enhance the image.


One potential advantage of VMR over overlay is the possibility to run at 1920x1080i, although I am not sure because I never tried.


VMR is supposedly better on the newer Radeon 9500 or higher cards due to the DX9 VMR capabilities.


If you want to try VMR, use Zoom Player.


Hope this helps.
 

·
Registered
Joined
·
3,137 Posts
So WM9 run as well in ZP as in WMP?


Nich
 

·
Registered
Joined
·
2,541 Posts
First, there are two types of VMR.


There's VMR7 that came with WinXP and is limited to WinXP and then there's the updated VMR9 which came with DirectX-9 and works on all operating systems.


VMR7 still uses the overlay, but it has been dumped for VMR9.


VMR9 uses 3D polygons that are front-aligned to the monitor to display the video. VMR9 is rather new, a lot of its interfaces are not yet supported (or properly supported) by display drivers.


VMR9 supports the ProcAmp interface which gives access to certain color controls (Brightness, Contrast, Hue and Saturation ... no gamma). It also gives access to hardware based DeInterlacing.


The scaling on the VMR9 in my opinion is superior to the Overlay Hardware, at least on ATI and NVIDIA cards. The CPU usage is more or less the same (maybe 5% faster toward overlay using my GF4ti4200, but very small difference).


Unlike the overlay hardware which can only be used once. VMR9 can be used every which way. Which means you can have 2 videos playing at once using hardware scaling, you can have a video playing on a second monitor which doesn't support overlays at all.


Since VMR9 is based on Direct3D, there is no resolution limitation.


The only downside to VMR9 is that it doesn't support overlay color-keying, which is a very simple interface that allows you to overlay non-video data ontop of videos without using any CPU power (useful for OSD and other menu systems).


As far as pixel shaders go... sure, those can be used, but to do really powerful video-DSP, I don't think shaders are up to the task. And programming them is probably not going to be very easy.


The biggest problem right now is driver support. You need to remember that overlay has been out since around 1995 (maybe even sooner) and VMR9 has only been out since DirectX9 has been released (less than a year). And sadly, the display card companies care more games than video, so it may take another 1-2 year for VMR9 to reach it's peak. But even now, I use VMR9 on my NVIDIA card as frankly, NVIDIA's overlay is just plain flawed.



Nich:

On my system (p4 2.53ghz) using VMR9 and the latest ZP build (3.0 RC3), I can play the 6mbit+ Liquid demo at it's native resolution (1280x960, so you get 1:1 pixel mapping) at 50-85% CPU usage, completely smooth.
 

·
Registered
Joined
·
1,235 Posts
From what I've gathered, interlaced video can be used with VMR9 on all Radeon cards with the more recent drivers, which do not allow for interlaced video overlay. According to the Sonic website, if you hope to use VMR9 with the same level of PQ you're used to with overlay, you'd better have a video card that has a fillrate greater than 3.5 gigapixels. I think the Radeon 9800 Pro is the only one around right now with those kinds of numbers.
 

·
Registered
Joined
·
2,541 Posts
The sonic calculations sounds odd. I figure the bandwidth at under 120mb/second when playing 1920x1080 content at 30fps:

1920(width)*1080(height)*2(16bit YUV surface)*30(frames per second).


VMR9 works just great for me playing HDTV content at 1280x720.
 

·
Banned
Joined
·
3,772 Posts
Just some tidbits for those wishing to research this more:


Applications talk to the DirectShow "Filter Graph Manager" to construct graphs out of filter components to render live video on the screens.


If you are trying to "preview" live video from a source like a TV tuner card, or USB camera,

then you would hope that the graph can run in WDM Kernel streaming mode. In Kernel streaming mode the hardware drivers try to send data directly between themselves without involving the host CPU much. Basically the graph gets set up so that the TV tuner card or capture card tries to DMA directly to overlay buffer memory on the VGA card.


If the datastream can't all be done in kernel mode it is forced to be sent to a DirectShow user mode filter for processing. Examples of processing would be a colorspace converter to convert one colorspace (e.g.: YV12) to a format that the video card will accept (e.g.:YUY2 or RGB555).


Most modern VGA drivers support (and advertise) the capability of doing "VGA hardware assisted overlay planes". DirectShow negotiates with the VGA driver to allocate VGA card memory to accept the live video data. The VGA card then manages a "double buffer" seperate from the actual activate display memory ("primary surface"). This is done so that the VGA can overlay text or graphics on top of the video, as well as use the double buffering scheme to avoid tearing artifacts due to a mismatch in refresh rate between the display and input source. The VGA card may also do some other things like resizing, and deinterlacing.


In any case, before XP, and DX9, the old way to set up overlays graphs was with multiple filters. One would attach an "overlay filter" to a "video render filter", and perhaps some other helper filters for closed-captioning and what-not. Well now the VMR filter is a bit of a hybrid filter that takes many common functions and combines them into one. It simplifies graph building if you can use VMR, and it makes it easier for Microsoft to fine tune the interaction between the different components.


All this stuff is dependent upon the device drivers for all the hardware involved.


Data starts at a "source filter", passes through any number of "transform filters", and then gets rendered by a a "sink filter" (render filter)
 

·
Registered
Joined
·
6,653 Posts
Just to clarify, Radeon drivers do allow for an interlaced overlay, when the HDTV adapter is used. I play DVDs at 1920x1080i and 3 of the .wmv clips (snowboarding, indy cars and Confidence trailer) at 1080i with no problems.
 

·
Registered
Joined
·
450 Posts
I have been looking for a thread to explain this - Thanks guys!!!


Seven months have gone by - any new news on the Overlay vs VMR9 front? I imagine the drivers, players, etc have all had newer releases since April!


Thanks
 

·
Registered
Joined
·
405 Posts
Could please one explain also the term SURFACE mode??? I have tried two different Sat programs (WinDVBlive and WatchTV) AND BOTH BY DEFAULT USE THE SURFACE MODE WHICH IN MY 8500ati/dx9 APPEAR AS SCRAMBLED VIDEO..... In both cases I can select OVERLAY mode which clears the picture but then this option seems to mess up with DD5.1 sound which this time looses sync....... Is surface mode a kind of VMR9 or another kind of overlay??? Cat 3.2 drivers are used. Would cat 3.4 or even cat 3.9 make any difference?????
 
1 - 11 of 11 Posts
Status
Not open for further replies.
Top