मीडिया की परफ़ॉर्मेंस क्लास के टेस्ट चलाना

Android Compatibility Test Suite (CTS) में, Android 11 या इसके बाद के वर्शन पर काम करने वाले डिवाइसों के लिए, मीडिया परफ़ॉर्मेंस क्लास टेस्ट शामिल हैं. Android 13 वाले डिवाइसों और Android 11 या Android 12 वाले डिवाइसों के लिए, टेस्ट करने की प्रोसेस अलग-अलग होती है. इसलिए, पक्का करें कि आपने अपने डिवाइसों पर मौजूद Android वर्शन के हिसाब से दिए गए निर्देशों का पालन किया हो.

टेस्ट डाउनलोड करना

इन टेस्ट को डाउनलोड करें:

Android 14 या इसके बाद के वर्शन वाले डिवाइसों पर टेस्ट करना

इस सेक्शन में, Android 14 या इसके बाद के वर्शन पर काम करने वाले डिवाइसों के लिए ज़रूरी टेस्ट के बारे में बताया गया है.

परफ़ॉर्मेंस क्लास 14 (पीसी14)-वीडियो एन्कोडिंग क्वालिटी (वीईक्यू) टेस्ट चलाएँ

Android 14 में, परफ़ॉर्मेंस क्लास 14 (PC14) वाले डिवाइसों के लिए, वीडियो एन्कोडिंग क्वालिटी (वीईक्यू) से जुड़ी ज़रूरी शर्तें जोड़ी गई हैं. PC14-VEQ की ज़रूरी शर्तों में, PC14 डिवाइस पर मौजूद हार्डवेयर वीडियो एनकोडर के लिए, क्वालिटी के टारगेट की ज़रूरी शर्तों को मेज़र किए जा सकने वाले तरीके से तय किया जाता है.

इसका मकसद यह पुष्टि करना है कि परफ़ॉर्मेंस क्लास 14 में शामिल Android के हर डिवाइस पर, उपयोगकर्ताओं को बेहतरीन मीडिया अनुभव मिलता है. इसके लिए, अच्छी क्वालिटी वाला वीडियो कॉन्टेंट बनाया जाता है.

PC14-VEQ की ज़रूरी शर्तों की पुष्टि, CtsVideoEncodingQualityHostTest नाम के नए सीटीएस टेस्ट से की जाती है.

यह सीटीएस टेस्ट, कॉन्फ़िगरेशन JSON फ़ाइलों में तय किए गए एन्कोडिंग टेस्ट केस का एक सेट चलाता है. साथ ही, Jetpack Media3 Transformer API का इस्तेमाल करता है. हर टेस्ट केस के लिए, टेस्ट किए जा रहे एन्कोडर का रेट-डिस्टॉर्शन (आरडी) कर्व जनरेट किया जाता है. इसके लिए, JSON फ़ाइल में मौजूद एन्कोडर सेटिंग का इस्तेमाल करके बिटस्ट्रीम को कोड में बदला जाता है. रेफ़रंस रेट-डिस्टॉर्शन कर्व, उसी JSON फ़ाइल में शामिल होता है. वीडियो मल्टीमेथड असेसमेंट फ़्यूज़न (वीएमएएफ़) vmaf_v0.6.1.json का इस्तेमाल, वीडियो की क्वालिटी में होने वाली गिरावट का पता लगाने के लिए किया जाता है.

कोई टेस्ट केस सिर्फ़ तब पास हो सकता है, जब उसका BDRATE-VMAF स्कोर शून्य से कम या उसके बराबर हो.

PC14-VEQ CTS टेस्ट में, एन्कोडिंग कॉन्फ़िगरेशन शामिल होते हैं. जैसे:

  • AVC और HEVC HW एन्कोडर
  • वीबीआर रेट कंट्रोल मोड
  • पी-फ़्रेम/बी-फ़्रेम एन्कोडिंग
  • 1920x1080p30fps (लैंडस्केप) या 1080x1920p30fps (पोर्ट्रेट)

Android 13 या इसके बाद के वर्शन वाले डिवाइसों पर टेस्ट करना

