)]}'
{
  "commit": "064c1d4727668331a3c7a35ac36cac3bb484298a",
  "tree": "4bb4cdd008142e0fe1578d7d0c1c86400d09c097",
  "parents": [
    "70f9a1f96825f524dbf44a402dcf819630bb3ef9"
  ],
  "author": {
    "name": "Rupert Swarbrick",
    "email": "rupert.swarbrick@argondesign.com",
    "time": "Wed Nov 22 13:44:33 2017 +0000"
  },
  "committer": {
    "name": "Rupert Swarbrick",
    "email": "rupert.swarbrick@argondesign.com",
    "time": "Thu Nov 23 12:14:09 2017 +0000"
  },
  "message": "A working rewrite of the sgr sse code\n\nThis fixes some Valgrind errors caused by reads from x_by_xplus1 that\nused tainted data as an address (see the comments in selfguided_sse4.c\nfor what\u0027s going on).\n\nIt also rewrites the algorithm to use an integral image approach\ninstead of the handwritten filters that the code was using. The end\nresult is roughly the same efficiency (I think that there\u0027s one more\nmemory load per group of pixels, but this seems not to be measurable)\nand I\u0027ve done some performance optimisation with perf too. Several\n32-bit multiplications have been replaced by madd instructions which\ndo 16-bit multiplications and add adjacent lanes. This is equivalent\nto a 32-bit multiplication when the 32-bit lanes contain numbers below\n2^15, but runs significantly faster.\n\nChange-Id: I3d0f3043c7861707a56e2fd1849574dc73897d6c\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "aef4fdaae8971f7072d35177d1848efd6957e498",
      "old_mode": 33261,
      "old_path": "av1/common/av1_rtcd_defs.pl",
      "new_id": "d4dbd74988bb1977fda1f8ab49b400ac6290034f",
      "new_mode": 33261,
      "new_path": "av1/common/av1_rtcd_defs.pl"
    },
    {
      "type": "modify",
      "old_id": "40f21750d6a5050c406fe319856d70b06712df58",
      "old_mode": 33188,
      "old_path": "av1/common/x86/selfguided_sse4.c",
      "new_id": "c29a3da5c0b6407b6b70941f7bd33b7e4b9afa57",
      "new_mode": 33188,
      "new_path": "av1/common/x86/selfguided_sse4.c"
    }
  ]
}
