Android 10 (API লেভেল 29) এবং উচ্চতর দিয়ে শুরু করে, MediaCodecInfo
তে এমন পদ্ধতি রয়েছে যা কোডেক সম্পর্কে আরও তথ্য প্রকাশ করে:
-
isSoftwareOnly()
- কোডেক শুধুমাত্র সফ্টওয়্যারে চালালে সত্য ফেরত দেয়। সফ্টওয়্যার কোডেক রেন্ডারিং কর্মক্ষমতা সম্পর্কে কোন গ্যারান্টি দেয় না।
-
isHardwareAccelerated()
- একটি কোডেক হার্ডওয়্যার দ্বারা ত্বরান্বিত হলে সত্য ফেরত দেয়।
-
isVendor()
- কোডেক ডিভাইস বিক্রেতার দ্বারা সরবরাহ করা হলে সত্য বা Android প্ল্যাটফর্ম দ্বারা সরবরাহ করা হলে মিথ্যা দেখায়।
-
isAlias()
-
MediaCodecList
একটি বিকল্প কোডেক নাম/s (উনাম/es) ব্যবহার করে একই অন্তর্নিহিত কোডেকের জন্য অতিরিক্ত এন্ট্রি থাকতে পারে। যদি এই এন্ট্রির কোডেকটি অন্য কোডেকের জন্য একটি উপনাম হয় তবে এই পদ্ধতিটি সত্য হয়।
উপরন্তু, MediaCodec.getCanonicalName()
একটি উপনামের মাধ্যমে তৈরি কোডেকগুলির জন্য অন্তর্নিহিত কোডেক নাম প্রদান করে।
পারফরম্যান্স পয়েন্ট
একটি পারফরম্যান্স পয়েন্ট একটি নির্দিষ্ট উচ্চতা, প্রস্থ এবং ফ্রেমের হারে ভিডিও রেন্ডার করার জন্য কোডেকের ক্ষমতা উপস্থাপন করে। উদাহরণস্বরূপ, UHD_60
পারফরম্যান্স পয়েন্ট আল্ট্রা হাই ডেফিনিশন ভিডিও (3840x2160 পিক্সেল) প্রতি সেকেন্ডে 60 ফ্রেমে রেন্ডার করে।
MediaCodecInfo.VideoCapabilities.getSupportedPerformancePoints()
পদ্ধতিটি PerformancePoint
এন্ট্রিগুলির একটি তালিকা প্রদান করে যা কোডেক রেন্ডার বা ক্যাপচার করতে পারে।
আপনি PerformancePoint.covers(PerformancePoint)
কল করে একটি প্রদত্ত PerformancePoint
অন্যটিকে কভার করে কিনা তা পরীক্ষা করতে পারেন। উদাহরণস্বরূপ, UHD_60.covers(UHD_50)
সত্য প্রদান করে।
সমস্ত হার্ডওয়্যার-অ্যাক্সিলারেটেড কোডেকের জন্য পারফরম্যান্স পয়েন্টের একটি তালিকা দেওয়া হয়েছে। কোডেক এমনকি সর্বনিম্ন স্ট্যান্ডার্ড পারফরম্যান্স পয়েন্ট পূরণ না করলে এটি একটি খালি তালিকা হতে পারে।
মনে রাখবেন যে ডিভাইসগুলিকে Android 10 (API লেভেল 29) এবং বিক্রেতা ইমেজ আপডেট না করে উচ্চতর তে আপগ্রেড করা হয়েছে তাদের পারফরম্যান্স পয়েন্ট ডেটা থাকবে না, কারণ এই ডেটা বিক্রেতা HAL থেকে আসে৷ এই ক্ষেত্রে, getSupportedPerformancePoints()
নাল রিটার্ন করে।