)]}'
{
  "commit": "33b6de7cfe8118f7dcd9eb9a7dbb89090dc7b9fa",
  "tree": "22e1cf6bdcb714c9ccc5ea106baaf3c9eeaadca4",
  "parents": [
    "7e1dfee837f0cb717badf5e76bd48a23155b6bd9"
  ],
  "author": {
    "name": "Rachel Barker",
    "email": "rachelbarker@google.com",
    "time": "Fri Nov 03 04:09:59 2023 +0000"
  },
  "committer": {
    "name": "Rachel Barker",
    "email": "rachelbarker@google.com",
    "time": "Wed Nov 08 00:59:08 2023 +0000"
  },
  "message": "Use SAD for global motion error metric\n\nReplace custom error metric (sum of |diff|^0.7) with SAD.\nThis has three advantages:\n1) Better results\n2) SAD is faster to calculate\n3) We can remove ~1300 lines of code dedicated to the custom error\n   metric\n\nNote: Despite point (2), the overall runtime is increased slightly.\nThis is expected - improving the accuracy of global motion leads to it\nbeing evaluated more often, and this outweighs the time savings from\nspeeding up the error metric evaluations. But overall this significantly\nimproves the gain : encode time cost ratio of global motion.\n\nImpact on \"good\" mode:\n\n Speed | BDRATE-PSNR | BDRATE-SSIM |   Enc time\n-------+-------------+-------------+-------------\n   1   |   -0.087%   |   -0.102%   |   +0.085%\n   2   |   -0.075%   |   -0.074%   |   +0.331%\n   3   |   -0.111%   |   -0.122%   |   +0.445%\n   4   |   -0.110%   |   -0.118%   |   +0.598%\n\nOther modes, and good mode speed 5+, are unaffected.\n\nSTATS_CHANGED\n\nChange-Id: Ifdc52c5012d6936a97a87cff489062402e81e495\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "f5a8a9fc708c5ee5c27847e9a606fcacb7b37c7c",
      "old_mode": 33188,
      "old_path": "av1/av1.cmake",
      "new_id": "1bb0539fc7b7e9c8c3adb96c4b91d6f55e7225b6",
      "new_mode": 33188,
      "new_path": "av1/av1.cmake"
    },
    {
      "type": "modify",
      "old_id": "99419471bd4198785adc20a9882095394a41a8a6",
      "old_mode": 33188,
      "old_path": "av1/common/av1_rtcd_defs.pl",
      "new_id": "bd2acda62f286d6f2a0a2e3c0310ae50f2ff0784",
      "new_mode": 33188,
      "new_path": "av1/common/av1_rtcd_defs.pl"
    },
    {
      "type": "delete",
      "old_id": "a00d8211bfc0e93de4900e7331eada8d5332281d",
      "old_mode": 33188,
      "old_path": "av1/encoder/arm/neon/frame_error_neon.c",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "delete",
      "old_id": "58875f6f349c68b2e02164a25ceea8d9c245a5d0",
      "old_mode": 33188,
      "old_path": "av1/encoder/arm/neon/highbd_frame_error_neon.c",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "modify",
      "old_id": "ca9367a6a18d5ae8ff910f2e1b868294f5755d96",
      "old_mode": 33188,
      "old_path": "av1/encoder/global_motion.c",
      "new_id": "73910de12159b248217797a551502c9a1f0a63dd",
      "new_mode": 33188,
      "new_path": "av1/encoder/global_motion.c"
    },
    {
      "type": "modify",
      "old_id": "ff2287b8c132c4d0e58ff29564b7046c87bc9ec7",
      "old_mode": 33188,
      "old_path": "av1/encoder/global_motion.h",
      "new_id": "8c9c60f0f5d0cea63ab07ac8a4c5e535addd2067",
      "new_mode": 33188,
      "new_path": "av1/encoder/global_motion.h"
    },
    {
      "type": "delete",
      "old_id": "ceac2b218875a29f050fafa90c3f486738f957e7",
      "old_mode": 33188,
      "old_path": "av1/encoder/x86/frame_error_avx2.c",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "delete",
      "old_id": "fbe39fae5eb0ef3ed9a1a12076300dc9ce94f9df",
      "old_mode": 33188,
      "old_path": "av1/encoder/x86/frame_error_sse2.c",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "delete",
      "old_id": "35733d9ea9bc18f99f5b4cc560d13f7d5db135bd",
      "old_mode": 33188,
      "old_path": "test/frame_error_test.cc",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "modify",
      "old_id": "50b55ac1f2b66fb813da8d678cfec23f5d2f854e",
      "old_mode": 33188,
      "old_path": "test/test.cmake",
      "new_id": "2ca7e641c91b8c176956830e5feeebc66192d1fb",
      "new_mode": 33188,
      "new_path": "test/test.cmake"
    }
  ]
}
