Optimization idea: soft XvPutImage
sandmann at daimi.au.dk
Sun Sep 21 04:58:34 PDT 2008
Adam Richter <adam_richter2004 at yahoo.com> writes:
> Even if you do not want to do stretch, I believe that the X Render
> extension would require first copying the YUV data to a drawable and
> then doing a drawable->drawable block transfer operation to do the
> YUV transformation. In comparison, XvPutImage is a single call
> takes an XImage, which can be in shared memory, and would normally
> be in YUV, and specifies the YUV->RGB conversion and stretch in a
> single operation.
As other people pointed out, XRender does allow arbitrary 3x3
transformations of source images, but you are right that the XRender
protocol would require putting the data in a drawable first.
A shared memory pixmap would be a possibility, perhaps, though the
shared memory extension should eventually be replaced with something
based on the DRM memory manager.
More information about the xorg