ตัวแปลงรหัสสื่อ

ตั้งแต่ 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() จะแสดงผลเป็นค่าว่าง