Camera: Fix row copy for P010 format
P010 rowStride may be larger than 2*row. Consider this when copying
rows.
Bug: 200949749
Test: Vendor testing
Change-Id: I293db5586e380e93de3153cea991594e41fe2892
diff --git a/tests/camera/utils/src/android/hardware/camera2/cts/CameraTestUtils.java b/tests/camera/utils/src/android/hardware/camera2/cts/CameraTestUtils.java
index 7a4c2e0..369fae2 100644
--- a/tests/camera/utils/src/android/hardware/camera2/cts/CameraTestUtils.java
+++ b/tests/camera/utils/src/android/hardware/camera2/cts/CameraTestUtils.java
@@ -1542,9 +1542,13 @@
}
int h = (i == 0) ? height : height / 2;
for (int row = 0; row < h; row++) {
- int length = rowStride;
+ // Each 10-bit pixel occupies 2 bytes
+ int length = 2 * width;
buffer.get(data, offset, length);
offset += length;
+ if (row < h - 1) {
+ buffer.position(buffer.position() + rowStride - length);
+ }
}
if (VERBOSE) Log.v(TAG, "Finished reading data from plane " + i);
buffer.rewind();