video: fix delta calculation
Bug: 26204362
Change-Id: I37b6063f9f6e17983c51e04a88fba6ba8110d0de
diff --git a/tests/video/src/android/video/cts/VideoEncoderDecoderTest.java b/tests/video/src/android/video/cts/VideoEncoderDecoderTest.java
index 5791e16..36fc9c2 100644
--- a/tests/video/src/android/video/cts/VideoEncoderDecoderTest.java
+++ b/tests/video/src/android/video/cts/VideoEncoderDecoderTest.java
@@ -1144,9 +1144,10 @@
}
public double calcErrorSquared(YUVValue other) {
- double yDelta = mY - other.mY;
- double uDelta = mU - other.mU;
- double vDelta = mV - other.mV;
+ // Java's byte is signed but here we want to calculate difference in unsigned bytes.
+ double yDelta = (mY & 0xFF) - (other.mY & 0xFF);
+ double uDelta = (mU & 0xFF) - (other.mU & 0xFF);
+ double vDelta = (mV & 0xFF) - (other.mV & 0xFF);
return yDelta * yDelta + uDelta * uDelta + vDelta * vDelta;
}
}