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