بدءًا من Android 10 (المستوى 29 من واجهة برمجة التطبيقات) والإصدارات الأحدث، تتوفّر طرق في
MediaCodecInfo
تكشف
عن مزيد من المعلومات حول برنامج ترميز:
isSoftwareOnly()
- تعرض القيمة "صحيح" إذا كان برنامج الترميز يعمل في البرنامج فقط. لا تقدّم برامج الترميز أي ضمانات بشأن أداء المعالجة.
isHardwareAccelerated()
- تعرض True إذا كان برنامج ترميز يتم تسريعه بواسطة الأجهزة.
isVendor()
- تعرض القيمة true إذا كان برنامج الترميز مقدَّمًا من قِبل موفِّر الجهاز أو false إذا كان مقدَّمًا من نظام التشغيل Android.
isAlias()
MediaCodecList
قد يحتوي على إدخالات إضافية لبرنامج الترميز الأساسي نفسه باستخدام أسماء بديلة لبرنامج الترميز (أسماء بديلة). تُعرِض هذه الطريقة القيمة "صحيح" إذا كان ملف الترميز في هذا الإدخال هو ملف ترميز بديل لملف ترميز آخر.
بالإضافة إلى ذلك، تعرض
MediaCodec.getCanonicalName()
اسم برنامج الترميز الأساسي لبرامج الترميز التي تم إنشاؤها عبر اسم مستعار.
نقاط الأداء
تمثّل نقطة الأداء قدرة برنامج الترميز على عرض الفيديو بقياسات محددة
للارتفاع والعرض وعدد اللقطات في الثانية. على سبيل المثال، تمثل نقطة الأداء UHD_60
فيديو بدقة فائقة (3840×2160 بكسل) يتم عرضه بمعدّل 60 لقطة
في الثانية.
تُرجع الطريقة
MediaCodecInfo.VideoCapabilities.getSupportedPerformancePoints()
قائمة بتسجيلات
PerformancePoint
يمكن لبرنامج الترميز عرضها أو تسجيلها.
يمكنك معرفة ما إذا كان PerformancePoint
يغطّي مبلغًا آخر من خلال الاتصال بالرقم
PerformancePoint.covers(PerformancePoint)
.
على سبيل المثال، يعرض UHD_60.covers(UHD_50)
القيمة "صحيح".
يتم توفير قائمة بنقاط الأداء لجميع برامج الترميز المُسرَّعة بالأجهزة. قد تكون هذه قائمة فارغة إذا لم يستوفِ برنامج الترميز إمكانية الوصول إلى نقطة الأداء المعيارية الأدنى حتى.
يُرجى العِلم أنّ الأجهزة التي تمت ترقيتها إلى Android 10 (المستوى 29 من واجهة برمجة التطبيقات) والإصدارات الأحدث بدون
تعديل صورة المورّد لن تتضمّن بيانات نقاط الأداء، لأنّ هذه
البيانات تأتي من HAL الخاص بالمورّد. في هذه الحالة، يعرض getSupportedPerformancePoints()
قيمة فارغة.