ตั้งแต่ Android 10 (API ระดับ 29) ขึ้นไป จะมีเมธอดใน
MediaCodecInfo
ที่
แสดงข้อมูลเพิ่มเติมเกี่ยวกับตัวแปลงรหัส
isSoftwareOnly()
- แสดงค่าเป็นจริงหากตัวแปลงรหัสทำงานในซอฟต์แวร์เท่านั้น ตัวแปลงรหัสซอฟต์แวร์ไม่รับประกันประสิทธิภาพการแสดงผล
isHardwareAccelerated()
- แสดงค่าเป็น "จริง" หากฮาร์ดแวร์เร่งความเร็วตัวแปลงรหัส
isVendor()
- แสดงผลเป็นจริงหากผู้จำหน่ายอุปกรณ์เป็นผู้ให้ตัวแปลงรหัส หรือเป็นเท็จหากแพลตฟอร์ม Android เป็นผู้ให้
isAlias()
MediaCodecList
อาจมีรายการเพิ่มเติมสำหรับโคเดกพื้นฐานเดียวกัน โดยใช้ชื่อโคเดกสำรอง (ชื่อแทน) เมธอดนี้จะแสดงผลเป็น "จริง" หาก โคเดกในรายการนี้เป็นนามแฝงของโคเดกอื่น
นอกจากนี้
MediaCodec.getCanonicalName()
ยังแสดงชื่อตัวแปลงรหัสพื้นฐานสำหรับตัวแปลงรหัสที่สร้างผ่านนามแฝงด้วย
คะแนนประสิทธิภาพ
จุดประสิทธิภาพแสดงถึงความสามารถของตัวแปลงรหัสในการแสดงวิดีโอที่ความสูง ความกว้าง และอัตราเฟรมที่เฉพาะเจาะจง
เช่น UHD_60
จุดประสิทธิภาพ
แสดงถึงวิดีโอความละเอียดสูงพิเศษ (3840x2160 พิกเซล) ที่แสดงผลที่ 60 เฟรม
ต่อวินาที
เมธอด
MediaCodecInfo.VideoCapabilities.getSupportedPerformancePoints()
จะแสดงรายการของ
PerformancePoint
รายการที่ตัวแปลงรหัสสามารถแสดงหรือบันทึกได้
คุณสามารถตรวจสอบว่าPerformancePoint
ครอบคลุมPerformancePoint.covers(PerformancePoint)
อื่นหรือไม่โดยโทรไปที่ PerformancePoint.covers(PerformancePoint)
เช่น UHD_60.covers(UHD_50)
จะแสดงผลเป็นจริง
เรามีรายการจุดประสิทธิภาพสำหรับตัวแปลงรหัสที่เร่งด้วยฮาร์ดแวร์ทั้งหมด รายการนี้อาจว่างเปล่าหากตัวแปลงรหัสไม่เป็นไปตามจุดประสิทธิภาพแม้แต่มาตรฐานต่ำสุด
โปรดทราบว่าอุปกรณ์ที่อัปเกรดเป็น Android 10 (API ระดับ 29) ขึ้นไปโดยไม่ได้
อัปเดตรูปภาพของผู้ให้บริการจะไม่มีข้อมูลคะแนนประสิทธิภาพ เนื่องจาก
ข้อมูลนี้มาจาก HAL ของผู้ให้บริการ ในกรณีนี้ getSupportedPerformancePoints()
จะแสดงผลเป็นค่าว่าง