diff options
author | Harish Mahendrakar <harish.mahendrakar@ittiam.com> | 2021-07-12 14:40:16 -0700 |
---|---|---|
committer | Harish Mahendrakar <harish.mahendrakar@ittiam.com> | 2021-07-12 15:03:52 -0700 |
commit | bdb4a533a90eb855234e12fe46002279c45ea178 (patch) | |
tree | 922385e976bb0df637674caf44062ba2f9667c73 | |
parent | 309008a7f6ecb704939d3017fb684ad4ab23a4df (diff) | |
download | cts-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.java | 2 | ||||
-rw-r--r-- | tests/video/src/android/video/cts/CodecPerformanceTestBase.java | 15 |
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) { |