[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Gnash-dev] Re: [Gnash-commit] Renderer transparency

From: Bastiaan Jacques
Subject: [Gnash-dev] Re: [Gnash-commit] Renderer transparency
Date: Thu, 28 Aug 2008 23:30:20 -0700 (PDT)
User-agent: Alpine 1.00 (DEB 882 2007-12-20)

On Fri, 29 Aug 2008, Benjamin Wolsey wrote:

revno: 9648
committer: Benjamin Wolsey <address@hidden>
branch nick: trunk
timestamp: Thu 2008-08-28 21:59:28 +0200
  Convert VP6A video to image::ImageRGBA. This only succeeds with SwScale,
  not with older versions of ffmpeg.

  Make renderers accept but ignore RGBA data. It is easy to get agg to render
  the RGBA images, slightly harder to get it to handle both RGB and RGBA, and
  so far I don't see how to get it to handle transparency correctly.

Can anyone sort out renderer transparency handling? There are now lots
of occasions when transparency is needed and displaying it either isn't
implemented or often looks rubbish. At the moment, most of the code for
reading and using transparent images is there in the core, but the
renderers can't handle it.

I can probably do that.

With video, RGBA images will display if, in
render_handler_agg::drawVideoFrame(), you change line 453,

   typedef agg::pixfmt_rgb24_pre baseformat;


   typedef agg::pixfmt_rgba32_pre baseformat;

But they are solid, and obviously it ruins display of rgb images. I
can't be sure that the transparency information is read correctly by
ffmpeg, but I can be sure that changing the alpha element makes no
difference to the display.

Display of transparent bitmap characters (e.g. dynamically loaded PNG)
is still waiting to be corrected too. This works but is faulty. Again,
it might be the way the alpha data is read and not the fault of the
renderer (though I don't think so), but until someone familiar with the
renderer code looks at it, I won't know. I assumed that being able to
load PNG images directly, as is possible since a couple of weeks ago,
would make testing and debugging easier.

You can also just write a small method that writes out your RGBA data to
XPM or similarly simple image form to test that the data is correct.

There are various open bug items related to this.

It is necessary to have a version of ffmpeg with swscale for decoding
VP6A video to RGBA.

I take it you don't want to convert this to RGB24 for efficiency reasons?

I can provide useful SWFs for testing, ming source code and videos if
anyone is interested in doing it. It would be very good to have it for
the next release.

That would be very useful.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]