A-O-A,
I am giving overlay support in my display driver. I am allocating system
memory for creating overlay support. I am able to successfully copy overlay
over the primary surface. Currently I am just copying the overlay over the
primary surface without stretching. Can any one tell me the algorithm that
is used for overlay stretchblitting. Waiting for the response.
Also IF some one can solve these Problems:
-
I am copying and pasting the overlay to the primary surface in the
diaplay driver (I mean in the software). I am simply blitting the overlay
using memcpy to the primary surface. When I see the final frame, it shows
the video frames but very crude. I mean, I know that I have to do
stretchBlt, but the problem is, the frames are so crude, I doubt it doesn’t
have the color information. I just want to know, whether I have to do some
thing more other than Blitting. I mean should I have to do something for the
colors as well.
-
I have created two DirectDraw heaps and set their attributes in
DrvGetDirectDrawInfo. I have declared one heap for overlay use and the
second one as offscreenplane. The problem is, when DdUpdateOverlay is
called, the Source surface is the surface for which I have set the
OffScreenPlane attributes and not the other surface which was actually
declared to be used as overlay. Also It is not being refered in any call
made by DirectDraw. If you have any idea, please help me.
-
on http://www.hauppauge.com/pages/faq/support_faq_vgainfo.html, it is
written:
If you use a graphics card that does not have this support (Overlay Surface
support), you can use Primary Surface type of Overlay. Primary Surface still
requires Direct Draw and Direct X support, but the overlay will be processed
in the primary video buffer since the card does not have an Overlay buffer.
the question is how could we use Primary Surface type of Overlay. I hope
someone
can explain these better.
Regards,
Asif
Ok, as someone else mentioned, if you don’t HAVE to support this particular
DVD player application, there are others that do DVD playing without
overlay, and that may be a better option.
-
So what format does your overlay data come in as? It could be that your
copy is not done correctly. I don’t think it’s your task to stretch the
data to the size it’s intended for, as I’m pretty sure that the data given
to the driver is the correct size already. However, it may be that the
format of the overlay isn’t RGB, but some other format, and that will
obviously cause all sorts of “interesting” effects if the data is
interpreted as RGB, but really is some other format. I believe it may be
16-bit YUV encoded, but I could have that all wrong, as I work mostly with
the 2D (GDI) side of our driver.
-
Don’t know how this part of the driver works, and I’m sorry to say that
I’m not going to dig through the DirectX driver to figure out, it’s a bit
too big.
-
Don’t really know. We have hardware for this purpose, so it’s not a
problem in our driver.
–
Mats
xxxxx@lists.osr.com wrote on 02/07/2005 10:04:57 AM:
A-O-A,
I am giving overlay support in my display driver. I am allocating system
memory for creating overlay support. I am able to successfully copy
overlay
over the primary surface. Currently I am just copying the overlay over
the
primary surface without stretching. Can any one tell me the algorithm
that
is used for overlay stretchblitting. Waiting for the response.
Also IF some one can solve these Problems:
-
I am copying and pasting the overlay to the primary surface in the
diaplay driver (I mean in the software). I am simply blitting the overlay
using memcpy to the primary surface. When I see the final frame, it shows
the video frames but very crude. I mean, I know that I have to do
stretchBlt, but the problem is, the frames are so crude, I doubt it
doesn’t
have the color information. I just want to know, whether I have to do
some
thing more other than Blitting. I mean should I have to do something for
the
colors as well.
-
I have created two DirectDraw heaps and set their attributes in
DrvGetDirectDrawInfo. I have declared one heap for overlay use and the
second one as offscreenplane. The problem is, when DdUpdateOverlay is
called, the Source surface is the surface for which I have set the
OffScreenPlane attributes and not the other surface which was actually
declared to be used as overlay. Also It is not being refered in any call
made by DirectDraw. If you have any idea, please help me.
-
on http://www.hauppauge.com/pages/faq/support_faq_vgainfo.html, it is
written:
If you use a graphics card that does not have this support (Overlay
Surface
support), you can use Primary Surface type of Overlay. Primary Surface
still
requires Direct Draw and Direct X support, but the overlay will be
processed
in the primary video buffer since the card does not have an Overlay
buffer.
the question is how could we use Primary Surface type of Overlay. I hope
someone
can explain these better.
Regards,
Asif
Questions? First check the Kernel Driver FAQ at http://www.
osronline.com/article.cfm?id=256
You are currently subscribed to ntdev as: xxxxx@3dlabs.com
To unsubscribe send a blank email to xxxxx@lists.osr.com
ForwardSourceID:NT0000C44A