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