टेस्ट रन शुरू करने से पहले, डिवाइसों को टेस्ट करने के लिए तैयार करें:

  1. _ro.odm.build.media_performance_class सिस्टम प्रॉपर्टी की वैल्यू को 33 पर सेट करके, मीडिया परफ़ॉर्मेंस क्लास 13 (PC13) के विज्ञापन दिखाने के लिए डिवाइस को सेट अप करें.

  2. पुष्टि करें कि डिवाइस की सिस्टम इमेज, Android 13 या इसके बाद के वर्शन की हो. Android 11 या इसके बाद के वर्शन वाली सिस्टम इमेज पर, मीडिया CTS टेस्ट किए जा सकते हैं. हालांकि, कैमरा CTS टेस्ट के लिए, PC13 पर Android 13 की सुविधाओं का होना ज़रूरी है.

कैमरे के आईटीएस टेस्ट चलाएं

सिर्फ़ कैमरे के आईटीएस टेस्ट चलाने के लिए, सबसे पहले डिवाइस और टैबलेट, दोनों के सीरियल नंबर config.yml में सेट करें. सेटअप करने के बाद, फ़्रंट और रियर कैमरे की जांच करें:

python tools/run_all_tests.py camera=[PRIMARY_REAR_CAMERA_ID] scenes=2_c
python tools/run_all_tests.py camera=[PRIMARY_FRONT_CAMERA_ID] scenes=2_c

मीडिया की परफ़ॉर्मेंस से जुड़े क्लास टेस्ट चलाना

cts-media-performance-class टेस्ट प्लान, मीडिया परफ़ॉर्मेंस क्लास से जुड़ी ज़रूरी शर्तों (सीडीडी सेक्शन 2.2.7.1) और कैमरे से जुड़ी ज़रूरी शर्तों (सीडीडी सेक्शन 2.2.7.2) के लिए, सीडीडी की ज़रूरी शर्तों की पुष्टि करता है. cts-media-performance-class टेस्ट चलाएं:

cts-tradefed run cts-media-performance-class

सिर्फ़ कैमरा सीटीएस टेस्ट चलाने के लिए:

cts-tradefed run singleCommand cts --disable-reboot -m CtsCameraTestCases -t android.hardware.camera2.cts.ExtendedCameraCharacteristicsTest#testCameraPerfClassCharacteristics

सिर्फ़ मीडिया CTS टेस्ट चलाने के लिए:

cts-tradefed run singleCommand cts --disable-reboot -m CtsMediaPerformanceClassTestCases

MediaDrm CTS टेस्ट चलाएं

MediaDrm CTS टेस्ट, CDD सेक्शन 2.2.7.1 में MediaDrm से जुड़ी ज़रूरी शर्तों की पुष्टि करते हैं. MediaDrm CTS टेस्ट चलाएं:

cts-tradefed run singleCommand cts --disable-reboot -c android.mediapc.cts.PerformanceClassTest -m testSecureHwDecodeSupport
cts-tradefed run singleCommand cts --disable-reboot -c android.mediapc.cts.PerformanceClassTest -m testMediaDrmSecurityLevelHwSecureAll

फ़ाइल सिस्टम के सीटीएस टेस्ट चलाना

फ़ाइल सिस्टम के सीटीएस टेस्ट, सीडीडी सेक्शन 2.2.7.4 में परफ़ॉर्मेंस से जुड़ी ज़रूरी शर्तों की पुष्टि करते हैं.

  • सीक्वेंशियल रीड और राइट की ज़रूरी शर्तों की जांच करने के लिए:

    cts-tradefed run singleCommand cts --disable-reboot -m CtsFileSystemTestCases -t android.filesystem.cts.SequentialRWTest
  • रैंडम रीड और राइट की ज़रूरी शर्तों को टेस्ट करने के लिए:

    cts-tradefed run singleCommand cts --disable-reboot -m CtsFileSystemTestCases -t android.filesystem.cts.RandomRWTest

Android 11 या 12 वाले डिवाइसों पर टेस्ट करना

Android 11 या 12 पर काम करने वाले डिवाइसों की जांच करने के लिए, सबसे पहले टेस्ट डिवाइसों को सेट अप करें. सेटअप, Android वर्शन और यूज़रडीबग वर्सेस यूज़र डिवाइसों के हिसाब से अलग-अलग होता है. इसके बाद, CTS और CTS verifier टेस्ट चलाएं.

