[Libva] [PATCH 00/16] libva: wayland support

Gwenole Beauchesne gb.devel at gmail.com
Wed Jun 27 08:43:27 PDT 2012


Hi,

2012/6/27 Zhao, Halley <halley.zhao at intel.com>:
> It is not a temporary VA surface, but reuse the region of render_state ( it is not perfect but works).

Please don't use render_state, that's generally a bad idea. Besides,
there are at least two problems with this approach: (i) if consecutive
source VA surfaces have different size, then you reallocate the
buffer, (ii) even for two VA surfaces of same size, you would
overwrite the buffer, so you won't get the expected rendered contents.

Really, vaGetSurfaceBufferWl() only needs to expose the VA surface
buffer as is, without conversion whatsoever. If source VA surface is
YUV, wl_buffer is YUV, if it is RGB, then it is RGB. If the client
application wants an RGBA format, (i) it knows about it and controls
it, (ii) it uses VA/VPP to perform the color-conversion to that
format, and assures the lifetime of the RGBA VA surface.

Regards,
Gwenole.


More information about the Libva mailing list