)]}'
{
  "commit": "1c573e0b606cdf7ae26dc23a2454dca4af64a97e",
  "tree": "1f3086fddb78d03f9ccd8b989eb14c9ac44cc707",
  "parents": [
    "60acd13dcd30893a86942e756ef490b0761fe895"
  ],
  "author": {
    "name": "David Turner",
    "email": "david.turner@argondesign.com",
    "time": "Fri Oct 19 11:49:53 2018 +0100"
  },
  "committer": {
    "name": "Debargha Mukherjee",
    "email": "debargha@google.com",
    "time": "Thu Oct 25 18:59:06 2018 +0000"
  },
  "message": "Optimise get_horver_correlation_full, SSE4 \u0026 AVX2\n\nI have optimised the pure C get_horver_correlation_full in rdopt.c and\nalso developed SSE4.1 and AVX2 implementations for further speed-up.  I\nhave also added functional equivalence unit tests for these.\n\nOptimised C speed-up over un-optimised C at the unit test level:\n  4x4  : 2.7x\n 32x32 : 6.2x\n128x128: 7.4x\n\nSSE4.1 speed-up over un-optimised C at the unit test level:\n  4x4  : 2.7x\n 32x32 : 13.7x\n128x128: 18.6x\n\nAVX2 speed-up over un-optimised C at the unit test level:\n  4x4  : 2.2x\n 32x32 : 15.6x\n128x128: 26.4x\n\nSpeed-ups for other block sizes, including rectangular blocks, are\nsimilar.\n\nChange-Id: Idc75006d5682e5cbf336d0427038e855da607097\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "b84b83b0eb9920505689bf10b5d7474cbcd20a72",
      "old_mode": 33188,
      "old_path": "av1/av1.cmake",
      "new_id": "7976746662dbac0a43500cf04bc08270479e4da1",
      "new_mode": 33188,
      "new_path": "av1/av1.cmake"
    },
    {
      "type": "modify",
      "old_id": "aabb0011ff8d63712f45d9f79975d551d73883fe",
      "old_mode": 33261,
      "old_path": "av1/common/av1_rtcd_defs.pl",
      "new_id": "f2a043cf33022751cdaac9a42db19a8ce90e7a4a",
      "new_mode": 33261,
      "new_path": "av1/common/av1_rtcd_defs.pl"
    },
    {
      "type": "modify",
      "old_id": "970260e9aff379556c4888c6a10bce0df57f3c70",
      "old_mode": 33188,
      "old_path": "av1/encoder/rdopt.c",
      "new_id": "e27a713225c7922b59fc1a553c7e5eaa6814b3d6",
      "new_mode": 33188,
      "new_path": "av1/encoder/rdopt.c"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "a94c07640031eee05afd495638edb5dcbfcc4ed2",
      "new_mode": 33188,
      "new_path": "av1/encoder/x86/rdopt_avx2.c"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "f5ffae78297cd5c6dc32f2638d68c60a2901d744",
      "new_mode": 33188,
      "new_path": "av1/encoder/x86/rdopt_sse4.c"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "5fca4b60ecfe358c01bf0d8bfa3ced259d4e6663",
      "new_mode": 33188,
      "new_path": "test/horver_correlation_test.cc"
    },
    {
      "type": "modify",
      "old_id": "513a0f101437deb3ff726e1ce6369cecf40269cb",
      "old_mode": 33188,
      "old_path": "test/test.cmake",
      "new_id": "d15e5806fd56effbe9c1274f6ed504e6ae5f9eec",
      "new_mode": 33188,
      "new_path": "test/test.cmake"
    }
  ]
}
