PDA

View Full Version : tv-out graphics overlays possible?


azriel99
07-07-05, 09:23 PM
Gidday

I am using directX to draw graphics overlays on mpeg video using a Geforce4 MX4000. I would like the graphics to appear on the TV-OUT but can only get it showing on the monitor. Does anyone know if the TV chip supports graphics overlays?

Can anyone recommend a video card that can do this?

I hear good things about the NVIDIA Quadro FX 4000 SDI, but is there a less expensive card available?

yooyo
07-08-05, 01:32 PM
Well, this is a difference between gamers and pro cards.
With QuadroFX 4000 SDI and OpenGL API you should be able to control graphics overlay. You can't do that using DirectX because DX API interface is not designed for such purpouses.

yooyo

azriel99
07-12-05, 07:58 AM
thanks yooyo, could you explain technically why directx can't and openGL can? Also, is there a cheaper card that could do the job???

yooyo
07-12-05, 09:04 AM
OpenGL have extensions support, so API can be easly extended with new features.
On other side DX is fixed by MS.
With following OpenGL extensions you can fine control of output.
Check this:
http://www.nvidia.com/object/IO_10753.html
http://www.cs.unc.edu/Research/stc/FAQs/nVidia/FrameLock-V1.0C.pdf

On cheap card you can try to enable dualview and create fullscreen window on second head and then draw whatever you want. But in this case, your TV-out is not synced with other external video hardware and you have to deal with interlace problems. Anyway.. all this depends on what you want to do. Is this proffesional app or just simple player?

yooyo

azriel99
07-13-05, 12:47 AM
ahh it is budget professional :D
The beauty of using full-screen mode to me is that you can still use the windows desktop whilst playing-out. Which is very handy indeed.
A guy in another forum said there is NO video card that does overlays on its TV-Out, so I guess I'm stuck!

So I guess I will have to use simple clone mode and play fullscreen on the desktop. Is this how the professionals do it? I believe the 'playbox' system does it this way.

;) Yes there is some slight compatibility problems with tv-out and other video equip - when you switch back to proper video the color washes around for a couple of seconds. :afro2: but eventually settles down.

zachary
07-13-05, 10:14 AM
Just FYI guys, I'm quite sure overlay is possible on tv-out. I don't use windows so I can't help you with specifics, but I do it on my linux box all the time. I did it on my old 4mx and it works fine on my 6200 as well.

ricercar
07-14-05, 04:07 AM
Set the TV out as the primary display, and turn off any secondary displays to get overlays on TV.

azriel99
07-14-05, 04:20 AM
Thanks ricercar, I have tried setting the TV to primary in 'clone mode' - but will try now TV in 'single display mode'.

I guess it makes controlling the PC rather difficult, when playing full-screen video to the TV (with overlays hopefully!) but without a windows desktop to use... anyway around this problem? I mean, is it even possible to break-out of a video playing full-screen???

azriel99
07-14-05, 09:13 AM
Yeeeeep that works quite nicely - overlay text does appears on tv-out! :p :D :cool:

However I will obviously have to play fullscreen on the desktop to get fullscreen video on the TV, which is a bit of a shame as I would like to be able to work on the desktop whilst video is playing on TV. :(

As I understand it Windows VMR can render text and such WITHIN the video stream, so maybe I could use that and overlay text WOULD appear in the full-screen TV-out in clone mode, because the text would be an integral part of the video image. Does that sound right? :confused:

ricercar
07-14-05, 08:33 PM
I'm glad this worked for you!

Now that you have overlay working on primary TV, try activating a secondary desktop on the DVI port. Restore to TV alone, and then try activating the VGA port.

Rationale
Some of my NVIDIA cards allow <overlay on the TV out> only while using a DVI for secondary display of Windows desktop. Other cards allow <overlay on the TV> only while using a VGA for secondary display of Windows desktop. Maybe your card can do TV overlay plus extended desktop with only a specific other port.

HYPOTHESIS
<TV as primary with overlay> may be determined by the OEM's implementation of the NVIDIA reference design. Some OEM cards implement nView TV with only DVI, some can do TV+VGA, while some cards have a 'floating' TV port that can do both nView configurations. It follows that the hardware overlay capabilities may have some restrictions based on this kind of OEM implementation of the TV port.

YMMV.

azriel99
07-15-05, 03:46 AM
hey slow down there! I'm using a Geforce MX4000 - it ain't got any DVI ports! No mileage to be got outta that! ;)

OK my plan now is to buy a GeForce 6600 256MB AGP and use Direct-X VMR-9 to play my videos with overlays and all that fancy jazz. Hopefully I can get it to display all this full-screen on TV-out and keep using the desktop. But if have to play fullscreen on the desktop it's not a huge problem either.

Can anyone recommend a better card to buy? Geforce 7800 is a bit too pricey, but looks damn nice... :eek:

P.S. Thanks for everyones help, I understand the problem much better now.

yooyo
07-15-05, 05:40 AM
This is most annoying thing on todays graphics cards. You can play video's but you can't render 3d graphics into overlay. Looks like this part of API is hidden or not well documented. I don't understand why is not possible to create 3D context (OpenGL or D3D) and make it as overlay, so when it's active it should behave just like classic overlay during video playback (shown on TV output.)

Today, only way to show something on TV-out (using overlay) by yourself is to create FilterGraph, add your custom source filter and VMR or (OverlayMixer + VideoRenderer). In custom filter you have to deliver frame to out pin. In case of 3d graphics this mean, readback backbuffer in system memory and deliver this sample to VMR.

I think this solution is used in WinAmp AVS, when you enable Overlay mode. Just do it and take look on TV.

yooyo