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