快速解码JPEG图像的方法
问题描述:
我需要解码(解压缩到位图)相当小(约1200 * 1200)的JPEG。问题是我需要快速做到这一点。我试过libjpeg,而且速度很慢。我也试过BitmapFactory.decodeByteArray - 它有点快,但还不够快。什么是另一种选择?原生(C++)库是首选。快速解码JPEG图像的方法
P.S.我的JPEG是直接在内存中创建的。
P.P.S.我想知道libjpeg怎么比BitmapFactory.decodeByteArray慢。
答
尝试libjpeg的涡轮增压:http://libjpeg-turbo.virtualgl.org/
+1
刚刚尝试过。速度与官方libjpeg完全一样,因为我的设备不支持NEON(Tegra 2)。 –
从什么时候开始是为1200x1200 “非常小”?大多数屏幕只有320x240左右。哎呀,我的桌面只有1280x1024。 (1)制作较小的JPEG(2)只解码一次并缓存它。 –
好点,其实:)自从我开始使用数码单反相机以来,我认为它很小。我正在瞄准平板电脑。现在,对于你的建议:1)试图(比例因子2) - 性能还不够,进一步降低分辨率是不可接受的。 2)没办法,我需要实时显示不同的JPEG(或多或少)。 –
关于速度差异; android代码可能会使用ARM CPU上的一些指令集来比使用CPU的C代码更快地解码JPG。 – stealthcopter