)]}'
{
  "commit": "a50205d2c2b819a60e62e05d67d528966cad5e15",
  "tree": "9a1e5d46f40b95d14f8a2c2dddb7cacdd519bd79",
  "parents": [
    "57953b32c1d5ae09761ce8ef66141cfa78c6196f"
  ],
  "author": {
    "name": "Wan-Teh Chang",
    "email": "wtc@google.com",
    "time": "Tue Jul 28 15:23:30 2026 -0700"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Tue Jul 28 15:23:30 2026 -0700"
  },
  "message": "Fix AvifDecodeTest.NonPersistentIOBug506387278\n\nAvifDecodeTest.NonPersistentIOBug506387278 fails when libaom or libgav1\nis used as the AV1 decoder, because the test input file\npoc_b_506387278.avif contains errors.\n\nThe first error is easier to fix. The two padding OBUs do not contain\ntrailing bits. This is fixed with the following Python script:\n\n```\nwith open(\"tests/data/poc_b_506387278.avif\", \"r+b\") as f:\n  f.seek(0x1702)\n  f.write(b\u0027\\x80\u0027)\n  f.seek(0x559a)\n  f.write(b\u0027\\x80\u0027)\n```\n\nNote: The two padding OBUs can be identified by searching for the byte\n0x7a, which is the OBU header for a padding OBU. The OBU sizes for the\ntwo padding OBUs are 0xbc 0x26 and 0xf0 0x7c, respectively, when encoded\nin leb128().\n\nThe second error is harder to fix. The data for the first image contains\npartial frame data for the second frame. The extra incomplete frame data\nmakes avifDecoderNextImage() fail when libaom or libgav1 is used as the\nAV1 decoder. Since this test is originally intended for CrabbyAvif and\ndav1d, in libavif it is used as a fuzz test, so we can relax the\nexpected results of the avifDecoderNextImage() calls in the test.",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "66b4380b44aff7a82e68c737bd5826fc9d5c58fc",
      "old_mode": 33188,
      "old_path": "tests/data/poc_b_506387278.avif",
      "new_id": "e5b2ec38bdd9f36ec712a08e06afa81a7f0d048b",
      "new_mode": 33188,
      "new_path": "tests/data/poc_b_506387278.avif"
    },
    {
      "type": "modify",
      "old_id": "afde48d67c33a63acc9829fc0f13bf8bf4b1dd61",
      "old_mode": 33188,
      "old_path": "tests/gtest/avifdecodetest.cc",
      "new_id": "2cb6ba0d96ab630f9bd69e15efaa8629b5f8578c",
      "new_mode": 33188,
      "new_path": "tests/gtest/avifdecodetest.cc"
    }
  ]
}
