Overlay problem - chroma keying

Photon under 6.1 enables chroma keying be default, even
if you haven’t requested it using PgConfigScalerChannel.
This behavior was not present in 6.0.

Another problem is that PgGetScalerCapabilities does not
report that the video overlay on my system supports
chroma keying. I have an ATI Rage Pro 128 card and
this problem is present under both 6.0 and 6.1.


Jon

Jon L. Johansen <jon-qnx@nanocrew.net> wrote:

Photon under 6.1 enables chroma keying be default, even
if you haven’t requested it using PgConfigScalerChannel.
This behavior was not present in 6.0.

Strange… I’d expect the opposite to be the case, since
it was broken in 6.0, and a driver bug was fixed for 6.1 so as
to not enable chroma-keying unless it was requested.

Unless you enable Chroma keying, the overlay area should completely
obscure a rectangular area of the desktop, irrespective of what
is drawn on the desktop.

Another problem is that PgGetScalerCapabilities does not
report that the video overlay on my system supports
chroma keying. I have an ATI Rage Pro 128 card and
this problem is present under both 6.0 and 6.1.

I just tried it and it seems to work (the Pg_SCALER_CAP_DST_CHROMA_KEY
flag was set).


Jon

David Donohoe <ddonohoe@qnx.com> wrote:

Jon L. Johansen <> jon-qnx@nanocrew.net> > wrote:
Photon under 6.1 enables chroma keying be default, even
if you haven’t requested it using PgConfigScalerChannel.
This behavior was not present in 6.0.

Strange… I’d expect the opposite to be the case, since
it was broken in 6.0, and a driver bug was fixed for 6.1 so as
to not enable chroma-keying unless it was requested.

Unless you enable Chroma keying, the overlay area should completely
obscure a rectangular area of the desktop, irrespective of what
is drawn on the desktop.

Exactly, and this is how it worked under 6.0.

This is not just a problem I’m having with my code;
the overlay sample available in helpviewer worked
fine under 6.0, but does not work under 6.1.

Just so you don’t start wondering: since the ATI
Rage Pro 128 driver does not support YV12, I’ve
modified the sample to use RGB8888 instead.

If you’d like to have a look at my code, it’s
available at http://nanocrew.net/vlc/vout_qnx.c
Relevant parts begin at line 299 and 795.

Another problem is that PgGetScalerCapabilities does not
report that the video overlay on my system supports
chroma keying. I have an ATI Rage Pro 128 card and
this problem is present under both 6.0 and 6.1.

I just tried it and it seems to work (the Pg_SCALER_CAP_DST_CHROMA_KEY
flag was set).

This was caused by a bug I recently introduced. Still
doesn’t work under 6.0 so this must have been fixed
with the release of 6.1.

Another fix in 6.1 is that PgGetVideoModeInfo now reports
PgVM_MODE_CAP1_VIDEO_OVERLAY, which it didn’t under 6.0.

The constants (Pg_VIDEO_OVERLAY, +) listed in helpviewer
for PgHWCaps_t.card_capabilities (PgGetGraphicsHWCaps)
seem to be missing from the header files.

One last thing, which graphics cards under QNX have
YV12 overlay support?

Thanks.


Jon

Jon L. Johansen <jon-qnx@nanocrew.net> wrote:

David Donohoe <> ddonohoe@qnx.com> > wrote:
Jon L. Johansen <> jon-qnx@nanocrew.net> > wrote:
Photon under 6.1 enables chroma keying be default, even
if you haven’t requested it using PgConfigScalerChannel.
This behavior was not present in 6.0.

Strange… I’d expect the opposite to be the case, since
it was broken in 6.0, and a driver bug was fixed for 6.1 so as
to not enable chroma-keying unless it was requested.

Unless you enable Chroma keying, the overlay area should completely
obscure a rectangular area of the desktop, irrespective of what
is drawn on the desktop.

Exactly, and this is how it worked under 6.0.

Sorry, I was wrong, the chroma-key fix did not make it into 6.1
It will be fixed in the next patch.

However, it was also broken in 6.0. Here’s my theory as to
why it appeared to work :wink:

If you were to run your app (or the helpviewer sample) after
a reboot, it would work fine. However, if you run an app
that used chroma-key (e.g. phplay) then chroma keying gets
enabled in hardware. The bug is that when you subsequently
run an app that does not want chroma-key, the chroma-keying
was not getting disabled in hardware.

This is not just a problem I’m having with my code;
the overlay sample available in helpviewer worked
fine under 6.0, but does not work under 6.1.

Just so you don’t start wondering: since the ATI
Rage Pro 128 driver does not support YV12, I’ve
modified the sample to use RGB8888 instead.

If you’d like to have a look at my code, it’s
available at > http://nanocrew.net/vlc/vout_qnx.c
Relevant parts begin at line 299 and 795.

Another problem is that PgGetScalerCapabilities does not
report that the video overlay on my system supports
chroma keying. I have an ATI Rage Pro 128 card and
this problem is present under both 6.0 and 6.1.

I just tried it and it seems to work (the Pg_SCALER_CAP_DST_CHROMA_KEY
flag was set).

This was caused by a bug I recently introduced. Still
doesn’t work under 6.0 so this must have been fixed
with the release of 6.1.

Another fix in 6.1 is that PgGetVideoModeInfo now reports
PgVM_MODE_CAP1_VIDEO_OVERLAY, which it didn’t under 6.0.

The constants (Pg_VIDEO_OVERLAY, +) listed in helpviewer
for PgHWCaps_t.card_capabilities (PgGetGraphicsHWCaps)
seem to be missing from the header files.

I’ve just filed a PR about this.

One last thing, which graphics cards under QNX have
YV12 overlay support?

Right now it’s just 3dfx, as far as I know. We plan to add YV12 support
to our ATI drivers next.

Dave