HellBlood
HellBlood

Reputation: 31

Render VAAPI surface with using OpenGL?

My project is to use the VAAPI hardware acceleration linked with FFmpeg.

I managed to decode with VAAPI however I would like to be able to display the video coming out of VAAPI using OpenGL.

Are there functions that allow this?

I know that for that you have to play with VAAPI's surface VASurfaceID but I do not see how...

Upvotes: 1

Views: 1848

Answers (1)

Min
Min

Reputation: 463

You can use functions vaCreateSurfaceGLX(), vaCopySurfaceGLX() and vaCopySurfaceGLX() for that purpose. There is other alternatives using DRM and EGL, but in my opinion are much more difficult to achieve. You can find an example using EGL in mpv source code.

Upvotes: 1

Related Questions