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

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