মিডিয়া কোডেক, মিডিয়া কোডেক

অ্যান্ড্রয়েড ১০ (এপিআই লেভেল ২৯) এবং তার পরবর্তী সংস্করণ থেকে শুরু করে, MediaCodecInfo এমন কিছু পদ্ধতি রয়েছে যা কোডেক সম্পর্কে আরও তথ্য প্রকাশ করে:

isSoftwareOnly()
কোডেক শুধুমাত্র সফ্টওয়্যারে চললে true ফেরত পাঠায়। সফ্টওয়্যার কোডেকগুলি রেন্ডারিং কর্মক্ষমতা সম্পর্কে কোনও গ্যারান্টি দেয় না।
isHardwareAccelerated()
হার্ডওয়্যার দ্বারা কোডেক ত্বরান্বিত হলে true প্রদান করে।
isVendor()
কোডেকটি ডিভাইস বিক্রেতা দ্বারা সরবরাহ করা হলে সত্য বা অ্যান্ড্রয়েড প্ল্যাটফর্ম দ্বারা সরবরাহ করা হলে মিথ্যা দেখায়।
isAlias()
MediaCodecList একই অন্তর্নিহিত কোডেকের জন্য অতিরিক্ত এন্ট্রি থাকতে পারে যা একটি বিকল্প কোডেক নাম/নাম (উপনাম/নাম) ব্যবহার করে। এই এন্ট্রিতে থাকা কোডেকটি অন্য কোডেকের জন্য একটি উপনাম হলে এই পদ্ধতিটি সত্য প্রদান করে।

এছাড়াও, MediaCodec.getCanonicalName() একটি উপনামের মাধ্যমে তৈরি কোডেকগুলির জন্য অন্তর্নিহিত কোডেক নাম প্রদান করে।

পারফরম্যান্স পয়েন্ট

একটি পারফরম্যান্স পয়েন্ট একটি কোডেকের একটি নির্দিষ্ট উচ্চতা, প্রস্থ এবং ফ্রেম রেটে ভিডিও রেন্ডার করার ক্ষমতাকে প্রতিনিধিত্ব করে। উদাহরণস্বরূপ, UHD_60 পারফরম্যান্স পয়েন্টটি আল্ট্রা হাই ডেফিনিশন ভিডিও (3840x2160 পিক্সেল) প্রতি সেকেন্ডে 60 ফ্রেমে রেন্ডার করে।

MediaCodecInfo.VideoCapabilities.getSupportedPerformancePoints() পদ্ধতিটি কোডেক রেন্ডার বা ক্যাপচার করতে পারে এমন PerformancePoint এন্ট্রিগুলির একটি তালিকা প্রদান করে।

PerformancePoint.covers(PerformancePoint) কল করে আপনি একটি প্রদত্ত PerformancePoint অন্যটিকে কভার করে কিনা তা পরীক্ষা করতে পারেন। উদাহরণস্বরূপ, UHD_60.covers(UHD_50) true প্রদান করে।

সমস্ত হার্ডওয়্যার-অ্যাক্সিলারেটেড কোডেকের জন্য পারফরম্যান্স পয়েন্টের একটি তালিকা প্রদান করা হয়েছে। যদি কোডেকটি সর্বনিম্ন স্ট্যান্ডার্ড পারফরম্যান্স পয়েন্টও পূরণ না করে তবে এটি একটি খালি তালিকা হতে পারে।

মনে রাখবেন যে যেসব ডিভাইসে Android 10 (API লেভেল 29) এবং তার থেকে উচ্চতর ভার্সনে আপগ্রেড করা হয়েছে, বিক্রেতার ছবি আপডেট না করেই, তাদের পারফরম্যান্স পয়েন্ট ডেটা থাকবে না, কারণ এই ডেটা বিক্রেতা HAL থেকে আসে। এই ক্ষেত্রে, getSupportedPerformancePoints() null রিটার্ন করে।