החל מ-Android 10 (רמת API 29) ומעלה, יש methods ב-MediaCodecInfo שחושפות מידע נוסף על קודק:
isSoftwareOnly()- הפונקציה מחזירה את הערך True אם ה-codec פועל בתוכנה בלבד. קודקים של תוכנה לא מבטיחים ביצועי עיבוד.
isHardwareAccelerated()- הפונקציה מחזירה את הערך True אם קודק מואץ על ידי חומרה.
isVendor()- הפונקציה מחזירה את הערך True אם ה-codec סופק על ידי ספק המכשיר, או את הערך False אם הוא סופק על ידי פלטפורמת Android.
isAlias()
MediaCodecListעשוי להכיל רשומות נוספות לאותו קודק בסיסי, באמצעות שמות קודקים חלופיים (כינויים). השיטה הזו מחזירה את הערך true אם ה-codec ברשומה הזו הוא כינוי ל-codec אחר.
בנוסף, הפונקציה MediaCodec.getCanonicalName() מחזירה את שם ה-codec הבסיסי של קודקים שנוצרו באמצעות כינוי.
נקודות ביצועים
נקודת ביצועים מייצגת את היכולת של קודק לעבד סרטון בגובה, ברוחב ובקצב פריימים ספציפיים. לדוגמה, נקודת הביצועים UHD_60 מייצגת סרטון באיכות אולטרה גבוהה (UHD) (3,840x2,160 פיקסלים) שעבר עיבוד בקצב של 60 פריימים לשנייה.
השיטה MediaCodecInfo.VideoCapabilities.getSupportedPerformancePoints() מחזירה רשימה של רשומות PerformancePoint שה-codec יכול לעבד או לתעד.
כדי לבדוק אם PerformancePoint מסוים מכסה אחר, אפשר להפעיל את השיטה PerformancePoint.covers(PerformancePoint).
לדוגמה, הפונקציה UHD_60.covers(UHD_50) מחזירה את הערך True.
רשימה של נקודות ביצועים מסופקת לכל רכיבי ה-codec עם שיפור מהירות באמצעות חומרה. הרשימה הזו יכולה להיות ריקה אם ה-codec לא עומד אפילו בנקודת הביצועים הנמוכה ביותר.
שימו לב: במכשירים ששודרגו ל-Android 10 (רמת API 29) ומעלה בלי לעדכן את קובץ האימג' של הספק, לא יהיו נתונים של נקודות ביצועים כי הנתונים האלה מגיעים משכבת ה-HAL של הספק. במקרה כזה, הפונקציה getSupportedPerformancePoints() מחזירה ערך null.