Commit 4d2fa9242a for aom

commit 4d2fa9242a047ceb2f56a40e5227e7f3d836aae8
Author: Diksha Singh <diksha.singh@ittiam.com>
Date:   Tue Apr 21 10:56:40 2026 +0530

    Fix highbd_apply_temporal_filter unit test

    Applies the fixes in
    https://aomedia-review.googlesource.com/c/aom/+/209061
    to high bit-depth unit tests.

    Change-Id: I6243197291d3bf1827115c228cce75515dd6b65b

diff --git a/test/temporal_filter_test.cc b/test/temporal_filter_test.cc
index 4b433226ea..65a4c71d5c 100644
--- a/test/temporal_filter_test.cc
+++ b/test/temporal_filter_test.cc
@@ -495,7 +495,13 @@ class HBDTemporalFilterTest
       for (int ii = 0; ii < plane_h; ii++) {
         for (int jj = 0; jj < plane_w; jj++) {
           src1p[jj] = rnd_.Rand16() & max_val;
-          src2p[jj] = rnd_.Rand16() & max_val;
+          // Keep each pixel of `src2_` within [-7, 7] of `src1_` so the
+          // window_error stays small in apply_temporal_filter. Otherwise
+          // scaled_error clamps to 7 regardless of other factors and masks bugs
+          // in subblock_mvs and subblock_mses handling.
+          do {
+            src2p[jj] = rnd_.Rand16() & max_val;
+          } while (abs(src2p[jj] - src1p[jj]) >= 8);
         }
         src1p += plane_stride;
         src2p += plane_stride2;
@@ -613,13 +619,17 @@ void HBDTemporalFilterTest::RunTest(int isRandom, int run_times, int BD,
     std::unique_ptr<MACROBLOCKD> mbd(new (std::nothrow) MACROBLOCKD);
     ASSERT_NE(mbd, nullptr);
     mbd->bd = BD;
+    int plane_offset = 0;
     for (int plane = AOM_PLANE_Y; plane < num_planes; plane++) {
-      int plane_height = plane ? height >> subsampling_y : height;
-      int plane_stride = plane ? stride >> subsampling_x : stride;
+      int plane_height =
+          plane ? (height + subsampling_y) >> subsampling_y : height;
+      int plane_stride =
+          plane ? (stride + subsampling_x) >> subsampling_x : stride;
       frame_to_filter->buffers[plane] =
-          frame_to_filter->buffer_alloc + plane * plane_stride * plane_height;
+          frame_to_filter->buffer_alloc + plane_offset;
       mbd->plane[plane].subsampling_x = plane ? subsampling_x : 0;
       mbd->plane[plane].subsampling_y = plane ? subsampling_y : 0;
+      plane_offset += plane_height * plane_stride;
     }

     params_.ref_func(frame_to_filter.get(), mbd.get(), block_size, mb_row,
@@ -662,17 +672,26 @@ void HBDTemporalFilterTest::RunTest(int isRandom, int run_times, int BD,
           height, color_fmt_str[color_fmt]);

     } else {
-      for (int i = 0, l = 0; i < height; i++) {
-        for (int j = 0; j < width; j++, l++) {
-          EXPECT_EQ(accumulator_ref[l], accumulator_mod[l])
-              << "Error:" << k << " SSE Sum Test [" << width << "x" << height
-              << "] " << color_fmt_str[color_fmt]
-              << " C accumulator does not match optimized accumulator.";
-          EXPECT_EQ(count_ref[l], count_mod[l])
-              << "Error:" << k << " SSE Sum Test [" << width << "x" << height
-              << "] " << color_fmt_str[color_fmt]
-              << " C count does not match optimized count.";
+      plane_offset = 0;
+      for (int plane = AOM_PLANE_Y; plane < num_planes; plane++) {
+        int plane_height =
+            plane ? (height + subsampling_y) >> subsampling_y : height;
+        int plane_stride =
+            plane ? (stride + subsampling_x) >> subsampling_x : stride;
+        for (int i = 0, l = 0; i < plane_height; i++) {
+          for (int j = 0; j < plane_stride; j++, l++) {
+            EXPECT_EQ(accumulator_ref[l + plane_offset],
+                      accumulator_mod[l + plane_offset])
+                << "Error:" << k << " SSE Sum Test [" << width << "x" << height
+                << "] " << color_fmt_str[color_fmt]
+                << " C accumulator does not match optimized accumulator.";
+            EXPECT_EQ(count_ref[l + plane_offset], count_mod[l + plane_offset])
+                << "Error:" << k << " SSE Sum Test [" << width << "x" << height
+                << "] " << color_fmt_str[color_fmt]
+                << " count does not match optimized count.";
+          }
         }
+        plane_offset += plane_height * plane_stride;
       }
     }
   }