我已经成功将libavcodec库导入到一个iPhone应用项目中,我用它把一个电影文件解码成YUV420P数据,这样我就可以得到电影的所有帧,然后将它们转换成RGB数据,这样就可以显示出来了OpenGL ES。
电影可以成功播放,但是由于从 YUV 到 RGB 的转换以及 OpenGL (glDrawArrays) 的显示方法很慢,所以速度很慢。
有没有更聪明的方式来播放视频(假设电影必须由 libavcodec 解码)?喜欢直接显示 YUV 还是转换成可以直接显示的类似 YUV 的数据?或者其他比 glDrawArrays 更快的显示方法?Core Graphics 可以加载 YUV 数据吗?