According to libva document
Surfaces are bound to a context if passing them as an argument when
creating the context.
Seeing intel-vaapi-driver code, the surfaces are just stored in
A surface processed by
vaBeginPicture()-vaRenderPicture()-vaEndPicture() are specified in
It looks like a surface can be processed using a context by being
specified in vaBeginPicture(), even if it is not bound to the context.
Here, my questions are below.
What is the advantage of binding?
In what circumstances do we need to associate the context with surfaces?
In which scenarios passing surfaces to vaCreateContext is required,
and in which it is not?
We are porting intel-vaapi driver and libva to vxworks 7. Vxworks7
provides libdrm2.4.74 and i915 and DRM driver for intel E3825 SOC. We try
to achieve H264 encoding. But encoded video we are getting is corrupted. Is
there any pointer we can debug ?