2011-10-12 15 views
7

मुझे डीकोड (बिटमैप में अनपैक) बहुत छोटा (लगभग 1200 * 1200) जेपीईजी की आवश्यकता है। समस्या यह है कि मुझे इसे जल्दी करने की ज़रूरत है। मैंने libjpeg की कोशिश की है, और यह काफी धीमी है। मैंने BitmapFactory.decodeByteArray भी कोशिश की है - यह थोड़ा तेज़ है, लेकिन अभी भी पर्याप्त तेज़ नहीं है। एक और विकल्प क्या हैं? एक मूल (सी ++) पुस्तकालय बहुत पसंद है।जेपीईजी छवि को डीकोड करने का तेज़ तरीका

पीएस मेरे जेपीईजी सीधे स्मृति में बनाए जाते हैं।

पी.पी.एस. मुझे आश्चर्य है कि libjpeg कैसे BitmapFactory.decodeByteArray की तुलना में धीमी है।

+4

जब है 1200x1200 "बहुत छोटा" के बाद से? अधिकांश स्क्रीन केवल 320x240 या तो हैं। बिल्ली, मेरा डेस्कटॉप केवल 1280x1024 है। (1) एक छोटा जेपीईजी बनाएं (2) केवल इसे एक बार डीकोड करें और इसे कैश करें। –

+0

अच्छा बिंदु, असल में :) मैं इसे छोटा मानता हूं क्योंकि मैंने डीएसएलआर के साथ काम करना शुरू कर दिया था। और मैं टैबलेट को लक्षित कर रहा हूं। अब, आपके सुझावों के लिए: 1) कोशिश की कि (स्केल फैक्टर 2) - प्रदर्शन अभी भी पर्याप्त नहीं है, संकल्प में और कमी अस्वीकार्य है। 2) कोई रास्ता नहीं, मुझे रीयलटाइम (अधिक या कम) में विभिन्न जेपीईजी प्रदर्शित करने की ज़रूरत है। –

+0

गति अंतर के संबंध में; एंड्रॉइड कोड सीआर का उपयोग कर सी कोड की तुलना में जेपीजी तेज़ी से डीकोड करने के लिए एआरएम सीपीयू पर कुछ निर्देश सेट का उपयोग करेगा। – stealthcopter

उत्तर

3

libjpeg टर्बो का प्रयास करें: http://libjpeg-turbo.virtualgl.org/

+1

बस कोशिश की। गति बिल्कुल आधिकारिक libjpeg के समान ही है, क्योंकि मेरा डिवाइस नीयन (टेग्रा 2) का समर्थन नहीं करता है। –

संबंधित मुद्दे