summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHarish Mahendrakar <harish.mahendrakar@ittiam.com>2021-07-12 14:40:16 -0700
committerHarish Mahendrakar <harish.mahendrakar@ittiam.com>2021-07-12 15:03:52 -0700
commitbdb4a533a90eb855234e12fe46002279c45ea178 (patch)
tree922385e976bb0df637674caf44062ba2f9667c73
parent309008a7f6ecb704939d3017fb684ad4ab23a4df (diff)
downloadcts-bdb4a533a90eb855234e12fe46002279c45ea178.tar.gz
CodecEncoderPerformanceTest: Set min encoder complexity
Bug: 193456847 Test: atest android.video.cts.CodecEncoderPerformanceTest Change-Id: I5975243982dd380e4919839494058483b66a6d9f
-rw-r--r--tests/video/src/android/video/cts/CodecEncoderPerformanceTestBase.java2
-rw-r--r--tests/video/src/android/video/cts/CodecPerformanceTestBase.java15
2 files changed, 17 insertions, 0 deletions
diff --git a/tests/video/src/android/video/cts/CodecEncoderPerformanceTestBase.java b/tests/video/src/android/video/cts/CodecEncoderPerformanceTestBase.java
index e590fb7e920..2805bbd3e52 100644
--- a/tests/video/src/android/video/cts/CodecEncoderPerformanceTestBase.java
+++ b/tests/video/src/android/video/cts/CodecEncoderPerformanceTestBase.java
@@ -124,6 +124,8 @@ class CodecEncoderPerformanceTestBase extends CodecPerformanceTestBase {
mDecoderFormat.setInteger(MediaFormat.KEY_OPERATING_RATE, -1);
mEncoderFormat.setInteger(MediaFormat.KEY_OPERATING_RATE, -1);
}
+ mEncoderFormat.setInteger(MediaFormat.KEY_COMPLEXITY,
+ getEncoderMinComplexity(mEncoderName, mEncoderMime));
mOperatingRateExpected /= 2.0;
}
diff --git a/tests/video/src/android/video/cts/CodecPerformanceTestBase.java b/tests/video/src/android/video/cts/CodecPerformanceTestBase.java
index 411f71b1e98..3d64a5e491e 100644
--- a/tests/video/src/android/video/cts/CodecPerformanceTestBase.java
+++ b/tests/video/src/android/video/cts/CodecPerformanceTestBase.java
@@ -22,6 +22,7 @@ import android.media.MediaCodecList;
import android.media.MediaExtractor;
import android.media.MediaFormat;
import android.os.Build;
+import android.util.Range;
import android.view.Surface;
import java.io.File;
@@ -234,6 +235,20 @@ class CodecPerformanceTestBase {
return maxOperatingRate;
}
+ int getEncoderMinComplexity(String codecName, String mime) throws IOException {
+ MediaCodec codec = MediaCodec.createByCodecName(codecName);
+ MediaCodecInfo mediaCodecInfo = codec.getCodecInfo();
+ int minComplexity = -1;
+ if (mediaCodecInfo.isEncoder()) {
+ Range<Integer> complexityRange = mediaCodecInfo
+ .getCapabilitiesForType(mime).getEncoderCapabilities()
+ .getComplexityRange();
+ minComplexity = complexityRange.getLower();
+ }
+ codec.release();
+ return minComplexity;
+ }
+
void enqueueDecoderInput(int bufferIndex) {
MediaCodec.BufferInfo info = mBufferInfos.get(mSampleIndex++);
if (info.size > 0 && (info.flags & MediaCodec.BUFFER_FLAG_CODEC_CONFIG) == 0) {