Media (Intel® oneAPI Video Processing Library, Intel Media SDK)
Access community support with transcoding, decoding, and encoding in applications using media tools from Intel. This includes Intel® oneAPI Video Processing Library and Intel® Media SDK.

Linux Surface sharing (intel/vaapi)


Hi all,

I'm wokring in linux and I have a encoder/decoder that it is encoding and decoding good. Now, I want to perform a HW render so, I want to share the surfaces. I'm getting the surface from the MemID from Intel and I create all the necessary stuff to set up the VASurfaceID in VAAPI but it always returns invalid VASurfaceID.

I have perform the same idea under windows using DXVA and it works perfectly, So, there is any clue about why using VAAPI when vaCopySurfaceGLX function is executed to copy the VA surface to VA/GLX surface it returns bad VASurfaceID?

Also, I have checked the samples  which use VAAPI (va/X11) and the surface identifiers are the same, so I think I getting the surface information from Intel ok. This samples are working ok.

Thanks in advance!


0 Kudos
2 Replies

I resolve that error, it was related with the VADisplay I was using.

But now, I have another problem... could it be used with va-glx? I getting this error:

intel_do_flush_locked failed: No such file or directory

I'm using CentOS.. is this error releated with openGL support or something?.



Hi Frenando,

Great you got the surface sharing working.
You have asked same question asked on a new thread, need more information about the application. Please provide the required information there to debug. I am closing this thread to avoid duplicates.