मीडिया कोडेक

Android 10 (एपीआई लेवल 29) और इसके बाद के वर्शन में, MediaCodecInfo में ऐसे तरीके मौजूद हैं जिनसे कोडेक के बारे में ज़्यादा जानकारी मिलती है:

isSoftwareOnly()
अगर कोडेक सिर्फ़ सॉफ़्टवेयर में चलता है, तो यह फ़ंक्शन true वैल्यू दिखाता है. सॉफ़्टवेयर कोडेक, रेंडरिंग की परफ़ॉर्मेंस की कोई गारंटी नहीं देते.
isHardwareAccelerated()
अगर कोडेक को हार्डवेयर की मदद से तेज़ी से डिकोड किया जाता है, तो यह फ़ंक्शन True वैल्यू दिखाता है.
isVendor()
अगर कोडेक, डिवाइस वेंडर ने उपलब्ध कराया है, तो यह true दिखाता है. अगर कोडेक, Android प्लैटफ़ॉर्म ने उपलब्ध कराया है, तो यह false दिखाता है.
isAlias()
MediaCodecList में, एक ही कोडेक के लिए अन्य एंट्री हो सकती हैं. इसके लिए, कोडेक के अन्य नाम (उपनाम) इस्तेमाल किए जा सकते हैं. अगर इस एंट्री में मौजूद कोडेक किसी दूसरे कोडेक का उपनाम है, तो यह तरीका 'सही' वैल्यू दिखाता है.

इसके अलावा, MediaCodec.getCanonicalName() किसी उपनाम से बनाए गए कोडेक के लिए, पहले से मौजूद कोडेक का नाम दिखाता है.

परफ़ॉर्मेंस पॉइंट

परफ़ॉर्मेंस पॉइंट से पता चलता है कि कोई कोडेक, किसी वीडियो को तय की गई ऊंचाई, चौड़ाई, और फ़्रेम रेट पर रेंडर कर सकता है या नहीं. उदाहरण के लिए, UHD_60 परफ़ॉर्मेंस पॉइंट, अल्ट्रा हाई डेफ़िनिशन वीडियो (3840x2160 पिक्सल) को दिखाता है. यह वीडियो, 60 फ़्रेम प्रति सेकंड पर रेंडर किया जाता है.

MediaCodecInfo.VideoCapabilities.getSupportedPerformancePoints() वाला तरीका, PerformancePoint एंट्री की सूची दिखाता है. कोडेक, इन एंट्री को रेंडर या कैप्चर कर सकता है.

PerformancePoint.covers(PerformancePoint) पर कॉल करके, यह पता लगाया जा सकता है कि किसी PerformancePoint में कोई दूसरा PerformancePoint शामिल है या नहीं. उदाहरण के लिए, UHD_60.covers(UHD_50) से, नतीजे के तौर पर true मिलता है.

हार्डवेयर से तेज़ी लाने वाले सभी कोडेक के लिए, परफ़ॉर्मेंस पॉइंट की सूची दी गई है. अगर कोडेक, परफ़ॉर्मेंस के सबसे कम स्टैंडर्ड पॉइंट को भी पूरा नहीं करता है, तो यह सूची खाली हो सकती है.

ध्यान दें कि जिन डिवाइसों को वेंडर इमेज अपडेट किए बिना Android 10 (एपीआई लेवल 29) और इसके बाद के वर्शन पर अपग्रेड किया गया है उनमें परफ़ॉर्मेंस पॉइंट का डेटा नहीं होगा. ऐसा इसलिए, क्योंकि यह डेटा वेंडर एचएएल से मिलता है. इस मामले में, getSupportedPerformancePoints() शून्य दिखाता है.