For Windows and converting of ID3D11Texture2D
textures to OpenGL
in GPU is described in https://stackoverflow.com/a/79577300/1468775.
For Linux and VAAPI
and VDPAU
hw decoders: decoded AVFrame
returns VdpVideoSurface or VASurfaceID and you would need to use some dedicated API to transfer data to OpenGL
textures.
For Android and mediacodec
, there is android/graphics/SurfaceTexture which can use AVMediaCodecBuffer returned from AVFrame
.