summaryrefslogtreecommitdiff
path: root/tests/mediapc/src/android/mediapc/cts/MultiEncoderPerfTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'tests/mediapc/src/android/mediapc/cts/MultiEncoderPerfTest.java')
-rw-r--r--tests/mediapc/src/android/mediapc/cts/MultiEncoderPerfTest.java46
1 files changed, 22 insertions, 24 deletions
diff --git a/tests/mediapc/src/android/mediapc/cts/MultiEncoderPerfTest.java b/tests/mediapc/src/android/mediapc/cts/MultiEncoderPerfTest.java
index 28c7fbd9307..66afa892425 100644
--- a/tests/mediapc/src/android/mediapc/cts/MultiEncoderPerfTest.java
+++ b/tests/mediapc/src/android/mediapc/cts/MultiEncoderPerfTest.java
@@ -16,24 +16,19 @@
package android.mediapc.cts;
-import static org.junit.Assert.assertTrue;
-
import android.media.MediaFormat;
+import android.mediapc.cts.common.PerformanceClassEvaluator;
import android.mediapc.cts.common.Utils;
-import android.os.Build;
-import android.util.Log;
import android.util.Pair;
import androidx.test.filters.LargeTest;
-import androidx.test.platform.app.InstrumentationRegistry;
import com.android.compatibility.common.util.CddTest;
-import com.android.compatibility.common.util.DeviceReportLog;
-import com.android.compatibility.common.util.ResultType;
-import com.android.compatibility.common.util.ResultUnit;
import org.junit.Assume;
+import org.junit.Rule;
import org.junit.Test;
+import org.junit.rules.TestName;
import org.junit.runner.RunWith;
import org.junit.runners.Parameterized;
@@ -62,6 +57,9 @@ public class MultiEncoderPerfTest extends MultiCodecPerfTestBase {
mEncoderName = encoderName;
}
+ @Rule
+ public final TestName mTestName = new TestName();
+
// Returns the params list with the mime and their hardware encoders in
// both sync and async modes.
// Parameters {0}_{2}_{3} -- Mime_EncoderName_isAsync
@@ -90,7 +88,7 @@ public class MultiEncoderPerfTest extends MultiCodecPerfTestBase {
Assume.assumeTrue(Utils.isSPerfClass() || Utils.isRPerfClass() || !Utils.isPerfClass());
boolean hasVP9 = mMime.equals(MediaFormat.MIMETYPE_VIDEO_VP9);
- int requiredMinInstances = getRequiredMinConcurrentInstances(hasVP9);
+ int requiredMinInstances = getRequiredMinConcurrentInstances720p(hasVP9);
testCodec(720, 1280, 4000000, requiredMinInstances);
}
@@ -111,7 +109,7 @@ public class MultiEncoderPerfTest extends MultiCodecPerfTestBase {
ArrayList<Pair<String, String>> mimeEncoderPairs = new ArrayList<>();
mimeEncoderPairs.add(Pair.create(mMime, mEncoderName));
int maxInstances = checkAndGetMaxSupportedInstancesForCodecCombinations(height, width,
- mimeEncoderPairs);
+ mimeEncoderPairs, requiredMinInstances);
double achievedFrameRate = 0.0;
if (maxInstances >= requiredMinInstances) {
ExecutorService pool = Executors.newFixedThreadPool(maxInstances);
@@ -124,22 +122,22 @@ public class MultiEncoderPerfTest extends MultiCodecPerfTestBase {
achievedFrameRate += result.get();
}
}
+ PerformanceClassEvaluator pce = new PerformanceClassEvaluator(this.mTestName);
+ PerformanceClassEvaluator.ConcurrentCodecRequirement r5_1__H_1_3;
+ PerformanceClassEvaluator.ConcurrentCodecRequirement r5_1__H_1_4;
// Achieved frame rate is not compared as this test runs in byte buffer mode.
- if (Utils.isPerfClass()) {
- assertTrue("Encoder " + mEncoderName + " unable to support minimum concurrent " +
- "instances. act/exp: " + maxInstances + "/" + requiredMinInstances,
- maxInstances >= requiredMinInstances);
- Log.v(LOG_TAG, "Achieved fps: " + achievedFrameRate +
- "\nAchieved frame rate is not compared as this test runs in byte buffer mode");
+ if (height >= 1080) {
+ r5_1__H_1_3 = pce.addR5_1__H_1_3_1080p();
+ r5_1__H_1_4 = pce.addR5_1__H_1_4_1080p();
+ r5_1__H_1_3.setConcurrentInstances(maxInstances);
+ r5_1__H_1_4.setConcurrentFps(achievedFrameRate);
} else {
- int pc = maxInstances >= requiredMinInstances ? Build.VERSION_CODES.R : 0;
- DeviceReportLog log = new DeviceReportLog("MediaPerformanceClassLogs",
- "MultiEncoderPerf_" + mEncoderName);
- log.addValue("encoder", mMime + "_" + mEncoderName, ResultType.NEUTRAL,
- ResultUnit.NONE);
- log.setSummary("CDD 2.2.7.1/5.1/H-1-3,H-1-4 performance_class", pc, ResultType.NEUTRAL,
- ResultUnit.NONE);
- log.submit(InstrumentationRegistry.getInstrumentation());
+ r5_1__H_1_3 = pce.addR5_1__H_1_3_720p(mMime, mMime, height);
+ r5_1__H_1_4 = pce.addR5_1__H_1_4_720p();
+ r5_1__H_1_3.setConcurrentInstances(maxInstances);
+ r5_1__H_1_4.setConcurrentFps(achievedFrameRate);
}
+
+ pce.submitAndCheck();
}
}