ImageAnalyzer fix for wave amplitude calculations
Decreasing required space between samples when determining amplitudes.
Bug: 65202353
Test: run google/test/framework/media/audio-loopback-stress
Change-Id: I30dc65005c88d434ff83f0f4acc2799dfb8c088f
diff --git a/src/com/android/media/tests/AudioLoopbackImageAnalyzer.java b/src/com/android/media/tests/AudioLoopbackImageAnalyzer.java
index 75df13b..08cf70c 100644
--- a/src/com/android/media/tests/AudioLoopbackImageAnalyzer.java
+++ b/src/com/android/media/tests/AudioLoopbackImageAnalyzer.java
@@ -61,6 +61,9 @@
private static final float MAX_ALLOWED_COLUMN_DECREASE = 0.42f;
// Only check MAX_ALLOWED_COLUMN_DECREASE up to this number
private static final float MIN_NUMBER_OF_DECREASING_COLUMNS = 8;
+ // Minimum space between two amplitude columns
+ private static final int MIN_SPACE_BETWEEN_TWO_COLUMNS = 4;
+ private static final int MIN_SPACE_BETWEEN_TWO_COLUMNS_TABLET = 5;
enum Result {
PASS,
@@ -95,7 +98,7 @@
final int[] targetColors;
final int amplitudeCenterMaxDiff;
final float maxDuration;
- final int minNrOfZeroesBetweenAmplitudes = 5;
+ final int minNrOfZeroesBetweenAmplitudes;
final int horizontalStart; //ignore anything left of this bound
int horizontalThreshold = 10;
@@ -107,12 +110,14 @@
targetColors = TARGET_COLORS_TABLET;
horizontalStart = Math.round(1.7f * SECTION_WIDTH_IN_PERCENT * width / 100.0f);
horizontalThreshold = 40;
+ minNrOfZeroesBetweenAmplitudes = MIN_SPACE_BETWEEN_TWO_COLUMNS_TABLET;
} else {
waveMax = EXPERIMENTAL_WAVE_MAX_PHONE;
amplitudeCenterMaxDiff = 20;
maxDuration = 2.5f * SECTION_WIDTH_IN_PERCENT;
targetColors = TARGET_COLORS_PHONE;
horizontalStart = Math.round(1 * SECTION_WIDTH_IN_PERCENT * width / 100.0f);
+ minNrOfZeroesBetweenAmplitudes = MIN_SPACE_BETWEEN_TWO_COLUMNS;
}
// Amplitude
@@ -238,7 +243,7 @@
CLog.i("index=" + i + ", v=" + v);
- if (zeroCounter > minNrOfZeroesBetweenAmplitudes) {
+ if (zeroCounter >= minNrOfZeroesBetweenAmplitudes) {
// Found a new amplitude; update old amplitude
// with the "gap" count - i.e. nr of zeroes between the amplitudes
if (currentAmplitude != null) {