我对使用Android MediaCodec进行解码并将YUV数据通过Surface传输到OpenGL纹理有一定的了解。我希望能够用Vulkan实现类似的功能,但是我没有找到任何相关的文档或样例代码。
我的问题是:我应该如何连接以下的处理流程?
MediaCodec Video Decoder ⇨ Surface ⇨ texture ⇨ Vulkan
详细信息
- 视频解码器使用MediaCodec# configure 配置。
- Surface 是 Android Surface (API链接,架构链接)。
OpenGL 比较
为了进行比较,在 OpenGL 的情况下,Android Surface 就像这样构建和使用:
textureId = glGenTextures( &textureId )
surface = new Surface( new SurfaceTexture( textureId ) )
mediaCodec.configure( surface )