gpt4 book ai didi

ios - 创建 AVAssetReaderTrackOutput 时选择的最佳像素格式是什么?

转载 作者:行者123 更新时间:2023-11-29 11:07:43 27 4
gpt4 key购买 nike

我正在编写代码将 MP4 文件中的帧转换为 OpenGLES 纹理,并使用 AVAssetReaderTrackOutput 类来访问像素缓冲区。输出的最佳像素缓冲区格式是什么?现在我正在使用我的旧代码在 OpenGLES 着色器中将 YUV420P 转换为 RGB,因为我以前使用 libav 来提供它。现在我正在尝试使用 AVFoundation 并想知道我的 OpenGLES 着色器是否比将像素缓冲区格式设置为 RGBA 更快,或者我是否应该使用 YUV 格式并与我的着色器保持一致。

谢谢

最佳答案

我想这取决于数据的目的地。如果您所追求的只是传递数据,那么原生 YUV 应该比 BGRA 更快。如果您需要将数据读回 RGBA 或 BGRA,我会坚持使用 BGRA 并使用 OpenGL 纹理缓存而不是 glReadPixels()。

我建议阅读 this SO question 的答案关于YUV方法。引用:

“视频帧在任何情况下都需要进入 GPU:如果您的视频具有 4:2:0 采样色度,使用 YCbCr 可为您节省 25% 的总线带宽。”

关于ios - 创建 AVAssetReaderTrackOutput 时选择的最佳像素格式是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12917537/

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