Commit bf728816ce for aom

commit bf728816ce9e816a254104db1f134d7af67a13e6
Author: Wan-Teh Chang <wtc@google.com>
Date:   Sat Oct 24 07:43:34 2026 -0700

    wiener_test.cc: Remove two obsolete disabled tests

    Remove the following two tests:
      SearchWienerTest.DISABLED_12bitSignedIntegerOverflowInLinsolveWiener2
      SearchWienerTest.DISABLED_12bitSignedIntegerOverflowInLinsolveWiener3

    They can no longer reproduce the integer overflows because later changes
    such as commit 73c9915 and commit aca9d9d made the code paths
    unreachable. I verified that the fix for bug oss-fuzz:566951534
    (commit 9469625) also fixed the integer overflows that these two tests
    reproduced.

    Bug: oss-fuzz:384759831, oss-fuzz:42537236
    Change-Id: I454d1e05beff1cdcf53f164f9124accb874f0716

diff --git a/test/wiener_test.cc b/test/wiener_test.cc
index 1db4d6f3d1..84ecccd191 100644
--- a/test/wiener_test.cc
+++ b/test/wiener_test.cc
@@ -2369,240 +2369,5 @@ TEST(SearchWienerTest, 12bitSignedIntegerOverflowInLinsolveWiener) {
   EXPECT_EQ(AOM_CODEC_OK, aom_codec_destroy(&enc));
 }