मीडिया परफ़ॉर्मेंस क्लास का विज्ञापन दिखाना

ro.odm.build.media_performance_class सिस्टम प्रॉपर्टी का इस्तेमाल करके, सही परफ़ॉर्मेंस क्लास का विज्ञापन दिखाने के लिए, टेस्ट डिवाइसों को सेट अप करने के लिए यह तरीका अपनाएं:

  • परफ़ॉर्मेंस क्लास 12 (PC12) के लिए, प्रॉपर्टी की वैल्यू को 31 पर सेट करें.

  • परफ़ॉर्मेंस क्लास 11 (PC11) के लिए, प्रॉपर्टी की वैल्यू को 30 पर सेट करें.

Userdebug डिवाइस

Android यूज़रडीबग डिवाइसों को सेट अप करने के लिए:

  • Android 12 के यूज़रडीबग डिवाइस:

    adb root
    adb shell setprop ro.odm.build.media_performance_class 31   // use 30 for PC11
    adb shell stop && sleep 1 && adb shell start
    adb shell pkill -f camera
  • Android 11 के यूज़रडीबग डिवाइसों के लिए:

    adb root
    adb shell setenforce 0
    adb shell setprop ro.odm.build.media_performance_class 31   // use 30 for PC11
    adb shell appops set com.android.cts.verifier MANAGE_EXTERNAL_STORAGE 0

ro.odm.build.media_performance_class सिस्टम प्रॉपर्टी को हर रीबूट पर सिर्फ़ एक बार सेट किया जा सकता है. हालांकि, पहली बार इसे सेट करने से पहले, आपको डिवाइस को रीबूट करने की ज़रूरत नहीं है.

उपयोगकर्ता के डिवाइस

Android उपयोगकर्ता डिवाइसों को सेट अप करने के लिए, product.prop फ़ाइल में ro.odm.build.media_performance_class प्रॉपर्टी जोड़ें. साथ ही, परफ़ॉर्मेंस क्लास की चुनी गई वैल्यू जोड़ें:

ro.odm.build.media_performance_class=31   // use 30 for PC11

Android 11 पर काम करने वाले उपयोगकर्ता डिवाइसों के लिए, यह तरीका अपनाएं:

  1. [1627181] Add media performance class property to sepolicy पैच को चेरीपिक करें.

  2. com.android.cts.verifier के लिए MANAGE_EXTERNAL_STORAGE सेट करें:

    adb shell appops set com.android.cts.verifier MANAGE_EXTERNAL_STORAGE 0

सीटीएस और आईटीएस टेस्ट चलाएं

डाउनलोड किए गए पैच लागू करके, सीटीएस और सीटीएस वेरिफ़ायर बनाएं. इसके बाद, अपने टेस्ट डिवाइसों के लिए Android का सही वर्शन चलाएं. जैसे, Android 11 डिवाइसों के लिए Android 11 सीटीएस और Android 12 डिवाइसों के लिए Android 12 सीटीएस.

मीडिया

मीडिया सीटीएस टेस्ट चलाने के लिए:

cts-tradefed run singleCommand cts --disable-reboot -m CtsMediaPerformanceClassTestCases

कैमरा

कैमरे के लिए CTS टेस्ट चलाने के लिए:

cts-tradefed run singleCommand cts --disable-reboot -m CtsCameraTestCases -t android.hardware.camera2.cts.ExtendedCameraCharacteristicsTest#testCameraPerfClassCharacteristics
python tools/run_all_tests.py device=DEVICE camera=PRIMARY_CAMERA_ID chart=CHART_ID scenes=2_c

Android 12 वर्शन वाले डिवाइसों के लिए:

cts-tradefed run singleCommand cts --disable-reboot -m CtsCameraApi31TestCases

हार्डवेयर

हार्डवेयर सीटीएस टेस्ट चलाने के लिए:

cts-tradefed run singleCommand cts --disable-reboot -m CtsFileSystemTestCases -t android.filesystem.cts.RandomRWTest
cts-tradefed run singleCommand cts --disable-reboot -m CtsFileSystemTestCases -t android.filesystem.cts.SequentialRWTest