एंड्रॉइड 13 से शुरू होकर, ऐप क्लाइंट वीडियो एन्कोडर से प्रत्येक एन्कोडेड वीडियो फ्रेम के लिए एन्कोडिंग आंकड़े निर्यात करने का अनुरोध कर सकते हैं। वीडियो एन्कोडर से प्राप्त आंकड़ों के साथ, ऐप्स अपने वीडियो एन्कोडिंग कार्यों को अनुकूलित कर सकते हैं जैसे एन्कोडिंग से पहले मल्टीपास एन्कोडिंग और फ्रेम प्रीप्रोसेसिंग।
वीडियो एन्कोडिंग आंकड़े निर्यात करने के लिए, एसओसी विक्रेताओं को वीडियो एन्कोडर ड्राइवर को अपडेट में वर्णित वीडियो एन्कोडर ड्राइवर को बदलना होगा।
वीडियो एन्कोडिंग आँकड़े डेटा
Android 13 के साथ, वीडियो एन्कोडर आंकड़े डेटा निर्यात करता है जैसा कि निम्न तालिका में दिखाया गया है।
एन्कोडर आंकड़ों का नाम | विवरण |
---|---|
प्रति फ्रेम औसत ब्लॉक क्यूपी | बिटस्ट्रीम में एन्कोड किए गए वीडियो फ्रेम में सभी ब्लॉक क्यूपी का औसत |
चित्र प्रकार | टाइप I या P या B |
MediaFormat
डेवलपर वर्ग का उपयोग करके डेवलपर्स प्रत्येक फ्रेम के लिए सांख्यिकी जानकारी प्राप्त कर सकते हैं।
वीडियो एन्कोडर ड्राइवर के अपडेट
वीडियो एन्कोडिंग आंकड़ों के निर्यात का समर्थन करने के लिए, एसओसी विक्रेताओं को वीडियो एन्कोडर ड्राइवर बदलना होगा। Android 13 में कोडेक 2.0 बेस में निम्नलिखित कुंजियाँ जोड़ी गई हैं:
KEY_VIDEO_QP_AVERAGE
प्रति-फ़्रेम औसत ब्लॉक QP का वर्णन करता है।निम्नलिखित नियम
KEY_VIDEO_QP_AVERAGE
कुंजी के कार्यान्वयन पर लागू होते हैं:कोडेक 2.0 को उत्सर्जित करने से पहले एसओसी एन्कोडर को ब्लॉक क्यूपी के औसत को निकटतम पूर्णांक तक गोल करना चाहिए।
औसत मूल्य की गणना केवल लूमा विमान से की जाती है।
यदि वर्तमान फ्रेम में सभी ब्लॉक छोड़े गए मोड में हैं तो एसओसी एन्कोडर को
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 एक ही इनपुट वीडियो के दो एन्कोडिंग चलाता है, एक उच्च बिटरेट के साथ, और दूसरा कम बिटरेट के साथ। सीटीएस फिर दो एनकोडिंग से दो निर्यात किए गए औसत क्यूपी मानों की तुलना करता है। यदि कम बिटरेट वाले एन्कोडिंग से औसत क्यूपी उच्च बिटरेट वाले एन्कोडिंग से औसत क्यूपी से अधिक है, तो सीटीएस पास हो जाता है।
सक्षम होने पर निर्यात वीडियो एन्कोडिंग आंकड़े सुविधा को बंद करने की पुष्टि करने के लिए, निम्नानुसार VIDEO_ENCODING_STATISTICS_LEVEL_NONE
कुंजी का उपयोग करें:
format.setInteger(MediaFormat.KEY_VIDEO_ENCODING_STATISTICS_LEVEL, MediaFormat.VIDEO_ENCODING_STATISTICS_LEVEL_NONE);