)]}'
{
  "commit": "1b7f9ef3dd176cf0792f58ec6a43d29c49325bc0",
  "tree": "58012abafcd6d0c8b90068bb2db6d6f5d6cca205",
  "parents": [
    "bcc98e0c3a88a3ad1807eca2bc179ef8d7abf091"
  ],
  "author": {
    "name": "Jingning Han",
    "email": "jingning@google.com",
    "time": "Thu Nov 12 16:12:18 2026 -0800"
  },
  "committer": {
    "name": "Urvang Joshi",
    "email": "urvang@google.com",
    "time": "Fri Nov 13 12:41:14 2026 -0800"
  },
  "message": "Arm: Avoid over-read in 4-wide intrabc convolutions\n\nav1_convolve_x_sr_intrabc_neon() and the horizontal pass of\nav1_convolve_2d_sr_intrabc_neon() load 8 bytes from src and src + 1\nfor blocks 4 or fewer pixels wide, though only w + 1 pixels per row\nare used. The extra pixels lie to the right of the reference block.\n\nWith IntraBC in row based multithreading, as in\nDatarateTestSVC.BasicRateTargetingSVC2TL1SLScreenDropFrame1920x10804Thread,\nthose pixels can be in a superblock that another thread is\nreconstructing at the same time. The read values are discarded, but\nThreadSanitizer reports a data race between the read in\nav1_convolve_2d_sr_intrabc_neon() and the intra prediction writes of\nthe other thread.\n\nLoad only 4 bytes per row from src and src + 1, as\nav1_convolve_y_sr_intrabc_neon() already does.\n\nChange-Id: I3aeb96861d384ed2fb3c0c231d86478961e9944b\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "fc42f9e6e053249e39879fed935bb2e39d7ccac0",
      "old_mode": 33188,
      "old_path": "av1/common/arm/convolve_neon.c",
      "new_id": "68521f21146d320345b63253942d57e6d1332f8f",
      "new_mode": 33188,
      "new_path": "av1/common/arm/convolve_neon.c"
    }
  ]
}
