MediaMetadataRetrieverTest: Update AV1 decoder file for grid tests

Updated AV1 decoder tests to test the following cases
- Image Size: 1920x1080, grid: 2x4, frame size: 960x270
- Image size: 1920x1080, grid: 4x4, frame size: 480x270
- Image size: 1024x1024, grid: 2x2, frame size: 512x512

Bug: 289764331
Test: atest CtsMediaMiscTestCases:MediaMetadataRetrieverTest
(cherry picked from https://android-review.googlesource.com/q/commit:7c32d01f388f9b2dc1fb82e8bd415bdca1ab5a2b)
Merged-In: Icdedddc52c4a3a39d2fdbe0fe61474712471bfd3
Change-Id: Icdedddc52c4a3a39d2fdbe0fe61474712471bfd3
diff --git a/tests/tests/media/misc/AndroidTest.xml b/tests/tests/media/misc/AndroidTest.xml
index 1ed72c0..ed3133f 100644
--- a/tests/tests/media/misc/AndroidTest.xml
+++ b/tests/tests/media/misc/AndroidTest.xml
@@ -41,7 +41,7 @@
     </target_preparer>
     <target_preparer class="com.android.compatibility.common.tradefed.targetprep.MediaPreparer">
         <option name="push-all" value="true" />
-        <option name="media-folder-name" value="CtsMediaMiscTestCases-2.1" />
+        <option name="media-folder-name" value="CtsMediaMiscTestCases-2.2" />
         <option name="dynamic-config-module" value="CtsMediaMiscTestCases" />
     </target_preparer>
     <target_preparer class="com.android.tradefed.targetprep.suite.SuiteApkInstaller">
diff --git a/tests/tests/media/misc/DynamicConfig.xml b/tests/tests/media/misc/DynamicConfig.xml
index 0918a54..ed21ce3 100644
--- a/tests/tests/media/misc/DynamicConfig.xml
+++ b/tests/tests/media/misc/DynamicConfig.xml
@@ -15,6 +15,6 @@
 
 <dynamicConfig>
     <entry key="media_files_url">
-    <value>https://dl.google.com/android/xts/cts/tests/tests/media/misc/CtsMediaMiscTestCases-2.1.zip</value>
+    <value>https://dl.google.com/android/xts/cts/tests/tests/media/misc/CtsMediaMiscTestCases-2.2.zip</value>
     </entry>
 </dynamicConfig>
diff --git a/tests/tests/media/misc/copy_media.sh b/tests/tests/media/misc/copy_media.sh
index ca7f3cb..c838197 100755
--- a/tests/tests/media/misc/copy_media.sh
+++ b/tests/tests/media/misc/copy_media.sh
@@ -17,4 +17,4 @@
 [ -z "$MEDIA_ROOT_DIR" ] && MEDIA_ROOT_DIR=$(dirname $0)/..
 source $MEDIA_ROOT_DIR/common/copy_media_utils.sh
 get_adb_options "$@"
-copy_media "misc" "CtsMediaMiscTestCases-2.1"
+copy_media "misc" "CtsMediaMiscTestCases-2.2"
diff --git a/tests/tests/media/misc/src/android/media/misc/cts/MediaMetadataRetrieverTest.java b/tests/tests/media/misc/src/android/media/misc/cts/MediaMetadataRetrieverTest.java
index 01e3caf..85e4e73 100644
--- a/tests/tests/media/misc/src/android/media/misc/cts/MediaMetadataRetrieverTest.java
+++ b/tests/tests/media/misc/src/android/media/misc/cts/MediaMetadataRetrieverTest.java
@@ -26,6 +26,7 @@
 import static org.junit.Assert.assertNull;
 import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
+import static org.junit.Assume.assumeTrue;
 
 import android.content.Context;
 import android.content.pm.PackageManager;
@@ -1193,15 +1194,46 @@
                 1 /*imageCount*/, 0 /*primary*/, false /*useGrid*/, true /*checkColor*/);
     }
 
+    /**
+     * Test AVIF (1024x1024 with 2x2 grid) decoding
+     */
     @Test
-    public void testGetImageAtIndexAvifGrid() throws Exception {
+    public void testGetImageAtIndexAvif1024x1024Grid2x2() throws Exception {
+        testGetImageAtIndexAvifGrid("sample_grid_1024x1024_2x2.avif", 1024 /* imageWidth */,
+                1024 /* imageHeight */, 2 /* gridCols */, 2 /* gridRows */);
+    }
+
+    /**
+     * Test AVIF (1920x1080 with 2x4 grid) decoding
+     */
+    @Test
+    public void testGetImageAtIndexAvif1920x1080Grid2x4() throws Exception {
+        testGetImageAtIndexAvifGrid("sample_grid_1920x1080_2x4.avif", 1920 /* imageWidth */,
+                1080 /* imageHeight */, 2 /* gridCols */, 4 /* gridRows */);
+    }
+
+    /**
+     * Test AVIF (1920x1080 with 4x4 grid) decoding
+     */
+    @Test
+    public void testGetImageAtIndexAvif1920x1080Grid4x4() throws Exception {
+        testGetImageAtIndexAvifGrid("sample_grid_1920x1080_4x4.avif", 1920 /* imageWidth */,
+                1080 /* imageHeight */, 4 /* gridCols */, 4 /* gridRows */);
+    }
+
+    private void testGetImageAtIndexAvifGrid(final String res, int imageWidth, int imageHeight,
+                                             int gridCols, int gridRows) throws Exception {
         if (!MediaUtils.check(mIsAtLeastS, "test needs Android 12")) return;
-        if (!MediaUtils.canDecodeVideo(MediaFormat.MIMETYPE_VIDEO_AV1, 512, 512, 30)) {
-            MediaUtils.skipTest("No AV1 codec for 512p");
+        int gridWidth = imageWidth / gridCols;
+        int gridHeight = imageHeight / gridRows;
+        if (!MediaUtils.canDecodeVideo(MediaFormat.MIMETYPE_VIDEO_AV1, gridWidth, gridHeight, 30)) {
+            MediaUtils.skipTest("No AV1 codec for " + gridWidth + " x " + gridHeight);
+            //TODO (b/224402585) Remove the following once MediaUtils.skipTest() calls assumeTrue
+            assumeTrue("No AV1 codec for " + gridWidth + " x " + gridHeight, false);
             return;
         }
-        testGetImage("sample_grid2x4.avif", 1920, 1080, "image/avif", 0 /*rotation*/,
-                1 /*imageCount*/, 0 /*primary*/, true /*useGrid*/, true /*checkColor*/);
+        testGetImage(res, imageWidth, imageHeight, "image/avif", 0 /*rotation*/, 1 /*imageCount*/,
+                0 /*primary*/, true /*useGrid*/, true /*checkColor*/);
     }
 
     /**
diff --git a/tests/tests/media/misc/src/android/media/misc/cts/WorkDir.java b/tests/tests/media/misc/src/android/media/misc/cts/WorkDir.java
index 183341e..6cbab7c 100644
--- a/tests/tests/media/misc/src/android/media/misc/cts/WorkDir.java
+++ b/tests/tests/media/misc/src/android/media/misc/cts/WorkDir.java
@@ -20,6 +20,6 @@
 
 class WorkDir extends WorkDirBase {
     public static final String getMediaDirString() {
-        return getMediaDirString("CtsMediaMiscTestCases-2.1");
+        return getMediaDirString("CtsMediaMiscTestCases-2.2");
     }
 }