-// A test that reproduces crbug.com/oss-fuzz/384759831: signed integer overflow
-// in linsolve_wiener().
-TEST(SearchWienerTest, DISABLED_12bitSignedIntegerOverflowInLinsolveWiener2) {
-  constexpr int kWidth = 4;
-  constexpr int kHeight = 2;
-  static constexpr uint16_t kBuffer1[kWidth * kHeight] = {
-    // Y plane:
-    32, 4095, 2080, 2592, 32, 3104, 4095, 32,
-  };
-  unsigned char *img_data1 =
-      reinterpret_cast<unsigned char *>(const_cast<uint16_t *>(kBuffer1));
-  static constexpr uint16_t kBuffer2[kWidth * kHeight] = {
-    // Y plane:
-    4095, 4095, 2080, 4095, 4095, 32, 4095, 544,
-  };
-  unsigned char *img_data2 =
-      reinterpret_cast<unsigned char *>(const_cast<uint16_t *>(kBuffer2));
-  static constexpr uint16_t kBuffer3[kWidth * kHeight] = {
-    // Y plane:
-    3872, 3872, 3872, 2848, 800, 4095, 32, 3104,
-  };
-  unsigned char *img_data3 =
-      reinterpret_cast<unsigned char *>(const_cast<uint16_t *>(kBuffer3));
-
-  aom_codec_iface_t *iface = aom_codec_av1_cx();
-  aom_codec_enc_cfg_t cfg;
-  EXPECT_EQ(AOM_CODEC_OK,
-            aom_codec_enc_config_default(iface, &cfg, AOM_USAGE_GOOD_QUALITY));
-  cfg.rc_end_usage = AOM_Q;
-  cfg.g_profile = 2;
-  cfg.g_bit_depth = AOM_BITS_12;
-  cfg.g_input_bit_depth = 12;
-  cfg.g_w = kWidth;
-  cfg.g_h = kHeight;
-  cfg.g_lag_in_frames = 0;
-  cfg.g_threads = 32;
-  cfg.monochrome = 1;
-  cfg.rc_min_quantizer = 51;
-  cfg.rc_max_quantizer = 55;
-  aom_codec_ctx_t enc;
-  EXPECT_EQ(AOM_CODEC_OK,
-            aom_codec_enc_init(&enc, iface, &cfg, AOM_CODEC_USE_HIGHBITDEPTH));
-  EXPECT_EQ(AOM_CODEC_OK, aom_codec_control(&enc, AOME_SET_CQ_LEVEL, 53));
-  EXPECT_EQ(AOM_CODEC_OK, aom_codec_control(&enc, AV1E_SET_TILE_ROWS, 3));
-  EXPECT_EQ(AOM_CODEC_OK, aom_codec_control(&enc, AV1E_SET_TILE_COLUMNS, 6));
-  EXPECT_EQ(AOM_CODEC_OK, aom_codec_control(&enc, AOME_SET_CPUUSED, 6));
-  EXPECT_EQ(AOM_CODEC_OK,
-            aom_codec_control(&enc, AV1E_SET_COLOR_RANGE, AOM_CR_FULL_RANGE));
-  EXPECT_EQ(AOM_CODEC_OK,
-            aom_codec_control(&enc, AOME_SET_TUNING, AOM_TUNE_SSIM));
-
-  aom_image_t img;
-
-  // Encode frame
-  EXPECT_EQ(&img, aom_img_wrap(&img, AOM_IMG_FMT_I42016, kWidth, kHeight, 1,
-                               img_data1));
-  img.monochrome = 1;
-  img.planes[1] = img.planes[2] = nullptr;
-  img.stride[1] = img.stride[2] = 0;
-  EXPECT_EQ(aom_codec_encode(&enc, &img, 0, 1, 0), AOM_CODEC_OK);
-  aom_codec_iter_t iter = nullptr;
-  const aom_codec_cx_pkt_t *pkt = aom_codec_get_cx_data(&enc, &iter);
-  ASSERT_NE(pkt, nullptr);
-  EXPECT_EQ(pkt->kind, AOM_CODEC_CX_FRAME_PKT);
-  // pkt->data.frame.flags is 0x1f0011.
-  EXPECT_EQ(pkt->data.frame.flags & AOM_FRAME_IS_KEY, AOM_FRAME_IS_KEY);
-  pkt = aom_codec_get_cx_data(&enc, &iter);
-  EXPECT_EQ(pkt, nullptr);
-
-  // Encode frame
-  EXPECT_EQ(&img, aom_img_wrap(&img, AOM_IMG_FMT_I42016, kWidth, kHeight, 1,
-                               img_data2));
-  img.monochrome = 1;
-  img.planes[1] = img.planes[2] = nullptr;
-  img.stride[1] = img.stride[2] = 0;
-  EXPECT_EQ(aom_codec_encode(&enc, &img, 0, 1, 0), AOM_CODEC_OK);
-  iter = nullptr;
-  pkt = aom_codec_get_cx_data(&enc, &iter);
-  ASSERT_NE(pkt, nullptr);
-  EXPECT_EQ(pkt->kind, AOM_CODEC_CX_FRAME_PKT);
-  // pkt->data.frame.flags is 0x20000.
-  EXPECT_EQ(pkt->data.frame.flags & AOM_FRAME_IS_KEY, 0u);
-  pkt = aom_codec_get_cx_data(&enc, &iter);
-  EXPECT_EQ(pkt, nullptr);
-
-  // Encode frame
-  EXPECT_EQ(&img, aom_img_wrap(&img, AOM_IMG_FMT_I42016, kWidth, kHeight, 1,
-                               img_data3));
-  img.monochrome = 1;
-  img.planes[1] = img.planes[2] = nullptr;
-  img.stride[1] = img.stride[2] = 0;
-  EXPECT_EQ(aom_codec_encode(&enc, &img, 0, 1, 0), AOM_CODEC_OK);
-  iter = nullptr;
-  pkt = aom_codec_get_cx_data(&enc, &iter);
-  ASSERT_NE(pkt, nullptr);
-  EXPECT_EQ(pkt->kind, AOM_CODEC_CX_FRAME_PKT);
-  // pkt->data.frame.flags is 0x20000.
-  EXPECT_EQ(pkt->data.frame.flags & AOM_FRAME_IS_KEY, 0u);
-  pkt = aom_codec_get_cx_data(&enc, &iter);
-  EXPECT_EQ(pkt, nullptr);
-
-  // Flush encoder
-  EXPECT_EQ(AOM_CODEC_OK, aom_codec_encode(&enc, nullptr, 0, 1, 0));
-  iter = nullptr;
-  pkt = aom_codec_get_cx_data(&enc, &iter);
-  EXPECT_EQ(pkt, nullptr);
-
-  EXPECT_EQ(AOM_CODEC_OK, aom_codec_destroy(&enc));
-}
-
-// A test that reproduces crbug.com/oss-fuzz/42537236: signed integer overflow
-// in linsolve_wiener().
-TEST(SearchWienerTest, DISABLED_12bitSignedIntegerOverflowInLinsolveWiener3) {
-  constexpr int kWidth = 17;
-  constexpr int kHeight = 6;
-  // Since the image format is YUV 4:2:0, aom_img_wrap() expects the buffer is
-  // allocated with width and height aligned to a multiple of 2. Align the
-  // width to a multiple of 2 so that the stride set by aom_img_wrap() is
-  // correct.
-  static constexpr uint16_t kBuffer1[(kWidth + 1) * kHeight] = {
-    // Y plane:
-    // Row:
-    4095, 2408, 1907, 0, 1119, 0, 4095, 4095, 0, 4095, 2289, 4095, 0, 4095,
-    4095, 1545, 4095, 0,
-    // Row:
-    4095, 3437, 4095, 0, 4095, 4095, 4095, 0, 0, 4095, 0, 0, 1694, 4095, 4095,
-    404, 2728, 0,
-    // Row:
-    3756, 3051, 4095, 0, 0, 0, 841, 0, 0, 324, 0, 0, 0, 756, 4095, 2902, 0, 0,
-    // Row:
-    0, 0, 4095, 2779, 4095, 4095, 0, 4095, 0, 0, 4095, 4095, 1626, 3491, 4095,
-    4095, 1617, 0,
-    // Row:
-    4095, 4095, 0, 3039, 1218, 159, 4095, 3866, 4095, 438, 0, 0, 4095, 0, 0, 0,
-    0, 0,
-    // Row:
-    1091, 0, 4095, 0, 3587, 0, 4095, 0, 1409, 4095, 4095, 0, 3399, 0, 0, 0, 428,
-    0
-  };
-  unsigned char *img_data1 =
-      reinterpret_cast<unsigned char *>(const_cast<uint16_t *>(kBuffer1));
-  static constexpr uint16_t kBuffer2[(kWidth + 1) * kHeight] = {
-    // Y plane:
-    // Row:
-    561, 4095, 0, 1627, 4095, 2115, 4095, 4095, 0, 3397, 664, 2409, 0, 1235, 0,
-    4095, 0, 0,
-    // Row:
-    4095, 0, 1665, 0, 4095, 4095, 3541, 0, 4095, 1787, 2584, 4095, 0, 4095,
-    4095, 4095, 4095, 0,
-    // Row:
-    4095, 4095, 4095, 0, 0, 0, 0, 0, 0, 69, 0, 4095, 4095, 882, 4095, 4095,
-    4095, 0,
-    // Row:
-    4095, 3759, 4095, 0, 4095, 4095, 4095, 4095, 420, 0, 4095, 4095, 0, 0, 0, 0,
-    0, 0,
-    // Row:
-    2855, 2411, 4095, 2167, 4095, 2731, 0, 4095, 0, 4095, 0, 4011, 4095, 4095,
-    0, 4095, 1964, 0,
-    // Row:
-    4095, 2879, 2924, 0, 0, 4095, 3770, 4095, 0, 2172, 2825, 1287, 0, 4095,
-    4095, 0, 4095, 0
-  };
-  unsigned char *img_data2 =
-      reinterpret_cast<unsigned char *>(const_cast<uint16_t *>(kBuffer2));
-
-  aom_codec_iface_t *iface = aom_codec_av1_cx();
-  aom_codec_enc_cfg_t cfg;
-  EXPECT_EQ(AOM_CODEC_OK,
-            aom_codec_enc_config_default(iface, &cfg, AOM_USAGE_GOOD_QUALITY));
-  cfg.rc_end_usage = AOM_Q;
-  cfg.g_profile = 2;
-  cfg.g_bit_depth = AOM_BITS_12;
-  cfg.g_input_bit_depth = 12;
-  cfg.g_w = kWidth;
-  cfg.g_h = kHeight;
-  cfg.g_lag_in_frames = 0;
-  cfg.g_threads = 34;
-  cfg.monochrome = 1;
-  cfg.rc_min_quantizer = 63;
-  cfg.rc_max_quantizer = 63;
-  aom_codec_ctx_t enc;
-  EXPECT_EQ(AOM_CODEC_OK,
-            aom_codec_enc_init(&enc, iface, &cfg, AOM_CODEC_USE_HIGHBITDEPTH));
-  EXPECT_EQ(AOM_CODEC_OK, aom_codec_control(&enc, AOME_SET_CQ_LEVEL, 63));
-  EXPECT_EQ(AOM_CODEC_OK, aom_codec_control(&enc, AV1E_SET_TILE_ROWS, 5));
-  EXPECT_EQ(AOM_CODEC_OK, aom_codec_control(&enc, AV1E_SET_TILE_COLUMNS, 3));
-  EXPECT_EQ(AOM_CODEC_OK, aom_codec_control(&enc, AOME_SET_CPUUSED, 6));
-  EXPECT_EQ(AOM_CODEC_OK,
-            aom_codec_control(&enc, AV1E_SET_COLOR_RANGE, AOM_CR_FULL_RANGE));
-  EXPECT_EQ(AOM_CODEC_OK,
-            aom_codec_control(&enc, AOME_SET_TUNING, AOM_TUNE_SSIM));
-
-  aom_image_t img;
-
-  // Encode frame
-  EXPECT_EQ(&img, aom_img_wrap(&img, AOM_IMG_FMT_I42016, kWidth, kHeight, 1,
-                               img_data1));
-  img.monochrome = 1;
-  img.planes[1] = img.planes[2] = nullptr;
-  img.stride[1] = img.stride[2] = 0;
-  EXPECT_EQ(aom_codec_encode(&enc, &img, 0, 1, 0), AOM_CODEC_OK);
-  aom_codec_iter_t iter = nullptr;
-  const aom_codec_cx_pkt_t *pkt = aom_codec_get_cx_data(&enc, &iter);
-  ASSERT_NE(pkt, nullptr);
-  EXPECT_EQ(pkt->kind, AOM_CODEC_CX_FRAME_PKT);
-  // pkt->data.frame.flags is 0x1f0011.
-  EXPECT_EQ(pkt->data.frame.flags & AOM_FRAME_IS_KEY, AOM_FRAME_IS_KEY);
-  pkt = aom_codec_get_cx_data(&enc, &iter);
-  EXPECT_EQ(pkt, nullptr);
-
-  // Encode frame
-  EXPECT_EQ(&img, aom_img_wrap(&img, AOM_IMG_FMT_I42016, kWidth, kHeight, 1,
-                               img_data2));
-  img.monochrome = 1;
-  img.planes[1] = img.planes[2] = nullptr;
-  img.stride[1] = img.stride[2] = 0;
-  EXPECT_EQ(aom_codec_encode(&enc, &img, 0, 1, 0), AOM_CODEC_OK);
-  iter = nullptr;
-  pkt = aom_codec_get_cx_data(&enc, &iter);
-  ASSERT_NE(pkt, nullptr);
-  EXPECT_EQ(pkt->kind, AOM_CODEC_CX_FRAME_PKT);
-  // pkt->data.frame.flags is 0x20000.
-  EXPECT_EQ(pkt->data.frame.flags & AOM_FRAME_IS_KEY, 0u);
-  pkt = aom_codec_get_cx_data(&enc, &iter);
-  EXPECT_EQ(pkt, nullptr);
-
-  // Flush encoder
-  EXPECT_EQ(AOM_CODEC_OK, aom_codec_encode(&enc, nullptr, 0, 1, 0));
-  iter = nullptr;
-  pkt = aom_codec_get_cx_data(&enc, &iter);
-  EXPECT_EQ(pkt, nullptr);
-
-  EXPECT_EQ(AOM_CODEC_OK, aom_codec_destroy(&enc));
-}
-
 }  // namespace wiener_highbd
 #endif  // CONFIG_AV1_HIGHBITDEPTH