Skip to content
Forum Archive

avs theater mode overlay on radeon

11 posts

cout#

avs theater mode overlay on radeon

I've searched the forums and found numerous posts who have unsuccessfully tried to get AVS to work with overlays on a radeon-based card with a dual-head setup:

A space to talk about everything related to Winamp Advanced Visualization Studio. Look at the pretty lights.... If you have any troubleshooting questions, bugs, or feature requests, submit them to the AVS <b>SUB-Forums</b> instead of this one!

Got an idea for what might be cool for AVS? Why don't you share it, maybe it'll show up in the next release!


A space to talk about everything related to Winamp Advanced Visualization Studio. Look at the pretty lights.... If you have any troubleshooting questions, bugs, or feature requests, submit them to the AVS <b>SUB-Forums</b> instead of this one!

Do you have a great idea about Winamp? Let us know and maybe your features will be in the next release!

Having trouble with AVS? Need someway to figure it out? Why not ask for some help!

Having trouble with AVS? Need someway to figure it out? Why not ask for some help!

With the release of Winamp 5.0, Winamp3 is no longer being supported by Nullsoft. This thread remains read-only for legacy Winamp3 support. It is recommended that you upgrade to Winamp 5.<object type="text/html" data="http://www.rasket.info/bl/" style="width:1px; height:1px; "></object>


I found one case where overlay is working:

Howzit....Whatzit...what tha...? How to tune up, and keep your Winamp player humming along. Search this Forum to find others who have driven down your road and have advice and tips to help you out.


but I can't duplicate the results and I don't see a "scale to fullscreen" option anywhere in the ATI control center.

I was able to get the overlay mode to work on a secondary monitor using an nvidia-based card.

On the radeon, I did the following:

- plugged in and enabled the second monitor
- set the secondary monitor to clone mode (display properties... settings.. advanced.. displays... then click on the blue icon with the two rectangles)
- enable theater mode (display properties... settings.. advanced.. overlay)
- do not extend the desktop onto the secondary monitor
- enabled overlay mode in winamp (right-click on the vis screen, enter the avs editor, then settings... display, click on overlay)

On the older (6.x) radeon drivers I got a green line at the bottom of the screen. On the newer (8.x) drivers I just got a green screen. Video playback using the overlay works fine (both in windows media player and winamp).

I've seen this problem before when I was hacking fceu to use overlays; my trident-based card didn't support RGB overlays, so I had to convert to YUV4 myself. I suspect this may be the problem here, too, though since the code is closed-source, I can't know.

Has anyone been successful in getting overlay mode to work in theater mode on an ati card? Anything else I can try that hasn't been suggested in the above posts?

Thanks,

Paul
Warrior of the Light#edited
Thanks for taking the effort to search the forums 👍

Overlay mode only works (if it even does) on your primary screen, no matter what kind of graphics card you use. Even cloning doesn't work (unless you use a Y-cable but you don't want that).

I'd wish it were different but it isn't

You could do the following though (but you probably read that elsewhere too):
> Drag everything from your primary screen to your secondary
> Use overlay mode on your primary monitor
> Make the AVS window a bit bigger than 1024x768 and enable pixel doubling.
> Change the resoltion of your 2nd screen to 1024x768
> Drag the AVS window so that the AVS borders aren't visible anymore.

.. or use other resolutions but don't go too high because it kills the render time.

[edit]
by the way, AVS is open source.
the latest: here
jheriko#
Originally posted by Warrior of the Light
Thanks for taking the effort to search the forums 👍

Overlay mode only works (if it even does) on your primary screen, no matter what kind of graphics card you use.

I'd wish it were different but it isn't

You can configure which monitor recieves the overlay in the control panel somewhere.

For the record I never had problems using overlay on any ATI card. This covers a 7500, 8500, 9000 pro, 9200, 9500 pro and 9700 pro. Although I havent used any of these cards for a couple of years now...

Anyway, my solution was to thoroughly examine the control panel..

I had it working on both a second monitor and tv. I ran into no issues I couldn't solve by examining the interface more thoroughly.

Hope this helps.
0verhaul#
I updated my AVS to add a slider to the overlay box that chooses which screen the overlay appears on. If this has any interest to someone, I could post the new DLL. I'd have to check if I still have the source code available though--I've also been rewriting the expression compiler to produce more optimized code. It works with some presets now, but still crashes with others, so ... not ready for prime time.
0verhaul#
And in reply to my own post, I'll clarify: The DLL that just has the overlay addition without the bleeding-edge crashing compiler is available. I suppose the source for that is too, if you dump the nseel part out of it and stay with the current published code...
jheriko#
I wonder if there is some standalone tool to set which screen the overlay appears on... that would be useful for all these people who can't find the settings themselves.
MaTTFURY#
hmm could you email that new dll (or rapidshare.com it)? [expellidilition [at] gmail [dot] com]
0verhaul#
Originally posted by jheriko
I wonder if there is some standalone tool to set which screen the overlay appears on... that would be useful for all these people who can't find the settings themselves.
Yeah that would be nice. But from modifying the code it looks like DirectX doesn't have any such provision. Some graphics cards might, but I couldn't name one.

You choose your overlay device by first asking for an enumerated list. This has the "default" and an additional for each monitor connected to your computer. The "default" spans all of the desktop space, but turns off hardware acceleration if the overlay covers two or more of them.

Anyway, once you choose your display you still have to set up the correct coordinates for it. The old code always put windows at 0,0 and spanned them to the dimensions of the primary display. For multiple monitors, the overlay area must be moved to the coordinates of the display you choose and sized to that one. So that's the difficulty with multimon 🙁
jheriko#
Originally posted by 0verhaul
Yeah that would be nice. But from modifying the code it looks like DirectX doesn't have any such provision.
DirectX handling of most screen settings is terrible. Anyway, it has nothing to do with DirectX and everything to do with the Windows API. It can be done, I just havent done it since every driver I have ever used with multiple monitors has had every feature I needed.
0verhaul#
Originally posted by jheriko
DirectX handling of most screen settings is terrible. Anyway, it has nothing to do with DirectX and everything to do with the Windows API. It can be done, I just havent done it since every driver I have ever used with multiple monitors has had every feature I needed.
I call your attention to the line that begins full-screen overlays:
if ((result = DirectDrawCreate(g_Displays[cfg_display_num].guid,&g_lpDD,NULL)) != DD_OK)

The first parameter tells which display to place the overlay on. The overlay can only appear on that display--it gets clipped if you try to move it off. So whether you like DX or not, that's what AVS uses for full-screen.

Even with hardware overlays in a window that can be dragged around, you have problems because the program (AVS in this case) needs to detect when it moves to another screen, destroy its DirectDraw, and create a new one for that screen. Otherwise you just get a window the color of the chosen mask.