ตั้งแต่ Android 13 เป็นต้นไป ลูกค้าแอปจะขอให้โปรแกรมเปลี่ยนไฟล์วิดีโอส่งออกสถิติการเข้ารหัสสำหรับเฟรมวิดีโอที่เข้ารหัสแต่ละเฟรมได้ ด้วย สถิติที่ได้รับจากโปรแกรมเปลี่ยนไฟล์วิดีโอ แอปจะเพิ่มประสิทธิภาพวิดีโอ งานการเข้ารหัส เช่น การเข้ารหัสแบบมัลติพาสและการประมวลผลเฟรมล่วงหน้าก่อน การเข้ารหัส
หากต้องการส่งออกสถิติการเข้ารหัสวิดีโอ ผู้ให้บริการ SoC จะต้องเปลี่ยนโปรแกรมควบคุมโปรแกรมเข้ารหัสวิดีโอตามที่อธิบายไว้ในการอัปเดตโปรแกรมควบคุมโปรแกรมเข้ารหัสวิดีโอ
ข้อมูลสถิติการเข้ารหัสวิดีโอ
ใน Android 13 โปรแกรมเปลี่ยนไฟล์วิดีโอจะส่งออกสถิติ ตามที่แสดงในตารางต่อไปนี้
ชื่อสถิติของตัวเข้ารหัส | คำอธิบาย |
---|---|
QP บล็อกโดยเฉลี่ยต่อเฟรม | ค่าเฉลี่ยของ QP บล็อกทั้งหมดในเฟรมวิดีโอที่เข้ารหัสเป็นบิตสตรีม |
ประเภทรูปภาพ | พิมพ์ I หรือ P หรือ B |
นักพัฒนาซอฟต์แวร์สามารถเรียกดูข้อมูลสถิติสำหรับแต่ละเฟรมโดยใช้
MediaFormat
ระดับนักพัฒนาซอฟต์แวร์
การอัปเดตไดรเวอร์โปรแกรมเปลี่ยนไฟล์วิดีโอ
ในการสนับสนุนการส่งออกสถิติการเข้ารหัสวิดีโอ ผู้ให้บริการ SoC ต้องเปลี่ยน ไดรเวอร์โปรแกรมเปลี่ยนไฟล์วิดีโอ เพิ่มคีย์ต่อไปนี้ในฐานของตัวแปลงรหัส 2.0 ใน Android 13
KEY_VIDEO_QP_AVERAGE
อธิบายต่อเฟรม QP ในการบล็อกโดยเฉลี่ยกฎต่อไปนี้มีผลกับการใช้คีย์
KEY_VIDEO_QP_AVERAGE
โปรแกรมเปลี่ยนไฟล์ SoC ต้องปัดเศษค่าเฉลี่ยของ QP ของบล็อกเป็นจำนวนเต็มใกล้ที่สุดก่อนส่งไปยังตัวแปลงรหัส 2.0
ค่าเฉลี่ยจะคำนวณจากระนาบ Luma เท่านั้น
ตัวเข้ารหัส SoC ต้องแสดงผล
INT_MAX
หากบล็อกทั้งหมดในเฟรมปัจจุบันอยู่ในโหมดข้าม ภาวะนี้เกิดขึ้นเมื่อไม่มีค่าสัมประสิทธิ์ มีการเข้ารหัสและไม่มีการเข้ารหัสข้อมูล QP ที่มีนัยสำคัญในเฟรม
KEY_PICTURE_TYPE
อธิบายประเภทรูปภาพของเฟรมที่เข้ารหัสเป็นPICTURE_TYPE_I
PICTURE_TYPE_P
,PICTURE_TYPE_B
, หรือPICTURE_TYPE_UNKNOWN
KEY_VIDEO_ENCODING_STATISTICS_LEVEL
อธิบายระดับของ ข้อมูลสถิติการเข้ารหัสที่ได้รับจากโปรแกรมเปลี่ยนไฟล์วิดีโอดังต่อไปนี้เมื่อโปรแกรมเปลี่ยนไฟล์ไม่มีข้อมูลเกี่ยวกับสถิติการเข้ารหัส คีย์นี้ตั้งค่าไว้เป็น
VIDEO_ENCODING_STATISTICS_LEVEL_NONE
เมื่อโปรแกรมเปลี่ยนไฟล์สร้าง
KEY_VIDEO_QP_AVERAGE
และKEY_PICTURE_TYPE
สำหรับแต่ละเฟรม คีย์นี้จะตั้งค่าเป็นVIDEO_ENCODING_STATISTICS_LEVEL_1
โปรดดู VideoEncodingStatisticsTest
สำหรับการใช้งานการอ้างอิง
การตรวจสอบความถูกต้อง
เรียกใช้การทดสอบ VideoEncodingStatisticsTest
ของ CTS เพื่อตรวจสอบว่าส่วน QP เฉลี่ยของสถิติการเข้ารหัสวิดีโอทำงานได้อย่างถูกต้อง โดย CTS จะทำการแปลงวิดีโออินพุตเดียวกัน 2 ครั้ง โดย 1 รายการมีอัตราบิตสูงกว่าและอีกรายการมีอัตราบิตต่ำกว่า จากนั้น CTS จะเปรียบเทียบ
ส่งออกค่า QP เฉลี่ยจากการเข้ารหัส 2 แบบ ถ้า QP เฉลี่ยจากการเข้ารหัส
ที่มีอัตราบิตต่ำกว่านั้นสูงกว่า QP เฉลี่ยจากการเข้ารหัสด้วย
และ CTS ก็จะมีอัตราบิตสูงขึ้น
หากต้องการตรวจสอบการปิดฟีเจอร์การส่งออกสถิติการเข้ารหัสวิดีโอเมื่อเปิดใช้ ให้ใช้คีย์ VIDEO_ENCODING_STATISTICS_LEVEL_NONE
ดังนี้
format.setInteger(MediaFormat.KEY_VIDEO_ENCODING_STATISTICS_LEVEL, MediaFormat.VIDEO_ENCODING_STATISTICS_LEVEL_NONE);