我需要解碼(解壓縮到位圖)相當小(約1200 * 1200)的JPEG。問題是我需要快速做到這一點。我試過libjpeg,而且速度很慢。我也試過BitmapFactory.decodeByteArray - 它有點快,但還不夠快。什麼是另一種選擇?原生(C++)庫是首選。快速解碼JPEG圖像的方法
P.S.我的JPEG是直接在內存中創建的。
P.P.S.我想知道libjpeg怎麼比BitmapFactory.decodeByteArray慢。
我需要解碼(解壓縮到位圖)相當小(約1200 * 1200)的JPEG。問題是我需要快速做到這一點。我試過libjpeg,而且速度很慢。我也試過BitmapFactory.decodeByteArray - 它有點快,但還不夠快。什麼是另一種選擇?原生(C++)庫是首選。快速解碼JPEG圖像的方法
P.S.我的JPEG是直接在內存中創建的。
P.P.S.我想知道libjpeg怎麼比BitmapFactory.decodeByteArray慢。
嘗試libjpeg的渦輪增壓:http://libjpeg-turbo.virtualgl.org/
剛剛嘗試過。速度與官方libjpeg完全一樣,因爲我的設備不支持NEON(Tegra 2)。 –
從什麼時候開始是爲1200x1200 「非常小」?大多數屏幕只有320x240左右。哎呀,我的桌面只有1280x1024。 (1)製作較小的JPEG(2)只解碼一次並緩存它。 –
好點,其實:)自從我開始使用數碼單反相機以來,我認爲它很小。我正在瞄準平板電腦。現在,對於你的建議:1)試圖(比例因子2) - 性能還不夠,進一步降低分辨率是不可接受的。 2)沒辦法,我需要實時顯示不同的JPEG(或多或少)。 –
關於速度差異; android代碼可能會使用ARM CPU上的一些指令集來比使用CPU的C代碼更快地解碼JPG。 – stealthcopter