2010-11-18 78 views
0

我使用ffmpeg解码视频,将它从yuv420色彩空间转换为rgba色彩空间,并将其转换为CGImage并将其呈现在屏幕上。视频播放正确。使用仪器时,我看到三分之一的CPU周期用于另一次转换(函数名为CGSConvertBGRX8888toRGBA8888)为什么需要第二个色彩空间转换,以及为什么没有转换如果我加载例如PNG图像并以相同方式绘制?在iOS中的CGImage渲染

代码为CGImage创造:

http://pastebin.com/CqePhPzG

谢谢!

回答

0

看起来像源图像的字节顺序不符合目标。另外,我相信X是非预乘α,而A是预乘α。尝试更改创建图像或位图图像上下文时通过的字节排序设置。 HTH。