gpt4 book ai didi

c++ - 使用 OpenGL 显示 YUY2 (Y'UV422)

转载 作者:行者123 更新时间:2023-11-30 05:39:20 26 4
gpt4 key购买 nike

我有一个 YUY2 像素格式帧的视频流,我想将它显示给用户。如果我要在 Qt5 的 QLable 中显示它,我需要先将它转换为 RGB,这非常慢(我想除非你使用 ffmpeg/libav 系列库)。

所以我认为使用 OpenGL/OpenGLES 将 GPU 加速转换为 RGB24/RGB32(如果需要的话)并显示它会快得多。但是我该怎么做呢?据我了解,编写它并不容易,尤其是对于不太熟悉 OpenGL、着色器和纹理的人来说。您可以假设我有一个 char* pixelDatasize_t bytes, width, height

最佳答案

总体思路是使用 3 个纹理,1 个(全分辨率)用于 Y 分量,2 个(半宽)用于 Cb 和 Cr。

然后您编写一个片段着色器,在相同的归一化坐标处对所有 3 个纹理进行采样,并使用矩阵 here将 YUV 转换为 RGB。

关于c++ - 使用 OpenGL 显示 YUY2 (Y'UV422),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32422092/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com