media: Add hevc colorAspects test samples.
Bug:27442922
Change-Id: Ia6a7157dd99826b49717c973eff2530f942eae7e
diff --git a/tests/tests/media/res/raw/color_176x144_bt601_525_lr_sdr_h265.mp4 b/tests/tests/media/res/raw/color_176x144_bt601_525_lr_sdr_h265.mp4
new file mode 100644
index 0000000..7d948d4
--- /dev/null
+++ b/tests/tests/media/res/raw/color_176x144_bt601_525_lr_sdr_h265.mp4
Binary files differ
diff --git a/tests/tests/media/res/raw/color_176x144_bt601_625_fr_sdr_h265.mp4 b/tests/tests/media/res/raw/color_176x144_bt601_625_fr_sdr_h265.mp4
new file mode 100644
index 0000000..11025be
--- /dev/null
+++ b/tests/tests/media/res/raw/color_176x144_bt601_625_fr_sdr_h265.mp4
Binary files differ
diff --git a/tests/tests/media/res/raw/color_176x144_bt709_lr_sdr_h265.mp4 b/tests/tests/media/res/raw/color_176x144_bt709_lr_sdr_h265.mp4
new file mode 100644
index 0000000..dfd97fe
--- /dev/null
+++ b/tests/tests/media/res/raw/color_176x144_bt709_lr_sdr_h265.mp4
Binary files differ
diff --git a/tests/tests/media/res/raw/color_176x144_srgb_lr_sdr_h265.mp4 b/tests/tests/media/res/raw/color_176x144_srgb_lr_sdr_h265.mp4
new file mode 100644
index 0000000..fe34c5b
--- /dev/null
+++ b/tests/tests/media/res/raw/color_176x144_srgb_lr_sdr_h265.mp4
Binary files differ
diff --git a/tests/tests/media/src/android/media/cts/DecoderTest.java b/tests/tests/media/src/android/media/cts/DecoderTest.java
index f9db210..a2bdbea 100755
--- a/tests/tests/media/src/android/media/cts/DecoderTest.java
+++ b/tests/tests/media/src/android/media/cts/DecoderTest.java
@@ -325,6 +325,41 @@
2 /* MediaFormat.COLOR_TRANSFER_SRGB */);
}
+ /**
+ * Test ColorAspects of all the HEVC decoders. Decoders should handle
+ * the colors aspects presented in both the mp4 atom 'colr' and VUI
+ * in the bitstream correctly. The following table lists the color
+ * aspects contained in the color box and VUI for the test stream.
+ * P = primaries, T = transfer, M = coeffs, R = range. '-' means
+ * empty value.
+ * | colr | VUI
+ * -------------------------------------------------------------------
+ * File Name | P T M R | P T M R
+ * -------------------------------------------------------------------
+ * color_176x144_bt709_lr_sdr_h265 | 1 1 1 0 | - - - -
+ * color_176x144_bt601_625_fr_sdr_h265 | 1 6 6 0 | 5 2 2 1
+ * color_176x144_bt601_525_lr_sdr_h265 | 6 5 4 0 | 2 6 6 0
+ * color_176x144_srgb_lr_sdr_h265 | 2 0 2 1 | 1 13 1 0
+ */
+ public void testH265ColorAspects() throws Exception {
+ testColorAspects(
+ R.raw.color_176x144_bt709_lr_sdr_h265, 1 /* testId */,
+ MediaFormat.COLOR_RANGE_LIMITED, MediaFormat.COLOR_STANDARD_BT709,
+ MediaFormat.COLOR_TRANSFER_SDR_VIDEO);
+ testColorAspects(
+ R.raw.color_176x144_bt601_625_fr_sdr_h265, 2 /* testId */,
+ MediaFormat.COLOR_RANGE_FULL, MediaFormat.COLOR_STANDARD_BT601_PAL,
+ MediaFormat.COLOR_TRANSFER_SDR_VIDEO);
+ testColorAspects(
+ R.raw.color_176x144_bt601_525_lr_sdr_h265, 3 /* testId */,
+ MediaFormat.COLOR_RANGE_LIMITED, MediaFormat.COLOR_STANDARD_BT601_NTSC,
+ MediaFormat.COLOR_TRANSFER_SDR_VIDEO);
+ testColorAspects(
+ R.raw.color_176x144_srgb_lr_sdr_h265, 4 /* testId */,
+ MediaFormat.COLOR_RANGE_LIMITED, MediaFormat.COLOR_STANDARD_BT709,
+ 2 /* MediaFormat.COLOR_TRANSFER_SRGB */);
+ }
+
private void testColorAspects(
int res, int testId, int expectRange, int expectStandard, int expectTransfer)
throws Exception {