video: relax fps tolerance for encoder perf test
Bug: 232333126
Test: atest android.video.cts.CodecEncoderPerformanceTest
Change-Id: I75165fe94a4432cce58667bed687bfd02ca45281
diff --git a/tests/video/src/android/video/cts/CodecEncoderPerformanceTest.java b/tests/video/src/android/video/cts/CodecEncoderPerformanceTest.java
index 973e2dd..aa4c8a7 100644
--- a/tests/video/src/android/video/cts/CodecEncoderPerformanceTest.java
+++ b/tests/video/src/android/video/cts/CodecEncoderPerformanceTest.java
@@ -16,7 +16,10 @@
package android.video.cts;
+import static org.junit.Assert.assertTrue;
+
import android.media.MediaFormat;
+import android.os.Build;
import android.util.Log;
import androidx.test.filters.LargeTest;
@@ -31,8 +34,6 @@
import java.util.Collection;
import java.util.List;
-import static org.junit.Assert.assertTrue;
-
/**
* Operating rate is expected to be met by encoder only in surface mode and not in byte buffer mode.
* As camera has limited frame rates and resolutions, it is not possible to test encoder
@@ -113,8 +114,12 @@
" Encoder: %s, Key-priority: %d :: ", mDecoderMime, mDecoderName, mHeight,
mEncoderMime, mEncoderName, mKeyPriority);
int maxExpectedFps = getMaxExpectedFps(mWidth, mHeight);
+ double fpsToleranceFactor = FPS_TOLERANCE_FACTOR;
+ if (VNDK_VERSION <= Build.VERSION_CODES.TIRAMISU) {
+ fpsToleranceFactor = Math.min(0.9, fpsToleranceFactor);
+ }
double expectedFps =
- Math.min(mOperatingRateExpected * FPS_TOLERANCE_FACTOR, maxExpectedFps);
+ Math.min(mOperatingRateExpected * fpsToleranceFactor, maxExpectedFps);
Log.d(LOG_TAG, log + "act/exp fps: " + mAchievedFps + "/" + expectedFps);
assertTrue("Unable to achieve the expected rate. " + log + "act/exp fps: " + mAchievedFps
+ "/" + expectedFps, mAchievedFps >= expectedFps);