)]}'
{
  "commit": "45390c18eefc799c11fc016eb13c03b5931c3a4b",
  "tree": "4708089285aa4de6eb80ad306b3c22bd14bad63e",
  "parents": [
    "a0dae601e000a8d7a0d0fc853162353a8334f13d"
  ],
  "author": {
    "name": "David Barker",
    "email": "david.barker@argondesign.com",
    "time": "Mon Feb 20 14:44:40 2017 +0000"
  },
  "committer": {
    "name": "Debargha Mukherjee",
    "email": "debargha@google.com",
    "time": "Thu Feb 23 17:52:07 2017 +0000"
  },
  "message": "Change gm_get_motion_vector\n\nSince gm_get_motion_vector is trying to give a motion vector for\n\"the frame as a whole\", it makes more sense for it to calculate\nthe motion of the *center* of the block rather than the top-left\ncorner of the frame.\n\nIn theory, this change should also help the encoder make better\ndecisions on when to use global motion. It avoids an issue\nwhere, early in the frame, NEARESTMV looks like a good way to use\nthe global motion vector *without* paying the rate cost applied\nto the first few global motion blocks in each frame. This seems\nto lead to a better overall result.\n\nChange-Id: Ia5c6259ceb8b4ff3d00a5d553e1d18bdb802da59\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "c7fb424dc0b3e45a25b5d7f95cd7c48338c3876d",
      "old_mode": 33188,
      "old_path": "av1/common/mv.h",
      "new_id": "2b50c61873738fc3e42c40cd02f17f69984e13ef",
      "new_mode": 33188,
      "new_path": "av1/common/mv.h"
    },
    {
      "type": "modify",
      "old_id": "39a8cb43cdc0d6254125d6953d05ccdf6db8b877",
      "old_mode": 33188,
      "old_path": "av1/common/mvref_common.c",
      "new_id": "defeb96cc74a99d6d28ee4a36e0404abdb3dc511",
      "new_mode": 33188,
      "new_path": "av1/common/mvref_common.c"
    },
    {
      "type": "modify",
      "old_id": "39cb2ccc37c8657442729b04090ff28a83dc6485",
      "old_mode": 33188,
      "old_path": "av1/decoder/decodemv.c",
      "new_id": "fc21bc47f551ad64525c864106dc870119d18c9f",
      "new_mode": 33188,
      "new_path": "av1/decoder/decodemv.c"
    },
    {
      "type": "modify",
      "old_id": "6c9f9f6859911523667db07ff784ef91cbcc63a6",
      "old_mode": 33188,
      "old_path": "av1/encoder/bitstream.c",
      "new_id": "d7882765a5163e8f449f187d9aaef9b4413cfa1a",
      "new_mode": 33188,
      "new_path": "av1/encoder/bitstream.c"
    },
    {
      "type": "modify",
      "old_id": "545a95d0d7d2f297d4f73b9c9d14ecbe9167c394",
      "old_mode": 33188,
      "old_path": "av1/encoder/encodeframe.c",
      "new_id": "d67d7491351daccf12f0ff9d3b7e3230a194c481",
      "new_mode": 33188,
      "new_path": "av1/encoder/encodeframe.c"
    },
    {
      "type": "modify",
      "old_id": "6d341a75daeaa9ca061a91bc711f54d406cc8395",
      "old_mode": 33188,
      "old_path": "av1/encoder/rdopt.c",
      "new_id": "54a3225d34909adba18ba31b1a94b8304402753b",
      "new_mode": 33188,
      "new_path": "av1/encoder/rdopt.c"
    },
    {
      "type": "modify",
      "old_id": "dc450f6f7498c8980af1a5ec8de048899ed7814c",
      "old_mode": 33188,
      "old_path": "av1/encoder/rdopt.h",
      "new_id": "81decfb3029eb1bdf1859fbbff56aee8243793e0",
      "new_mode": 33188,
      "new_path": "av1/encoder/rdopt.h"
    }
  ]
}
