[cairo] Using cairo/pixman for raw video in GStreamer

Koen Kooi k.kooi at student.utwente.nl
Sat Sep 12 00:53:36 PDT 2009


On 11-09-09 19:02, Benjamin Otte wrote:

> 1) "This is never gonna be fast enough"
> I don't see why. Most of the operations people care about are just
> memcpys and pixman is very good at detecting them and making them
> fast.

On the platforms I'm working on (ARM SoCs with 'video' hardware) 
everything that even resembles a memcpy is going to be slow. The 
effective DDR bandwidth is about 300MiB/s that is shared with the 
framebuffer.
When using video there are a few things helping us:

* Overlays that support YUV in hardware (with an XV driver)
* Overlays that support scaling in hardware (with an XV driver)
* NEON optimizations for various things in software

And sometimes we even have a DSP to do the hard things for us (bitstream 
parsing, frame decoding), but even then you need to really take care not 
to do a memcpy, so you point the framebuffer pointer to the frame 
decoded by the DSP instead of copying it.

I'm a high level kind of guy, so my question is: are such optimizations 
still possible with your proposal?

regards,

Koen



More information about the cairo mailing list