Android ১০ (API লেভেল ২৯) এবং তার পরবর্তী ভার্সন থেকে শুরু করে, MediaCodecInfo-এ এমন পদ্ধতি আছে যা
কোডেক সম্পর্কে আরও তথ্য প্রকাশ করে:
isSoftwareOnly()- কোডেক শুধুমাত্র সফ্টওয়্যারে চললে ট্রু রিটার্ন করে। সফ্টওয়্যার কোডেক রেন্ডারিং পারফর্ম্যান্সের কোনও গ্যারান্টি দেয় না।
isHardwareAccelerated()- হার্ডওয়্যার দ্বারা কোডেক অ্যাক্সিলারেট করা হলে, ট্রু রিটার্ন করে।
isVendor()- ডিভাইস ভেন্ডর কোডেক প্রদান করলে ট্রু রিটার্ন করে অথবা Android প্ল্যাটফর্ম প্রদান করলে ফলস রিটার্ন করে।
isAlias()MediaCodecList-এ একই অন্তর্নিহিত কোডেক-এর জন্য অতিরিক্ত এন্ট্রি থাকতে পারে বিকল্প কোডেক নাম/গুলি (উপনাম/গুলি) ব্যবহার করে। এই এন্ট্রিতে কোডেক অন্য কোডেকের উপনাম হলে, এই পদ্ধতি true রিটার্ন করে।
এছাড়াও,
MediaCodec.getCanonicalName()
উপনামের মাধ্যমে তৈরি কোডেকগুলির জন্য অন্তর্নিহিত কোডেকের নাম ফেরত দেয়।
পারফর্ম্যান্স পয়েন্ট
পারফর্ম্যান্স পয়েন্ট বলতে নির্দিষ্ট উচ্চতা, প্রস্থ ও ফ্রেম রেটে ভিডিও রেন্ডার করার ক্ষেত্রে কোডেকের ক্ষমতাকে বোঝায়। যেমন, UHD_60 পারফর্ম্যান্স পয়েন্ট
প্রতি সেকেন্ডে ৬০ ফ্রেমের আল্ট্রা হাই ডেফিনেশন ভিডিও (৩৮৪০x২১৬০ পিক্সেল)
বোঝায়।
MediaCodecInfo.VideoCapabilities.getSupportedPerformancePoints()
পদ্ধতিটি
PerformancePoint
এন্ট্রির একটি তালিকা প্রদান করে যা কোডেক রেন্ডার বা ক্যাপচার করতে পারে।
PerformancePoint.covers(PerformancePoint) কল করে আপনি চেক করতে পারবেন যে প্রদত্ত PerformancePoint অন্যটিকে কভার করে কিনা।
যেমন, UHD_60.covers(UHD_50)-এর ফলাফল হিসেবে True পাওয়া যায়।
হার্ডওয়্যার-অ্যাক্সিলারেটেড সব কোডেক্সের জন্য পারফর্ম্যান্স পয়েন্টের একটি তালিকা প্রদান করা হয়। কোডেক যদি পারফর্ম্যান্সের সর্বনিম্ন স্ট্যান্ডার্ড পয়েন্টও পূরণ না করে, তাহলে এই তালিকা খালি থাকতে পারে।
মনে রাখবেন, যেসব ডিভাইস Android ১০ (API লেভেল ২৯) এবং তার পরবর্তী ভার্সনে আপগ্রেড করা হয়েছে, কিন্তু
ভেন্ডর ইমেজ আপডেট করা হয়নি, সেগুলিতে পারফর্ম্যান্স পয়েন্ট ডেটা থাকবে না, কারণ এই
ডেটা ভেন্ডর HAL থেকে আসে। এই ক্ষেত্রে, getSupportedPerformancePoints()
নাল রিটার্ন করে।