是否可以使用GLSL着色器实现视频编解码器,如果可行的话,它会比cpu编解码器更有效吗?
答案 0 :(得分:3)
由于GPU是并行处理器,因此编解码器必须设计为利用管道。编解码器是编码器或解码器,着色器是顶点或片段。
管道架构(堆栈图)将是:
设计应尽可能多地将工作推送到顶点着色器中,以实现高效的并行性。四叉树算法可能是隔离片段的好选择。
实现取决于GPU目标。 Khronos Vulkan芯片组(GL5 +)特别适合这个问题,允许使用多线程管道。
高端GPU编解码器实现可以轻松胜过某些硬件编解码器,并且肯定会打破任何类似的CPU编解码器(软件编解码器)。
专用硬件最终将获胜。任何好的GPU编解码器都可以作为更快的硬件编解码器的模型,就像一个好的软件编解码器可以成为更快的GPU编解码器一样。
答案 1 :(得分:0)
嗯,所有巡演完整系统都能够完成同样的事情,唯一的区别是速度和效率。因此,如果您将此问题读作“GLSL着色器巡回演出完成了吗?”答案可以在这里找到:
Are GPU shaders Turing complete
TLDR; Shader model 3.0是的 其他人可能(但可能没有)
至于效率更高,可能不是。其他GPGPU / CUDA / SIMD很可能会更好。