Hello Bastiaan,

Thursday, November 23, 2006, 4:03:15 PM, you wrote:

BJ> On Tue, 2006-11-21 at 23:24 +0100, Udo Giacomozzi wrote:
>> Just pass a RGB(A) buffer to the renderer sounds like a simple
>> solution to me.

BJ> So how does one currently pass an RGB(A) buffer to the renderer?

I have to correct myself. "pass a RGB buffer to the renderer" is not
quite correct. I suggest this:

  render_handler::draw_YUV_frame(YUV_video *v, const rect* bounds);

which, by default (render_handler.c), could convert the data to RGB
and call: 

  render_handler::draw_RGB_frame(image::rgb* im, const rect* bounds);

A render handler capable of hardware accelerated YUV playback (OpenGL)
could overwrite the draw_YUV_frame() method with a direct
implementation. Other render handlers (AGG, Cairo) just have to deal
with a simple RGB buffer.

Instead of image::rgb we could also use a plain byte buffer
(unsigned char*). Don't know which would be better.

The YUV_video class is not very clear to me, I suppose it can give the
data for the current frame.


Udo



_______________________________________________
Gnash-dev mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/gnash-dev

Reply via email to