Optimization idea: soft XvPutImage
sandmann at daimi.au.dk
Fri Sep 19 05:39:42 PDT 2008
Adam Richter <adam_richter2004 at yahoo.com> writes:
> I want to suggest a way we could eliminate a substantial
> amount of data copying when playing video on X servers that do not
> provide hardware video windows, including servers that offer the X
> shared memory extension. In common situations, I suspect that this
> could reduce memory bus utilization for playing video by more than a
> factor of two.
It is not a bad idea, and I agree it would be useful in some common
cases. A straigtforward implementation would be to simply add YUV
support to the XRender extension. I believe there is consensus that
this would be a useful thing to have.
Pixman, the software implementation of XRender already has support for
YUV formats, so all that is really required is to just export YUV
picture formats through the XRender protocol. One issue is that it is
somewhat unclear how you can *write* to the YUV formats, but XRender
already other types of read-only pictures, so maybe a YUV picture
should just be source-only.
The software implementation is quite slow currently, but there is MMX
code somewhere, that could be dusted off and made to work.
More information about the xorg